《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于FPGA的圖像采集與存儲系統(tǒng)設(shè)計(jì)
基于FPGA的圖像采集與存儲系統(tǒng)設(shè)計(jì)
2015年電子技術(shù)應(yīng)用第11期
魏麗玲1,2,朱 平1,2,石永亮1,2
(1.中北大學(xué) 電子測試技術(shù)重點(diǎn)實(shí)驗(yàn)室,山西 太原030051;2.中北大學(xué) 儀器與電子學(xué)院,山西 太原030051)
摘要: 設(shè)計(jì)了一種針對具有大數(shù)據(jù)量特點(diǎn)圖像數(shù)據(jù)采集、存儲及長線回讀的測控系統(tǒng)。在控制信號的作用下,此測控系統(tǒng)將CMOS傳感器采集的大容量數(shù)據(jù)存儲到Flash芯片中。存儲完成后,通過LVDS總線,將Flash芯片中存儲的數(shù)據(jù)回傳到上位機(jī)進(jìn)行存盤并顯示。實(shí)驗(yàn)證明,此系統(tǒng)穩(wěn)定性高,在工業(yè)控制領(lǐng)域具有借鑒意義。
中圖分類號: TP274.2
文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.2015.11.019

中文引用格式: 魏麗玲,朱平,石永亮. 基于FPGA的圖像采集與存儲系統(tǒng)設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2015,41(11):67-69,73.
英文引用格式: Wei Liling,Zhu Ping,Shi Yongliang. Design of image capture and storage system based on FPGA[J].Application of Electronic Technique,2015,41(11):67-69,73.
Design of image capture and storage system based on FPGA
Wei Liling1,2,Zhu Ping1,2,Shi Yongliang1,2
1.Science and Technology on Electronic Test & Measurement Laboratory,North University of China,Taiyuan 030051,China; 2.School Instrument and Electronics,North University of China,Taiyuan 030051,China
Abstract: A kind of test system which has function of storage, collection and long-term backward read to image is designed in this paper. The system stores high-capacity image data into FLASH chip. After the image data storage finishing, in order to read module backward read to control computer to save and decode through LVDS bus way. Experiments show that this system has high stability, it has reference significance in the field of industrial control.
Key words : image data;FPGA;Flash;data storage

  

0 引言

  隨著科學(xué)技術(shù)的發(fā)展,視覺技術(shù)被廣泛應(yīng)用于軍事、工業(yè)以及測控領(lǐng)域。視覺是人們主要的信息源,通過圖像采集系統(tǒng)對周圍環(huán)境圖像數(shù)據(jù)進(jìn)行采集,這樣機(jī)器能夠替代人類獲得環(huán)境信息,此種系統(tǒng)被廣泛應(yīng)用于測控系統(tǒng),以獲得飛行器的環(huán)境參數(shù)。利用高性能的FPGA控制圖像數(shù)據(jù)的采集與圖像數(shù)據(jù)處理,通過交錯(cuò)雙平面技術(shù)對處理后的圖像數(shù)據(jù)進(jìn)行存儲,通過USB總線,將處理后的數(shù)據(jù)傳輸給上位機(jī)進(jìn)行解包并顯示。

1 系統(tǒng)的總體設(shè)計(jì)

  系統(tǒng)工作過程:采集存儲模塊的FPGA通過模擬IIC時(shí)序,對CMOS模擬傳感器進(jìn)行初始化與配置,并采集圖像數(shù)據(jù),通過信號調(diào)理電路將采集的模擬信號進(jìn)行濾波放大,并將調(diào)理放大的信號進(jìn)行A/D轉(zhuǎn)換后輸出給FPGA,F(xiàn)PGA將接收的數(shù)據(jù)通過內(nèi)部FIFO緩存后傳輸給Flash芯片進(jìn)行存儲。FPGA回讀Flash芯片內(nèi)的數(shù)據(jù),通過LVDS總線(型號DS92LV1023)發(fā)送給監(jiān)控讀數(shù)模塊,通過USB接口(型號CY7C68013)傳輸給上位機(jī),由上位機(jī)對圖像進(jìn)行解碼顯示。系統(tǒng)的原理框圖如圖1所示。

009.jpg

FPGA采用XILINX公司的XC3S1400AN,內(nèi)部包含有豐富的RAM資源,便于數(shù)據(jù)采集[1-3]。

