999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于STM32和OV7670的圖像采集與顯示系統設計

2016-09-08 09:23:55李慧敏樊記明
傳感器與微系統 2016年9期
關鍵詞:信號系統

李慧敏, 樊記明, 楊 笑

(東華大學 機械工程學院,上海 201620)

?

基于STM32和OV7670的圖像采集與顯示系統設計

李慧敏, 樊記明, 楊笑

(東華大學 機械工程學院,上海 201620)

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

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

0 引 言

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

本系統以揚聲器焊點位置檢測為應用背景、以STM32F103ZET6微控制器為主控單元、以CMOS圖像傳感器OV7670為圖像采集單元、以TFT LCD為圖像顯示單元、以SD卡為圖像存儲單元,實現了圖像的采集、顯示與保存。

1 系統總體方案

圖1是系統的總體框圖,主要由單片機、圖像采集設備、圖像顯示設備、圖像存儲設備等組成。其中OV7670圖像傳感器負責圖像數據的采集,STM32微控制器則是整個系統的核心單元,負責圖像數據的處理和各模塊的控制等,STM32通過對圖像傳感器寄存器的讀寫來控制它采集一幀的圖像。由于圖像傳感器的像素時鐘高達24 MHz,通過STM32的IO口來直接采集數據比較困難,容易造成數據丟失,且對CPU會造成較大的負擔,所以使用AL422B作為先

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

圖1 系統總體框圖

2 圖像采集

2.1SCCB驅動

STM32通過SCCB對OV7670寄存器的讀寫實現圖像數據的采集與輸出。常用的2線制SCCB總線是與I2C總線類似的兩線串行總線,僅需SIO_C(串行時鐘線)和SIO_D(串行數據線)便能實現雙向數據傳輸[6]。SCCB的時序圖如圖2所示。

圖2 SCCB時序圖

本系統使用IO口模擬SCCB來實現對OV7670的控制,SIO_C口配置為推挽輸出,SIO_D口讀數據時配置為上拉輸入、寫數據時配置為推挽輸出,然后根據SCCB時序圖來編寫驅動程序。

SCCB單字節寫操作與I2C一樣:

起始信號→器件地址(0x42)→Ack→寄存器地址→Ack→寫入數據→Ack→停止信號

單字節讀操作則比I2C讀操作中間多一個停止信號:

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

2.2圖像數據輸出

OV7670中與圖像數據輸出有關的引腳主要有:

D0—D7:8位像素數據輸出信號;

PCLK:像素時鐘,每個PCLK輸出一個8位圖像數據,RGB565格式時,像素為16位,故每個PCLK輸出半個像素;

HREF:行同步信號,每個HREF輸出一行像素;

VSYNC:幀同步信號,每個VSYNC輸出一幀圖像。

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

圖3 OV7670行輸出時序圖

圖像數據通過一個FIFO芯片(AL422B)進行緩存,從OV7670存儲圖像數據至FIFO的過程為:等待VSYNC幀同步信號→復位FIFO寫指針→使能FIFO寫→等待第二個VSYNC幀同步信號→禁止FIFO寫,通過以上5個步驟便完成了一幀圖像的緩存。

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

3 圖像顯示

3.1LCD驅動

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

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

圖4 模式A寫操作時序

3.2圖像顯示過程

完成攝像頭及LCD等模塊驅動的編寫便可以進行圖像顯示功能的程序設計了,本系統使用一個外部中斷來捕捉幀同步信號(VSYNC),第一次幀中斷時啟動圖像數據幀緩存,待到第二次幀中斷時關閉數據存儲便完成了一幀圖像的存儲。在主函數中將這幀數據讀出并在LCD上進行顯示,同時開啟下一幀圖像的存儲,如此循環便可實現圖像的實時顯示。圖像顯示流程圖如圖5所示。

圖5 圖像顯示流程圖

4 圖像保存

4.1SD卡

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

圖6 SD卡初始化和讀數據流程圖

寫數據過程與讀數據過程類似,不再贅述。需要注意的是,SD卡在初始化的時候SPI時鐘最大不能超過400 kHz,可在初始化完成后再將SPI速度提升到18 MHz。

4.2FATFS文件系統

圖像數據是以文件的形式保存在SD卡中的,本系統使用FATFS來管理SD卡,實現文件的讀/寫功能。FATFS是一個免費開源、用標準C語言編寫、專為小型嵌入式系統設計的FAT文件系統模塊,它的層次結構如圖7所示。

圖7 FATFS層次結構圖

頂層為應用層,用戶不必理會FATFS的內部結構及復雜的FAT協議,只需調用它提供的一系列應用接口函數,如f_open、f_close、f_read和f_write等,就可輕易實現文件的讀/寫。中間層FATFS模塊則實現了FAT文件讀/寫協議,提供了ff.c和ff.h,一般不用修改。用戶需要編寫的是FATFS模塊提供的底層接口,包括存儲媒介讀/寫接口(disk I/O)和供給文件創建修改時間的實時時鐘。需用戶編寫的底層驅動函數有6個:

disk_initialize:初始化磁盤驅動器;

disk_status:返回當前磁盤驅動器的狀態;

disk_read:從磁盤驅動器上讀取扇區;

disk_write:向磁盤寫入一個或多個扇區;

disk_ioctl:控制設備指定特性及某些雜項功能;

