《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應(yīng)用 > 基于FPGA+ARM的圖像采集傳輸系統(tǒng)
基于FPGA+ARM的圖像采集傳輸系統(tǒng)
摘要: 本文介紹了用ARM和FPGA實現(xiàn)的一個實時圖像采集傳輸系統(tǒng)的設(shè)計方案,本系統(tǒng)設(shè)計方案采用FPGA技術(shù)來為作物識別、雜草識別等圖像處理算法的實時實現(xiàn)提供了平臺。
Abstract:
Key words :
引言


       圖像處理技術(shù)的快速發(fā)展,使得圖像采集處理系統(tǒng)在提高農(nóng)業(yè)生產(chǎn)自動化程度中的應(yīng)用越來越廣泛。目前的圖像采集系統(tǒng)有的基于CCD攝像機、圖像采集卡和計算 機,有的基于CCD攝像機、解碼器、FPGA和DSP,而有的基于CMOS圖像傳感器芯片、FPGA和DSP,它們在實時性,靈活性,可維護性方面各有優(yōu) 缺點。而在農(nóng)業(yè)生產(chǎn)中,以基于CCD攝像機、圖像采集卡和計算機的系統(tǒng)居多。本文結(jié)合實際系統(tǒng)中的前端圖像處理和圖像數(shù)據(jù)傳輸需要.充分利用ARM的靈活 性和FPGA的并行性特點,設(shè)計了一種基于ARM+FPGA的圖像快速采集傳輸系統(tǒng)。所選的ARM (Ad-vanced RISC Machines)體系結(jié)構(gòu)是32位嵌入式RISC微處理器結(jié)構(gòu),該微處理器擁有豐富的指令集且編程靈活。而FPGA(Field ProgrammableGate Array)則在速度和并行運算方面有很大優(yōu)勢,適合圖像處理的實時性要求。本文選用Intel公司的Xcale PXA255和Xilinx公司的Spartan-3XC3S1000來實現(xiàn)本系統(tǒng)的設(shè)計。

1 系統(tǒng)結(jié)構(gòu)設(shè)計

       本系統(tǒng)的結(jié)構(gòu)框圖如圖1所示。圖中,圖像傳感器模塊負責(zé)圖像采集,F(xiàn)PGA用來控制CMOS圖像傳感器芯片,ARM負責(zé)圖像數(shù)據(jù)的交換、以太網(wǎng)芯片的控制 及UDP/IP協(xié)議的實現(xiàn),以太網(wǎng)模塊主要實現(xiàn)以太網(wǎng)數(shù)據(jù)傳輸,SDRAM用于存儲圖像數(shù)據(jù),F(xiàn)LASH為程序存儲器。系統(tǒng)工作時,先由FPGA將 CMOS傳感器采集的數(shù)據(jù)存儲到雙口SRAM,再由ARM從FPGA的雙口SRAM中讀取數(shù)據(jù)并存儲到SDRAM,存滿一幀圖像數(shù)據(jù)后,ARM便通過以太 網(wǎng)芯片將數(shù)據(jù)發(fā)送給上位機。


2 系統(tǒng)硬件設(shè)計

2.1 CMOS圖像傳感器模塊

       本系統(tǒng)采用OV9650作為圖像采集傳感器。OV9650是Omni Vision公司的彩色CMOS圖像傳感器,可支持SXVGA,VGA,QVGA,QQVGA,CIF,QCIF,QQCIF模式和SCCB接口,并具有 自動曝光控制、自動增益控制、自動白平衡、自動帶通濾波、自動黑級校準等功能。OV9650的最大幀速率在VGA格式時為30 fps,在SXVGA格式時為15 fps。本系統(tǒng)采用VGA格式。

2.2 FPGA模塊

        FPGA主要用于圖像傳感器的控制、圖像數(shù)據(jù)的緩存及外圍芯片時序的產(chǎn)生??紤]到圖像處理算法的實現(xiàn)需要,本系統(tǒng)選用了Xilinx公司的XC3S1000,它屬于SPARTAN-3系列,容量為100萬門。在本設(shè)計中,F(xiàn)PGA通常運行于80 MHz。XC3S1000與OV9650的接口電路示意圖如圖2所示。FPGA的內(nèi)部結(jié)構(gòu)包括CMOS控制單元、SC-CB接口單元、雙口RAM單元、FIFO單元等。其中CMOS控制單元又包括幀同步模塊、場同步模塊、像素時鐘模塊等。


