視頻圖象編/解碼的目的一方面要將模擬視頻信號轉化為數字信號來(lái)傳輸,另一方面,由于單純的視頻模數轉換所得到的圖象數據量非常龐大,必須應用圖象壓縮技術(shù)減少數據量。在圖象編/解碼領(lǐng)域有兩種實(shí)現方式,一種是基于微機平臺的實(shí)現方式,圖象數據通過(guò)微機軟件或者是利用基于微機總線(xiàn)的圖象處理卡進(jìn)行壓縮編碼,并且可以通過(guò)PC網(wǎng)絡(luò )進(jìn)行數據傳輸。另一種方式拋開(kāi)了微機平臺,應用DSP為主的微處理器算法對圖象進(jìn)行壓縮/解壓縮的編/解碼處理。后一種方式構成的系統被稱(chēng)為脫機圖象系統。脫機圖象系統由于設備體積小,應用靈活簡(jiǎn)便,受到廣泛的關(guān)注。隨著(zhù)微處理技術(shù)的發(fā)展,專(zhuān)用的圖象壓縮/解壓縮ASIC芯片涌現,圖象處理算法已經(jīng)集成于A(yíng)SIC中,這就簡(jiǎn)化了脫機圖象系統的設計實(shí)現。 雖然專(zhuān)用圖象壓縮/解壓縮芯片已經(jīng)集成了編/解碼的算法,但是圖象壓縮效果的實(shí)時(shí)調節、數據速率的控制和圖象數據的傳輸仍然需要高速微處理器加以控制實(shí)現。本文主要從硬件設計角度,介紹在一個(gè)脫機視頻圖象編/解碼系統中,高速DSP芯片TMS320C542的設計應用。 1 TMS320C542的外圍接口功能 TMS320C542是美國TI公司C54x系列DSP中的一款。它是18位定點(diǎn)運算的高速微處理芯片,運算速度為40MIPS,工作電壓為5V,片內RAM有10K字,是該系列中片內RAM較大的。C542主要的外圍硬件接口功能如下: · 并行IO接口,包括16位地址線(xiàn)和16位數據線(xiàn)。地址線(xiàn)是單向的輸出引腳,數據線(xiàn)為雙向引腳。協(xié)助該接口工作的還有數據區選通信號DS、程序區選通信號PS、IO端口選通信號IS、存儲訪(fǎng)問(wèn)的數據鎖存信號MSTRB、IO端口訪(fǎng)問(wèn)的數據鎖存信號IOSTRB和讀寫(xiě)信號R/W。 5條外部中斷信號線(xiàn),其中有一個(gè)是不可屏蔽中斷,其余的4個(gè)是可屏蔽中斷。 · 1條程序條件跳轉控制輸入線(xiàn)和1條外部標志信號輸出線(xiàn)XF。 · 兩個(gè)串行通信口,其中一個(gè)是具有數據緩沖區的高速串口BSP,另一個(gè)是時(shí)分復接TDM串行通信口。數據緩沖串口BSP由全雙工的串行接口和最大可以達到2K字長(cháng)的數據緩沖區構成,當采用緩沖發(fā)送/接收模式時(shí),緩沖區中數據的發(fā)送/接收過(guò)程不影響DSP運行其它程序代碼。 · 主控接口HPI,用于外部處理器或者微機總線(xiàn)與DSP之間的數據訪(fǎng)問(wèn)控制。外部處理器或微機可以利用這個(gè)接口訪(fǎng)問(wèn)DSP內部的指定內存空間,進(jìn)行數據的讀出或寫(xiě)入,而不妨礙DSP內部程序正常的運行處理。即使外部處理器的處理速度很慢,HPI接口也不會(huì )減慢或停止DSP的運算。如果外部處理器有必要申請DSP的服務(wù),也可以利用此端口引發(fā)DSP的相應中斷。 作為脫機視頻編/解碼系統核心的DSP既要具有高速的計算能力,又希望能夠提供良好的外圍接口和通信接口,C542的性能符合本系統的需要。 2 DSP的外圍關(guān)系 本系統中DSP的外圍器件比較多,而且各自都具有特殊的功能和用法,所以理順它們的電氣關(guān)系,是系統設計的首要問(wèn)題。 2.1 DSP的程序載入所需要的外圍 C542的運行程序除了廠(chǎng)家直接燒制到片內ROM的情況外,需要外加器件幫助DSP存儲程序。在系統上電復位后,首先要將程序代碼由片外加載到DSP的片內RAM中再執行。C54x提供了多種程序加載的方法:HPI接口程序加載方法、8位I/O接口程序加載方法、16位I/O接口程序加載方法、8位并行EPROM程序加載方法、16位并行EPROM程序加載方法和串口程序加載方法。本系統選擇用一片32K×8bit的EPROM采用8位并行EPROM的程序加載方法給DSP加載程序。 DSP在上電復位后首先讀取IO端口地址為0FFFFh的數據SRC。這個(gè)18位數據SRC的最低兩位bit1-0決定用戶(hù)所選擇的程序下載方法。當這兩位是01時(shí),即可選擇8位并行EPROM程序加載方法。然后,SRC的bit7-2位數據乘以210后的結果將作為DSP訪(fǎng)問(wèn)EPROM的起始地址。此后,DSP將把程序代碼從這個(gè)起始地址開(kāi)始的數據區載入到程序區里去執行。 本系統將一片32K×8bit的EPROM作為起始地址為8000h的數據空間存儲加載程序。此時(shí),SRC的bit7~0應設置為10000001。本系統依據CMOS電路規范,采用4.7kΩ的電阻將DSP數據線(xiàn)的第0、7位上拉為高電平,同時(shí)數據線(xiàn)的1~6位用4.7kΩ電阻下拉接地。電阻的使用使得一方面當有器件驅動(dòng)數據總線(xiàn)時(shí)不會(huì )影響數據線(xiàn)上的正確邏輯,另一方面當DSP訪(fǎng)問(wèn)0FFFFh的IO端口時(shí),只要其它芯片釋放數據總線(xiàn),DSP就可以讀取到正確的SRC數據。 2.2 專(zhuān)用視頻圖象編/解碼ASIC 專(zhuān)用視頻圖象編/解碼ASIC可以提供16位的數據接口,通過(guò)4根地址線(xiàn)來(lái)選擇訪(fǎng)問(wèn)ASIC的內部不同寄存器的數據。通過(guò)這個(gè)接口,DSP可以設置視頻圖象編/解碼的工作狀態(tài),圖象壓縮效果。通過(guò)這個(gè)接口,DSP也可以讀取到圖象的相關(guān)統計數據,比如圖象的總亮度,像素的最大亮度和最小亮度等信息,以便為DSP調整壓縮效果提供依據。通過(guò)這個(gè)接口,還可以讀出壓縮圖象數據或者寫(xiě)入壓縮圖象數據,此時(shí),該接口等效為一個(gè)FIFO接口。這個(gè)專(zhuān)用視頻編/解碼ASIC能夠主動(dòng)發(fā)出服務(wù)請求中斷,向DSP申請數據訪(fǎng)問(wèn)和控制處理。 根據這個(gè)專(zhuān)用視頻編/解碼ASIC的接口特點(diǎn),本系統利用DSP的IO端口來(lái)訪(fǎng)問(wèn)處理該外設器件。 2.3 低速控制單片機 DSP作為高速的運算處理器不適合低速的控制應用。本系統中,對圖象亮度、色度和對比度的調節,對攝像云臺的控制,對用戶(hù)控制器信號的接收以及對系統工作狀態(tài)指示燈的顯示,都是一些低速的控制。本系統選用單片機來(lái)完成這些工作,這樣同時(shí)也就需要DSP和單片機交換控制命令。 C542的HPI接口提供了一個(gè)很好的DSP和單片機之間通信的解決方法。雖然HPI接口的8條數據線(xiàn)和5條訪(fǎng)問(wèn)控制線(xiàn)要占用單片機的13個(gè)IO引腳,但是本系統所用單片機IO資源是足夠的。有了HPI接口,單片機可以將用戶(hù)命令發(fā)送給DSP,并通過(guò)引發(fā)DSP中斷申請DSP處理。DSP也可以將命令通過(guò)HPI接口要求單片機執行相應操作。利用HPI接口的特點(diǎn),兩個(gè)微處理器之間的通信不必匹配數據傳輸速率,也不會(huì )影響各自程序的執行速度。 2.4 圖象數據存儲SRAM 為了實(shí)現數據傳輸的流速控制,需要存儲器緩沖數據。同時(shí),要實(shí)現圖象凍結和其它一些處理功能,也同樣需要足夠的存儲空間。本系統選擇了128K×16bit的高速SRAM來(lái)擴展C542有限的存儲空間。C542的內部RAM占據了地址從0000~27FFh的數據區,8000~0FFFFh的數據區已經(jīng)分配給了EPROM放置程序代碼,最后只有2800~7FFFh的地址可以給SRAM使用。有一種擴展SRAM訪(fǎng)問(wèn)地址線(xiàn)的方案是采用兩次尋址方法。第一次先給出部分地址并緩存下來(lái),此時(shí)不訪(fǎng)問(wèn)數據;在第二次訪(fǎng)問(wèn)時(shí),給出余下的地址數據,然后利用拼接的總地址來(lái)訪(fǎng)問(wèn)數據。 由于圖象數據是數據流,它在SRAM中的存放和讀取都是地址順序遞增的。依據這一特點(diǎn),本系統設計了一種新的SRAM地址線(xiàn)擴展方法。該方法將每32個(gè)16位字圖象數據劃分為一次數據操作的最小單元組。這32個(gè)字數據在SRAM中存放地址的高12位是一樣的,這高12位地址用DSP的低12位地址線(xiàn)選擇。而SRAM的低5位地址用一個(gè)5位二進(jìn)制計數器自動(dòng)遞增生成,即每訪(fǎng)問(wèn)一次高12位地址,低位地址自動(dòng)增1。這樣,實(shí)際只用了DSP的12根地址線(xiàn),就可以高效地訪(fǎng)問(wèn)SRAM的所有存儲空間。最后,DSP地址線(xiàn)的高四位A15~12應該在0011~0111之間選擇兩個(gè)值,一個(gè)用來(lái)片選SRAM,一個(gè)用來(lái)復位計數器。 2.5 數據通信高速串口 本系統直接利用C542的緩沖串口BSP作為系統開(kāi)放給用戶(hù)的通信接口。該接口的數據速率最高可以達到40Mbps,數據包的長(cháng)度可以在8位、10位、12位和16位之中選擇。BSP串口的接收部分BSPR工作在被動(dòng)方式下,伴隨接收數據的時(shí)鐘和幀同步信號應該由外部提供。BSP串口的發(fā)送部分BSPX既可以工作在主動(dòng)模式下,其數據時(shí)鐘和幀同步由DSP內部提供。BSPX也可以工作在被動(dòng)模式,數據時(shí)鐘和幀同步時(shí)鐘由外部輸入。BSP的緩沖區數據自動(dòng)發(fā)送和接收功能,也簡(jiǎn)化了DSP的處理工作。本系統在DSP的BSP串口基礎上增加了接口驅動(dòng)?構成了系統的通信接口。 3 DSP部分的系統設計 圖1是本脫機視頻編/解碼系統的核心DSP部分的構成原理圖,其中DSP的緩沖串口BSP單獨構成了用戶(hù)通信串口,DSP的HPI接口實(shí)現了DSP和低速控制單片機之間的通信。剩下與DSP的IO接口相連接的外圍是上電復位SRC數據邏輯、程序加載EPROM、視頻圖象編/解碼ASIC和圖象數據存儲SRAM。EPROM和SRAM作為DSP擴展的數據存儲區來(lái)處理,SRC數據邏輯和視頻編/解碼ASIC作為DSP的IO端口來(lái)訪(fǎng)問(wèn)。從程序指令角度講,數據存儲區的訪(fǎng)問(wèn)操作應該使用DSP的數據訪(fǎng)問(wèn)指令,例如LD、ST、MVDD等等,而IO端口的訪(fǎng)問(wèn)要使用DSP的IO端口訪(fǎng)問(wèn)指令PORTR和PORTW。 DSP的IO接口的16位數據線(xiàn)和16位地址線(xiàn)構成外圍器件的數據總線(xiàn)和地址總線(xiàn)。小規模的MACH可編程邏輯器件被用于設計IO外圍器件的訪(fǎng)問(wèn)控制邏輯。MACH產(chǎn)生的每個(gè)器件的片選和讀寫(xiě)信號由它與DSP的關(guān)系、它的尋址范圍以及管腳信號特性決定。例如程序下載EPROM是DSP擴展的數據區,尋址范圍8000~0FFFFh,如果它的片選信號是高電平有效,EPROM片選邏輯為: CS-EPROM=??DS &A15 當DSP訪(fǎng)問(wèn)數據區時(shí),DS有效,為低電平,并且當地址線(xiàn)的最高位A15為1時(shí),CS_EPROM信號有效,EPROM被選通。此外,用于SRAM訪(fǎng)問(wèn)地址自動(dòng)遞增的二進(jìn)制五位計數器也由MACH可編程邏輯器件實(shí)現,構造出了附加的5條地址線(xiàn)。 通過(guò)利用DSP芯片TMS320C542所具有的BSP和HPI接口功能,并結合MACH可編程邏輯芯片擴展DSP的IO接口功能,從而實(shí)現了脫機視頻圖象編/解碼系統的控制核心的設計。通過(guò)實(shí)際的調試,DSP能夠在上電復位時(shí)正確地從EPROM下載程序代碼并運行,DSP可以正確地訪(fǎng)問(wèn)視頻編/解碼ASIC和數據存儲SRAM,DSP與單片機的命令數據交換和串口數據的傳輸都能正常實(shí)現。這個(gè)結構合理、布局緊湊的硬件設計為進(jìn)一步的軟件開(kāi)發(fā)提供了方便。DSP對外圍數據訪(fǎng)問(wèn)的指令代碼,特別是對SRAM的訪(fǎng)問(wèn)操作,簡(jiǎn)單高效,這為DSP程序軟件中其它圖象實(shí)時(shí)控制算法節省了寶貴的指令周期資源。 |