《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 高速CMOS圖像存儲與實時顯示系統設計
高速CMOS圖像存儲與實時顯示系統設計
2017年電子技術應用第6期
馬 林1,2,李錦明1,2,張虎威1,2,侯天喜1,2,降 帥1,2
1.中北大學 電子測試國家重點實驗室,山西 太原030051; 2.中北大學 儀器科學與動態測試教育部重點實驗室,山西 太原030051
摘要: 針對遙測系統圖像單元存在數據量大、速度快、無法直接存儲顯示等問題,設計了一種高速圖像存儲與實時顯示系統。系統以Spartan 6系列現場可編程門陣列(FPGA)作為核心處理器,使用Full模式Camera Link接口采集CMOS相機輸出的圖像數據,利用DDR3乒乓緩存技術將圖像數據寫入由SATA控制器組成的磁盤陣列中,并且通過千兆以太網接口將處理后的數據上傳至計算機;圖像數據采用抽幀以及降低分辨率的形式,將其轉換為1 024×768像素的VGA分辨率格式,最后通過VGA接口對圖像進行實時顯示。實驗結果表明,該系統能夠對分辨率為2 048×2 048像素、幀頻為150 f/s的高速圖像數據進行長時間存儲與實時顯示。
中圖分類號: TN919.5
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2017.06.002
中文引用格式: 馬林,李錦明,張虎威,等. 高速CMOS圖像存儲與實時顯示系統設計[J].電子技術應用,2017,43(6):7-10,14.
英文引用格式: Ma Lin,Li Jinming,Zhang Huwei,et al. Design of high-speed CMOS image storage and real-time display system[J].Application of Electronic Technique,2017,43(6):7-10,14.
Design of high-speed CMOS image storage and real-time display system
Ma Lin1,2,Li Jinming1,2,Zhang Huwei1,2,Hou Tianxi1,2,Jiang Shuai1,2
1.National Key Laboratory for Electronic Measurement Technology,North University of China,Taiyuan 030051,China; 2.Key Laboratory of Instrumentation Science & Dynamic Measurement of Ministry of Education, North University of China,Taiyuan 030051,China
Abstract: A high-speed image storage and real-time display system is designed for telemetry system of aiming at the problems of large data volume, high-speed and inability to store display directly. The system takes the Spartan 6 series FPGA as the core processor, and uses the full mode Camera Link interface to gather the image data of CMOS camera output. The system of possessing high-speed image storage and real-time display uses technology of DDR3 Ping-Pong cache to write image data into a disk array consisting of SATA controllers as well as through Gigabit Ethernet interface upload to computer after analysis and processing. Image data is converted to the VGA resolution format of the 1 024×768 pixels in the form of pumping frames and reducing resolution. Finally the system conduct the image real-time display through the VGA interface. What the experimental results show that the system can store and display the high-speed image data with 2 048×2 048 pixels and frame frequency with 150 f/s resolution.
Key words : CMOS camera;FPGA;disk array;Gigabit Ethernet

0 引言

    在航空航天圖像監測領域,高分辨率、高幀頻的工業相機有著廣泛的應用,它可以有效捕捉高速飛行器的飛行姿態,最終通過計算機對圖像進行分析與處理,提取出其運行速度、加速度等重要參數[1]。隨著工業相機分辨率以及幀頻的不斷提高,對圖像存儲系統的要求也越來越高,特別是在載人航天測試領域,存儲系統必須能夠應對復雜的工況環境。傳統的Nand Flash以及機械硬盤等存儲介質存在容量小、操作復雜以及抗干擾能力差等缺點,而SSD固態硬盤憑借其容量大、速度快、環境特性好等特點,在科研、航空航天以及軍事測試等領域,有廣闊的應用前景。

    現階段,主要使用傳統的Flash對圖像數據進行采集。文獻[2]和[3]采用Flash陣列進行數據的存儲,雖然在一定程度上提高了讀寫速度,但是存在接口操作復雜、穩定性差等缺點。文獻[4]使用圖像采集卡進行圖像數據的實時顯示,增加了系統的體積與復雜度,而且圖像的分辨率不高。本文通過采用FPGA對系統功能進行開發,利用4塊SSD固態硬盤構成存儲陣列對高速圖像進行存儲,可以在飛行器回收后讀取原始圖像數據,同時以抽幀并降低分辨率的形式對圖像數據進行實時顯示,以減小遙測數據回傳時的帶寬占用,實現了圖像數據的大容量高速存儲與實時顯示,并且具有可移植性。

