基于FPGA和EPP的圖像傳感器高速數(shù)據(jù)采集系統(tǒng)
出處:胡軍 發(fā)布于:2007-09-27 08:58:10
USB、串口、并口是PC機(jī)和外設(shè)進(jìn)行通訊的常用接口,但對(duì)于數(shù)據(jù)量大的圖像來說,若利用串行RS-232協(xié)議進(jìn)行數(shù)據(jù)采集,速度不能達(dá)到圖像數(shù)據(jù)采集所需的要求;而用USB進(jìn)行數(shù)據(jù)采集,雖能滿足所需速度,但要求外設(shè)必須支持USB協(xié)議,而USB協(xié)議與常用工程軟件的接口還不普及,給使用帶來困難。有些用戶為了利用標(biāo)準(zhǔn)并行口(SPP)進(jìn)行數(shù)據(jù)采集,但SPP協(xié)議的150kb/s傳輸率對(duì)于圖像數(shù)據(jù)采集,同樣顯得太低。因此,為了采集數(shù)據(jù)量大的圖像數(shù)據(jù),本文采用了具有較高傳輸速率的增強(qiáng)型并行口協(xié)議(EPP)和FPGA,實(shí)現(xiàn)對(duì)OV7620CMOS圖像傳感器進(jìn)行高速數(shù)據(jù)采集,它速率可以達(dá)到2Mb/s。
硬件電路方案
圖1為基于FPGA和EPP技術(shù)對(duì)OV7620CMOS圖像傳感器的高速數(shù)據(jù)采集系統(tǒng)原理框圖,它主要由三部分組成:OV7620的參數(shù)配置電路、圖像采樣電路以及PC讀取數(shù)據(jù)電路。

圖1 系統(tǒng)原理框圖
OV7620的參數(shù)配置電路
系統(tǒng)在上電后需要對(duì)CMOS采像芯片進(jìn)行初始化,以確定采集圖像的開
窗位置、窗口大小和彩色或黑白工作模式等。這些參數(shù)的配置是通過OV7620芯片上提供的SCCB接口進(jìn)行的。
SCCB接口是采用一種簡(jiǎn)單、雙向二線制的同步串行總線I2C總線,接口引線有SCL和SDA。由于89C2051沒有標(biāo)準(zhǔn)的I2C總線接口,可以用軟件程序來模擬I2C總線,OV7620開窗位置和開窗大小、黑白和彩色模式以及掃描方式均可通過相應(yīng)寄存器來設(shè)置。這些寄存器都是可讀/寫的,具體操作方法如下:可以采用頁寫的方式,即在寫寄存器過程中要先發(fā)送寫允許指令OX42,然后發(fā)送寫數(shù)據(jù)的目的寄存器地址,接著為要寫的數(shù)據(jù)。寫完一個(gè)寄存器后,CMOS會(huì)自動(dòng)把寄存器地址加一,程序可繼續(xù)向下寫,而不需要再次輸入地址。讀寄存器是同樣過程,只不過指令改為OX43。
I2C總線功能的實(shí)現(xiàn)完全是依靠SCL、SDA線上電平的狀態(tài)以及兩者之間的相互配合實(shí)現(xiàn)的。I2C總線規(guī)約中規(guī)定的條件如下:
啟動(dòng)時(shí)序:SCL為高電平時(shí), SDA出現(xiàn)一個(gè)下降沿;
傳輸時(shí)序:在啟動(dòng)條件滿足后,SDA為穩(wěn)定數(shù)據(jù)狀態(tài), SCL產(chǎn)生一個(gè)正脈沖,將傳送一位數(shù)據(jù);
應(yīng)答時(shí)序: 在從機(jī)接收到一個(gè)完整的數(shù)據(jù)字節(jié)時(shí),在主機(jī)釋放SDA的情況下,主機(jī)給SCL輸出一個(gè)正的時(shí)鐘脈沖,從機(jī)將SDA拉低,以表應(yīng)答;
停止條件:當(dāng)SCL為高電平時(shí),SDA出現(xiàn)一個(gè)上升沿,該條件可以解決多機(jī)競(jìng)爭(zhēng)的問題,即在兩個(gè)器件對(duì)話時(shí),第三者插入會(huì)終止前者的數(shù)據(jù)通信,其主要特點(diǎn)在于各器件每一位都在判斷總線的狀態(tài)。
I2C總線的啟動(dòng)和停止條件如圖2所示。

