當前位置:首頁 > 顯示光電 > 顯示光電
[導讀]摘要:設計了基于32位STM32F103VET6微控制器的農田多點圖像傳輸系統(tǒng),重點介紹了其軟件和硬件的設計過程。在Visual C++6.0平臺,運用Windows socket編寫PC端多線程的服務器程序,對農田多個位置的監(jiān)測終端設備進行圖

摘要:設計了基于32位STM32F103VET6微控制器的農田多點圖像傳輸系統(tǒng),重點介紹了其軟件和硬件的設計過程。在Visual C++6.0平臺,運用Windows socket編寫PC端多線程的服務器程序,對農田多個位置的監(jiān)測終端設備進行圖像傳輸、接收和存儲。該系統(tǒng)實現(xiàn)了圖像從監(jiān)測端到PC服務器的傳輸和保存等功能。農田測試結果表明,該系統(tǒng)運行穩(wěn)定,圖像傳輸速度較快。

引言

農田圖像的監(jiān)測和傳輸對于農田管理具有指導意義,其中的農田作物圖像含有的信息量大、形象直觀,對農田合理和高效管理起著重要作用,因此研究該項技術十分必要。傳統(tǒng)的農田作物圖像傳輸往往利用總線結構或以太網(wǎng)網(wǎng)絡等有線方式進行圖像傳輸,光纖常用于遠距離的圖像傳輸,這些有線的圖像傳輸方式都不靈活,而且在許多條件惡劣的地方,由于農田需要監(jiān)控的區(qū)域廣、監(jiān)控的農田作物繁多,需要花費大量人力、物力。隨著圖像處理和移動網(wǎng)絡傳輸技術的快速發(fā)展,無線的圖像傳輸方式得到技術人員的青睞。GPRS網(wǎng)絡具有時刻在線、網(wǎng)絡架構成熟、以流量計費等優(yōu)點,可根據(jù)用戶需要進行農田作物圖像數(shù)據(jù)量間歇地傳輸。SIM900A模塊是面向中國的GPRS模塊,具有雙頻信號。根據(jù)GPRS技術特點,結合農田圖像多監(jiān)測點的需求,研究和設計了基于SIM900A模塊和STM32F103VET6微控制器的農田多點圖像傳輸系統(tǒng),結合網(wǎng)絡套接字通信軟件技術,實現(xiàn)了對農田多點圖像的遠程監(jiān)測和圖片的本地存儲。

1 系統(tǒng)總體設計

多點圖像傳輸系統(tǒng)以STM32微控制器為主控芯片,結合網(wǎng)絡套接字通信軟件技術,實現(xiàn)圖像處理壓縮和遠程傳輸兩大功能。本設計用STM32F103VET6(以下簡稱STM32)芯片控制CMOS圖像傳感器OV2640獲取圖像,OV2640能夠通過硬件電路實現(xiàn)JPEG壓縮算法,在不影響作物觀測效果的前提下減小了圖像數(shù)據(jù)量,為圖像的無線傳輸提供了方便。

圖像傳感器采集模擬信號轉換成相應的數(shù)字量,通過8位并行口發(fā)送給STM32,STM32將數(shù)據(jù)發(fā)送給SIM900A,數(shù)據(jù)經SIM900A打包成TCP/IP數(shù)據(jù)包,然后通過無線網(wǎng)絡運營商的網(wǎng)關服務器,接入Internet,將采集到的圖像數(shù)據(jù)發(fā)送給服務器。本設計利用具有公網(wǎng)固定IP地址的微機作TCP服務器。系統(tǒng)總體結構設計如圖1所示。

 

 

2 監(jiān)控系統(tǒng)硬件設計

