?

基于GPRS的圖像數據無線傳輸系統研究

2017-11-15 11:15余金遙孫先松
電腦知識與技術 2017年28期

余金遙+孫先松

摘要:為了實現圖像數據的遠距離無線傳輸,滿足在無人干預的情況下仍然能實時獲取各種圖像信息,該文針對當前無線傳輸的多樣性,進行了基于GPRS的無線圖片傳輸的研究。該研究采用STM32F103作為主芯片、以SIM900A作為無線傳輸模塊、OV7670進行圖片信息的采集,詳細論述其工作原理以及圖片數據傳輸的實現。

關鍵詞:SIM900A;無線圖像傳輸;STM32F103;OV7670

中圖分類號:TP391 文獻標識碼:A 文章編號:1009-3044(2017)28-0201-03

當代電子行業和通訊技術飛速發展,無線通訊技術已經和我們的日常生活密不可分。日常常見的主要有WIFI、ZigBee、bluetooth等無線通信技術,這些技術都是以短距離傳輸為主,對于工作環境也有較高要求。而GPRS支持遠距離無線傳輸,在很多環境惡劣、工作節點較為分散、工作距離遠的場合被廣泛使用。

多媒體技術也是當今社會發展的一大熱點,科學技術的飛速發展也加快了二者的融合,為人們的生活帶來了更大的便捷。人們也不再僅僅只滿足之前的文字和語音信息,對圖片甚至是視頻的需求也愈發的強烈。所以,針對該課題的研究有著較高的實用價值,對實際應用有著十分重要的意義。

1 總體設計方案

在平常生活當中,我們身邊對于這種裝置的需求很小,平常所使用的都是WIFI、Bluetooth等無線技術,但是在某些場合,比如,農田、高速公路等相對偏遠的工作環境時,該遠距離無線傳輸技術能起到更到的作用,在農田里面可以用來給專家進行遠距離的現場指導,防止災害蔓延,高速公路上可以隨時傳回發生交通事故地段的實時圖像,以便隨時監管。

在總體設計中,所有工作節點均掛有攝像頭和GPRS無線傳輸模塊,節點可以有規律的間隔一定時間進行現場拍攝,也可以接受命令,受控制的進行圖片拍攝,然后將所拍攝的圖片由無線模塊經過GPRS網絡傳輸至上位機終端,這里的上位機終端,可以是手機,也可以是電腦端的上位機軟件等,此處,采用電腦端的上位機軟件作為終端。

該方案主要是利用STM32芯片控制攝像頭對現場進行拍攝,然后通過GPRS模塊發送至上位機終端,以便用戶獲取信息。

2 硬件設計

根據需求,采用STM32F103C8T6作為主芯片,該芯片具有高速,抗干擾能力強等優點,也能夠添加其他外設,以便提供更多功能。攝像頭選用帶FIFO的OV7670模塊,在獲取圖片數據時,直接對模塊的數據FIFO存儲器進行讀操作。GPRS模塊選用SIM900A。SIM900A具有標準的AT命令接口,通過串口與芯片連接,二者可以很好進行通信。

本次設計的原理框圖如圖1所示。該系統由四大模塊組成:電源供電模塊、芯片最小系統、GPRS模塊以及攝像頭模塊。芯片最小系統作為該系統的核心模塊,主控芯片扮演著大腦的角色,控制其他模塊的協調運行以及圖片數據流的傳輸;電源供電系統通過轉換芯片得到對應的電壓給各個模塊供電工作;整個系統由攝像頭模塊采集圖片數據,SIM900A模塊發送圖片數據至服務器端。各個模塊具體分析如下:

1) 電源供電模塊:對于一個運行系統來說,電源是一個系統的靈魂,電源不穩定,或者是交流分量過大等都會嚴重影響電路運行的穩定性。通過查閱器件的用戶手冊可知各器件之間的工作電壓不一致,所以器件的供電得分開得到,再考慮到由于使用了開關電源供電,因為開關電源文波較大,首先使用DC-DC模塊TPS5430得到文波較小的5V電源,如圖2所示。再將5V電源分別通過MIC29302WU和AMS1117得到4.1V和3.3V電源,分別給芯片和GPRS模塊供電,這里攝像頭和主控芯片電源一樣,都為3.3V。由于AMS1117的外圍電路較為簡單,所以在此不做贅述。

GPRS模塊的電源為4.1V,由芯片MIC29302WU接上外圍器件得到,其電路圖如圖3所示,其電壓計算公式如式(1)所示。

2) 芯片最小系統:最小系統由STM32F103作為核心芯片,另外加上晶振電路和復位電路。在此不過多贅述。

