基於FPGA和ARM的彩色影象處理系統

引言影象處理技術的快速發展,使得影象採集處理系統在提高農業生產自動化程度中的應用越來越廣泛。目前的影象採集系統有的基於CCD攝像機、影象採集卡和計算機,有的基於CCD攝像機、解碼器、FPGA和DSP,而有的基於CMOS影象感測器晶片、FPGA和DSP,它們在實時性,靈活性,可維護性方面各有優缺點。而在農業生產中,以基於CCD攝像機、影象採集卡和計算機的系統居多。本文結合實際系統中的前端影象處理和影象資料傳輸需要。充分利用ARM的靈活性和FPGA的並行性特點,設計了一種基於ARM+FPGA的影象快速採集傳輸系統。所選的ARM (Ad-vanced RISC Machines)體系結構是32位嵌入式RISC微處理器結構,該微處理器擁有豐富的指令集且程式設計靈活。而FPGA(Field ProgrammableGate Array)則在速度和並行運算方面有很大優勢,適合影象處理的實時性要求。本文選用Intel公司的Xcale PXA255和Xilinx公司的Spartan-3XC3S1000來實現本系統的設計。1系統結構設計本系統的結構框圖如圖1所示。圖中,影象感測器模組負責影象採集,FPGA用來控制CMOS影象感測器晶片,ARM負責影象資料的交換、乙太網晶片的控制及UDP/IP協議的實現,乙太網模組主要實現乙太網資料傳輸,SDRAM用於儲存影象資料,FLASH為程式儲存器。系統工作時,先由FPGA將 CMOS感測器採集的資料儲存到雙口SRAM,再由ARM從FPGA的雙口SRAM中讀取資料並存儲到SDRAM,存滿一幀影象資料後,ARM便透過乙太網晶片將資料傳送給上位機。

2系統硬體設計2。1 CMOS影象感測器模組本系統採用 OV9650作為影象採集感測器。OV9650是Omni Vision公司的彩色CMOS影象感測器,可支援SXVGA,VGA,QVGA,QQVGA,CIF,QCIF,QQCIF模式和SCCB介面,並具有自動曝光控制、自動增益控制、自動白平衡、自動帶通濾波、自動黑級校準等功能。OV9650的最大幀速率在VGA格式時為30 fps,在SXVGA格式時為15 fps。本系統採用VGA格式。2。2 FPGA模組FPGA主要用於影象感測器的控制、影象資料的快取及外圍晶片時序的產生。考慮到影象處理演算法的實現需要,本系統選用了Xilinx公司的XC3S1000,它屬於 SPARTAN-3系列,容量為100萬門。在本設計中,FPGA通常運行於80 MHz。XC3S1000與OV9650的介面電路示意圖如圖2所示。FPGA的內部結構包括CMOS控制單元、SC-CB介面單元、雙口RAM單元、 FIFO單元等。其中CMOS控制單元又包括幀同步模組、場同步模組、畫素時鐘模組等。

2。3 ARM處理器模組

本系統的ARM處理器選用PXA255,用於實現影象資料交換和乙太網資料傳輸等功能。PXA255是Intel公司推出的基於第五代ARM RISC體系結構ARMV5TE的微處理器。CPU的執行頻率最高為400 MHz,有32 KB指令Cache,32 KB資料Cache,2 KB微數Cache,並帶有豐富的序列外設介面,並可支援各種儲存器晶片。本系統採用兩片SDRAM和兩片FLASH儲存器,其中SDRAM用於影象資料暫存,本系統選用SAMSUNG公司的K4S561632C-TC75,容量為32 MB。而FLASH程式儲存器則選用Intel公司的E28F128J3A-150來作為NOR FLASH,容量為16 MB。[page]

2。4 乙太網傳輸模組

