視頻圖像采集處理系統(tǒng)廣泛應(yīng)用于工業(yè)控制、工業(yè)檢測(cè)、醫(yī)學(xué)、機(jī)器視覺(jué)等領(lǐng)域,并且視頻通信是3G時(shí)代多媒體應(yīng)用的重要部分,日常生活中所見(jiàn)到的數(shù)碼相機(jī)、可視電話、電話會(huì)議等產(chǎn)品,實(shí)時(shí)圖像采集是其最核心的技術(shù)。圖像采集的速度與質(zhì)量直接影響產(chǎn)品的整體效果。大多數(shù)嵌入式圖像采集系統(tǒng)都是基于DSP、ARM技術(shù),一些系統(tǒng)比較復(fù)雜、成本高、實(shí)時(shí)圖像處理比較困難。本文所設(shè)計(jì)的基于STM32F417的圖像采集系統(tǒng)具有采集圖像質(zhì)量無(wú)損、實(shí)時(shí)性好、功耗低、成本低等優(yōu)勢(shì),適合在對(duì)信息采集的實(shí)時(shí)性和圖像質(zhì)量方面有較高要求的系統(tǒng)中應(yīng)用。 1 系統(tǒng)硬件平臺(tái) 圖像采集系統(tǒng)主要由STM32F417微處理器、CMOS攝像頭、幀緩存器、SD卡、LCD液晶屏及其他外設(shè)組成。圖像采集系統(tǒng)整體框圖如圖1所示。 1.1 核心微控制器 嵌入式微處理器以其高性能、低功耗等優(yōu)勢(shì)成為便攜式系統(tǒng)的最佳選擇。ST公司開(kāi)發(fā)的STM32F417是基于ARM Cortex-M4內(nèi)核的32位閃存微控制器。其主頻為168 MHz,在此工作頻率下其處理性能可達(dá)210 MIPS,且電流消耗僅為38.6 mA;支持多種低功耗工作模式;內(nèi)部集成DSP和FPU指令,具備高性能的信號(hào)處理和浮點(diǎn)運(yùn)算能力;同時(shí)帶一個(gè)8~14位并行照相機(jī)接口。此外,STM32F417片上集成1 MB的Flash和196 KB的SRAM。采用STM32F417作為圖像采集系統(tǒng)的控制核心,將大大提高系統(tǒng)的性能,降低功耗和成本。 1.2 CMOS攝像頭 CMOS攝像頭選用OmniVision公司的OV7670。其內(nèi)嵌一個(gè)10位A/D轉(zhuǎn)換器,可輸出8位RGB/YCbCr/YUV格式的圖像數(shù)據(jù),最高幀頻可達(dá)30幀/s,最大圖像分辨率為640×480,供電電壓為3.3 V。O7670帶有標(biāo)準(zhǔn)SCCB總線接口,并兼容I2C總線接口。 1.3 幀緩存器 選用美國(guó)AverlogIC Technologies公司的大容量AL422B作為采樣處理的共享數(shù)據(jù)RAM。它是一款存儲(chǔ)容量為384 K×8 B的FIFO存儲(chǔ)芯片,工作頻率可達(dá)50 MHz。所有的尋址、刷新等操作都由集成在芯片內(nèi)部的控制系統(tǒng)完成。在本設(shè)計(jì)中,1幀圖像數(shù)據(jù)包含320×240個(gè)像素,完整存儲(chǔ)一幀圖像需要153 600字節(jié),AL422B所具有的容量完全符合系統(tǒng)的設(shè)計(jì)要求。 1.4 SD卡 SD卡是一種基于半導(dǎo)體快閃存儲(chǔ)器的新一代記憶設(shè)備,有著廣泛的應(yīng)用領(lǐng)域。本設(shè)計(jì)選用金士頓8 G的SD存儲(chǔ)卡存儲(chǔ)采集信息,方便系統(tǒng)對(duì)信息的進(jìn)一步處理。 1.5 LCD液晶屏及其他外設(shè) LCD液晶屏選用3.2寸TFT液晶屏320QVT,分辨率為240×320,其數(shù)據(jù)引腳直接與FSMC總線接口相連。其他外設(shè)包括LCD接口電路、ZigBe e無(wú)線模塊、JTAG調(diào)試電路、復(fù)位電路、晶振電路等。 1.6 圖像采集電路的設(shè)計(jì) 攝像頭圖像采集電路采用24 MHz有源晶振為OV7670提供系統(tǒng)時(shí)鐘。為了解決微處理器與攝像頭間的數(shù)據(jù)傳輸速率不一致問(wèn)題,在二者之間加入一片AL422B幀緩存器,將攝像頭采集的圖像數(shù)據(jù)緩存后再送給微處理器。為實(shí)現(xiàn)將OV7670輸出的圖像信號(hào)自動(dòng)地存入AL422B芯片,電路采用了一片與非門(mén)芯片74HC00,以便產(chǎn)生符合AL422B要求的寫(xiě)時(shí)序。需要注意的是,由于AL422B芯片正常工作需要3.3 V供電,如果STM32 F417使用3 V電壓供電時(shí),需要在兩芯片接口之間增加一個(gè)74HC573 D鎖存器,以滿足高/低電平的要求。圖像采集電路圖如圖2所示。 圖像采集模塊與STM32F417的接口電路示意圖如圖3所示。 在圖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)、寫(xiě)復(fù)位、讀復(fù)位以及讀使能信號(hào)。PB9與OV7670輸出的行掃描信號(hào)通過(guò)與非芯片實(shí)現(xiàn)對(duì)幀緩存器寫(xiě)使能的控制,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)、開(kāi)窗及輸出格式的設(shè)置。對(duì)OV7670寄存器的配置方法如下:首先,發(fā)送OV7670的寫(xiě)地址0x42,然后發(fā)送寫(xiě)數(shù)據(jù)的目的寄存器地址和數(shù)據(jù),從而初始化寫(xiě)操作;通過(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寫(xiě)時(shí)鐘WCLK相連接,在PCLK有效時(shí)將數(shù)據(jù)寫(xiě)入FIFO。場(chǎng)同步信號(hào)VSYNC為掃描一幀圖像定時(shí),在兩個(gè)正脈沖之間完成一幀圖像的掃描。 當(dāng)STM32F417第一次檢測(cè)到VSYNC下降沿時(shí),系統(tǒng)第一次產(chǎn)生中斷,表明OV7670開(kāi)始輸出一幀圖像,STM32F417將FIFO_WEN置高電平,當(dāng)HREF有效(高電平)時(shí),F(xiàn)IFO_WEN與HREF通過(guò)與非門(mén)使能FIFO的WCK,將有效圖像數(shù)據(jù)自動(dòng)寫(xiě)入FIFO中。 當(dāng)?shù)诙蜼SYNC中斷產(chǎn)生時(shí),表明已經(jīng)將一幀完整的圖像寫(xiě)入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ù)的讀寫(xiě)。 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ù)的讀/寫(xiě)。圖像采集程序流程圖如圖4所示。 2.1 設(shè)置SCCB的相關(guān)參數(shù) 由于對(duì)攝像頭工作參數(shù)的配置主要通過(guò)SCCB來(lái)實(shí)現(xiàn),因此,在系統(tǒng)進(jìn)行軟件設(shè)計(jì)時(shí),首先設(shè)計(jì)SCCB相關(guān)程序,進(jìn)而通過(guò)SCCB設(shè)置攝像頭的相關(guān)參數(shù)。SCCB設(shè)計(jì)的重要函數(shù)如下。 (1)模擬SCCB接口初始化函數(shù) (2)SCCB的起始信號(hào)函數(shù) 2.2 OV7670的寄存器配置 在完成SCCB初始化、起始與停止等相關(guān)程序后,配置OV7670寄存器完成工作參數(shù)的設(shè)置,包括顯示模式、輸出格式、增益控制等。OV76 70的寄存器配置如下: 2.3 AL422B的初始化 由于OV7670輸出的圖像信息首先存入AL422B進(jìn)行緩存,因此,還需要對(duì)AL422B進(jìn)行初始化。AL422B的初始化函數(shù)如下: 系統(tǒng)啟動(dòng)后,首先利用各部分初始化函數(shù)對(duì)系統(tǒng)進(jìn)行初始化,在整個(gè)系統(tǒng)初始化成功后,打開(kāi)系統(tǒng)中斷,準(zhǔn)備進(jìn)行圖像采集。當(dāng)VSYNC產(chǎn)生第一次中斷時(shí),開(kāi)始采集圖像信息,微處理器通過(guò)控制AL422B的讀寫(xiě)使能完成圖像信息的實(shí)時(shí)采集,最終將提取的圖像數(shù)據(jù)存入SD卡。 3 實(shí)驗(yàn)結(jié)果 圖像采集示意圖如圖5所示,預(yù)覽圖片大小為VGA(320×240)。實(shí)驗(yàn)結(jié)果表明,本系統(tǒng)實(shí)現(xiàn)了對(duì)圖像的實(shí)時(shí)采集功能,同時(shí)圖像質(zhì)量損失較小,顯示效果良好。 結(jié)語(yǔ) 本系統(tǒng)采用STM32F417實(shí)現(xiàn)了對(duì)OV7670的功能控制、時(shí)序同步、數(shù)據(jù)采集以及本地存儲(chǔ)等功能。在實(shí)際應(yīng)用過(guò)程中,顯示效果良好,圖像質(zhì)量損失小。該系統(tǒng)的圖像采集效率高、體積小、功耗低、可擴(kuò)展性強(qiáng)。通過(guò)對(duì)采集到的信息進(jìn)行壓縮編碼后,利用USB和ZigBee接口,圖像數(shù)據(jù)可以通過(guò)有線或無(wú)線網(wǎng)絡(luò)傳輸?shù)缴衔粰C(jī),可實(shí)現(xiàn)圖像信息的遠(yuǎn)程采集。 編輯:什么魚(yú) 引用地址:http://www./mcu/article_2018040138470.html 本網(wǎng)站轉(zhuǎn)載的所有的文章、圖片、音頻視頻文件等資料的版權(quán)歸版權(quán)所有人所有,本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如果本網(wǎng)所選內(nèi)容的文章作者及編輯認(rèn)為其作品不宜公開(kāi)自由傳播,或不應(yīng)無(wú)償使用,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。 |
|
來(lái)自: flyk0tcfb46p9f > 《待分類》