新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > STM32和OV2640的嵌入式圖像采集系統(tǒng)設(shè)計

STM32和OV2640的嵌入式圖像采集系統(tǒng)設(shè)計

作者: 時間:2016-09-12 來源:網(wǎng)絡(luò) 收藏

摘要:基于及200萬攝像頭設(shè)計了圖像采集系統(tǒng),分析了系統(tǒng)的基本硬件架構(gòu),分別對不同模塊的功能特點作出了簡單的介紹;對系統(tǒng)的軟件設(shè)計給出了詳細的說明,介紹了系統(tǒng)初始化的基本思路和流程,以及相關(guān)外圍設(shè)備模塊在程序中的使用;并給出了系統(tǒng)的整體設(shè)計思路,實現(xiàn)了系統(tǒng)的穩(wěn)定運行。

本文引用地址:http://butianyuan.cn/article/201609/304502.htm

引言

隨著電子產(chǎn)品向低功耗、低價格、智能化的方向發(fā)展,利用視頻傳感器采集圖像成為研究熱點,如可視門鈴、安全監(jiān)控、賽車自動循跡、煙葉圖像采集、草本葉子圖像采集等。本文根據(jù)在線采集、分析、存儲圖像的需求,設(shè)計了嵌入式圖像采集系統(tǒng),運用嵌入式芯片對圖像信息進行采集、顯示和存儲。

1 系統(tǒng)結(jié)構(gòu)與功能

圖像采集系統(tǒng)以基于ARM公司的Cortex—M3內(nèi)核的F103RBT6(以下簡稱STM32)處理器為核心,配合攝像頭和TFT液晶顯示器,是一款采集像素多、實時性好且成本低廉的圖像采集系統(tǒng)。

STM32和OV2640的嵌入式圖像采集系統(tǒng)設(shè)計

系統(tǒng)的硬件結(jié)構(gòu)框圖如圖1所示,系統(tǒng)通過J—Link口實現(xiàn)程序在STM32上的仿真、在線調(diào)試,利用J—LINK仿真編程器將編譯之后的二進制文件燒寫到Flash中,系統(tǒng)每次上電時便可從Flash啟動文件系統(tǒng),圖像采集系統(tǒng)采用攝像頭模塊,輸出顯示采用2.4英寸TFT液晶顯示屏,可將采集到的數(shù)據(jù)保存在中。當存儲按鍵按下時,系統(tǒng)接收中斷,同時將從OV2640攝像頭采集到的數(shù)據(jù)顯示在液晶顯示屏上。

2 硬件設(shè)計

2.1 CPU處理器

本系統(tǒng)用的是32位的Cortex-M3內(nèi)核的STM32芯片STM32F103RBT6,支持Thumb2指令集,STM32F103RBT6內(nèi)部的Flash有128K,SRAM大小為20 K,有64個增強I/O口、2個USART、2個12位的A/D轉(zhuǎn)換器。它的供電電壓為2.0~3.6 V,擁有省電模式,可以保證低功耗需求。CPU主頻最高可以達到72 MHz。

2.2 OV2640攝像頭

OV2640具有體積小、工作電壓低、兼容I2C總線接口等特點。通過SCCB總線控制,支持RawRGB、RGB(GRB4:2:2、RGB565/555/444)、YUV(4:2:2)和YCbCr(4:2:2)輸出格式,可以輸出整幀、二次轉(zhuǎn)換分辨率、取特定區(qū)域等方式的各種分辨率的8位或10位的圖像幀數(shù)據(jù),UXGA(1 632×1 232)圖像最高達到15 fps。因此,編程者可選擇不同圖像質(zhì)量、數(shù)據(jù)格式,而且,OV2640的高靈敏度適合低照度環(huán)境,它的低電壓特性適合嵌入式開發(fā)應(yīng)用,攝像頭數(shù)據(jù)口連接CPU的示意圖如圖2所示。采用攝像頭的8位數(shù)據(jù)模式,攝像頭高8位接CPU的I/O口的低8位,低2位懸空。

