AXI4Stream總線的FPGA視頻系統的開發研究_第1頁
AXI4Stream總線的FPGA視頻系統的開發研究_第2頁
AXI4Stream總線的FPGA視頻系統的開發研究_第3頁
AXI4Stream總線的FPGA視頻系統的開發研究_第4頁
AXI4Stream總線的FPGA視頻系統的開發研究_第5頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

AXI4Stream總線的FPGA視頻系統的開發研究摘要:基于AXI4Stream總線協議,在Xilinx公司提供的FPGA上實現了一個具有缺陷像素校正、色彩濾波陣列插值、圖像降噪實時圖像采集與顯示功能的視頻系統。AXI4Stream總線協議由ARM公司提出,該協議專門針對視頻、音頻、數組等數據在片內通信設計。利用IP核進行嵌入式系統開發具有簡化設計、縮短開發周期等明顯優勢。設計結果顯示,基于AXI4Stream總線的視頻系統具有通用性強、獨立、簡潔易維護等優勢。引言

隨著科技的發展,實時視頻處理技術作為數字信號處理領域最活躍的研究方向之一得到了普遍的研究關注,并在通信、航空航天、雷達、遙測遙感和多媒體等行業中廣泛應用。與用分離元器件構建電路的模式相比,基于現場可編程門陣列(FPGA)技術的新型視頻采集系統在處理速度、可靠性、成本、擴展能力和開發周期等方面具有明顯的優勢。近年來,基于FPGA的視頻采集系統得到了充分的研究[1,2,3,4],但鑒于此類研究對圖像數據未做通用的格式處理,使得系統過于集成,模塊間過于依賴,降低了系統通用性。AXI(AdvancedeXtensibleInterface)是一種總線協議,該協議是ARM公司提出的AMBA(AdvancedMicrocontrollerBustArchitecutre)協議中重要部分,是一種面向高性能、高帶寬、低延遲的片內總線。AXI4于2010年由ARM公司發布,其中AXI4Stream屬于AXI4的子類,特別適宜流媒體數據的傳輸[5]。本文以一種專門針對視頻數據傳輸的總線,即AXI4Stream總線,對整個視頻采集系統進行重新研究。在保證高集成度的情況下,通過簡化模塊間通信接口大大提高了系統的通用性,具備良好的實用性和可擴展性。1AXI4Stream總線介紹AXI4Stream總線主要應用于數字信息單向傳遞的系統中。經過采樣的物理量,例如圖像像素點數據、音頻采樣數據和經過離散數字信號系統處理的數據等,尤其適用于此總線協議。AXI4Stream是一種單向的,由主機(master)到從機(slave)的基于握手信號傳遞數據的總線。系統采用的AXI4Stream總線是基于ARM公司發布的AMBA4AXI4StreamProtocolv1.0參考手冊[6],該標準已廣泛應用在主流市場上的嵌入式系統當中。在保證功能完整的情況下,設計僅采用了部分信號線進行數據傳輸。相關信號線名稱和功能解釋圖略——編者注。2系統結構簡介系統基于AXIStream總線,以FPGA為主控芯片,由DDR2緩存圖像數據,從CMOS圖像傳感器讀取數據并處理后,送入視頻編碼芯片,最終通過DVI接口輸出,實現了一個實時圖像采集與顯示的視頻系統。該系統硬件框圖如圖1所示。

圖1系統硬件結構框圖系統選用芯片組分別為:CMOS圖像傳感器選用Aptina公司的MT9V022,有效分辨率為752H×481V,該芯片廣泛應用于視頻監控、機器視覺等系統中;FPGA主控芯片選用Xilinx公司的Spartan6LX16,該芯片采用45nm低功耗工藝技術,提供多達15000個邏輯單元,滿足了低成本、大容量應用的市場要求,并極大地降低了總功耗;DDR緩存芯片選用Micro公司提供的MT47H64M16HR25E,存儲容量為1Gb;視頻編碼芯片選用Chrontel公司提供的CH7301芯片,該芯片已廣泛應用于顯示接口電路中。由于主控芯片選用Xilinx公司生產的FPGA,所以開發軟件采用由該公司提供的ISE(IntegratedSoftwareEnvironment)DesignSuit套件。

