《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于STM32F407的圖像采集與傳輸系統(tǒng)的設計與實現(xiàn)
基于STM32F407的圖像采集與傳輸系統(tǒng)的設計與實現(xiàn)
2015年微型機與應用第8期
楊 宇,,賈永興,榮傳振,,王 淵,,朱 瑩
(解放軍理工大學 通信工程學院,,江蘇 南京 210007)
摘要: 系統(tǒng)以基于Cortex-M4內核的STM32F407作為控制核心,使用OV9655圖像傳感器采集圖像,,并利用TFT屏動態(tài)顯示,。圖像傳輸模塊基于LwIP協(xié)議實現(xiàn)向PC傳輸圖像,最后PC接收并保存圖像數(shù)據(jù),,利用MATLAB編程恢復圖像,,將其與TFT顯示的圖像對比。實驗結果表明,,圖像傳輸穩(wěn)定可靠,,圖像清晰,滿足機器人通過圖像識別目標的要求,。
Abstract:
Key words :

  摘  要: 系統(tǒng)以基于Cortex-M4內核的STM32F407作為控制核心,,使用OV9655圖像傳感器采集圖像,并利用TFT屏動態(tài)顯示,。圖像傳輸模塊基于LwIP協(xié)議實現(xiàn)向PC傳輸圖像,,最后PC接收并保存圖像數(shù)據(jù),利用MATLAB編程恢復圖像,,將其與TFT顯示的圖像對比,。實驗結果表明,圖像傳輸穩(wěn)定可靠,,圖像清晰,,滿足機器人通過圖像識別目標的要求。
  關鍵詞: Cortex-M4 STM32F407,;圖像傳輸,;LwIP
0 引言
  圖像是人類獲取信息的主要來源,也是智能機器人感知環(huán)境和識別目標的重要信息源之一[1]。因此,,如何通過相機傳感器高速,、有效地獲取和傳輸圖像信息,成為智能機器人利用圖像正確感知環(huán)境和識別目標的前提,。本文介紹了一種基于STM32F407芯片,,利用LwIP協(xié)議的圖像采集與傳輸系統(tǒng)。
1 系統(tǒng)的總體設計方案
  本系統(tǒng)的總體設計思路為:以STM32F407為主控核心,,通過DCMI接口接收圖像傳感器OV9655采集的圖像,,利用DMA方式將圖像發(fā)送到外部SRAM,同時通過FSMC接口將此數(shù)據(jù)發(fā)送到TFT屏顯示,,然后將外部SRAM上的圖像通過網(wǎng)絡傳輸并保存到PC,,最后,利用MATLAB軟件將接收的圖像數(shù)據(jù)進行恢復顯示,,并驗證其正確性,。系統(tǒng)總體結構如圖1所示。

Image 001.png

2 系統(tǒng)的硬件構成
  本系統(tǒng)的硬件電路主要包括:微處理器,、攝像頭,、以太網(wǎng)模塊、SRAM,、TFT,、RJ45接口、JTAG接口,、復位電路,、電源等。
  本系統(tǒng)的微處理器為ST公司的STM32F407IGT6[2],,其主頻達168 MHz,,具有1 MB Flash,196 KB SRAM,,專有DMA的10/100 Ethernet MAC,,14 bit并行相機高速接口,為圖像數(shù)據(jù)的采集提供了高速的傳輸速率,。
  攝像頭采用Omni Vision 公司的OV9655[3],,這是一款用于移動設備的130萬像素CMOS圖像傳感器,具有照相和圖像處理的多種功能(曝光控制,、灰度調節(jié),、自動白平衡、色彩飽調節(jié)和噪聲消除等),。其采用的Omni Pixel技術平臺,,獨特的像素架構增加了信噪比,,使傳感器在低光照的條件下仍能良好工作。OV9655支持的圖像格式包括:RGB(GRB 4:2:2,,RGB 5:6:5/5:5:5),、YUV(4:2:2)和YCbCr(4:2:2),輸出的圖像尺寸包括SXGA,、VGA,、CIF和小于CIF至40×30的任何尺寸,本文設置圖像輸出格式為RGB 5:6:5,,分辨率為320×240,。
  以太網(wǎng)模塊的收發(fā)芯片為National公司的10/100 M以太網(wǎng)物理層收發(fā)芯片DP83848C,該芯片遵循Ethernet II和IEEE802.3u標準,,支持MII,、RMII、SNI三種數(shù)據(jù)連接方式,,本文采用了RMII模式,,見圖1,。對外采用RJ45接口連接,,支持平行交叉網(wǎng)線自適應(Auto-MDIX),內部還集成了數(shù)據(jù)收發(fā)及濾波功能,。在全雙工模式下,,可以同時實現(xiàn)發(fā)送和接收,理論上最高速度能達到100 Mb/s,,本文對其配置為100 Mb/s,。
3 系統(tǒng)的軟件設計
  系統(tǒng)軟件的實現(xiàn)包括:圖像數(shù)據(jù)采集、網(wǎng)絡傳輸,、圖像數(shù)據(jù)存儲與恢復顯示,。本文將重點介紹圖像采集和網(wǎng)絡傳輸?shù)膶崿F(xiàn)。
  系統(tǒng)軟件結構采用C/S(Client/Server)模式[4],,在服務器端主要實現(xiàn)圖像的采集和發(fā)送,,在客戶端實現(xiàn)圖像的接收、保存與恢復顯示,。
  3.1 圖像采集
  通過STM32F407IG控制DCMI接收OV9655采集的圖像,,再由DMA將圖像發(fā)送到外部SRAM,并將其復制到TFT屏上顯示,,如圖2所示,。

