基于STM32F107的圖像采集傳輸系統設計
摘要:設計一種基于ZigBee傳輸技術和JPEG圖像壓縮技術的圖像采集傳輸系統。以STM32F107微控制器為核心,通過攝像頭 OV7670采集到圖像后,對圖像進行JPEG壓縮。壓縮后的數據通過ZigBee模塊傳輸到上位機,在上位機上進行圖像恢復。該系統功耗低,工作穩定,適合用于遠程監測的圖像采集系統使用。
本文引用地址:http://www.j9360.com/article/201610/307227.htm無線傳感網絡是由大量具有通信和計算能力、廉價微型的傳感器節點通過自組織的無線通信方式,相互傳遞信息,協同地完成特定功能的智能網絡,在環境監測、安全監控、智能家居等領域有著廣大的應用空間。通過圖像信息的分析可以精確、直觀地對目標環境實施監測。本系統通過STM32F107對攝像頭的時序控制,以及ZigBee模塊的使用,實現了圖像信息在無線傳感網絡的實時采集和傳輸。
1 硬件設計方案
1.1 硬件系統結構
系統硬件部分主要由STM32F107、攝像頭OV7670、幀緩存器及ZigBee模塊及其他外設組成。其中,LCD接口主要用于圖像顯示,便于圖像采集程序的調試,SRAM用于系統的數據存儲器,Flash用于系統的程序存儲器。系統整體框圖如圖1所示。
1.2 STM32F107微處理器
STM32F107是意法半導體推出全新STM32互連型系列微控制器中的一款性能較強產品,是基于Cortex-M3內核的32位微控制器。工作電壓為2~3.6 V,主頻為72 MHz,片上集成256 kb的Flash和64 kb的SRAM.STM32F107擁有全速USB(OTG)接口,兩路CAN2.0B接口,以及以太網10/100 MAC模塊,并且帶有一個ZigBee無線網絡通訊接口,支持JTAG/SWD接口的調試下載,支持IAP。此芯片可以滿足工業、醫療、樓宇自動化、家庭音響和家電市場多種產品需求。
1.3 攝像頭OV7670
OV7670是OV公司生產的一顆1/6寸的CMOS VGA圖像傳感器,其體積小、工作電壓低,提供單片VGA攝像頭和影像處理器的所有功能。通過SCCB總線控制,可以輸出整幀、子采樣、取窗口等方式的各種分辨率8位影像數據。支持RawRGB、RGB(CBR4:2:2,RGB565/RGB555/RGB444),YUV(4:2:2)和 YcbCr(4:2:2)輸出格式,支持VGA、CIF和從CIF到40*30的各種尺寸輸出。用戶可以完全控制圖像質量、數據格式和傳輸方式,攝像頭與 STM32的連接如圖2所示。
1.4 幀緩存器AL422B
由于因為OV7670的像素時鐘最高可達24 MHz,我們用STM32F107的IO口直接抓取,是非常困難并且十分占耗CPU。本系統通過FIFO讀取,芯片的容量為384k字節,足夠存儲2幀QVGA的圖像數據。
1.5 ZigBee模塊
CC2530芯片是TI公司推出的嵌入式ZigBee應用的片上系統,其主要支持2.4GHz IEEE 802.15.4以及ZigBee協議。該芯片可以非常快速地切換到不同的運行模式,使得其可以應用于低功耗的相關場合。CC2530芯片還提供了32 KB、64 KB、128 KB、256 KB等四種不同的閃存,本系統選用128 KB的閃存。本系統為了有效地提高CC2530無線通訊質量且增加通信距離,使用CC2591芯片中的RF端子作為射頻前端,射頻前端CC2591外圍電路如圖3所示。
2 軟件設計方案
2.1 攝像頭初始化及采集
攝像頭的初始化,主要是通過SCCB初始化相關IO口及配置寄存器。初始化后就要進行采集部分,本系統通過一個外部中斷來捕捉幀同步信號 (VSYNC),在中斷服務程序里啟動OV7670模塊的圖像數據存儲,直到下一次VSHNC信號時就關閉數據存儲,至此完成一幀圖像存儲。在LCD實時顯示的同時開始第二幀數據的存儲,如此循環,實現攝像頭功能。
部分實驗代碼如下:
2.2 無線網絡的搭建
攝像頭節點啟動后加入ZigBee網絡,然后低功耗偵聽捕捉中斷,接收中斷后,完成攝像頭初始化,設置好圖像的分辨率,壓縮率以及分包大小,將圖像的大小信息發送給匯聚節點后,等待接收匯聚節點的取包命令,根據取包命令中的包ID取出相應的數據包,最后返回低功耗偵聽模式,具體流程圖如圖 4所示。
2.3 系統測試
匯聚節點通過USB轉串口工具連接到計算機,攝像頭節點采集到數據后,將圖像壓縮,壓縮后的數據分包發送給匯聚節點,匯聚節點通過串口發送給計算機,接收到的數據,在上位機進行圖像恢復。使用VC++6.0可以編寫一個圖像恢復工具,通過使用ImageLoad.dll動態鏈接庫可以減輕編寫多種格式圖像文件的讀寫及編碼解碼工作。將接收到的圖片數據提取出以FF D8開始,FF D9結束的JPEG數據流,將其放入轉換框中,點擊“開始轉換”按鈕,得到了轉換后的圖片之后,點擊“保存圖片”按鈕將圖片保存。
3 總結
測試結果表明,本系統通過對攝像頭的配置,很好的解決了時序問題,能夠實現圖像的實時采集,并且丟包較少,實現了數據在無線傳感網絡的傳輸,最后的圖像恢復效果也較為理想。在本系統的基礎上,可以擴展多個節點,設計信號調理電路,即可實現在無線傳感網絡中的多信息采集,應用前景廣泛。
- STM32單片機中文官網
- STM32單片機官方開發工具
- STM32單片機參考設計
評論