亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于STM32和OV7670的圖像采集與顯示系統(tǒng)設(shè)計(jì)

        2016-09-08 09:23:55李慧敏樊記明
        傳感器與微系統(tǒng) 2016年9期
        關(guān)鍵詞:信號(hào)系統(tǒng)

        李慧敏, 樊記明, 楊 笑

        (東華大學(xué) 機(jī)械工程學(xué)院,上海 201620)

        ?

        基于STM32和OV7670的圖像采集與顯示系統(tǒng)設(shè)計(jì)

        李慧敏, 樊記明, 楊笑

        (東華大學(xué) 機(jī)械工程學(xué)院,上海 201620)

        針對(duì)傳統(tǒng)圖像采集與顯示方案存在成本高、便攜性差等問(wèn)題,設(shè)計(jì)了一種基于STM32和OV7670的圖像采集與顯示系統(tǒng)。以STM32F103ZET6微控制器為主控單元,采用串行攝像機(jī)控制總線(SCCB)控制OV7670圖像傳感器輸出RGB565,QVGA的圖像數(shù)據(jù),同時(shí)實(shí)時(shí)顯示在TFT LCD上,并將圖像以BMP格式保存在SD卡中。實(shí)驗(yàn)結(jié)果表明:得到的圖像清晰流暢,且該系統(tǒng)具有低成本、低功耗、小體積等優(yōu)點(diǎn),可滿(mǎn)足圖像處理與識(shí)別的需要。

        STM32; OV7670; 圖像采集與顯示; 圖像處理

        0 引 言

        圖像處理技術(shù)經(jīng)過(guò)幾十年的發(fā)展逐漸成熟,已廣泛應(yīng)用于航空航天、生物醫(yī)學(xué)工程、通信工程、工業(yè)檢測(cè)、軍事公安等領(lǐng)域[1]。而圖像采集是圖像處理的前提,原始圖像的質(zhì)量直接影響到圖像處理最終的結(jié)果。以往的圖像采集與處理多是由圖像采集卡完成圖像采集后再由計(jì)算機(jī)對(duì)其進(jìn)行處理,這種方法雖然具有處理速度快的優(yōu)點(diǎn),但存在著價(jià)格昂貴、功耗高、體積大等不足[2]。隨著微電子技術(shù)的發(fā)展和集成電路集成度及工藝的提高,基于嵌入式系統(tǒng)的圖像采集處理平臺(tái)的開(kāi)發(fā)日益增多,它具有成本低廉、結(jié)構(gòu)緊湊、功耗低的優(yōu)點(diǎn)。STM32F103為ST公司生產(chǎn)的基于ARM Cortex—M3內(nèi)核的32位微控制器,主頻可達(dá)72 MHz,具有高性能、低功耗、低成本、穩(wěn)定等諸多優(yōu)點(diǎn)[3,4]。OV7670是OmniVision公司生產(chǎn)的一款1/6寸、有效像素30萬(wàn)的互補(bǔ)金屬氧化物半導(dǎo)體(CMOS)圖像傳感器,它通過(guò)美國(guó)OmniVision公司定制的2線/3線制串行攝像頭控制總線(serial camera control bus,SCCB)進(jìn)行控制,輸出并行的8位圖像數(shù)據(jù),VGA圖像輸出最高可達(dá)30幀/s[5]。

        本系統(tǒng)以揚(yáng)聲器焊點(diǎn)位置檢測(cè)為應(yīng)用背景、以STM32F103ZET6微控制器為主控單元、以CMOS圖像傳感器OV7670為圖像采集單元、以TFT LCD為圖像顯示單元、以SD卡為圖像存儲(chǔ)單元,實(shí)現(xiàn)了圖像的采集、顯示與保存。

        1 系統(tǒng)總體方案

        圖1是系統(tǒng)的總體框圖,主要由單片機(jī)、圖像采集設(shè)備、圖像顯示設(shè)備、圖像存儲(chǔ)設(shè)備等組成。其中OV7670圖像傳感器負(fù)責(zé)圖像數(shù)據(jù)的采集,STM32微控制器則是整個(gè)系統(tǒng)的核心單元,負(fù)責(zé)圖像數(shù)據(jù)的處理和各模塊的控制等,STM32通過(guò)對(duì)圖像傳感器寄存器的讀寫(xiě)來(lái)控制它采集一幀的圖像。由于圖像傳感器的像素時(shí)鐘高達(dá)24 MHz,通過(guò)STM32的IO口來(lái)直接采集數(shù)據(jù)比較困難,容易造成數(shù)據(jù)丟失,且對(duì)CPU會(huì)造成較大的負(fù)擔(dān),所以使用AL422B作為先

        入先出(FIFO),當(dāng)一幀圖像緩存完后,STM32才將這一幀圖像寫(xiě)入顯存或暫存到內(nèi)存中。2.8 in(1 in=2.54 cm)320×240分辨率的TFT LCD實(shí)現(xiàn)圖像的實(shí)時(shí)顯示,由于一幀RGB565格式、QVGA(320×240)尺寸的圖像高達(dá)150 KB,而STM32F103ZET6的內(nèi)部SRAM只有64 KB,故外擴(kuò)1MB的SRAM實(shí)現(xiàn)圖像處理中間數(shù)據(jù)的暫存。SD卡則可以將圖像以BMP圖片文件格式進(jìn)行掉電存儲(chǔ),方便計(jì)算機(jī)等其他設(shè)備的查看。

        圖1 系統(tǒng)總體框圖

        2 圖像采集

        2.1SCCB驅(qū)動(dòng)

        STM32通過(guò)SCCB對(duì)OV7670寄存器的讀寫(xiě)實(shí)現(xiàn)圖像數(shù)據(jù)的采集與輸出。常用的2線制SCCB總線是與I2C總線類(lèi)似的兩線串行總線,僅需SIO_C(串行時(shí)鐘線)和SIO_D(串行數(shù)據(jù)線)便能實(shí)現(xiàn)雙向數(shù)據(jù)傳輸[6]。SCCB的時(shí)序圖如圖2所示。

        圖2 SCCB時(shí)序圖

        本系統(tǒng)使用IO口模擬SCCB來(lái)實(shí)現(xiàn)對(duì)OV7670的控制,SIO_C口配置為推挽輸出,SIO_D口讀數(shù)據(jù)時(shí)配置為上拉輸入、寫(xiě)數(shù)據(jù)時(shí)配置為推挽輸出,然后根據(jù)SCCB時(shí)序圖來(lái)編寫(xiě)驅(qū)動(dòng)程序。

        SCCB單字節(jié)寫(xiě)操作與I2C一樣:

        起始信號(hào)→器件地址(0x42)→Ack→寄存器地址→Ack→寫(xiě)入數(shù)據(jù)→Ack→停止信號(hào)

        單字節(jié)讀操作則比I2C讀操作中間多一個(gè)停止信號(hào):

        起始信號(hào)→器件地址(0x42)→Ack→寄存器地址→Ack→停止信號(hào)→起始信號(hào)→器件地址(0x43)→Ack→讀出數(shù)據(jù)→NoAck→停止信號(hào)

        2.2圖像數(shù)據(jù)輸出

        OV7670中與圖像數(shù)據(jù)輸出有關(guān)的引腳主要有:

        D0—D7:8位像素?cái)?shù)據(jù)輸出信號(hào);

        PCLK:像素時(shí)鐘,每個(gè)PCLK輸出一個(gè)8位圖像數(shù)據(jù),RGB565格式時(shí),像素為16位,故每個(gè)PCLK輸出半個(gè)像素;

        HREF:行同步信號(hào),每個(gè)HREF輸出一行像素;

        VSYNC:幀同步信號(hào),每個(gè)VSYNC輸出一幀圖像。

        OV7670的行輸出時(shí)序圖如圖3所示,由圖可知圖像數(shù)據(jù)在HREF為高時(shí)輸出,以后每個(gè)PCLK時(shí)鐘輸出一個(gè)字節(jié)數(shù)據(jù),RGB565格式時(shí)每2個(gè)字節(jié)組成一個(gè)像素(高字節(jié)在前,低字節(jié)在后)。本系統(tǒng)采用QVGA(320×240)模式、RGB565格式輸出圖像數(shù)據(jù),每幀圖像240行,每行320個(gè)像素,剛好與TFT LCD的分辨率及顏色格式相匹配。

        圖3 OV7670行輸出時(shí)序圖

        圖像數(shù)據(jù)通過(guò)一個(gè)FIFO芯片(AL422B)進(jìn)行緩存,從OV7670存儲(chǔ)圖像數(shù)據(jù)至FIFO的過(guò)程為:等待VSYNC幀同步信號(hào)→復(fù)位FIFO寫(xiě)指針→使能FIFO寫(xiě)→等待第二個(gè)VSYNC幀同步信號(hào)→禁止FIFO寫(xiě),通過(guò)以上5個(gè)步驟便完成了一幀圖像的緩存。

        完成幀緩存后需要將圖像數(shù)據(jù)從FIFO讀出,其過(guò)程為:復(fù)位FIFO讀指針→給FIFO讀時(shí)鐘→讀第一個(gè)像素高字節(jié)→給FIFO讀時(shí)鐘→讀第一個(gè)像素低字節(jié)并將高低字節(jié)組成16位數(shù)據(jù)→給FIFO讀時(shí)鐘→循環(huán)讀取剩余像素至結(jié)束,通過(guò)以上步驟便可獲取一幀完整的圖像數(shù)據(jù),之后可進(jìn)行圖像顯示或暫存到外部SRAM中。

        3 圖像顯示

        3.1LCD驅(qū)動(dòng)

        本系統(tǒng)使用2.8寸320×240分辨率的TFT LCD作為圖像顯示設(shè)備,控制器為ILI9341,顯示方式為RGB565,接口為16位8080并口。由于一幀圖像數(shù)據(jù)高達(dá)150KB,為加快顯示速度,采用STM32內(nèi)部自帶的靜態(tài)存儲(chǔ)控制器(flexible static memory controller,FSMC)總線,靈活的FSMC來(lái)驅(qū)動(dòng)LCD,將LCD當(dāng)作16位外部SRAM來(lái)控制,LCD的RS(命令/數(shù)據(jù)標(biāo)志)信號(hào)作為地址線以區(qū)分命令和數(shù)據(jù),與STM32的FSMC_A10相連接。LCD和外擴(kuò)的1MB SRAM均掛在FSMC總線上,它們使用不同的片選信號(hào)以進(jìn)行區(qū)分,LCD接FSMC_NE4,SRAM接FSMC_NE3。值得注意的是:在16數(shù)據(jù)寬度時(shí),STM32內(nèi)部AHB地址總線HADDR[25∶1]對(duì)應(yīng)的外部存儲(chǔ)器地址為FSMC_A[24∶0],即右移了一位。故LCD寫(xiě)命令(數(shù)據(jù))時(shí)的地址為0x6C000000+0x07FE(0x0800),而不是0x6C000000+0x03FE(0x0400),即FSMC_A10對(duì)應(yīng)HADDR11。

        由于對(duì)LCD控制器ILI9341的寫(xiě)操作比讀操作快得多,故FSMC的工作模式配置為異步模式A(ModeA),即讀/寫(xiě)時(shí)間分別由不同的寄存器來(lái)控制,模式A的寫(xiě)操作時(shí)序如圖4所示,片選信號(hào)NEx、讀使能NOE、寫(xiě)使能NWE均為低電平有效,寫(xiě)操作為(ADDSET+DATAST +2)個(gè)HCLK周期。

        圖4 模式A寫(xiě)操作時(shí)序

        3.2圖像顯示過(guò)程

        完成攝像頭及LCD等模塊驅(qū)動(dòng)的編寫(xiě)便可以進(jìn)行圖像顯示功能的程序設(shè)計(jì)了,本系統(tǒng)使用一個(gè)外部中斷來(lái)捕捉幀同步信號(hào)(VSYNC),第一次幀中斷時(shí)啟動(dòng)圖像數(shù)據(jù)幀緩存,待到第二次幀中斷時(shí)關(guān)閉數(shù)據(jù)存儲(chǔ)便完成了一幀圖像的存儲(chǔ)。在主函數(shù)中將這幀數(shù)據(jù)讀出并在LCD上進(jìn)行顯示,同時(shí)開(kāi)啟下一幀圖像的存儲(chǔ),如此循環(huán)便可實(shí)現(xiàn)圖像的實(shí)時(shí)顯示。圖像顯示流程圖如圖5所示。

        圖5 圖像顯示流程圖

        4 圖像保存

        4.1SD卡

        SD卡即安全數(shù)碼卡(secure digital memory card),是一種基于半導(dǎo)體快閃記憶器的新一代記憶設(shè)備,廣泛使用在便攜式裝置上。本系統(tǒng)使用4GB金士頓SD卡作為大容量存儲(chǔ)設(shè)備以長(zhǎng)期保存圖像數(shù)據(jù)。SD卡支持2種操作模式:SD卡模式和SPI模式。SD卡模式具有更快的速度,而SPI模式則具有更好的兼容性,本系統(tǒng)使用SPI模式操作SD卡。SD卡與主機(jī)的通信采用發(fā)送應(yīng)答機(jī)制,即主機(jī)每發(fā)送一個(gè)命令,SD卡都會(huì)給出一個(gè)應(yīng)答,以告知主機(jī)該命令的執(zhí)行情況或返回主機(jī)需要的數(shù)據(jù)。SD卡需完成初始化后才能對(duì)其進(jìn)行讀寫(xiě),其初始化流程圖如圖6(a)所示,讀數(shù)據(jù)流程圖如圖6(b)所示。

        圖6 SD卡初始化和讀數(shù)據(jù)流程圖

        寫(xiě)數(shù)據(jù)過(guò)程與讀數(shù)據(jù)過(guò)程類(lèi)似,不再贅述。需要注意的是,SD卡在初始化的時(shí)候SPI時(shí)鐘最大不能超過(guò)400 kHz,可在初始化完成后再將SPI速度提升到18 MHz。

        4.2FATFS文件系統(tǒng)

        圖像數(shù)據(jù)是以文件的形式保存在SD卡中的,本系統(tǒng)使用FATFS來(lái)管理SD卡,實(shí)現(xiàn)文件的讀/寫(xiě)功能。FATFS是一個(gè)免費(fèi)開(kāi)源、用標(biāo)準(zhǔn)C語(yǔ)言編寫(xiě)、專(zhuān)為小型嵌入式系統(tǒng)設(shè)計(jì)的FAT文件系統(tǒng)模塊,它的層次結(jié)構(gòu)如圖7所示。

        圖7 FATFS層次結(jié)構(gòu)圖

        頂層為應(yīng)用層,用戶(hù)不必理會(huì)FATFS的內(nèi)部結(jié)構(gòu)及復(fù)雜的FAT協(xié)議,只需調(diào)用它提供的一系列應(yīng)用接口函數(shù),如f_open、f_close、f_read和f_write等,就可輕易實(shí)現(xiàn)文件的讀/寫(xiě)。中間層FATFS模塊則實(shí)現(xiàn)了FAT文件讀/寫(xiě)協(xié)議,提供了ff.c和ff.h,一般不用修改。用戶(hù)需要編寫(xiě)的是FATFS模塊提供的底層接口,包括存儲(chǔ)媒介讀/寫(xiě)接口(disk I/O)和供給文件創(chuàng)建修改時(shí)間的實(shí)時(shí)時(shí)鐘。需用戶(hù)編寫(xiě)的底層驅(qū)動(dòng)函數(shù)有6個(gè):

        disk_initialize:初始化磁盤(pán)驅(qū)動(dòng)器;

        disk_status:返回當(dāng)前磁盤(pán)驅(qū)動(dòng)器的狀態(tài);

        disk_read:從磁盤(pán)驅(qū)動(dòng)器上讀取扇區(qū);

        disk_write:向磁盤(pán)寫(xiě)入一個(gè)或多個(gè)扇區(qū);

        disk_ioctl:控制設(shè)備指定特性及某些雜項(xiàng)功能;

        get_fattime:獲取當(dāng)前時(shí)間。

        需要注意的是,在完成FATFS移植和底層驅(qū)動(dòng)編寫(xiě)后,必須先通過(guò)f_mount函數(shù)注冊(cè)一個(gè)工作區(qū)才能開(kāi)始后續(xù)API的使用。讀/寫(xiě)文件前必須先打開(kāi)該文件,f_open/f_close函數(shù)(打開(kāi)/關(guān)閉文件)需成對(duì)使用,f_write(寫(xiě)文件)之后必須關(guān)閉該文件才能有效寫(xiě)入。

        4.3BMP編碼

        本系統(tǒng)將采集到的圖像以BMP的圖片文件格式保存在SD卡中,BMP(Bitmap,位圖文件)是Windows操作系統(tǒng)中的標(biāo)準(zhǔn)圖像文件格式,圖像深度可選,一般不壓縮,沒(méi)有失真,掃描順序?yàn)樽宰蟮接?、自下到上。BMP文件一般由文件頭、信息頭、調(diào)色板、位圖數(shù)據(jù)這4部分組成。為與LCD的顏色格式及分辨率一致,系統(tǒng)采用RGB565的方式進(jìn)行BMP編碼,圖片寬度和高度分別為240和320,使用讀LCD各點(diǎn)顏色值的方法獲取圖像數(shù)據(jù),當(dāng)拍照按鍵按下時(shí)執(zhí)行圖片保存任務(wù),BMP圖片保存的流程圖如圖8所示。

        圖8 BMP圖片保存流程圖

        5 測(cè)試結(jié)果與分析

        系統(tǒng)在STM32平臺(tái)上實(shí)現(xiàn)了OV7670圖像傳感器采集揚(yáng)聲器圖像并實(shí)時(shí)顯示到TFT LCD上,同時(shí)具有“拍照”功

        能,可隨時(shí)將圖像以BMP的圖片格式保存在SD卡中,LCD畫(huà)面及保存后的揚(yáng)聲器BMP圖片如圖9所示。測(cè)試過(guò)程中,圖像畫(huà)面顯示清晰流暢,QVGA(320×240)輸出達(dá)到10幀/s,從圖片中可以清晰地看出揚(yáng)聲器焊點(diǎn)的位置,為后續(xù)的圖像處理和識(shí)別打下了堅(jiān)實(shí)的基礎(chǔ)。

        圖9 揚(yáng)聲器圖像

        6 結(jié) 論

        本文設(shè)計(jì)的基于STM32和OV7670的圖像采集與顯示系統(tǒng)能實(shí)時(shí)采集并顯示現(xiàn)場(chǎng)圖像,同時(shí)還能實(shí)現(xiàn)圖像的BMP格式保存。該系統(tǒng)具有低成本、低功耗、小體積、高圖像質(zhì)量等優(yōu)點(diǎn),可方便地應(yīng)用到圖像處理與識(shí)別、視頻監(jiān)控等項(xiàng)目中,同時(shí),本系統(tǒng)在揚(yáng)聲器焊點(diǎn)位置檢測(cè)中也得到了成功驗(yàn)證。

        [1]于殿泓.圖像檢測(cè)與處理技術(shù)[M].西安:西安電子科技大學(xué)出版社,2006:1-4.

        [2]朱奕丹,方怡冰.基于FPGA的圖像采集與VGA顯示系統(tǒng)[J].計(jì)算機(jī)應(yīng)用,2011(5):1258-1261,1264.

        [3]李寧.基于MDK的STM32處理器開(kāi)發(fā)應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2008:7-13.

        [4]羅超,景林,易金聰.基于STM32的便攜式海量溫濕度記錄儀設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2012(12):83-86.

        [5]OmniVision Technology.OV7670 Datasheet[DB/OL].[2013—10—14]. http:∥www.ovt.com.

        [6]付斌,張曉雷,陸揚(yáng).CMOS圖像傳感器時(shí)序分析研究[J].傳感器與微系統(tǒng),2007,26(12):47-49,53.

        樊記明,通訊作者,E—mail:jm_fan@foxmail.com。

        Design of image acquisition and display system based on STM32 and OV7670

        LI Hui-min, FAN Ji-ming, YANG Xiao

        (College of Mechanical Engineering,Donghua University,Shanghai 201620,China)

        Concerning the drawbacks of high cost and poor portability of traditional image acquisition and display scheme, an image acquisition and display system based on STM32 and OV7670 is designed.This system uses STM32F103ZET6 as core controller,use serial camera control bus(SCCB)to control OV7670 image sensor output RGB565,QVGA image data,at the same time,real-time display on TFT LCD is saved in SD card in BMP format.Experimental results show that the obtained image is clear and smooth,and the system has advantages of low cost,low power consumption and small volume,which can meet the needs of image processing and recognition.

        STM32; OV7670; image acquisition and display; image processing

        10.13873/J.1000—9787(2016)09—0114—04

        2015—11—25

        TP 752.1

        A

        1000—9787(2016)09—0114—04

        李慧敏(1975-),女,河南漯河人,博士,副教授,主要研究方向?yàn)榍度胧较到y(tǒng)、數(shù)字圖像處理。

        猜你喜歡
        信號(hào)系統(tǒng)
        Smartflower POP 一體式光伏系統(tǒng)
        信號(hào)
        鴨綠江(2021年35期)2021-04-19 12:24:18
        WJ-700無(wú)人機(jī)系統(tǒng)
        ZC系列無(wú)人機(jī)遙感系統(tǒng)
        完形填空二則
        基于PowerPC+FPGA顯示系統(tǒng)
        半沸制皂系統(tǒng)(下)
        孩子停止長(zhǎng)個(gè)的信號(hào)
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        基于LabVIEW的力加載信號(hào)采集與PID控制
        亚洲中文字幕剧情类别| 中字亚洲国产精品一区二区| 区一区一日本高清视频在线观看| 国产一区二区免费在线视频| 国产黄大片在线观看| 97免费人妻在线视频| 亚洲无线码一区在线观看| 国产一区资源在线播放| 色老板美国在线观看| 免费无码又爽又刺激网站| 亚洲天堂av免费在线看| 日本在线综合一区二区| 欧洲熟妇色xxxx欧美老妇软件| 野花社区www高清视频| 亚州毛色毛片免费观看| 亚洲精品一区二区三区在线观| 又紧又大又爽精品一区二区| a级黑人大硬长爽猛出猛进| 26uuu欧美日本在线播放| 少妇被爽到高潮喷水免费福利| 久久精品夜色国产亚洲av| 国内少妇自拍区免费视频| 日本最新一区二区三区视频| 美女视频在线观看亚洲色图| 久久露脸国产精品| 91精品国产免费青青碰在线观看 | 成年无码av片在线| 久久精品国产免费观看99| 亚洲成在人网站天堂日本| 99精品国产成人一区二区| 久久精品人成免费| 中文字幕在线一区乱码| 精品人妻va一区二区三区| 久久www免费人成人片| 99久久国产综合精品女乱人伦| 女主播啪啪大秀免费观看| 免费无码av一区二区三区| 国产在线丝袜精品一区免费| 亚洲av精品一区二区| 噜噜噜噜私人影院| 好大好硬好爽免费视频|