基于FPGA和EPP的圖像傳感器高速數(shù)據(jù)采集系統(tǒng)
USB、串口、并口是PC機和外設進行通訊的常用接口,但對于數(shù)據(jù)量大的圖像來說,若利用串行RS-232協(xié)議進行數(shù)據(jù)采集,速度不能達到圖像數(shù)據(jù)采集所需的要求;而用USB進行數(shù)據(jù)采集,雖能滿足所需速度,但要求外設必須支持USB協(xié)議,而USB協(xié)議與常用工程軟件的接口還不普及,給使用帶來困難。有些用戶為了利用標準并行口(SPP)進行數(shù)據(jù)采集,但SPP協(xié)議的150kb/s傳輸率對于圖像數(shù)據(jù)采集,同樣顯得太低。因此,為了采集數(shù)據(jù)量大的圖像數(shù)據(jù),本文采用了具有較高傳輸速率的增強型并行口協(xié)議(EPP)和FPGA,實現(xiàn)對OV7620CMOS圖像傳感器進行高速數(shù)據(jù)采集,它最高速率可以達到2Mb/s。
硬件電路方案
圖1為基于FPGA和EPP技術對OV7620CMOS圖像傳感器的高速數(shù)據(jù)采集系統(tǒng)原理框圖,它主要由三部分組成:OV7620的參數(shù)配置電路、圖像采樣電路以及PC讀取數(shù)據(jù)電路。
圖1 系統(tǒng)原理框圖
OV7620的參數(shù)配置電路
系統(tǒng)在上電后需要對CMOS采像芯片進行初始化,以確定采集圖像的開
窗位置、窗口大小和彩色或黑白工作模式等。這些參數(shù)的配置是通過OV7620芯片上提供的SCCB接口進行的。
SCCB接口是采用一種簡單、雙向二線制的同步串行總線I2C總線,接口引線有SCL和SDA。由于89C2051沒有標準的I2C總線接口,可以用軟件程序來模擬I2C總線,OV7620開窗位置和開窗大小、黑白和彩色模式以及掃描方式均可通過相應寄存器來設置。這些寄存器都是可讀/寫的,具體操作方法如下:可以采用頁寫的方式,即在寫寄存器過程中要先發(fā)送寫允許指令OX42,然后發(fā)送寫數(shù)據(jù)的目的寄存器地址,接著為要寫的數(shù)據(jù)。寫完一個寄存器后,CMOS會自動把寄存器地址加一,程序可繼續(xù)向下寫,而不需要再次輸入地址。讀寄存器是同樣過程,只不過指令改為OX43。
I2C總線功能的實現(xiàn)完全是依靠SCL、SDA線上電平的狀態(tài)以及兩者之間的相互配合實現(xiàn)的。I2C總線規(guī)約中規(guī)定的條件如下:
啟動時序:SCL為高電平時, SDA出現(xiàn)一個下降沿;
傳輸時序:在啟動條件滿足后,SDA為穩(wěn)定數(shù)據(jù)狀態(tài), SCL產生一個正脈沖,將傳送一位數(shù)據(jù);
應答時序: 在從機接收到一個完整的數(shù)據(jù)字節(jié)時,在主機釋放SDA的情況下,主機給SCL輸出一個正的時鐘脈沖,從機將SDA拉低,以表應答;
停止條件:當SCL為高電平時,SDA出現(xiàn)一個上升沿,該條件可以解決多機競爭的問題,即在兩個器件對話時,第三者插入會終止前者的數(shù)據(jù)通信,其主要特點在于各器件每一位都在判斷總線的狀態(tài)。
I2C總線的啟動和停止條件如圖2所示。
圖2 I2C總線的啟動和停止條件
圖像采樣電路
在隧道的平行度、無損檢測、垂直度測量儀中常選用的圖像分辨率為320
評論