新聞中心

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

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

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

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

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

引言

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

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

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

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

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

2 硬件設(shè)計(jì)

2.1 CPU處理器

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

2.2 OV2640攝像頭

OV2640具有體積小、工作電壓低、兼容I2C總線接口等特點(diǎn)。通過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)圖像最高達(dá)到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è)計(jì)

2. 3 SCCB總線

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

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

2.4 LCD顯示模塊

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

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

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

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

2.5 接口電路設(shè)計(jì)

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

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

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

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

3 軟件設(shè)計(jì)

3.1 系統(tǒng)初始化

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

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

3.2 攝像頭初始化

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

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

評(píng)論


相關(guān)推薦

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

關(guān)閉