1 系統總體設計

    系統設計總體框圖如圖1所示。系統選用Point Grey公司生產的GZL-CL-41C6型號高速灰度相機,通過Camera Link接口發送圖像數據和同步信號,串口接收相機控制命令,圖像分辨率為2 048×2 048像素,幀頻為150 f/s,像素格式為8 bit[5]。由于相機產生的數據量約為600 MB/s,而SATA2.0接口的單塊固態硬盤的寫入速度約為180 MB/s[6],所以使用4塊固態硬盤構成RAID0陣列進行存儲。系統采集工業相機輸出的高速圖像數據,并將數據發送到FPGA后分成兩路,一路經過DDR3緩存后,并行存入固態硬盤整列中;另一路經過格式轉換后存入DDR3緩存中,然后通過VGA接口實時顯示圖像數據。

htdz2-t1.gif

2 系統硬件電路設計

2.1 圖像采集模塊

    系統前端工業相機使用了8-tap模式輸出像素數據,即一次輸出8個像素數據,所以使用Full模式Camera Link接口電路。在Full模式下,Camera Link接口使用兩個連接器,需要使用3個數據接口芯片、一個相機控制芯片和一個串行通信芯片。通過接口芯片將Camera Link電纜所傳輸的LVDS差分信號轉換為FPGA可以直接進行處理的TTL電平信號。

    相機與FPGA連接示意圖如圖2所示。系統選用TI公司生產的DS90CR288A作為數據接收芯片,DS90LV-047ATM為控制芯片,DS90LV019TM為串行通信芯片。其中,D0~D23為數據信號,FVAL、LVAL、DVAL為同步信號,CC1~CC4為相機控制信號,SerTC與SerTFG為串行通信信號。

htdz2-t2.gif

2.2 VGA驅動電路

    FPGA的輸出為3.3 V的電平信號,而VGA接口要求的輸入信號為0~0.714 V的模擬信號,所以為了滿足VGA顯示要求,必須對FPGA的輸出信號進行D/A轉換,以實現0~0.714 V的模擬信號輸入[7]。系統選用ADI公司生產的視頻轉換芯片ADV7123實現VGA驅動,由于相機輸出的圖像數據為灰度圖像,所以將R、G、B三個通道中的任意一個與FPGA相連,并且將其他兩路接地。本設計將FPGA輸出與紅色輸入端口相連,并將未使用的綠色和藍色模擬信號連接37.5 Ω終端電阻。

2.3 千兆以太網接口電路

    系統使用了Realtek公司生產的以太網收發器RTL8211EG實現千兆以太網數據傳輸。鏈路層、傳輸層以及網絡層使用UDP/IP協議,由FPGA實現。RTL8211EG與FPGA的電路連接示意圖如圖3所示,RTL8211EG通過GMII接口與FPGA進行連接,主要用來連接以太網的MAC層和PHY層。當使用千兆以太網進行數據傳輸時,接口時鐘為125 MHz。其中,接收時鐘由RTL8211EG的E_RXC提供;發送時鐘由FPGA的E_GTXC提供,接收與發送數據均在時鐘上升沿進行采樣。

htdz2-t3.gif

3 系統軟件設計與仿真

3.1 圖像實時顯示模塊

    系統相機輸出的圖像分辨率為2 048×2 048像素、150 f/s幀頻的圖像,無論是分辨率還是幀頻都超過了通用VGA接口顯示器的顯示格式,所以可以采取抽幀并降低分辨率的方式對圖像進行顯示。

3.1.1 圖像壓縮單元設計

    系統對原始分辨率為2 048×2 048像素的圖像進行如圖4所示的縮小,將3×3范圍內的9個像素數據合成為1個像素數據,最終得到分辨率為682×682像素格式的圖像。為了降低噪聲信號在圖像中的影響,使用了對9個像素數據取中值的方式進行合成。