圖2 I2C總線的啟動(dòng)和停止條件
圖像采樣電路
在隧道的平行度、無損檢測(cè)、垂直度測(cè)量?jī)x中常選用的圖像分辨率為320×320,用黑白模式就能基本滿足圖像識(shí)別對(duì)圖像特征點(diǎn)的要求。 因此本系統(tǒng)采樣的參數(shù)是在圖像分辨率取為320×320、黑白模式、ZV圖像格式中進(jìn)行的。
CMOS圖像芯片ZV端口格式的輸出波形如圖3所示。圖中VSYNC是垂直場(chǎng)同步信號(hào),其下降沿表示一幀圖像的開始(CMOS是按列采集圖像的),HREF是水平場(chǎng)同步信號(hào),其上升沿表示一列圖像數(shù)據(jù)的開始。PCLK是輸出數(shù)據(jù)同步信號(hào),Y是圖像灰度信息。下面介紹FPGA如何對(duì)圖像傳感器的數(shù)據(jù)采樣。

圖3 OV7620在ZV端口格式的輸出時(shí)序
為了進(jìn)行速度匹配,F(xiàn)PGA和PC之間有兩根握手信號(hào): READY和ACK。它們來協(xié)調(diào)FPGA對(duì)同一個(gè)數(shù)據(jù)存儲(chǔ)芯片的讀寫過程。READY是FPGA通知PC圖像數(shù)據(jù)已經(jīng)讀完信號(hào);ACK是PC通知FPGA數(shù)據(jù)已讀完信號(hào),兩者都是低電平有效。
在數(shù)據(jù)采樣期間,將READY拉高,表示正在采集,這時(shí)FPGA根據(jù)OV7620的VSYNC、HREF、PCLK產(chǎn)生圖像MEM_WR(寫信號(hào))和ADDRESS(地址),讀取OV7620的數(shù)據(jù)到高速緩存,到下一個(gè)VSYNC信號(hào)時(shí),表示一幀數(shù)據(jù)已經(jīng)采完,接著向PC機(jī)發(fā)送申請(qǐng)READY信號(hào),表示圖像采集完成,如果PC不給應(yīng)答信號(hào)ACK,F(xiàn)PGA開始采樣下一幀數(shù)據(jù)放到高速緩存中,并覆蓋原有的數(shù)據(jù);若PC響應(yīng),F(xiàn)PGA停止采樣數(shù)據(jù)。
PC讀取數(shù)據(jù)電路
PC讀取數(shù)據(jù)是通過并口的EPP模式進(jìn)行的。在EPP模式下讀時(shí)序如圖4所示。 在讀模式下,nWRITE(EPP寫信號(hào))保持高電平, 當(dāng)nDATASTB(EPP讀信號(hào))變低時(shí),準(zhǔn)備讀取外設(shè)數(shù)據(jù);當(dāng)外設(shè)數(shù)據(jù)準(zhǔn)備好后,使nWAIT(外設(shè)忙標(biāo)志)為高,這時(shí)PC程序向基址+4的端口(EPP數(shù)據(jù)端口)執(zhí)行一個(gè)I/O讀操作(nDATASTB信號(hào));在讀脈沖nDATASTB信號(hào)的上升沿,PC讀取數(shù)據(jù)總線上數(shù)據(jù)。整個(gè)過程是在一個(gè)ISA周期內(nèi)完成的。