2.3 ARM處理器模塊

        本系統(tǒng)的ARM處理器選用PXA255,用于實現(xiàn)圖像數(shù)據(jù)交換和以太網(wǎng)數(shù)據(jù)傳輸?shù)裙δ?。PXA255是Intel公司推出的基于第五代ARM RISC體系結(jié)構(gòu)ARMV5TE的微處理器。CPU的運行頻率最高為400 MHz,有32 KB指令Cache,32 KB數(shù)據(jù)Cache,2 KB微數(shù)Cache,并帶有豐富的串行外設(shè)接口,并可支持各種存儲器芯片。本系統(tǒng)采用兩片SDRAM和兩片F(xiàn)LASH存儲器,其中SDRAM用于圖像數(shù)據(jù)暫存,本系統(tǒng)選用SAMSUNG公司的K4S561632C-TC75,容量為32 MB。而FLASH程序存儲器則選用Intel公司的E28F128J3A-150來作為NOR FLASH,容量為16 MB。

2.4 以太網(wǎng)傳輸模塊

         本系統(tǒng)的以太網(wǎng)芯片選用LAN91C113。這是SMSC公司推出的快速以太網(wǎng)10/100 Mbps控制器,支持多種嵌入式處理器主機接口。LAN91C1B內(nèi)部有8 KB的FIFO,可用于接收和發(fā)送數(shù)據(jù)的存儲。此外,LAN91C113芯片還集成了CSMA/CD協(xié)議的MAC(媒體訪問控制層)和PHY(物理 層),IEEE802.3/802.3u-100BASE-TX/10Base-T規(guī)范。本系統(tǒng)中,LAN91C113的串行EEPROM接口與 AT93C46相連。PXA255訪問LAN91C113采用異步靜態(tài)存儲器方式,LAN91C113的地址使能信號AEN與PXA255的靜態(tài)芯片片選 四相連。PXA255與LAN91C113接口示意圖如圖3所示。


3 系統(tǒng)主要模塊的工作原理及實現(xiàn)

3.1 FPGA圖像采集的實現(xiàn)


         OV9650的數(shù)據(jù)輸出采用Bayer原始數(shù)據(jù)輸出格式,每個象素同時只輸出一種顏色。奇數(shù)掃描行輸出RGRG…,偶數(shù)掃描行輸出GBGB…。FPGA負責(zé)圖像傳感器數(shù)據(jù)的采集。

        上電后,系統(tǒng)首先對CMOS圖像采集芯片進行初始化,以確定其工作模式。這些參數(shù)受OV9650內(nèi)部相應(yīng)寄存器值的控制。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ù)的實時采集與處理,應(yīng)使圖像數(shù)據(jù)的采集與外部圖像數(shù)據(jù)的讀取同時進行。因此本系統(tǒng)采用雙緩存結(jié) 構(gòu)。實現(xiàn)方法是把8 KB的SRAM劃分成兩個大小為4 KB的SRAM(設(shè)為SRAM1和SRAM2),每片SRAM一次存儲六行圖像數(shù)據(jù)。這樣,在同一時刻,一片可用于存儲圖像數(shù)據(jù),另一片可用于外部ARM 對圖像數(shù)據(jù)的讀取。兩塊SRAM存儲區(qū)乒乓式切換。當(dāng)圖像數(shù)據(jù)寫滿SRAM1時,F(xiàn)PGA向ARM發(fā)送一個中斷信號,之后,ARM響應(yīng)中斷并讀取 SRAM1中的圖像數(shù)據(jù),同時將其寫入到SDRAM中。之后,圖像傳感器的數(shù)據(jù)將寫入SRAM2,當(dāng)圖像數(shù)據(jù)寫滿SRAM2時,F(xiàn)PGA也向ARM發(fā)送一 個中斷信號。ARM響應(yīng)中斷并讀取SRAM2中的圖像數(shù)據(jù).同時將其寫人到SDRAM中。之后,圖像傳感器的數(shù)據(jù)將再次寫入SRAM1。

3.3 以太網(wǎng)數(shù)據(jù)傳輸?shù)膶崿F(xiàn)

       為實現(xiàn)圖像數(shù)據(jù)的網(wǎng)絡(luò)傳輸,本系統(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)的設(shè)計方案,本系統(tǒng)設(shè)計方案采用FPGA技術(shù)來為作物識別、雜草識別等圖像處理算法的實時實現(xiàn)提供了平臺。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。