杜寶禎 吳志榮 曾佳
(1.寧波職業技術學院 電信學院 物聯網工作室,浙江寧波 315800;2.寧波職業技術學院 電信學院,浙江寧波 315800)
基于OV7670的網絡圖像傳感器設計與實現
杜寶禎1吳志榮2曾佳2
(1.寧波職業技術學院 電信學院 物聯網工作室,浙江寧波 315800;2.寧波職業技術學院 電信學院,浙江寧波 315800)
文章提出了一種基于OV7670的網絡圖像傳感器節點軟硬件平臺的設計方案。該方案構建了以Cortex-M3處理器STM32F103RBT6和uCosII 為核心嵌入式軟硬件平臺,通過OV7670模塊實現圖像數據采集。針對網絡傳輸問題,采用了基于IEEE802.11b/g標準的WIZ610wi無線網絡模組,實現數據的遠程傳輸。
STM32F103 圖像傳感器 OV7670 無線網絡模組
近年來,隨著工業級的網絡化測控系統的不斷發展,人們對生產檢測和控制的要求不斷提高,在自動化測量、安全監控、設備檢測等工業測控領域,都需要有性能良好、成本低廉、可大面積布控的網絡圖像傳感器用于現場圖像數據采集的工作。鑒于實際工業現場布控的需求,本文提出了基于STM32F103RBT6及OV7670的網絡視頻傳感器軟硬件平臺的設計方案,具有一定的通用性。

圖1 傳感器平臺硬件結構圖

圖2 傳感器平臺軟件體系結構