3) GPRS模塊:該部分實現數據的無線傳輸,部分電路圖如圖4所示,它通過串口UART(PA9與PA10)與主控芯片相連進行通信,硬件上還包含卡座、天線等其他外圍電路。硬件電路主要注意GPRS模塊的供電電源為4.1V,需要經過轉換芯片得到相應的匹配電源才能給模塊供電。主控芯片通過串口發送對應的AT指令,控制GPRS模塊工作、休眠、連接網絡以及發送數據等功能,通過GPRS網絡將采集的圖片發送至服務器端并顯示出來。

4) 攝像頭模塊:攝像頭模塊OV7670兼容IIC接口,通過IIC與芯片連接,主控芯片STM32F103C8T6通過IIC接口控制OV7670進行圖像數據的采集。該攝像頭模塊引出18個引腳,包括電源、數據、時鐘等引腳,在硬件電路連接上主要注意以下兩點:

(1) 攝像頭模塊對時鐘的要求較高,最好是通過芯片輸出一個8M的時鐘提供給模塊;

(2) IIC的data引腳一定要接上拉電阻,也可在芯片引腳配置時,設置成上拉輸入,否則數據傳輸會失敗。

3 軟件設計

3.1 系統軟件設計

在本系統中,SIM900A和OV7670均為模塊化,接下來就只用再做一系列的初始化以及調用相應模塊的函數方法即可。如圖5為軟件實現流程圖。

該系統主要工作模式如下:在連接網絡的情況下,服務器端下發拍照命令,GPRS模塊接收命令,然后通過串口傳遞命令到主控芯片,觸發中斷,然后芯片控制攝像頭拍攝照片,通過IIC采集圖片數據,再由SIM900A將圖片發送至服務器端并將圖片顯示出來。

軟件的核心部分主要包括OV7670的圖片數據采集以及SIM900A無線數據的傳輸,該兩部分均采用模塊化處理,封裝出相應的函數接口,在使用的時候調用對應的接口即可。endprint

3.2 服務器端軟件設計

服務器端軟件可以對外提供網絡接口,SIM900A模塊可以通過GPRS網絡撥號與服務器連接,并通過SIM900A模塊自帶的TCP/IP網絡協議棧完成與服務器之間的圖片數據交互?;谝陨弦?,設計了通信軟件。終端設備連接至服務器,一個服務器可與多個終端設備連接,監控多個終端數據。服務器采用普通Internet上的主機方式,作為TCP服務器端,可從外部訪問,其上運行TCP端口監聽程序,接收來自移動臺的TCP數據包,并向移動臺發送回應數據[4]。

3.3 SIM900A上線流程設計

SIM900A模塊對外提供串口接口,通過3線或者9線串口都能與之通信。微處理器可通過發送AT指令詢問模塊狀態以及控制模塊做出相應操作。軟件編程上,使用狀態機編程的方式實現SIM900A的上線流程,由于編寫的程序過長,在此只說明其上線流程,大致分為以下幾個步驟:(1)進行網絡注冊前的準備工作,包括檢查模塊以及SIM卡是否正常,和查詢SIM卡的信號值,以便進行網絡注冊;(2)進行網絡注冊和設置GPRS業務;(3)設置APN接入點;(4)設置要連接的服務器類型和端口號,進行IP撥號;(5)待連接到遠端服務器成功,并進入透傳模式后,可隨意發送數據。

3.4 OV7670使用設計方法

攝像頭模塊OV7670對外提供了SCCB接口,STM32F103通過該接口與之連接,通過SCCB控制模塊,輸出各種影像數據。本次采用QVGA的圖片數據格式作為輸出格式,即圖片的分辨率為320*240。

根據該攝像頭的使用手冊,其工作的像素時鐘可以高達24Mhz,如果用單片機的IO口直接對數據進行操作,數據會很容易遺漏。然而該模塊提供了數據FIFO,單片機獲取圖片數據,可以通過操作該FIFO數據隊列,即可穩定的對數據進行讀寫,獲取圖片數據便更加方便,這樣一來即需要單片機的IO口需要很高的讀寫速率,也不會占用太多CPU資源??梢哉f,帶FIFO的OV7670模塊大大提高了微處理對圖像數據的收集。此次所使用的攝像頭模塊所帶有的FIFO隊列的容量是 384K 字節,足夠存儲 2 幀 QVGA 的圖像數據。

