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