圖4 EPP模式下讀時(shí)序
FPGA完成對(duì)EPP協(xié)議實(shí)現(xiàn)的時(shí)序如圖5。PC不停查詢READY信號(hào)是否有效,直到READY有效時(shí),PC才可以讀取圖像數(shù)據(jù),同時(shí)將ACK置高,表示PC正在讀取數(shù)據(jù)緩存中的圖像數(shù)據(jù)。這時(shí)FPGA停止采集圖像(不產(chǎn)生寫信號(hào)),F(xiàn)PGA檢測(cè)PC通過EPP發(fā)出讀脈沖(CPU_DS),產(chǎn)生高速緩存MEM_RD(讀信號(hào))和地址,從高速緩存中讀取一個(gè)字節(jié)放到并口上,同時(shí)向PC上發(fā)送一個(gè)BUSY信號(hào),PC在這個(gè)時(shí)刻之后可以讀取一個(gè)字節(jié)數(shù)據(jù),完成整個(gè)數(shù)據(jù)讀寫。讀取數(shù)據(jù)過程中EPP端口的PC_WRITE(寫信號(hào))要一直保持為高電平。

圖5 FPGA對(duì)EPP協(xié)議的實(shí)現(xiàn)時(shí)序
結(jié)語
FPGA對(duì)CMOS高速數(shù)據(jù)采集方法,可以把CMOS的主動(dòng)器件通過FPGA變成可控制的方式,PC可間接對(duì)存儲(chǔ)體進(jìn)行尋址運(yùn)算。在該系統(tǒng)中用PC的并口實(shí)現(xiàn)了CMOS信號(hào)的高速采集處理,按前述軟硬件方法制作的系統(tǒng),實(shí)際穩(wěn)定的采樣速率達(dá)到了15幀/s, 該系統(tǒng)已應(yīng)用在管道無損檢測(cè)樣機(jī)中,效果良好。這種信號(hào)采集方法還可以在其它諸多需要高速圖像數(shù)據(jù)采集的場(chǎng)合應(yīng)用。
參考文獻(xiàn):
[1]. RS-232 datasheet http://www.hbjingang.com/datasheet/RS-232_584855.html.
[2]. OV7620 datasheet http://www.hbjingang.com/datasheet/OV7620_525855.html.
[3]. 89C2051 datasheet http://www.hbjingang.com/datasheet/89C2051_105398.html.
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫電子市場(chǎng)網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- EDA技術(shù)工具鏈與全流程設(shè)計(jì)運(yùn)維指南2026/1/5 10:28:51
- PLC程序現(xiàn)場(chǎng)疑難問題排查與深度優(yōu)化指南2025/12/24 14:36:36
- PLC程序現(xiàn)場(chǎng)調(diào)試與優(yōu)化實(shí)操指南2025/12/24 14:29:57
- 工業(yè)PLC模擬量信號(hào)采集:調(diào)理技術(shù)與抗干擾工程方案2025/12/15 14:39:08
- PLC設(shè)備如何選型2025/9/5 17:15:14
- 高速PCB信號(hào)完整性(SI)設(shè)計(jì)核心實(shí)操規(guī)范
- 鎖相環(huán)(PLL)中的環(huán)路濾波器:參數(shù)計(jì)算與穩(wěn)定性分析
- MOSFET反向恢復(fù)特性對(duì)系統(tǒng)的影響
- 電源IC在惡劣環(huán)境中的防護(hù)設(shè)計(jì)
- 連接器耐腐蝕性能測(cè)試方法
- PCB電磁兼容(EMC)設(shè)計(jì)與干擾抑制核心實(shí)操規(guī)范
- 用于相位噪聲測(cè)量的低通濾波器設(shè)計(jì)與本振凈化技術(shù)
- MOSFET在高頻開關(guān)中的EMI問題
- 電源IC在便攜式設(shè)備中的設(shè)計(jì)要點(diǎn)
- 連接器結(jié)構(gòu)設(shè)計(jì)常見問題分析









