新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于STM32F107的圖像采集傳輸系統(tǒng)設計

基于STM32F107的圖像采集傳輸系統(tǒng)設計

作者: 時間:2016-10-15 來源:網(wǎng)絡 收藏

摘要:設計一種基于ZigBee傳輸技術和JPEG圖像壓縮技術的圖像采集傳輸系統(tǒng)。以F107微控制器為核心,通過攝像頭 采集到圖像后,對圖像進行JPEG壓縮。壓縮后的數(shù)據(jù)通過ZigBee模塊傳輸?shù)缴衔粰C,在上位機上進行圖像恢復。該系統(tǒng)功耗低,工作穩(wěn)定,適合用于遠程監(jiān)測的圖像采集系統(tǒng)使用。

本文引用地址:http://2s4d.com/article/201610/307227.htm

關鍵詞:;;;

無線傳感網(wǎng)絡是由大量具有通信和計算能力、廉價微型的傳感器節(jié)點通過自組織的無線通信方式,相互傳遞信息,協(xié)同地完成特定功能的智能網(wǎng)絡,在環(huán)境監(jiān)測、安全監(jiān)控、智能家居等領域有著廣大的應用空間。通過圖像信息的分析可以精確、直觀地對目標環(huán)境實施監(jiān)測。本系統(tǒng)通過F107對攝像頭的時序控制,以及ZigBee模塊的使用,實現(xiàn)了圖像信息在無線傳感網(wǎng)絡的實時采集和傳輸。

1 硬件設計方案

1.1 硬件系統(tǒng)結構

系統(tǒng)硬件部分主要由STM32F107、攝像頭、幀緩存器及ZigBee模塊及其他外設組成。其中,LCD接口主要用于圖像顯示,便于圖像采集程序的調(diào)試,SRAM用于系統(tǒng)的數(shù)據(jù)存儲器,F(xiàn)lash用于系統(tǒng)的程序存儲器。系統(tǒng)整體框圖如圖1所示。

1.2 STM32F107微處理器

STM32F107是意法半導體推出全新STM32互連型系列微控制器中的一款性能較強產(chǎn)品,是基于Cortex-M3內(nèi)核的32位微控制器。工作電壓為2~3.6 V,主頻為72 MHz,片上集成256 kb的Flash和64 kb的SRAM.STM32F107擁有全速USB(OTG)接口,兩路CAN2.0B接口,以及以太網(wǎng)10/100 MAC模塊,并且?guī)в幸粋€ZigBee無線網(wǎng)絡通訊接口,支持JTAG/SWD接口的調(diào)試下載,支持IAP。此芯片可以滿足工業(yè)、醫(yī)療、樓宇自動化、家庭音響和家電市場多種產(chǎn)品需求。

1.3 攝像頭OV7670

OV7670是OV公司生產(chǎn)的一顆1/6寸的CMOS VGA圖像傳感器,其體積小、工作電壓低,提供單片VGA攝像頭和影像處理器的所有功能。通過SCCB總線控制,可以輸出整幀、子采樣、取窗口等方式的各種分辨率8位影像數(shù)據(jù)。支持RawRGB、RGB(CBR4:2:2,RGB565/RGB555/RGB444),YUV(4:2:2)和 YcbCr(4:2:2)輸出格式,支持VGA、CIF和從CIF到40*30的各種尺寸輸出。用戶可以完全控制圖像質(zhì)量、數(shù)據(jù)格式和傳輸方式,攝像頭與 STM32的連接如圖2所示。

1.4 幀緩存器AL422B

由于因為OV7670的像素時鐘最高可達24 MHz,我們用STM32F107的IO口直接抓取,是非常困難并且十分占耗CPU。本系統(tǒng)通過FIFO讀取,芯片的容量為384k字節(jié),足夠存儲2幀QVGA的圖像數(shù)據(jù)。

1.5 ZigBee模塊

芯片是TI公司推出的嵌入式ZigBee應用的片上系統(tǒng),其主要支持2.4GHz IEEE 802.15.4以及ZigBee協(xié)議。該芯片可以非??焖俚厍袚Q到不同的運行模式,使得其可以應用于的相關場合。芯片還提供了32 KB、64 KB、128 KB、256 KB等四種不同的閃存,本系統(tǒng)選用128 KB的閃存。本系統(tǒng)為了有效地提高CC2530無線通訊質(zhì)量且增加通信距離,使用CC2591芯片中的RF端子作為射頻前端,射頻前端CC2591外圍電路如圖3所示。

2 軟件設計方案

2.1 攝像頭初始化及采集

攝像頭的初始化,主要是通過SCCB初始化相關IO口及配置寄存器。初始化后就要進行采集部分,本系統(tǒng)通過一個外部中斷來捕捉幀同步信號 (VSYNC),在中斷服務程序里啟動OV7670模塊的圖像數(shù)據(jù)存儲,直到下一次VSHNC信號時就關閉數(shù)據(jù)存儲,至此完成一幀圖像存儲。在LCD實時顯示的同時開始第二幀數(shù)據(jù)的存儲,如此循環(huán),實現(xiàn)攝像頭功能。

部分實驗代碼如下:

2.2 無線網(wǎng)絡的搭建

攝像頭節(jié)點啟動后加入ZigBee網(wǎng)絡,然后偵聽捕捉中斷,接收中斷后,完成攝像頭初始化,設置好圖像的分辨率,壓縮率以及分包大小,將圖像的大小信息發(fā)送給匯聚節(jié)點后,等待接收匯聚節(jié)點的取包命令,根據(jù)取包命令中的包ID取出相應的數(shù)據(jù)包,最后返回低功耗偵聽模式,具體流程圖如圖 4所示。

2.3 系統(tǒng)測試

匯聚節(jié)點通過USB轉(zhuǎn)串口工具連接到計算機,攝像頭節(jié)點采集到數(shù)據(jù)后,將圖像壓縮,壓縮后的數(shù)據(jù)分包發(fā)送給匯聚節(jié)點,匯聚節(jié)點通過串口發(fā)送給計算機,接收到的數(shù)據(jù),在上位機進行圖像恢復。使用VC++6.0可以編寫一個圖像恢復工具,通過使用ImageLoad.dll動態(tài)鏈接庫可以減輕編寫多種格式圖像文件的讀寫及編碼解碼工作。將接收到的圖片數(shù)據(jù)提取出以FF D8開始,F(xiàn)F D9結束的JPEG數(shù)據(jù)流,將其放入轉(zhuǎn)換框中,點擊“開始轉(zhuǎn)換”按鈕,得到了轉(zhuǎn)換后的圖片之后,點擊“保存圖片”按鈕將圖片保存。

3 總結

測試結果表明,本系統(tǒng)通過對攝像頭的配置,很好的解決了時序問題,能夠?qū)崿F(xiàn)圖像的實時采集,并且丟包較少,實現(xiàn)了數(shù)據(jù)在無線傳感網(wǎng)絡的傳輸,最后的圖像恢復效果也較為理想。在本系統(tǒng)的基礎上,可以擴展多個節(jié)點,設計信號調(diào)理電路,即可實現(xiàn)在無線傳感網(wǎng)絡中的多信息采集,應用前景廣泛。

  • STM32單片機中文官網(wǎng)
  • STM32單片機官方開發(fā)工具
  • STM32單片機參考設計


評論


相關推薦

技術專區(qū)

關閉