基于FPGA和EPP的圖像傳感器高速數據采集系統

發(fā)布時(shí)間:2010-9-26 16:21    發(fā)布者:conniede
關(guān)鍵詞: CMOS , EPP , FPGA , 傳感器
1 引言

USB、串口、并口是PC機和外設進(jìn)行通訊的常用接口,但對于數據量大的圖像來(lái)說(shuō),若利用串行RS-232協(xié)議進(jìn)行數據采集,速度不能達到圖像數據采集所需的要求;而用USB進(jìn)行數據采集,雖能滿(mǎn)足所需速度,但要求外設必須支持USB協(xié)議,而USB協(xié)議與常用工程軟件的接口還不普及,給使用帶來(lái)困難。有些用戶(hù)為了利用標準并行口(SPP)進(jìn)行數據采集,但SPP協(xié)議的150kb/s傳輸率對于圖像數據采集,同樣顯得太低。因此,為了采集數據量大的圖像數據,本文采用了具有較高傳輸速率的增強型并行口協(xié)議(EPP)和FPGA,實(shí)現對OV7620CMOS圖像傳感器進(jìn)行高速數據采集,它最高速率可以達到2Mb/s。

2 硬件電路方案

圖1為基于FPGA和EPP技術(shù)對OV7620CMOS圖像傳感器的高速數據采集系統原理框圖,它主要由三部分組成:OV7620的參數配置電路、圖像采樣電路以及PC讀取數據電路。


圖1 系統原理框圖

2.1 OV7620的參數配置電路

系統在上電后需要對CMOS采像芯片進(jìn)行初始化,以確定采集圖像的開(kāi)窗位置、窗口大小和彩色或黑白工作模式等。這些參數的配置是通過(guò)OV7620芯片上提供的SCCB接口進(jìn)行的。

SCCB接口是采用一種簡(jiǎn)單、雙向二線(xiàn)制的同步串行總線(xiàn)I2C總線(xiàn),接口引線(xiàn)有SCL和SDA。由于89C2051沒(méi)有標準的I2C總線(xiàn)接口,可以用軟件程序來(lái)模擬I2C總線(xiàn),OV7620開(kāi)窗位置和開(kāi)窗大小、黑白和彩色模式以及掃描方式均可通過(guò)相應寄存器來(lái)設置。這些寄存器都是可讀/寫(xiě)的,具體操作方法如下:可以采用頁(yè)寫(xiě)的方式,即在寫(xiě)寄存器過(guò)程中要先發(fā)送寫(xiě)允許指令OX42,然后發(fā)送寫(xiě)數據的目的寄存器地址,接著(zhù)為要寫(xiě)的數據。寫(xiě)完一個(gè)寄存器后,CMOS會(huì )自動(dòng)把寄存器地址加一,程序可繼續向下寫(xiě),而不需要再次輸入地址。讀寄存器是同樣過(guò)程,只不過(guò)指令改為OX43。

I2C總線(xiàn)功能的實(shí)現完全是依靠SCL、SDA線(xiàn)上電平的狀態(tài)以及兩者之間的相互配合實(shí)現的。I2C總線(xiàn)規約中規定的條件如下:

啟動(dòng)時(shí)序:SCL為高電平時(shí), SDA出現一個(gè)下降沿;

傳輸時(shí)序:在啟動(dòng)條件滿(mǎn)足后,SDA為穩定數據狀態(tài), SCL產(chǎn)生一個(gè)正脈沖,將傳送一位數據;

應答時(shí)序: 在從機接收到一個(gè)完整的數據字節時(shí),在主機釋放SDA的情況下,主機給SCL輸出一個(gè)正的時(shí)鐘脈沖,從機將SDA拉低,以表應答;

停止條件:當SCL為高電平時(shí),SDA出現一個(gè)上升沿,該條件可以解決多機競爭的問(wèn)題,即在兩個(gè)器件對話(huà)時(shí),第三者插入會(huì )終止前者的數據通信,其主要特點(diǎn)在于各器件每一位都在判斷總線(xiàn)的狀態(tài)。

I2C總線(xiàn)的啟動(dòng)和停止條件如圖2所示。


圖2 I2C總線(xiàn)的啟動(dòng)和停止條件

2.2 圖像采樣電路

在隧道的平行度、無(wú)損檢測、垂直度測量?jì)x中常選用的圖像分辨率為320×320,用黑白模式就能基本滿(mǎn)足圖像識別對圖像特征點(diǎn)的要求。 因此本系統采樣的參數是在圖像分辨率取為320×320、黑白模式、ZV圖像格式中進(jìn)行的。

CMOS圖像芯片ZV端口格式的輸出波形如圖3所示。圖中VSYNC是垂直場(chǎng)同步信號,其下降沿表示一幀圖像的開(kāi)始(CMOS是按列采集圖像的),HREF是水平場(chǎng)同步信號,其上升沿表示一列圖像數據的開(kāi)始。PCLK是輸出數據同步信號,Y是圖像灰度信息。下面介紹FPGA如何對圖像傳感器的數據采樣。



圖3 OV7620在ZV端口格式的輸出時(shí)序

為了進(jìn)行速度匹配,FPGA和PC之間有兩根握手信號: READY和ACK。它們來(lái)協(xié)調FPGA對同一個(gè)數據存儲芯片的讀寫(xiě)過(guò)程。READY是FPGA通知PC圖像數據已經(jīng)讀完信號;ACK是PC通知FPGA數據已讀完信號,兩者都是低電平有效。

在數據采樣期間,將READY拉高,表示正在采集,這時(shí)FPGA根據OV7620的VSYNC、HREF、PCLK產(chǎn)生圖像MEM_WR(寫(xiě)信號)和ADDRESS(地址),讀取OV7620的數據到高速緩存,到下一個(gè)VSYNC信號時(shí),表示一幀數據已經(jīng)采完,接著(zhù)向PC機發(fā)送申請READY信號,表示圖像采集完成,如果PC不給應答信號ACK,FPGA開(kāi)始采樣下一幀數據放到高速緩存中,并覆蓋原有的數據;若PC響應,FPGA停止采樣數據。

2.3 PC讀取數據電路

PC讀取數據是通過(guò)并口的EPP模式進(jìn)行的。在EPP模式下讀時(shí)序如圖4所示。 在讀模式下,nWRITE(EPP寫(xiě)信號)保持高電平, 當nDATASTB(EPP讀信號)變低時(shí),準備讀取外設數據;當外設數據準備好后,使nWAIT(外設忙標志)為高,這時(shí)PC程序向基址+4的端口(EPP數據端口)執行一個(gè)I/O讀操作(nDATASTB信號);在讀脈沖nDATASTB信號的上升沿,PC讀取數據總線(xiàn)上數據。整個(gè)過(guò)程是在一個(gè)ISA周期內完成的。


圖4 EPP模式下讀時(shí)序


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


圖5 FPGA對EPP協(xié)議的實(shí)現時(shí)序

3 結語(yǔ)

FPGA對CMOS高速數據采集方法,可以把CMOS的主動(dòng)器件通過(guò)FPGA變成可控制的方式,PC可間接對存儲體進(jìn)行尋址運算。在該系統中用PC的并口實(shí)現了CMOS信號的高速采集處理,按前述軟硬件方法制作的系統,實(shí)際穩定的采樣速率達到了15幀/s, 該系統已應用在管道無(wú)損檢測樣機中,效果良好。這種信號采集方法還可以在其它諸多需要高速圖像數據采集的場(chǎng)合應用。
本文地址:http://selenalain.com/thread-29435-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页