htdz2-t4.gif

    在FPGA程序設計中,使用了9個FIFO對算法進行實現,實現方法如圖5所示。每個FIFO的大小為1 024×8 bit,通過9個FIFO對3行像素數據進行緩存。其中,首先用FIFO1、FIFO2、FIFO3分別存儲第一行的第1、2、3個數據,緊接著再存儲第一行的第4、5、6個數據,直到第一行存儲完畢;之后使用FIFO4、FIFO5、FIFO6以相同的方式緩存第二行數據,FIFO7、FIFO8、FIFO9緩存第三行數據。前三行數據緩存完之后,再使用另外9個FIFO存儲第4、5、6行數據,與第一組FIFO構成乒乓緩存結構。這樣,每一組FIFO可以在一個周期讀出需要處理的9個像素數據,并對這9個數據提取中值。

htdz2-t5.gif

    對于N為奇數的中值運算,若N為9,則需要比較的次數為36次,結合FPGA并行處理的優勢,同時使用36個比較器,可以達到最大處理速度[8]。此外,VGA顯示器分辨率為1 024×768像素,而經過處理后的圖像分辨率為682×682像素,所以圖像應在顯示器中央顯示,在進行VGA驅動顯示時,可以將其他像素補0,即黑色圖像。

3.1.2 抽幀緩存模塊

    由于相機輸出圖像的幀頻為150 f/s,而常用VGA分辨率格式的幀頻一般都在75 Hz以下,為了匹配VGA接口分辨率,對相機圖像進行抽幀緩存處理,每兩幀抽取一幀,依次存入兩片DDR3中,最終以1 024×768@75格式的VGA分辨率進行顯示。

    抽幀顯示時序圖如圖6所示。將相機幀同步信號FVAL進行4分頻,得到抽幀控制信號F_Control,再生成一個以F_Control的邊沿為復位信號的FVAL上升沿計數器CNT。當F_Control為低電平時,將CNT為1的幀圖像存入緩存1;當F_Control為高電平時,將CNT為1的幀圖像存入緩存2。讀緩存與寫緩存正好相反,在F_Control為低電平時讀取緩存2中的數據;在F_Control為高電平時讀取緩存1中的數據。