通過STM32控制OV2640采集農田圖像,并通過GPRS模塊把數(shù)據(jù)傳輸給服務器,系統(tǒng)硬件電路主要包括以下幾部分:圖像傳感器模塊、微控制器模塊、GPRS通信模塊,電源管理模塊。圖像采集由OV2640傳感器完成,負責采集農田作物的圖像,并將模擬數(shù)據(jù)轉換成數(shù)字量,微控制器通過8位并行數(shù)據(jù)口接收圖像數(shù)據(jù)。GPRS通信模塊負責把微控制器發(fā)送來的圖像數(shù)據(jù)通過天線傳入Internet,電源管理模塊為系統(tǒng)提供穩(wěn)定的電源。

2.1 微控制器模塊

STM32F103VET6是高性能、低功耗的32位微控制器,8 MHz的外部晶振經倍頻后時鐘頻率可達到72MHz,豐富的外設資源、大容量的FLASH和SRAM存儲器可以滿足系統(tǒng)設計要求,其較強的運算能力可以保證大批量圖像數(shù)據(jù)快速傳輸和處理。SPI、UART等豐富的串行接口使得控制器與外部芯片數(shù)據(jù)交換更加自由靈活。STM32接口的PC0~PC7作為OV2640并行數(shù)據(jù)交換口,PA9和PA10組成的UART1作為控制OV2640的信號口使用,PA2和PA3組成的UART2與SIM900A進行串口通信。

2.2 OV2640圖像傳感器工作原理

為了采集到清晰的農田作物圖像,Omnivision公司的OV2640型圖像傳感器最高圖片輸出分辨率為1600×1200。此傳感器內部集成了JPEG壓縮電路,可以通過編程實現(xiàn)原始的200萬像素圖片的JPEG壓縮,使得圖像數(shù)據(jù)量大量減少,便于GPRS網(wǎng)絡傳輸,功耗也隨之降低。

STM32通過PC0~PC7端口與OV2640的8位數(shù)據(jù)線D0~D7通信,行同步信號HREF、像素同步信號PCLK,以及場同步信號VSYNC和SCCB總線的SDA和SCL信號,用于對傳感器設備進行圖像采集的過程控制。圖像傳感器接口電路設計如圖2所示,圖2中AVDD2.8V和DOVDD2.8V由3.3V電源通過LM1117—2.85芯片得到;AVDD2.8V與DOVDD2.8V通過0 Ω電阻相連,此方法減少了相互干擾,XCLK由24 MHz的有源晶振輸出提供信號;DVDD1.5V由LM1117—1.5輸出得到74LVC1G00是與非門電路。

 

 

HREF是高電平有效,場同步信號VSYNC是低電平有效。當引腳VSYNC為高電平時,表示一幀數(shù)據(jù)已經準備好;當由高電平變成低電平時,表明開始傳輸一幀圖像數(shù)據(jù)。為了得到有效的像素數(shù)據(jù),需要兩個中斷信號,捕獲場同步VSYNC的信號送入中斷引腳PB8,捕獲HREF和PCLK的與非信號輸出到PB13中斷引腳,使得在行信號無效時不輸出像素同步信號,用其輸出信號作為像素數(shù)據(jù)同步。OV2640的工作模式是由內部寄存器確定的,其與外部的接口為SCCB總線,STM32通過PA9和PA10引腳模擬SCCB總線時序讀寫OV2640寄存器,設置其工作模式,本設計設置了輸出圖像的分辨率、亮度、格式等。STM32工作在主模式,對工作在從模式的OV2640內部的寄存器進行配置,配置完成后經一段圖像采集時間后,OV2640即開始按照配置的模式工作。本設計圖像輸出格式為JPG,分辨率為640×480。

2.3 圖像處理軟件設計

圖像處理程序負責OV2640初始化配置,以便實現(xiàn)圖像的采集功能。通過檢測場同步信號VSYNC判斷一幀圖像的起始位置,程序中設計128個內存單元,可以使系統(tǒng)運行流暢。中斷程序檢測像素同步信號PCLK來采集圖像數(shù)據(jù),當PCLK為下降沿時,讀取D0~D7口數(shù)據(jù),并存入內存,等待發(fā)送信號的到來,這就完成了圖像的采集與發(fā)送。