get_fattime:獲取當前時間。

需要注意的是,在完成FATFS移植和底層驅動編寫后,必須先通過f_mount函數注冊一個工作區才能開始后續API的使用。讀/寫文件前必須先打開該文件,f_open/f_close函數(打開/關閉文件)需成對使用,f_write(寫文件)之后必須關閉該文件才能有效寫入。

4.3BMP編碼

本系統將采集到的圖像以BMP的圖片文件格式保存在SD卡中,BMP(Bitmap,位圖文件)是Windows操作系統中的標準圖像文件格式,圖像深度可選,一般不壓縮,沒有失真,掃描順序為自左到右、自下到上。BMP文件一般由文件頭、信息頭、調色板、位圖數據這4部分組成。為與LCD的顏色格式及分辨率一致,系統采用RGB565的方式進行BMP編碼,圖片寬度和高度分別為240和320,使用讀LCD各點顏色值的方法獲取圖像數據,當拍照按鍵按下時執行圖片保存任務,BMP圖片保存的流程圖如圖8所示。

圖8 BMP圖片保存流程圖

5 測試結果與分析

系統在STM32平臺上實現了OV7670圖像傳感器采集揚聲器圖像并實時顯示到TFT LCD上,同時具有“拍照”功

能,可隨時將圖像以BMP的圖片格式保存在SD卡中,LCD畫面及保存后的揚聲器BMP圖片如圖9所示。測試過程中,圖像畫面顯示清晰流暢,QVGA(320×240)輸出達到10幀/s,從圖片中可以清晰地看出揚聲器焊點的位置,為后續的圖像處理和識別打下了堅實的基礎。

圖9 揚聲器圖像

6 結 論

本文設計的基于STM32和OV7670的圖像采集與顯示系統能實時采集并顯示現場圖像,同時還能實現圖像的BMP格式保存。該系統具有低成本、低功耗、小體積、高圖像質量等優點,可方便地應用到圖像處理與識別、視頻監控等項目中,同時,本系統在揚聲器焊點位置檢測中也得到了成功驗證。

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

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

[3]李寧.基于MDK的STM32處理器開發應用[M].北京:北京航空航天大學出版社,2008:7-13.

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

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

[6]付斌,張曉雷,陸揚.CMOS圖像傳感器時序分析研究[J].傳感器與微系統,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-),女,河南漯河人,博士,副教授,主要研究方向為嵌入式系統、數字圖像處理。

猜你喜歡
信號系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
信號
鴨綠江(2021年35期)2021-04-19 12:24:18
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
完形填空二則
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
孩子停止長個的信號
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
基于LabVIEW的力加載信號采集與PID控制
主站蜘蛛池模板: 亚洲中文制服丝袜欧美精品| 免费AV在线播放观看18禁强制| 久久99国产乱子伦精品免| 欧美视频免费一区二区三区| 国产人成乱码视频免费观看| 色视频国产| 在线国产三级| 在线综合亚洲欧美网站| 欧美自慰一级看片免费| 99ri精品视频在线观看播放| 另类综合视频| 国产日韩欧美黄色片免费观看| 国产精品午夜电影| 亚洲国产天堂久久综合226114| 亚洲成在人线av品善网好看| h视频在线观看网站| 成年A级毛片| 欧美中文字幕在线视频| 久青草免费在线视频| 伊人五月丁香综合AⅤ| 国产手机在线小视频免费观看| 亚洲综合专区| 国产swag在线观看| 日韩AV无码免费一二三区| 国产欧美日韩资源在线观看| 一级毛片免费观看久| 亚洲天堂精品在线| 国产成人久久777777| 亚洲欧美自拍中文| 国产激情国语对白普通话| 99热国产这里只有精品9九| 国产一级妓女av网站| 日韩一区二区三免费高清 | 久久久久中文字幕精品视频| 97一区二区在线播放| 午夜精品影院| 毛片在线播放a| 国产91透明丝袜美腿在线| 国产精鲁鲁网在线视频| 在线播放91| 亚洲伦理一区二区| 亚洲不卡影院| 国产精品久久久久久搜索| 亚洲国产一区在线观看| 国产免费人成视频网| 国产欧美在线观看一区| 亚洲成人在线免费观看| 99久视频| 久久这里只精品热免费99| 色婷婷狠狠干| 国产美女在线观看| 亚洲天堂视频在线免费观看| 2021亚洲精品不卡a| 亚洲中文字幕久久无码精品A| 精品午夜国产福利观看| 性欧美精品xxxx| 最新午夜男女福利片视频| 国产成人无码久久久久毛片| 免费无码又爽又刺激高| 中文成人在线| 日韩二区三区无| 99精品视频在线观看免费播放| 直接黄91麻豆网站| 国产交换配偶在线视频| 国产91无毒不卡在线观看| 国产自视频| 成人精品区| 一级毛片中文字幕| 欧美在线精品怡红院| 国产成人精品三级| 嫩草国产在线| 无码日韩精品91超碰| 丝袜久久剧情精品国产| 国产性生大片免费观看性欧美| 成人午夜久久| 国产亚卅精品无码| 国产高清不卡| 国产亚洲视频在线观看| 永久成人无码激情视频免费| 麻豆国产在线不卡一区二区| 亚洲最大综合网| 日本草草视频在线观看|