htdz2-t6.gif

    在程序設計時,對圖像分辨率、圖像縮放因子、圖像幀頻、抽幀系數等關鍵參數使用Verilog HDL語言中的`define語法進行宏定義,實現任意分辨率和幀頻的圖像格式轉換,以便相機和顯示器型號的改變以及系統移植。

3.2 圖像存儲模塊

    系統以Spartan6-T系列FPGA中的GTP高速串行收發器為基礎,實現SATA2.0控制器的物理層,并使用Verilog HDL語言實現鏈路層、傳輸層以及命令層的開發,最終實現SATA2.0協議的DMA傳輸。

    在進行圖像存儲時,首先將圖像采集模塊采集到的數據先通過異步FIFO進行位寬轉換,系統使用FPGA中的MCB(Memory Controller Block)硬核來控制DDR3存儲器,為了最大化帶寬,其用戶端口位寬選擇為128 bit,所以需要把Camera Link接口64 bit位寬的數據轉換為128 bit位寬數據,再把數據輸入數據分配模塊。數據分配模塊流程如圖7所示。系統使用的DDR3存儲器型號為MT41J256M16,容量為512 MB,將其分為上、下半頁,數據以256 MB為單位按照流水線方式依次存入兩片DDR3之中。

htdz2-t7.gif

    系統使用的SATA控制器的尋址方式為邏輯塊尋址,每個邏輯塊的大小為512 B。為了最大化利用存儲帶寬,使用突發讀寫模式,其中寫突發讀寫控制端口cmd_bl的位寬為18 bit,最大讀寫深度為262 144,一次可以讀寫262 144×512 B,即128 MB的數據。硬盤存儲數據分配流程圖如圖8所示,以128 MB為單位將DDR存儲器每半頁再次分塊,SATA控制器0~SATA控制器4分別按照命令讀取DDR3_0和DDR3_1中的數據,并以流水線的方式存入固態硬盤中。

htdz2-t8.gif

4 系統測試

    為了驗證系統功能的正確性,對系統存儲模塊以及顯示模塊分別進行了測試。使用三星公司的750 EVO固態硬盤進行測試,在SATA控制器數據端口插入觸發信號,當控制器讀取或寫入硬盤數據時,記錄數據流量及時間,當計滿1GB的數據后,計算讀寫速度,同時對計數器清零,之后將速度信息通過串口模塊發送到上位機。系統存儲模塊讀寫速度測試如圖9、圖10所示。

htdz2-t9.gif

htdz2-t10.gif

    通過Camera Link串行通信芯片發送命令,將相機圖像設定為測試圖像。相機測試圖像在同一行中灰度值逐漸遞減,可以清晰地反映圖像數據的傳輸過程,并且可以根據每一個像素的相鄰數據判斷圖像傳輸是否發生錯誤。通過上位機回讀顯示的圖像與實時顯示的圖像均顯示良好,沒有發生像素缺損和錯位現象。

5 結束語

    本文設計了一種高速CMOS圖像存儲與實時顯示系統,主要包括系統圖像接口模塊、VGA驅動電路以及圖像回讀模塊等硬件電路,同時對圖像顯示模塊及存儲模塊的軟件進行設計。經過讀寫速度測試以及圖像顯示測試,表明該系統可以對分辨率為2 048×2 048像素、幀頻為150 f/s的高速圖像進行存儲與實時顯示,具有較高的可移植性以及實用價值。

參考文獻

[1] 韓帥.基于工業相機的圖像采集與回放系統研究[D].太原:中北大學,2015.

[2] 張惠臻,周炎,王成.基于NAND Flash的嵌入式大規模數據存儲機制[J].華中科技大學學報(自然科學版),2017,45(1):46-51.

[3] 徐永剛,任國強,吳欽章,等.NAND Flash圖像記錄系統底層寫入控制技術[J].光電工程,2012,39(9):138-144.

[4] 馬志剛,劉文怡,凌偉.基于PCI和LVDS的高速數據存儲系統的設計[J].電子技術應用,2014,40(4):80-83.

[5] BARRERA E,RUIZ M,SANZ D,et al.Test bed for real-time image acquisition and processing systems based on F1exRI0,Camera Link and EPICS[J].Fusion Engineering and Design,2014,89(5):633-637.

[6] 劉偉.SATA接口雙硬盤控制技術研究與實現[D].太原:中北大學,2016.

[7] 吳偉學.基于FPGA的圖像采集與處理系統設計[D].廣州:華南理工大學,2015.

[8] 李飛飛,劉偉寧,王艷華.改進的中值濾波算法及其FPGA快速實現[J].計算機工程,2009,35(14):175-177.



作者信息:

馬  林1,2,李錦明1,2,張虎威1,2,侯天喜1,2,降  帥1,2

(1.中北大學 電子測試國家重點實驗室,山西 太原030051;

2.中北大學 儀器科學與動態測試教育部重點實驗室,山西 太原030051)

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 狠狠狠狠狠狠狠狠狠狠 | 欧美成人午夜视频免看 | 黄色一级片在线看 | 国产粉嫩嫩00在线正在播放 | 青草视频在线 | 国产精品欧美激情第一页 | 狠狠的干狠狠的操 | 亚洲春色第一页 | 亚洲欧洲在线观看 | 国产一区二区三区不卡免费观看 | 色天天综合网 | 国产国产精品人在线观看 | 成 人 黄 色 视频播放16 | 日本一区二区三区中文字幕视频 | 天天操天天操天天操香蕉 | 国产一级特黄一级毛片 | aaaa黄色片| 日韩欧美视频在线一区二区 | 成人亚洲欧美日韩中文字幕 | 最新国产三级在线观看不卡 | 天天操天天干天天摸 | 国产区网址 | 精品国产日韩亚洲一区在线 | 好男人www社区影视在线 | 91免费视| 欧美高清在线视频一区二区 | 日韩a一级欧美一级在线播放 | 成人免费夜片在线观看 | 视频在线观看网站免费 | 黄色短视频免费看 | 久久久男女野外野战 | 欧美一级黄色片 | 成人午夜黄色 | 亚洲成人免费在线 | 一区二区三区四区精品视频 | 日日碰日日操 | 亚洲 欧美 激情 另类 自拍 | 成人激情开心 | 日韩 国产 欧美 精品 在线 | 丝袜美女足淫美足美脚网站 | 天天射夜夜骑 |