圖像采集控制程序是基于OV2640指令集編寫的。init()函數(shù)用于設置圖片大小、通信波特率和圖片壓縮率等圖片參數(shù),初始化的時候務必關閉串口1,start()函數(shù)用于發(fā)出拍照命令,get()函數(shù)完成獲取圖片信息的功能。

2.4 GPRS通信模塊

SIM900A是2頻的GSM/GPRS模塊,工作頻段為900 MHz或1800 MHz,采用SMT封裝,SIM900A型針對中國地區(qū)。SIM900A性能穩(wěn)定、體積小、支持標準和擴展的AT指令。SIM900A還支持GPRS class8/class10和CS-1、CS-2、CS-3和CS-4的GPRS編碼格式,可以低功耗實現(xiàn)語音、SMS、數(shù)據(jù)的傳輸。SIM900A和STM32之間的通信主要是通過端口RXD與STM32上的UART2~TXD,TXD與UART2~RXD之間的數(shù)據(jù)交換來完成。其中,SIM900A上的UART2~TXD是發(fā)送串行數(shù)據(jù)口,UART2~RXD是接收數(shù)據(jù)口。

STM32通過AT指令和SIM900A模塊進行通信,這些指令是以普通字符串的形式傳輸?shù)?。每個AT命令執(zhí)行后,模塊都會反饋狀態(tài)信息,表明命令執(zhí)行的結果,方便程序員了解程序的執(zhí)行情況,要用到AT擴展指令中的TCP/IP型。

2.5 GPRS通信模塊與SIM卡的連接

SIM卡具有5個引腳,分別為SIM卡時鐘信號、電源引腳、數(shù)據(jù)引腳、狀態(tài)引腳和復位引腳。SIM卡的電源電壓為1.8 V,SIM900A模塊對其供電。

2.6 電源管理

STM32的典型供電電壓是3.3 V,本設計采用9 V電源供電,要提供9~3.3 V電壓轉換,以LM2576-ADJ芯片為核心的電源電路可為STM32提供3.3 V的電壓。LM2576-ADJ最大可提供2 A的電流。

SIM900A模塊典型供電電壓值為4 V,天線發(fā)送信號時的瞬時最大電流可達到2 A左右,電流增大會使SIM900A電壓突降,影響系統(tǒng)穩(wěn)定性和發(fā)射功率。采用低壓差的MIC29302電源芯片和電源引腳并接大容量電容可以解決此問題,回差電壓低于0.3 V,可提供高達2.8 A左右的電流,能夠滿足SIM900A峰值電流2 A的要求,9 V電源符合其輸入電壓范圍。

3 監(jiān)測端圖像發(fā)送軟件設計

在Keil uVision4.12集成環(huán)境下,開發(fā)了監(jiān)測端圖像發(fā)送程序,首先進行各模塊的初始化工作,使能STM32相關中斷,接著STM32控制OV2640拍照和圖片的壓縮,壓縮完成后,接著將流式數(shù)據(jù)通過8位并口存入SRAM為10 428字節(jié)的數(shù)組中。設置串口2的波特率,并將流式數(shù)據(jù)通過串口2發(fā)送至SIM900A,STM32同時控制SIM900A通過GPRS網(wǎng)絡連接TCP服務器,連接過程中首先初始化網(wǎng)絡,即激活移動場景,接著查詢附著是否成功,否則手動附著,并向Internet上具有設定IP地址的服務器通過AT+CIPSTART指令申請建立連接,將AT+CIPSTART指令返回的IP地址和端口號存放到一個buff中,然后將這個buff里的內容寫入到串口2中。如果之后能夠讀取到返回值“CONNECT OK”,就表示TCP連接已經成功建立,失敗則收到“CONNECT FAIL”;TCP連接建立成功后,設置協(xié)議為TCP,SIM900A請求發(fā)送。