2 CMOS圖像數(shù)據(jù)采集模塊

  通過FPGA對CMOS圖像采集模塊進(jìn)行邏輯控制。其中采集模塊主要完成對視頻圖像的采集,對采集到的信號進(jìn)行模數(shù)轉(zhuǎn)換,并對此信號進(jìn)行低通濾波及放大后[4-7]傳輸給圖像數(shù)據(jù)存儲模塊進(jìn)行存儲。

  在本文的系統(tǒng)設(shè)計(jì)中,對圖像數(shù)據(jù)的采集是核心模塊。視頻前端應(yīng)用CMOS圖像傳感器(型號OV7670),輸出的圖像數(shù)據(jù)最高為30幀/s,30萬像素,芯片內(nèi)部的寄存器達(dá)201個(gè),通過FPGA控制單片機(jī)對傳感器寄存器進(jìn)行配置。單片機(jī)采用IIC總線為傳感器寄存器串行傳輸數(shù)據(jù),在對IIC總線時(shí)序控制中,利用54個(gè)SDA時(shí)鐘傳輸32 bit的配置數(shù)據(jù),其中前兩個(gè)時(shí)鐘周期完成時(shí)序模塊的初始化,延時(shí)4個(gè)周期后,啟動串行數(shù)據(jù)的傳輸,傳送完一個(gè)字節(jié)數(shù)據(jù)后等待從接收器(CMOS圖像傳感器)的應(yīng)答信號,當(dāng)單片機(jī)確定從接收器正確接收后,啟動發(fā)送下一個(gè)字節(jié)的配置數(shù)據(jù),直到發(fā)送完4個(gè)字節(jié)的配置數(shù)據(jù)后,發(fā)送終止信號,結(jié)束IIC總線的傳輸,完成傳感器的初始化,從而控制圖像數(shù)據(jù)的質(zhì)量、圖像數(shù)據(jù)的制式以及數(shù)據(jù)的傳輸方式。其中IIC總線傳輸模塊的時(shí)鐘為30 kHz。

  CMOS圖像傳感器將采集到的光信號轉(zhuǎn)換為模擬信號,被轉(zhuǎn)換的模擬信號很微弱,為達(dá)到A/D轉(zhuǎn)換芯片對處理信號電平的要求,需要對傳感器輸出的模擬信號進(jìn)行放大處理,經(jīng)A/D轉(zhuǎn)換芯片將模擬信號轉(zhuǎn)換成數(shù)字信號輸出。FPGA的解碼部分通過控制3種同步信號(像素時(shí)鐘同步信號、行同步信號和場同步信號),進(jìn)而得到8 bit的RGB制式的圖像數(shù)據(jù)信號。圖像傳感器的分辨率為640×480,行同步信號為“1”時(shí)有效,每行顯示的有效數(shù)據(jù)是640 bit;每列顯示的有效數(shù)據(jù)是480 bit,場同步信號為“0”時(shí)輸出轉(zhuǎn)化后的有效數(shù)據(jù),當(dāng)其變?yōu)椤?”時(shí),表明一幀圖像數(shù)據(jù)傳輸完成。采集到的數(shù)據(jù)通過FPGA芯片的內(nèi)部FIFO緩存。

3 圖像數(shù)據(jù)存儲模塊

  本文采用的FPGA片內(nèi)存儲器有限,考慮到大數(shù)據(jù)量的圖像數(shù)據(jù),需要外部擴(kuò)展存儲器,選用K9WBG08U1M型號的Flash,此Flash最大存儲4 GB圖像數(shù)據(jù),以頁為單位對數(shù)據(jù)進(jìn)行讀寫,以塊為單位對數(shù)據(jù)進(jìn)行擦除,包含3種地址控制信號(列地址、行地址和塊地址)。圖像存儲模塊在上電初始化后,F(xiàn)PGA控制時(shí)序擦除Flash內(nèi)存,并等待存儲視頻前端采集到的圖像數(shù)據(jù)。采用交錯(cuò)雙平面式對接收到的圖像數(shù)據(jù)進(jìn)行存儲,將1片4 GB的Flash分成2片2 GB的Flash,對其中一片F(xiàn)lash進(jìn)行寫操作的同時(shí)對另一片F(xiàn)lash進(jìn)行讀操作,此種交錯(cuò)方式使輸入輸出不間斷,實(shí)現(xiàn)圖像數(shù)據(jù)的無縫處理,提高數(shù)據(jù)傳輸與處理的效率。

  為了方便對圖像數(shù)據(jù)進(jìn)行讀寫操作,引入3種控制信號:地址使能信號、命令使能信號和數(shù)據(jù)鎖存信號。在FPGA的邏輯時(shí)序控制中,當(dāng)?shù)刂肥鼓苄盘栍行椤?”時(shí),F(xiàn)PGA的8個(gè)I/O口并行輸出地址,在對Flash芯片進(jìn)行尋址時(shí)寫入32 bit地址(13 bit是字節(jié)地址,19 bit是頁地址和塊地址),分5次輸出;當(dāng)命令使能信號有效為“0”時(shí),8位I/O口輸出命令,當(dāng)數(shù)據(jù)鎖存信號有效為“0”時(shí),8位I/O口輸入8 bit圖像數(shù)據(jù)。圖2所示為Flash存儲模塊工作時(shí)序流程圖。

010.jpg

4 監(jiān)控讀數(shù)模塊

  通過綜合考慮,圖像數(shù)據(jù)存儲模塊與監(jiān)控讀數(shù)模塊通過低壓差分傳輸方式(LVDS)進(jìn)行數(shù)據(jù)的傳輸,此種傳輸方式適用于高速短距離傳輸,但是,在利用普通雙絞線進(jìn)行數(shù)據(jù)的傳輸時(shí),信號的傳輸損耗隨著信號頻率的增加而增加。基于此種限制,在圖像數(shù)據(jù)的發(fā)送端加入驅(qū)動以增強(qiáng)信號,在圖像數(shù)據(jù)的接收端采用均衡補(bǔ)償法補(bǔ)償信號在傳輸過程中的損耗。