STM32和OV2640的嵌入式圖像采集系統(tǒng)設(shè)計

2. 3 SCCB總線

SCCB(OmniVision Serial Camera Control Bus)與I2C總線協(xié)議類似,使用SIO-0和SIO-1兩根數(shù)據(jù)線進行傳輸和控制。SIO-1是控制線,提供傳輸過程中的時鐘脈沖控制信號,SIO-0是串行雙向數(shù)據(jù)傳輸線,根據(jù)控制信號通過串行的方式發(fā)送數(shù)據(jù)。在很多設(shè)計中,經(jīng)常采用I/O口模擬I2C總線的傳輸,對于SCCB,也可以采用這樣的方式。

采用I/O口模擬SCCB總線的要點如下:對于SCL所連接的引腳,在寄存器中設(shè)置為輸出,而SDA所接的引腳,在數(shù)據(jù)傳送過程中,基于IODIR值的改變,動態(tài)改變引腳為輸入或輸出方式。

2.4 LCD顯示模塊

本設(shè)計所用的為2.4英寸的TFT液晶顯示屏,內(nèi)部集成有ILI9320 LCD控制芯片,可以直接控制數(shù)據(jù)的顯示。ILI9320可以用來讀寫寄存器、GRAM,還可顯示動態(tài)圖形的RGB輸入接口。顯示控制芯片有RGB接口模式與i80系統(tǒng)接口模式,設(shè)計選用i80-system接口模式。

i80-system接口是通過設(shè)置IM[3:0]來決定的,同時這幾個位也決定了數(shù)據(jù)傳輸位數(shù)的模式,通過硬件設(shè)置IM0位高電平,IM1位高電平,把模式設(shè)置為了8位i80-system接口傳輸模式。連接示意圖如圖3所示。

STM32和OV2640的嵌入式圖像采集系統(tǒng)設(shè)計

要寫數(shù)據(jù)到屏上顯示,只需要對寄存器0x0022進行寫操作即可,當這個寄存器的數(shù)據(jù)更新時,地址指針(AC)會自動增加或減小,讀數(shù)據(jù)也是同樣的道理。

2.5 接口電路設(shè)計

通常而言,電路設(shè)計有兩種模式:SPI模式和SD卡模式,由于引腳資源限制,對于連接STM32的方式,采用第一種設(shè)計電路,通過STM32上面的SPI接口來和SD卡進行數(shù)據(jù)通信,引腳如圖4所示。

STM32和OV2640的嵌入式圖像采集系統(tǒng)設(shè)計

在SPI模式中,數(shù)據(jù)通過STM32的MOSI與MISO進行傳送,SCK信號線用來提供工作時鐘,當SD卡收到復(fù)位命令(CMD0)時,SD卡立即進入SPI

模式。要注意的是,在發(fā)送CMD0之前須發(fā)送大于74個的時鐘周期;另外,在SD卡初始化時,CLK時鐘頻率最大不能超過400 kHz。

3 軟件設(shè)計

3.1 系統(tǒng)初始化

系統(tǒng)初始化主要是對CPU時鐘進行初始化,以及設(shè)置外圍電路的時鐘分頻比,設(shè)置中斷。其流程可描述如下:

STM32和OV2640的嵌入式圖像采集系統(tǒng)設(shè)計

3.2 攝像頭初始化

首先,通過SCCB總線設(shè)置OV2640的寄存器數(shù)據(jù),主要是配置攝像頭輸出數(shù)據(jù)格式類型和輸出圖像數(shù)據(jù)大小,達到初始化OV2640的目的OV2640初始化流程較為簡單,偽代碼如下:

STM32和OV2640的嵌入式圖像采集系統(tǒng)設(shè)計
STM32和OV2640的嵌入式圖像采集系統(tǒng)設(shè)計
上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