接著使用AT+CIPSEND命令發(fā)送信息,監(jiān)測端將圖片分解成若干個數(shù)據(jù)包,按照GPRS編碼格式組建數(shù)據(jù)包,將數(shù)據(jù)包發(fā)送到服務器,需要先發(fā)送數(shù)據(jù)包頭,為了保證圖片傳送的完整性,每次在發(fā)送下一個數(shù)據(jù)包之前,需等待上個包發(fā)送成功的回復,若發(fā)送成功返回指令“OK”,否則返回“FAIL”,系統(tǒng)重新發(fā)送,以確保數(shù)據(jù)包被成功交付。

最后等圖片信息包發(fā)送完畢后,發(fā)送AT+CIP-CLOSE指令關閉連接。此AT命令沒有返回值,直接將該指令寫到串口2中,如果檢測到“CLOSE OK”信息,就表示TCP連接已經被關閉。

服務器端的監(jiān)聽口接收TCP數(shù)據(jù)包,由于采用多線程設計,多個點的圖像監(jiān)測設備可以同時發(fā)送圖像數(shù)據(jù)到服務器。按程序流程給出進行TCP傳輸時用到的AT擴展指令和相關緩存區(qū)定義。

 

 

4 多線程的服務器端軟件設計

基于Visual C++6.0平臺開發(fā)了服務器端對話框形式的程序界面,服務器端程序設計主要運用C/S架構的套接字,服務器端程序主要包括3大部分:數(shù)據(jù)流接收、數(shù)據(jù)文件處理并顯示和圖片的硬盤存儲。主線程和用戶子線程分別承擔不同的任務:主線程負責用戶子線程的創(chuàng)建、界面事件的響應和圖片文件存儲等工作。監(jiān)測子線程主要完成發(fā)送開始采集命令和與監(jiān)測端進行通信的功能,接收完圖像信息后在界面窗口中顯示。各線程運行時相互獨立,因此每個監(jiān)測端與服務器的數(shù)據(jù)傳輸互不影響。為了防止出現(xiàn)GPRS網(wǎng)絡連接中斷的情況,程序中采用了斷點續(xù)傳的補救方法,保證了數(shù)據(jù)傳輸過程的準確和可靠性。

在單個監(jiān)測子線程設計中,首先創(chuàng)建監(jiān)聽的socket(),用于接收來自網(wǎng)絡端口的數(shù)據(jù)流,并且分配足夠大的緩沖區(qū)用于存放接收到的數(shù)據(jù)包。在圖片接收過程中,服務器接收的是分包數(shù)據(jù)流,根據(jù)數(shù)據(jù)包的包頭進行數(shù)據(jù)包的排列,并使用校驗位進行數(shù)據(jù)包校驗。當數(shù)據(jù)包接收完成后校驗完好性,然后將數(shù)據(jù)包保存到一個文件中,最后調用OpenCV中的庫函數(shù)完成對生成的文件進行解碼顯示。在硬盤上按照系統(tǒng)要求的文件名建立3個文件夾,即可自動存入3個不同地點的農田圖片。監(jiān)測端程序如圖3所示,服務器端單個監(jiān)測子線程的工作流程如圖4所示。

 

 

5 系統(tǒng)測試與分析

本設計通過SCCB總線設置OV2640的圖像大小為JPEG壓縮格式,即分辨率為640×480,經過JPEG壓縮后數(shù)據(jù)量從185 KB降低至17 KB左右。樣機制作完成后經過多次測試,傳輸速率可達10 Kbps,傳輸中存在斷點情況,續(xù)傳功能發(fā)揮了作用。圖像文件發(fā)送到服務器端時間測試結果如表1所列。

 

 

結語

本文設計的基于STM32的GPRS農田多點圖像傳輸系統(tǒng),具有體積小、監(jiān)控范圍大等優(yōu)點,克服了現(xiàn)場布線成本高、環(huán)境惡劣等難題,為農田圖像監(jiān)測和傳輸提出了一種解決方案。由于GPRS通信流量資費、速度和網(wǎng)絡質量的限制,系統(tǒng)傳輸?shù)膱D像分辨率不是很高。隨著4G網(wǎng)絡技術的發(fā)展,該系統(tǒng)的架構很容易升級到4G網(wǎng)絡進行遠程的語音、高清圖像傳輸。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