圖3 wireshark數據分析
網絡傳感器節點設計需要考慮的因素有成本、體積、功耗、擴展性、處理能力和抗干擾能力等幾個方面的因素。由于圖像傳感器節點在網絡測控系統中承擔著圖像數據采集壓縮和網絡通訊兩大任務,因此要求傳感器的硬件平臺要有具有優良的網絡性能和強勁的計算能力。通過綜合考慮常用的8位、16位和32位控制器芯片,本文采用了ST公司的STM32F103RBT6,外圍設備主要包括RAM、FLASH存儲器模塊、OV7670圖像采集模塊以及WIZ610wi無線網絡模組等。控制器的硬件平臺結構如圖1所示。
STM32F103RBT6采用32位Cortex-M3系統架構,電壓范圍2.0-3.6V,主鐘頻率72MHz, 片上系統資源和外圍接口非常豐富,包括外部存儲器控制器、電源管理控制器、UART控制器、SDIO控制器、8個定時器3通道UART、兩通道SPI同步串行總線、2個I2C接口、CAN接口(2.0B主動)、USB 2.0全速接口、4通道DMA、2個12bit模數AD轉換器(多達16個輸入通道)、8個定時器、80個快速IO,具有睡眠、停機和待機三種模式。該芯片在功耗方面性能優異,性價比很高,具有實時性好、高性能、低功耗、極低成本、穩定等諸多優點,在智能家電、汽車電子、醫療器械、消費類電子、無線網絡等領域應用廣泛[1]。
控制器外圍電路主要由電源模塊、存儲器電路模塊、JATG調試電路以及通信模塊的等構成[2]。存儲器電路模塊采用一片K9F1208芯片(64Mbyte)作為Flash,另外采用采用HY57V561620FTP SDRAM芯片作為系統的內存[2]。數據采集部分采用OV7670圖像傳感器模塊,通過SCCB接口與主控制器通信,實現圖像數據的采集工作。通信部分采用內置TCP/IP協議棧的WIZ610wi模塊,以UARTWifi橋方式,實現了wifi接口的設計;同時設計了USBhost接口電路,為近一步實現海量數據存儲提供接口。
目前,幾乎所有嵌入式產品在開發中都移植了微型操作系統,來管理和調度軟硬件資源,同時便于后期產品功能的擴展。通過綜合考慮處理器性能和軟件功能,本文采用了精簡的UCOS-II作為系統軟件平臺支撐。傳感器節點軟件體系結構如下圖2所示,系統的軟件部分最底層為設備驅動程序層,主要完成處理器的初始化和各外設電路模塊的驅動功能;第二層為嵌入式操作系統UCOS-II,主要用于管理系統軟硬件資源、調度底層接口驅動和為上層應用提供API接口[3];第三層為應用程序層主要包含OS級別的系統調用、控制算法、數據采集和網絡通訊等功能實現。
OV7670是一款適用于嵌入式領域的高靈敏度低照度的CMOS傳感器,其內部集成有640x480的感光陣列、模擬信號處理、A/D轉換、測試圖案發生器、數字信號處理器、圖像縮放、時序發生器等驅動模塊,采用標準SCCB接口通信方式,兼容I2C接口,因此極大的精簡了硬件設計且編碼控制功能非常豐富[4,5]。在圖像采集前,首先調用unsigned char OV7670_init(void)函數實現OV7670內部芯片的初始化,主要是調用ov7670_GPIO_Init();SCCB_GPIO_Config();CLK_init_ON()等函數完成基本配置,程序判斷返回值1,則表示初始化成功。另外 攝像頭的圖像幀頻、輸出分辨率、數據格式等參數都可以通過寫OV7670內部寄存器實現,具體寫操作函數為uchar wrOV7670Reg(uchar IDreg,uchar Dat)函數。圖像采集主要以中斷函數void ov7670_Interrupts(void)實現,在這之前通過void Interrupts_Config(void) 完成中斷優先級和中斷向量的配置。圖像采集的數據先緩存到FIFO中,之后再周期性批量轉存儲到FLASH,完成圖像數據的采集和存儲工作。
無線通信模塊可以采用,藍牙、紅外、射頻、zigbee、wifi等方案,從主流程度、技術成熟度以及未來技術發展趨勢等角度考慮,本文直接采用支持wifi通信的網關模塊,實現通過MII、UART到IEEE802.11b/g wifi的無線通信[6,7]。經過調研和實驗測試,本文采用WIZ610wi模組作為無線網絡通信的核心模塊,該模塊內置ARM微控制器和TCP/IP協議棧的固件程序,最大程序降低傳感器MPU的軟硬件負擔,可直接作為網關模塊提供RS-23 2 C到IEEE802.11b/g的無線通信的橋接,且最大傳輸速度為25Mbps。WIZ610wi模組使用要注意,將其設置為Client模式,并需要設置波特率、數據位數、停止位、奇偶校驗位、流控制選項,與傳感器串口輸出相匹配。網絡通訊采用TCP協議方式,并將該節點設置為web server模式,端口號為20000。完成配置以后,WIZ610wi將作為UART-Wifi橋,通過串口接收來自傳感器的數據,再通過自身wifi模塊,將數據打包發送出去。
圖3為使用截包工具wireshark,對網絡圖像傳感器發處的數據進行抓包數據分析圖。結果表明,傳感器節點與客戶端握手成功,圖片數據發送正常。
本文論述了基于STM32F103RBT6微控制器和OV7670網絡圖像傳感器平臺的設計與實現方法,構建了系統的軟硬件平臺,對OV7670模塊的驅動方法、WIZ610wi配置方式進行了詳細論述。目前,基于圖像和視頻數據傳輸的網絡傳感器研發是測控領域的一大熱點。測試結果證明,該方案是可行的,可滿足普通圖像網絡化采集的需要,應用前景廣闊。
[1]STMicroelectronics Co.Ltd. STM32F103VE DATASHEET [DB/OL].[2011-04-05].http://www.st.com/inte rne t/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/DATASHEET/CD00191185.pdf.
[2]周立功,王祖麟,陳計明,等.ARM嵌入式系統基礎教程[M].北京:北京航空航天大學出版社,2008.
[3] 周立功.uCOS-II微小內核分析與程序設計[M].北京:北京航空航天大學出版社,2008.
[4]邵華等.基于嵌入式系統的高分辨率圖像處理系統[J].軟件導刊,2012,(1).
[5]魏旭可.基于STM32單片機的光譜儀數據采集與處理系統[D].中國海洋大學,2012.
[6]張衛華.基于STM32的灌區監測系統的研發[D].西北農林科技大學,2013.
[7]劉磊.基于無線傳感器網絡的視頻傳輸技術研究[D].華北電力大學,2011.
A hardware and software?platform design scheme based on OV7670 image network sensor node was proposed. The program was built embedded hardware and software platform,using the Cortex-M3 processor STM32F103RBT6 as core,running the uCosII operating system, using OV7670 image sensor to capture image data.Meanwhile,the WIZ610wi wireless network module based on IEEE802.11b/g standard was adopted to facilitate the remote data transmission.
STM32F103; Image Sensor;OV7670;Wireless network module
寧波職業技術學院2013年科研項目資助,項目編號NZ13028ZF;課題負責人:杜寶禎。
杜寶禎(1985—),男,單位:寧波職業技術學院電子信息工程系,教師,學歷:碩士研究生,研究方向:嵌入式網絡化測控系統。