Image 002.png

  圖像采集流程具體為:
  (1)圖像采集模塊初始化,,包括TFT彩屏初始化,、SRAM初始化,、DMA初始化和DCMI接口初始化。初始化配置后,,實現(xiàn)攝像頭的DCMI接口和SRAM關聯(lián),,即可通過DMA將DCMI接口的圖像傳輸?shù)絊RAM。
 ?。?)DCMI接口配置為幀中斷,。當獲得的一幀圖像數(shù)據(jù)后,產(chǎn)生中斷,,進入DCMI的中斷服務函數(shù),,實現(xiàn)將SRAM中的圖像復制到TFT屏進行顯示的功能。
 ?。?)使能DCMI接口捕獲圖像,,并產(chǎn)生DCMI中斷。
 ?。?)使能DMA,,將DCMI接口的數(shù)據(jù)復制到SRAM。
  3.2 圖像傳輸
  本文利用LwIP(Light weight IP)實現(xiàn)圖像到PC的傳輸,。LwIP是瑞士計算機科學院的DUNKELS A等人開發(fā)的一套用于嵌入式系統(tǒng)旳開源代碼TCP/IP協(xié)議棧,,其在保持TCP/IP協(xié)議棧完整性的基礎上,減少了RAM和ROM的占用,,使LwIP適合在嵌入式系統(tǒng)中應用[5],。
  嵌入式TCP/IP協(xié)議棧通常有以下兩種實現(xiàn)方式:一種是將協(xié)議簇中的每個協(xié)議作為一個單獨的進程,并指定進程之間的通信點,。其優(yōu)點在于結構清晰,,代碼易懂,占用系統(tǒng)資源較少,,且方便調試,;另一種方式是將協(xié)議棧駐留在操作系統(tǒng)內核中,應用程序通過系統(tǒng)調用與協(xié)議棧通信,。該方式對系統(tǒng)RAM,、ROM資源占用較高,且不能很好地支持MDK[5]環(huán)境下的斷點調試,,故本文選擇第一種實現(xiàn)方式,。
  本文采用C/S模式來實現(xiàn)圖像數(shù)據(jù)的發(fā)送和接收。其中,,嵌入式系統(tǒng)作為服務器,,PC作為客戶端。服務器首先創(chuàng)建一個Socket,,等待與客戶端的連接,,連接成功后發(fā)送圖像,。
  服務器圖像發(fā)送程序的基本步驟為:
  (1)創(chuàng)建Socket,,并指定SOCK_STREAM為TCP的Socket,;
  (2)初始化服務器端口和地址,,并綁定Socket到服務器地址,;
  (3)監(jiān)聽Socket,;
 ?。?)接受客戶端連接Socket的請求,并返回連接成功的Socket和客戶端的地址,;
 ?。?)處理客戶端連接,將圖像采集模塊存儲到SRAM的圖像數(shù)據(jù),,發(fā)送到客戶端,;
  (6)關閉Socket,,退出服務,。
  客戶端首先通過網(wǎng)絡助手設置其地址和端口:(1)協(xié)議類型為:TCP Client;(2)IP地址為:192.168.1.30,;(3)端口為:5000,。然后,,客戶端調用Connect函數(shù)與服務器建立連接,,連接成功后,通過網(wǎng)絡助手接收并保存從服務器發(fā)送的圖像數(shù)據(jù)(如圖3所示),,最后關閉Socket,。

Image 003.png

  通過網(wǎng)絡助手接收的圖像數(shù)據(jù)是將圖像中所有像素的RGB值逐行以每像素16 bit的十六進制數(shù)進行保存的。為了驗證接收到的圖像數(shù)據(jù)的有效性和準確性,,本文通過MATLAB軟件編程,,恢復并顯示圖像,如圖4所示,,與圖2中TFT屏顯示的圖像相比,,經(jīng)網(wǎng)絡傳輸?shù)絇C的圖像無失真。實驗結果表明,,圖像經(jīng)網(wǎng)絡傳輸有效而準確,。

Image 004.png

4 結論
  圖像是機器人智能識別目標的重要信源之一。本文介紹了一種基于STM32F407的圖像采集和傳輸系統(tǒng)的設計與實現(xiàn),,利用輕量的TCP/IP協(xié)議進行Socket編程,,實現(xiàn)將服務器端采集的圖像數(shù)據(jù)網(wǎng)絡傳輸?shù)絇C客戶端,。測試結果表明,其圖像傳輸效果高速而有效,,可滿足客戶端對圖像采集與傳輸?shù)男枨?,并且該系統(tǒng)的架構容易升級到無線網(wǎng)絡進行遠程的圖像、視頻和語音傳輸,。
  參考文獻
  [1] 馬燕.圖像目標跟蹤算法研究[D].西安:西安電子科技大學,,2011.
  [2] STMicroelectronics. STM32F407xx datasheet[N]. STMicroelectronics Group of Companies, 2013-03.
  [3] OmniVision. OV9655 datasheet v1.3[N]. OmniVision Technologies,, Inc.,, 2005-11-15.
  [4] 王永虹,徐煒,,郝立平.STM32系列ARM Cortex-M3微控制器原理與實踐[M].北京:北京航空航天大學出版社,,2008.
  [5] 胡亦萬,基于Cortex-M3的LwIP移植以及嵌入式WEB的應用研究[D].南昌:南昌大學,,2013.

此內容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權禁止轉載。