系統功能模塊結構圖如圖2所示,所有模塊均采用硬件描述語言VerilogHDL在ISE內實現。

圖2系統功能模塊結構框圖對于圖1中所示功能模塊主要考慮以下幾點:

①CMOS圖像傳感器芯片和視頻編碼芯片與主控FPGA芯片通信采用的是I2C協議,所以加入了專門的I2C通信模塊。

②由CMOS圖像傳感器送出的圖像數據并非基于AXI4Stream總線,引入了一個通用視頻數據轉AXI4Stream模塊對數據進行AXI4Stream格式化處理。

③圖像傳感器存在缺陷像素(DefectivePixel),需要算法進行去除,所以數據需經過缺陷像素校正(DefectivePixelCorrection)模塊處理。

④從圖像傳感器獲取來的像素數據是Bayer格式(BayerPatten)的,需要轉換為RGB格式,引入了色彩濾波陣列插值(ColorFilterArrayInterpolation)模塊。

⑤經過格式轉換后的原始數據噪點較多,需要引入圖像降噪(ImageNoiseReduction)模塊。

⑥圖像數據量龐大,而FPGA有限的存儲空間不能滿足數據吞吐需求,為了解決這個問題本文引入了外部存儲芯片DDR2,并采用專用的內存接口管理(MemoryInterfaceController)模塊進行管理。

⑦圖像數據需要匹配相應的時序信號進行輸出,所以系統內設計了一個視頻時序信號控制(VideoTimingController)模塊解決這個問題。

⑧送入視頻編碼芯片的數據格式基于AXI4Stream協議,需要引入AXI4Stream轉視頻數據模塊將圖像數據和視頻時序控制信號進行整合,轉換為編碼芯片可直接利用的數據格式。3功能實現模塊3.1I2C總線通信模塊

I2C總線協議有以下幾種不同的傳輸編碼,按順序依次為:開始位(startbit)、從設備地址(slavedeviceaddress)、應答位(acknowledgebit)、數據信息(datamessage),以及停止位(stopbit)。一個典型的I2C總線讀、寫時序如圖3所示。其中SCK為時鐘信號線,SDA為數據信號線。空閑狀態下SCK和SDA都為高電平,讀寫開始的標志是SDA信號線拉低電平,生成一個開始位,隨后主設備送出8位從設備地址信號。從設備地址的最后一位決定了此次操作的讀寫性質,低電平表示寫操作,高電平表示讀操作。從設備隨后拉低SDA信號線以應答。主設備隨后以8位為單位進行讀或寫操作,并在應答后拉高SDA信號線表示停止位,回到空閑狀態。

圖3I2C總線時序傳輸圖3.2視頻數據轉AXI4Stream模塊

由CMOS圖像傳感器MT9V022輸出的時序如圖4所示,其中LINE_VALID表示行數據有效,FRAME_VALID表示幀數據有效。本模塊通過偵測FRAME_VALID和LINE_VALID信號的上升和下降沿,以判斷圖像中每一行數據的開始和結束,通過結合并行傳輸的10位像素點信息,對AXI4Stream接口信號進行匹配。該模塊以主模式(mastermode)接口輸出,接口信號包含:tdata表示像素點數據;TVALID和tready表示握手信號;tuser表示一幀圖像第一行第一個像素點;tlast表示每一行最后一個像素點。該模塊在ModelSim軟件中的功能仿真圖略——編者注。經驗證,該模塊可實現數據格式轉換功能。3.3缺陷像素校正模塊

由于生產制造上的缺陷、日常操作中的故障,或是基于溫度或曝光差異等引起像素點電壓變化,從圖像傳感器獲取來的數據存在一定數目的缺陷像素數據。這些缺陷像素的特征大體可概括為以下幾個方面:失活(總為低),活躍(總為高),粘連(固定值)。這些異常可以進一步表征為靜態的(總是存在的)或動態的(作為曝光量或溫度的函數)。

模塊核心代碼采用Xilinx公司提供的IP核——DefectivePixelCorrectionIPCore[7],其編程接口如圖5所示。

圖5缺陷像素校正模塊編程接口對于圖像中較大的固定區域,此模塊需要去判斷該區域是圖像里靜止的部分還

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論