本系統的乙太網晶片選用LAN91C113。這是SMSC公司推出的快速乙太網10/100 Mbps控制器,支援多種嵌入式處理器主機介面。LAN91C1B內部有8 KB的FIFO,可用於接收和傳送資料的儲存。此外,LAN91C113晶片還集成了CSMA/CD協議的MAC(媒體訪問控制層)和PHY(物理層), IEEE802。3/802。3u-100BASE-TX/10Base-T規範。本系統中,LAN91C113的序列EEPROM介面與AT93C46 相連。PXA255訪問LAN91C113採用非同步靜態儲存器方式,LAN91C113的地址使能訊號AEN與PXA255的靜態晶片片選四相連。 PXA255與LAN91C113介面示意圖如圖3所示。

3系統主要模組的工作原理及實現

3。1 FPGA影象採集的實現

OV9650的資料輸出採用Bayer原始資料輸出格式,每個象素同時只輸出一種顏色。奇數掃描行輸出RGRG…,偶數掃描行輸出GBGB…。FPGA負責影象感測器資料的採集。

上電後,系統首先對CMOS影象採集晶片進行初始化,以確定其工作模式。這些引數受OV9650內部相應暫存器值的控制。FPGA透過控制SCCB匯流排來完成引數的配置。

系統配置完畢後,便可進行影象資料的採集。圖4和圖5是資料採集與輸出的時序圖。其中VSYNC是場同步訊號。HREF是水平同步訊號。 PCLK是象素資料輸出同步訊號。HREF為高時即可開始有效資料採集,而PCLK下降沿的到來則表明資料的產生,PCLK每出現一個下降沿,系統便傳輸一位資料。在HREF為高電平期間,系統共可傳輸640位資料。在一幀影象中,即VSYNC為低電平期間,HREF會出現480次高電平。而下一個 VSYNC訊號上升沿的到來則表明解析度640×480的影象採集過程的結束。[page]

3。2 FPGA與ARM的資料交換FPGA內部用一個8 KByte雙口SRAM作為影象儲存區。為了實現影象資料的實時採集與處理,應使影象資料的採集與外部影象資料的讀取同時進行。因此本系統採用雙快取結構。實現方法是把8 KB的SRAM劃分成兩個大小為4 KB的SRAM(設為SRAM1和SRAM2),每片SRAM一次儲存六行影象資料。這樣,在同一時刻,一片可用於儲存影象資料,另一片可用於外部ARM 對影象資料的讀取。兩塊SRAM儲存區乒乓式切換。當影象資料寫滿SRAM1時,FPGA向ARM傳送一箇中斷訊號,之後,ARM響應中斷並讀取 SRAM1中的影象資料,同時將其寫入到SDRAM中。之後,影象感測器的資料將寫入SRAM2,當影象資料寫滿SRAM2時,FPGA也向ARM傳送一箇中斷訊號。ARM響應中斷並讀取SRAM2中的影象資料。同時將其寫人到SDRAM中。之後,影象感測器的資料將再次寫入SRAM1。3。3 乙太網資料傳輸的實現為實現影象資料的網路傳輸,本系統基於PXA255開發了UDP/IP協議實現程式,以將影象資料儲存在SDRAM中。一個完整的資料幀格式包括乙太網頭、IP頭、UDP頭和一行影象資料,其系統工作流程圖見圖6所示。上電後,系統將等待FPGA中斷,如果中斷產生,則由PXA255讀取FPGA中的資料並寫到SDRAM中。然後判斷是否讀完一幀影象資料,若讀完,則傳送UDP包,並將影象資料透過乙太網傳送到上位機,否則繼續等待FPGA中斷。

4結束語本文介紹了用ARM和FPGA實現的一個實時影象採集傳輸系統的設計方案,本系統設計方案採用FPGA技術來為作物識別、雜草識別等影象處理演算法的實時實現提供了平臺。

關鍵字:

FPGAARM影象處理系統

編輯:什麼魚 引用地址:http://news。eeworld。com。cn/mcu/2012/0331/article_8268。html