基于FPGA和TMS320DM642的CCD圖像采集和處理系統硬
所有這些功能均在I2C總線(xiàn)控制下完成。SCL作為I2C接口的時(shí)鐘線(xiàn)與TMS320DM642的SCL相連,SDA作為I2C接口的數據地址線(xiàn)與TMS320DM642的SDA相連。通過(guò)SCL和SDA的時(shí)序配合,可由TMS320DM642向SAA7115的寄存器寫(xiě)入數據或讀出數據。
2.2 TMS320DM642圖像處理模塊
本系統中視頻口VP0作為輸入,與視頻解碼器SAA7115的IPD相連。從解碼器SAA7115出來(lái)的BT.656數據流進(jìn)入VP0口后,經(jīng)由BT.656捕獲通道,進(jìn)入到視頻口緩沖區中,每個(gè)視頻口都有1個(gè)5 120 B的視頻輸入/輸出緩沖區,視頻口輸人的數據分別進(jìn)入捕獲FIFO A和FIFO B,其中Y緩存2 560 B,Cb和Cr緩存分別為1 280 B。根據輸出的同步脈沖產(chǎn)生幀存儲器的地址信號、讀寫(xiě)和片選等控制信號,將圖像逐幀存入SDRAM存儲器中,通過(guò)中斷通知TMS320DM642讀取。TMS320DM642通過(guò)EDMA事件實(shí)現視頻口緩沖區和片內L2存儲器之間的數據傳遞。用戶(hù)編程設定1個(gè)緩沖區閾值用以產(chǎn)生EDMA事件。BT.656格式的數據流經(jīng)由捕獲通道分別進(jìn)入各自的緩沖區,并打包成64 B的雙字。當雙字增至緩沖區閾值時(shí)觸發(fā)EDMA事件,存儲器映射寄存器即作為EDMA數據傳輸的源地址。為保證每一場(chǎng)的數據能夠全部傳完且沒(méi)有遺漏,每次EDMA傳輸的數據大小應等于閾值。由于TMS320DM642的強大處理能力,用戶(hù)算法作為任務(wù)線(xiàn)程嵌入TMS320DM642軟件系統中。
2.3 外圍存儲模塊
本系統的TMS320DM642在視頻圖像的處理時(shí),處理過(guò)程中會(huì )產(chǎn)生大量數據,而其內部最多僅有256 KB的RAM,所以需要擴展大容量的外部存儲器才能滿(mǎn)足數據處理的需要。本系統選用2片SDRAM用于存儲程序、數據和緩存數字視頻信息,選用1片FLASH存儲器用于固化程序和一些掉電后仍需保存的用戶(hù)數據。SDRAM芯片和FLASH芯片均通過(guò)TMS320DM642的EMIF口實(shí)現無(wú)縫連接[3]。TMS320DM642的EMIF有4個(gè)獨立的可設定地址的區域,稱(chēng)為芯片使能空間(CE0~CE3),當FLASH和FPGA映射到CE1時(shí),SDRAM占據CE0,CE3的一部分被配置給OSD功能的同步操作和擴展的FPGA中的其他同步寄存器操作。本系統合并形成了一個(gè)64 bit長(cháng)的外部存儲器端口,將地址空間分割成了4個(gè)芯片使能區,允許對地址空間進(jìn)行8 bit、16 bit、32 bit和64 bit的同步或不同步的存取,并且使用了芯片使能區CE0、CE1和CE3。CE0被發(fā)送給64 bit的SDRAM總線(xiàn),CE1被8 bit的FLASH和FPGA功能使用,CE3被設置成同步功能。
2.3.1 SDRAM存儲器
本系統采用MT48LC4M32B2[4]來(lái)構成SDRAM存儲器,大小為1 M×32 bit×4 banks, 在CE0空間連接了64 bit的SDRAM總線(xiàn)??偩€(xiàn)由外部PLL驅動(dòng)設備控制,在133MHz的最佳運行狀態(tài)下運行,SDRAM的刷新由TMS320DM642自動(dòng)控制。TMS320DM642的EMIF與SDRAM接口圖如圖4所示。
2.3.2 FLASH存儲器
本系統擴展4 M的FLASH,映射在CE1空間的低位。FLASH寄存器選用4 M×8 bit的AM29LV033C。FLASH寄存器主要用來(lái)導入裝載和存儲FPGA的配置信息。CE1空間被配置成8 bit,FLASH寄存器也是8bit。由于CE1的可利用地址空間小于FLASH的空間,所以利用FPGA可產(chǎn)生3個(gè)擴展頁(yè)。這些擴展的線(xiàn)形地址通過(guò)FPGA的FLASH基礎寄存器進(jìn)行定義,復位后的默認值是000。TMS320DM642的EMIF和FLASH的接口圖如圖5所示。
2.4 OSD FPGA模塊
FPGA負責完成所有芯片的接口和控制,其中包括SAA7115與I2C總線(xiàn)的接口、復位控制信號以及與TMS320DM642的EMIF接口和外設接口等,其體系結構圖如圖6所示。本系統的OSD FPGA功能模塊的芯片型號為Xilinx XC2S300E-6PQ208C[5],主要用來(lái)完成以下工作:
評論