基于PXA255設計的圖像采集傳輸系統(tǒng)
3 系統(tǒng)主要模塊的工作原理及實現(xiàn)
3.1 FPGA圖像采集的實現(xiàn)
OV9650的數(shù)據(jù)輸出采用Bayer原始數(shù)據(jù)輸出格式,每個象素同時只輸出一種顏色。奇數(shù)掃描行輸出RGRG…,偶數(shù)掃描行輸出GBGB…。FPGA負責圖像傳感器數(shù)據(jù)的采集。
上電后,系統(tǒng)首先對CMOS圖像采集芯片進行初始化,以確定其工作模式。這些參數(shù)受OV9650內(nèi)部相應寄存器值的控制。FPGA通過控制SCCB總線來完成參數(shù)的配置。
系統(tǒng)配置完畢后,便可進行圖像數(shù)據(jù)的采集。圖4和圖5是數(shù)據(jù)采集與輸出的時序圖。其中VSYNC是場同步信號。HREF是水平同步信號。PCLK是象素數(shù)據(jù)輸出同步信號。HREF為高時即可開始有效數(shù)據(jù)采集,而PCLK下降沿的到來則表明數(shù)據(jù)的產(chǎn)生,PCLK每出現(xiàn)一個下降沿,系統(tǒng)便傳輸一位數(shù)據(jù)。在HREF為高電平期間,系統(tǒng)共可傳輸640位數(shù)據(jù)。在一幀圖像中,即VSYNC為低電平期間,HREF會出現(xiàn)480次高電平。而下一個VSYNC信號上升沿的到來則表明分辨率640×480的圖像采集過程的結(jié)束。
3.2 FPGA與ARM的數(shù)據(jù)交換
FPGA內(nèi)部用一個8 KByte雙口SRAM作為圖像存儲區(qū)。為了實現(xiàn)圖像數(shù)據(jù)的實時采集與處理,應使圖像數(shù)據(jù)的采集與外部圖像數(shù)據(jù)的讀取同時進行。因此本系統(tǒng)采用雙緩存結(jié)構。實現(xiàn)方法是把8 KB的SRAM劃分成兩個大小為4 KB的SRAM(設為SRAM1和SRAM2),每片SRAM一次存儲六行圖像數(shù)據(jù)。這樣,在同一時刻,一片可用于存儲圖像數(shù)據(jù),另一片可用于外部ARM對圖像數(shù)據(jù)的讀取。兩塊SRAM存儲區(qū)乒乓式切換。當圖像數(shù)據(jù)寫滿SRAM1時,F(xiàn)PGA向ARM發(fā)送一個中斷信號,之后,ARM響應中斷并讀取SRAM1中的圖像數(shù)據(jù),同時將其寫入到SDRAM中。之后,圖像傳感器的數(shù)據(jù)將寫入SRAM2,當圖像數(shù)據(jù)寫滿SRAM2時,F(xiàn)PGA也向ARM發(fā)送一個中斷信號。ARM響應中斷并讀取SRAM2中的圖像數(shù)據(jù).同時將其寫人到SDRAM中。之后,圖像傳感器的數(shù)據(jù)將再次寫入SRAM1。
3.3 以太網(wǎng)數(shù)據(jù)傳輸?shù)膶崿F(xiàn)
為實現(xiàn)圖像數(shù)據(jù)的網(wǎng)絡傳輸,本系統(tǒng)基于PXA255開發(fā)了UDP/IP協(xié)議實現(xiàn)程序,以將圖像數(shù)據(jù)存儲在SDRAM中。一個完整的數(shù)據(jù)幀格式包括以太網(wǎng)頭、IP頭、UDP頭和一行圖像數(shù)據(jù),其系統(tǒng)工作流程圖見圖6所示。上電后,系統(tǒng)將等待FPGA中斷,如果中斷產(chǎn)生,則由PXA255讀取FPGA中的數(shù)據(jù)并寫到SDRAM中。然后判斷是否讀完一幀圖像數(shù)據(jù),若讀完,則發(fā)送UDP包,并將圖像數(shù)據(jù)通過以太網(wǎng)發(fā)送到上位機,否則繼續(xù)等待FPGA中斷。
4 結(jié)束語
本文介紹了用ARM和FPGA實現(xiàn)的一個實時圖像采集傳輸系統(tǒng)的設計方案,本系統(tǒng)設計方案采用FPGA技術來為作物識別、雜草識別等圖像處理算法的實時實現(xiàn)提供了平臺。
評論