基于DM642的視頻處理系統設計與實現
在視頻處理領域,由于處理的數據量大,算法復雜度高,使得處理的實時性成為難題。如果使用專門的視頻算法器件,在保證實時性的同時卻使系統的靈活性大大降低。TI公司的TMS320DM642(簡稱DM642)以其高速的運算能力及
豐富的外設接口,在多媒體領域得到了廣泛應用。
2 系統設計方案
2.1 系統的硬件結構
圖1給出系統的結構框圖。以DM642為核心,包括視頻輸入輸出模塊,存儲模塊,通信模塊等。其中輸入輸出模塊由2片解碼器和一片編碼器構成,可以同時輸入2路視頻,輸出一路視頻。存儲模塊主要由Flash和2片SDRAM組成。此外系統還包括JTAG仿真接口和網口,可以方便地與外界通信。
2.2 系統電源設計
DSP系統電源設計模塊是關鍵,高精度的供電才能保證系統正常工作。系統采用5 V電源驅動2個MOSFET的DC―DC調整器(TPS54310)分別供給DSP的核心電壓CVDD(1.4V)和外圍電壓DVDD(3.3 V)。在3.3 V和1.4 V電源之間連接肖特基二極管,保證DM642內核和外部端口同時供電。TI公司的TPS543lO的輸出精度是1%,完全滿足DSP工作要求。視頻輸入器件SAA7113H、視頻輸出器件SAA7105H和CPLD都需要3.3 V供電,選用AMSlll7―3.3 V為這些器件供電。系統的地分為系統地、視頻輸入地、視頻輸出模擬地、音頻模擬地和網絡模擬地6部分。從電源進來的是系統地。在PCB設汁中,各地與系統地之間采用220Ω、100 MHz的磁珠在一點連接起來。調試中,只要電源部分工作正常,都可以通過JTAG口將程序下載到DM642中,進而調試其他模塊。
2.3 視頻輸入與輸出
DM642集成有3個視頻(Video Port,VP)口,每個視頻口是由20 bit數據線、2個時鐘信號VPxCLK0(輸入)和VPx-CLKl(輸入/輸出)、3個控制信號VPxCTL0、VPxCTLl和VPx-CTL2組成。時鐘信號作為視頻源的時鐘信號輸入/輸出,控制信號作為視頻源的同步信號輸入/輸出(行同步、幀同步、場標志,視頻采集使能等)。每個視頻口被分為上(B)、下(A)2個通道,VP0的A通道與McBSPO復用,VPl的A通道與McB―SPl復用,VP0和VPl的B通道與McASP復用,VP2則為單功能引腳。每個視頻口可被配置為視頻輸入口或視頻輸出口,但是上(B)、下(A)2個通道只能同時被配置為輸入口,或同時被配置為輸出口,不能一個通道配置為輸入口,另一個通道配置為輸出口。
系統將VP0和VPl配置成為單通道視頻輸入和McASP口,VP2配置成為單通路的視頻輸出口。VPO與VPl配置為單通道視頻輸入口時,VPxCLK0作為視頻源的輸入時鐘,VPxCLK1未用。而VPxCTL0、VPxCTLl和VPxCTL2則分別作為視頻源中的時基碼控制。當CAPEN信號無效或在EAV和SAV時基碼之間時,將不對視頻數據流進行采樣。BT.656視頻數據流采集的起始、水平同步、垂直同步等,受輸入信號CAPEN和視頻通道控制寄存器VCxCTL(x=A、B)中的VCEN、EXC、HRST、VRST、FLDD等控制位組合控制。當配置為單通道視頻輸出口時,VPxCLK1作為視頻源輸出時鐘,VPxCLK0作為輸入時鐘。而VPxCTL0、VPxCTLl和VPxCTL2分別作為輸出視頻的HSYNC/HBLNK/AVID/FLD、VSYNC/VBLNK/CSYNC/FLD、CBLKN/FLD。3個VP口均作為8位視頻接口,使用lO位數據總線中的高8位,即VPxD[9:2]。系統的視頻解碼和視頻編碼器分別選用Philips公司的SAA7l13H和SAA7105H,圖2給出視頻解碼和DM642的連接圖。圖3給出視頻編碼和DM642的連接圖。其中SAA7lO5H支持復合視頻(CVBS)輸出、超級視頻(S-Video,Y/C)輸出和VGA輸出,系統同時外擴了這3種接口,用戶可通過I2C總線對其內部寄存器設置來實現不同的輸出。
當SAA7105H工作在VGA輸出時,其工作時鐘的上升沿和下降沿都要接收數據,圖3中VP2與SAA7105H的連接方式,只用到VP2的8位數據線,因此VP2在每個時鐘周期只有在上升沿輸出8位數據,無法滿足SAA7105H的工作要求。這就要求VP2的工作頻率是SAA7105H的2倍,兩者才可以正確傳輸數據,該時鐘關系在CPLD里實現。
2.4 地址空間映射
DM642的程序/數據空間以字節(jié)為單位進行統一編址,整個尋址空間為4 G字節(jié)。其片上存儲器,片上外設及外部存儲器接口(EMIF)均映射到此4 G字節(jié)空間中。
DM642的CEO空間被配置為64 bit SDRAM接口,分配給外擴的SDRAM使用。SDRAM的工作時鐘由DM642的ECLKOUTl提供,其可由軟件配置為EMIF的ECLKIN或CPU時鐘/4、或CPU時鐘/6,最高為133 MHz。一般情況下,配置為ECLKIN,即100 MHz。SDRAM在子空間的具體定位為:Ox8000 0000~Ox81FF FFFF。
DM642的CEl空間被配置為8Mx8 bit的Flash,在CEl子空間占據的具體空間定位為0x9000 0000~0x9007 FFFF。
DM642外部地址總線只有A[22:3],總共20根,所以CEl子空間最大的尋址范圍為lMx8 bit。系統中CEl子空間除了分配給Flash以外,還分配給狀態(tài),控制寄存器、UARTA、UARTB等資源使用,其中Flash只占據CEl子空間的前一半的尋址空間,即最大的可尋址范圍為512Kx8 bit,而Flash的設計容量為8 Mx8 bit,所以為尋址到Flash所有的地址空間,采用分頁技術來實現對Flash的訪問.即將整個8 Mx8 bit的FLASH分成16個512 Kxl6 bit的頁.頁地址PA22、PA21、PA20、PAl9,則由頁地址寄存器提供(頁地址寄存器位于CPLD中)。
評論