軟件編程方面,帶FIFO的OV7670模塊的圖片數據處理如下所示:在進行圖片數據采集之前,先對SCCB接口進行時序的配置;然后再對攝像頭模塊相關寄存器進行配置,比如模塊始終、輸出格式等,在配置寄存器時,最好將配置過的寄存器的值通過串口打印出來,確保寄存器配置的正確性;接著根據模塊使用手冊里面的模塊數據讀取時序,獲取模塊數據即可。此時獲取的模塊數據,顯示出來有可能不清楚,所以還需要重新配置攝像頭焦距、分辨率等,調整設置各項參數從而得到清晰的圖片。對于圖片的拍攝流程,處理方式為時間片輪詢和中斷拍照方式,一方面設置定時器時間,時間輪詢到則拍照并將數據上傳至服務器;另一方面,由按鍵控制外部中斷進行拍照。

3.5 圖片數據的處理方式

圖片數據的數據量較大,若在傳輸過程中丟掉數據,會影響整個圖片的顯示。為保證數據傳輸的可靠性,必須進行流控制。在處理圖像數據的傳輸的時候采用了兩種控制方法。1)數據分包法。顧名思義就是將一包數據分開成幾包甚至是十幾包發送。分開的每一包分別加上協議頭與協議尾,再給到串口,寫入GPRS模塊緩沖器,由模塊通過網絡發送。服務器端接收數據包,再將數據整合還原成一整包數據。數據分包法保證了每一分包數據安全不遺漏的傳輸至目的地,雖然花費的時間比較多,但是能更好地保證數據的安全傳輸,能更好地適用于數據量大的數據傳輸。2) 硬件握手法。該方法采用兩個硬件信號RTS/CTS作流控制。當系統工作時,通過控制串口中RTS和CTS兩個硬件信號控制數據流的發送與停止。此次采用數據分包法進行數據的傳輸,硬件握手法在此不作過多贅述。該系統將從攝像頭模塊的FIFO中獲取的數據進行分包,分若干次傳輸給SIM900A,將數據分包傳輸給服務器。

4 結束語

本文主要研究了一種基于GPRS網絡的無線圖片傳輸技術,該圖像無線傳輸系統以ST公司的STM32F103C8T6為硬件平臺,控制攝像頭模塊OV7670進行現場拍照,并控制模塊SIM900A通過GPRS網絡將收集的圖片數據傳輸到用戶終端。該系統能夠滿足人為遠距離控制并準確的得到相關實時圖片信息的要求,成本低, 維護方便,具有廣闊的應用前景。

參考文獻:

[1] 崔波亮, 王耀南, 等. 基于 GPRS 無線傳輸的圖像監控終端實現[J]. 計算機測量與控制, 2008(12):1865-1867.

[2] 趙杰, 蓋志剛, 等. 用于海洋水文數據無線傳輸的 GPRS 模塊設[J]. 氣象水文海洋儀器, 2011(4):49-52.

[3] 潘琢金,李冰,羅振,楊華. 基于 STM32 的 UART - WIFI 模塊的設計與實現[J]. 制造業自動化,2015(07):1270130.

[4] 王祖林,汪文婷. GPRS傳輸靜態圖像系統的設計與實現[J]. 電子應用技術, 2006(4):37-44.

[5] 王娃女. 基于嵌入式Linux的GPRS遠程監控系統研究[D]. 青島:青島大學,2011.

[6] 彭勝民, 周修理, 等. 基于 ARM 的土壤含水率無線傳輸系統設計[J]. 農業機械學報, 2009, 40(S1):241-243.

[7] 王建, 梁振濤,鄭文斌, 劉志軍. STM32 和 OV2640 的嵌入式圖像采集系統設計[J]. 單片機與嵌入式系統應用,2014(09):46-8.

[8] 湯安寧, 吳才聰, 等. 農業移動終端無線數據傳輸技術[J]. 農業機械學報, 2009, 40(增刊):244-247.

[9] SIM900A_AT 命 令 手 冊 _V1.03[EB/OL]. http://www.docin.com/p- 233740459.html.

[10] 孫作雷,童可浚,曾連蓀.基于視覺傳感模塊0V7670的顏色導航智能車設計[J].電子測試,2013(5):102-104.

[11] 劉良, 賴萬昌, 等. 基于 ARM9 的 GPRS 圖像傳輸系統的設計與實現[J]. 計算機工程與設計, 2010, 31(7):1477-1480.

[12] 甘志偉,閆凱.基于SIM900A的無線數據采集卡設計與實現[J]. 通信技術,2013(1):55-58.

[13] 帶FIFO的OV7670模塊使用手冊_圖文_百度文庫[EB/OL]. https://wenku.baidu.com/view./e42aaf663968011ca3009175.html.

[14] 劉嬋媛. 基于物聯網的智能家居系統研究與實現[D]. 北京:北京郵電大學. 2012.endprint

91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合