新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > STM32和OV2640的嵌入式圖像采集系統設計

        STM32和OV2640的嵌入式圖像采集系統設計

        作者: 時間:2016-09-12 來源:網絡 收藏

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

        本文引用地址:http://www.104case.com/article/201609/304502.htm

        引言

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

        1 系統結構與功能

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

        STM32和OV2640的嵌入式圖像采集系統設計

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

        2 硬件設計

        2.1 CPU處理器

        本系統用的是32位的Cortex-M3內核的STM32芯片STM32F103RBT6,支持Thumb2指令集,STM32F103RBT6內部的Flash有128K,SRAM大小為20 K,有64個增強I/O口、2個USART、2個12位的A/D轉換器。它的供電電壓為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)輸出格式,可以輸出整幀、二次轉換分辨率、取特定區域等方式的各種分辨率的8位或10位的圖像幀數據,UXGA(1 632×1 232)圖像最高達到15 fps。因此,編程者可選擇不同圖像質量、數據格式,而且,OV2640的高靈敏度適合低照度環境,它的低電壓特性適合嵌入式開發應用,攝像頭數據口連接CPU的示意圖如圖2所示。采用攝像頭的8位數據模式,攝像頭高8位接CPU的I/O口的低8位,低2位懸空。

        STM32和OV2640的嵌入式圖像采集系統設計

        2. 3 SCCB總線

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

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

        2.4 LCD顯示模塊

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

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

        STM32和OV2640的嵌入式圖像采集系統設計

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

        2.5 接口電路設計

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

        STM32和OV2640的嵌入式圖像采集系統設計

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

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

        3 軟件設計

        3.1 系統初始化

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

        STM32和OV2640的嵌入式圖像采集系統設計

        3.2 攝像頭初始化

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

        STM32和OV2640的嵌入式圖像采集系統設計
        STM32和OV2640的嵌入式圖像采集系統設計
        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 东台市| 漳浦县| 昂仁县| 沁源县| 青海省| 大宁县| 犍为县| 玛曲县| 团风县| 甘肃省| 柞水县| 拜城县| 泾川县| 尚义县| 宁晋县| 湟源县| 乌苏市| 天等县| 郸城县| 土默特左旗| 浦北县| 宜春市| 泾源县| 宁陵县| 朝阳市| 工布江达县| 清丰县| 贵德县| 普宁市| 邯郸县| 郁南县| 志丹县| 永济市| 莱州市| 英德市| 阿坝县| 勐海县| 康乐县| 定边县| 延长县| 黄平县|