基于STM32F417的圖像采集系統(tǒng)設(shè)計(jì)
圖像采集模塊與STM32F417的接口電路示意圖如圖3所示。本文引用地址:http://www.biyoush.com/article/159684.htm
在圖3中,利用STM32F417的PC0~PC7口接收OV7670輸出經(jīng)過(guò)AL422B緩存后的8位圖像數(shù)據(jù)。OV7670的SIO_D、SIO_C接口與STM32F417的PA6、PA7引腳相連,通過(guò)該接口實(shí)現(xiàn)對(duì)攝像頭的初始化配置。STM32F417的PE0、PE1、PB7、PB8分別控制AL422B的時(shí)鐘信號(hào)、寫復(fù)位、讀復(fù)位以及讀使能信號(hào)。PB9與OV7670輸出的行掃描信號(hào)通過(guò)與非芯片實(shí)現(xiàn)對(duì)幀緩存器寫使能的控制,STM32F417的PA10引腳通過(guò)中斷的方式檢測(cè)攝像頭是否輸出一幀完整的圖像。
由于OV7670帶有標(biāo)準(zhǔn)SCCB接口,同時(shí)兼容I2C總線接口,本設(shè)計(jì)采用STM32F417產(chǎn)生的I2C總線信號(hào)模擬SCCB,實(shí)現(xiàn)對(duì)攝像頭內(nèi)部寄存器的初始化配置以及對(duì)其行場(chǎng)同步信號(hào)、開窗及輸出格式的設(shè)置。對(duì)OV7670寄存器的配置方法如下:首先,發(fā)送OV7670的寫地址0x42,然后發(fā)送寫數(shù)據(jù)的目的寄存器地址和數(shù)據(jù),從而初始化寫操作;通過(guò)發(fā)送OV7670的讀地址0x43,完成對(duì)讀操作的初始化,從而實(shí)現(xiàn)對(duì)OV7670攝像頭的初始化配置。
在對(duì)攝像頭工作參數(shù)配置過(guò)程中,將OV7670的寄存器DBLV設(shè)為0x80,對(duì)輸入時(shí)鐘倍頻數(shù)進(jìn)行控制。設(shè)置寄存器BRIGHT、CONTRAS,控制圖像的亮度和對(duì)比度。通過(guò)寄存器REG75、REG76設(shè)置圖像邊緣增強(qiáng)上、下限。在對(duì)攝像頭測(cè)試階段,首先將寄存器ACALING_YSC設(shè)為0x85,顯示8色彩條,測(cè)試階段結(jié)束后將該寄存器設(shè)為0x00,進(jìn)入非測(cè)試模式。
OV7670輸出同步信號(hào)包括:場(chǎng)同步信號(hào)VSYNC、行同步信號(hào)HREF、像素時(shí)鐘PCLK。根據(jù)OV7670數(shù)據(jù)手冊(cè)提供的同步信號(hào)時(shí)序圖可知,OV76 70攝像頭的像素時(shí)鐘PCLK與FIFO寫時(shí)鐘WCLK相連接,在PCLK有效時(shí)將數(shù)據(jù)寫入FIFO。場(chǎng)同步信號(hào)VSYNC為掃描一幀圖像定時(shí),在兩個(gè)正脈沖之間完成一幀圖像的掃描。
當(dāng)STM32F417第一次檢測(cè)到VSYNC下降沿時(shí),系統(tǒng)第一次產(chǎn)生中斷,表明OV7670開始輸出一幀圖像,STM32F417將FIFO_WEN置高電平,當(dāng)HREF有效(高電平)時(shí),F(xiàn)IFO_WEN與HREF通過(guò)與非門使能FIFO的WCK,將有效圖像數(shù)據(jù)自動(dòng)寫入FIFO中。
當(dāng)?shù)诙蜼SYNC中斷產(chǎn)生時(shí),表明已經(jīng)將一幀完整的圖像寫入FIFO,系統(tǒng)通過(guò)將FIFO_WEN置低,鎖存一幀圖像數(shù)據(jù),實(shí)現(xiàn)圖像的靜態(tài)存儲(chǔ)。此時(shí),STM32F417送給FIFO的讀時(shí)鐘RCLK一個(gè)上升沿,將數(shù)據(jù)從FIFO中讀出來(lái),完成圖像數(shù)據(jù)的實(shí)時(shí)采集與提取。
1.7 存儲(chǔ)模塊
SD卡支持SPI和SD兩種模式,本設(shè)計(jì)采用SPI模式,將SD卡的CMD引腳與SFM32F417的SPI3_MOSI相連,CLK連接STM32F417的SPI3_SCK引腳,DATA0連接STM32F417的SPI3_MISO引腳,DATA3作為片選CS與STM32F417的PA15相連;在SD卡收到復(fù)位命令時(shí),若CS為有效電平則啟動(dòng)SPI模式,SD卡在SPI3_SCK的控制下通過(guò)DATA0完成數(shù)據(jù)的讀寫。
2 系統(tǒng)軟件設(shè)計(jì)
在圖像采集軟件設(shè)計(jì)中,對(duì)系統(tǒng)各個(gè)部分的初始化是最為關(guān)鍵的一步,只有對(duì)各部分初始化成功以后,才能實(shí)現(xiàn)圖像采集功能。圖像采集初始化程序主要包括對(duì)系統(tǒng)、SCCB接口、OV7670攝像頭、FIFO緩存器ALA22B等的初始化。在系統(tǒng)初始化設(shè)置成功以后,微控制器不斷監(jiān)測(cè)VSYNC信號(hào)電平變化,根據(jù)VSYNC產(chǎn)生的中斷情況,控制FIFO對(duì)圖像數(shù)據(jù)的讀/寫。圖像采集程序流程圖如圖4所示。
攝像頭相關(guān)文章:攝像頭原理
評(píng)論