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