基于FPGA和EPP的圖像傳感器高速數據采集系統
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。
硬件電路方案
圖1為基于FPGA和EPP技術(shù)對OV7620CMOS圖像傳感器的高速數據采集系統原理框圖,它主要由三部分組成:OV7620的參數配置電路、圖像采樣電路以及PC讀取數據電路。
圖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)和停止條件
圖像采樣電路
在隧道的平行度、無(wú)損檢測、垂直度測量?jì)x中常選用的圖像分辨率為320
評論