011.jpg

  此監(jiān)控讀數(shù)模塊采用LVDS接口和422接口與圖像數(shù)據(jù)存儲模塊進(jìn)行通信。LVDS接口主要負(fù)責(zé)存儲命令的下發(fā)和回讀存儲模塊的圖像數(shù)據(jù),422接口主要負(fù)責(zé)對存儲模塊狀態(tài)的監(jiān)控,通過回讀存儲模塊的狀態(tài)信息以確定存儲模塊是否正常工作。圖3所示為監(jiān)控讀數(shù)模塊與數(shù)據(jù)存儲模塊的LVDS接口示意圖。存儲模塊接收到讀數(shù)命令,通過LVDS接口,將數(shù)據(jù)傳輸給監(jiān)控讀數(shù)模塊,監(jiān)控讀數(shù)模塊通過檢測數(shù)據(jù)的高兩位判斷是否為有效數(shù)據(jù)。若為有效數(shù)據(jù),將此數(shù)據(jù)存儲到外部的FIFO中,若為無效數(shù)據(jù),則丟棄。監(jiān)控讀數(shù)模塊向存儲模塊發(fā)送啟動存數(shù)數(shù)據(jù)命令后,數(shù)據(jù)存儲模塊通過422接口將本身的狀態(tài)信息發(fā)送給數(shù)據(jù)監(jiān)控模塊,通過這些狀態(tài)信息能夠判斷存儲模塊是否正常工作。

5 系統(tǒng)測試結(jié)果

  在對本系統(tǒng)的硬件和軟件模塊調(diào)試成功后,對系統(tǒng)的總體功能進(jìn)行測試。CMOS模擬傳感器對圖像數(shù)據(jù)進(jìn)行采集后,通過數(shù)據(jù)存儲模塊對采集到的數(shù)據(jù)進(jìn)行存儲,由監(jiān)控讀數(shù)模塊通過LVDS接口回讀圖像數(shù)據(jù),并將此數(shù)據(jù)通過USB接口上傳給上位機(jī),上位機(jī)對此數(shù)據(jù)進(jìn)行解碼并顯示,圖4所示為還原后的圖像數(shù)據(jù)。其中FAF6為幀開始標(biāo)志,幀標(biāo)志前面的3個(gè)字節(jié)是幀計(jì)數(shù)。

012.jpg

6 結(jié)論

  本文利用CMOS傳感器實(shí)現(xiàn)了對圖像數(shù)據(jù)實(shí)時(shí)采集的要求。應(yīng)用K9WBG08U1M型號的Flash芯片通過交叉雙平面技術(shù)對此圖像數(shù)據(jù)進(jìn)行存儲,實(shí)現(xiàn)了數(shù)據(jù)的無縫傳輸,以流水線的數(shù)據(jù)傳輸方式提高了本系統(tǒng)的傳輸效率。監(jiān)控讀數(shù)模塊通過LVDS接口和422接口對存儲模塊的數(shù)據(jù)進(jìn)行回讀并在上位機(jī)上顯示。系統(tǒng)充分利用了具有高性能的XC3S1400AN(所用FPGA型號)芯片,提高了系統(tǒng)的運(yùn)行速度,具有很高的參考價(jià)值。

參考文獻(xiàn)

  [1] 吳萌.一種高速、大容量圖像存儲系統(tǒng)設(shè)計(jì)[D].西安:中國科學(xué)院西安光學(xué)精密機(jī)械研究所,2009.

  [2] 邢彥梅,董曉倩,張園.一種基于JPEG2000算法的圖像傳感器設(shè)計(jì)[J].電視技術(shù),2012,36(11):44-46.

  [3] 王小艷,張會新,孫永生,等.Camera link協(xié)議和FPGA的數(shù)字圖像信號源設(shè)計(jì)[J].國外電子元器件,2008,16(7):59-61.

  [4] 任偉,張彥軍,白先民.基于LVDS的高速數(shù)據(jù)傳輸裝置的設(shè)計(jì)[J].科學(xué)技術(shù)與工程,2012,12(29):7759-7763.

  [5] 郭錚,劉文怡,馮妮.基于FPGA多通道高速數(shù)據(jù)采集存儲器設(shè)計(jì)[J].電視技術(shù),2012,37(17):55-57.

  [6] 蔣鵬,吳建峰,董林璽.一種改進(jìn)的無線多媒體傳感器網(wǎng)絡(luò)分布式圖像壓縮算法[J].傳感技術(shù)學(xué)報(bào),2012,25(6):815-820.

  [7] 張健,吳曉冰.LVDS技術(shù)原理和設(shè)計(jì)簡介[J].電子技術(shù)應(yīng)用,2000,26(5):59-61.


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