本文摘要:摘要:傳統(tǒng)地面無(wú)線通信網(wǎng)絡(luò)在地理環(huán)境惡劣的海島、沙漠、高山等人煙稀少地區(qū)存在覆蓋盲區(qū),且易受到地質(zhì)災(zāi)害等因素的影響。北斗衛(wèi)星通信系統(tǒng)在北斗衛(wèi)星覆蓋范圍內(nèi)具有全天候無(wú)盲區(qū)短報(bào)文通信功能,利用北斗衛(wèi)星短報(bào)文通信功能和RS485-ModBus協(xié)議,設(shè)計(jì)采用
摘要:傳統(tǒng)地面無(wú)線通信網(wǎng)絡(luò)在地理環(huán)境惡劣的海島、沙漠、高山等人煙稀少地區(qū)存在覆蓋盲區(qū),且易受到地質(zhì)災(zāi)害等因素的影響。北斗衛(wèi)星通信系統(tǒng)在北斗衛(wèi)星覆蓋范圍內(nèi)具有全天候無(wú)盲區(qū)短報(bào)文通信功能,利用北斗衛(wèi)星短報(bào)文通信功能和RS485-ModBus協(xié)議,設(shè)計(jì)采用太陽(yáng)能和蓄電池供電的無(wú)人氣象站,與北斗/GSM通信服務(wù)網(wǎng)關(guān)搭配使用,在終端用戶側(cè)實(shí)現(xiàn)了通過(guò)短信發(fā)送特定字符獲取相應(yīng)的氣象數(shù)據(jù)的功能,能夠適應(yīng)對(duì)高山、沙漠、海島等無(wú)人區(qū)域氣象數(shù)據(jù)進(jìn)行實(shí)時(shí)觀測(cè)采集的需要。
關(guān)鍵詞:北斗;短報(bào)文通信;RS485標(biāo)準(zhǔn);ModBus協(xié)議;無(wú)人氣象站;數(shù)據(jù)采集
0引言
氣象預(yù)報(bào)對(duì)當(dāng)今人們合理調(diào)控生產(chǎn)生活起到重要作用,正確的氣象預(yù)報(bào)依賴于長(zhǎng)期、準(zhǔn)確、實(shí)時(shí)的氣象觀測(cè)數(shù)據(jù)。從20世紀(jì)90年代后期開始,我國(guó)大力加強(qiáng)地面氣象觀測(cè)業(yè)務(wù)能力建設(shè),已初步建立了與國(guó)民經(jīng)濟(jì)建設(shè)發(fā)展相適應(yīng)的觀測(cè)網(wǎng)。但是在沙漠、高山、海島等環(huán)境條件惡劣、人煙稀少的地區(qū),交通、供電、通信等基礎(chǔ)設(shè)施薄弱,給人工值守和依賴地面通信網(wǎng)絡(luò)的氣象觀測(cè)站點(diǎn)帶來(lái)了巨大的建設(shè)和運(yùn)行成本,然而獲取完整翔實(shí)的水文氣象資料是開展相關(guān)科研工作和氣象服務(wù)決策的重要基礎(chǔ)。
氣象方向論文范例:氣象不確定下的船舶避臺(tái)路徑優(yōu)化
近幾十年來(lái),隨著電子信息和計(jì)算機(jī)技術(shù)的發(fā)展,逐漸出現(xiàn)了無(wú)人值守、無(wú)需經(jīng)常維護(hù)的自動(dòng)無(wú)人氣象站,解決了傳統(tǒng)氣象站中,部分氣象站人力成本高、難以維護(hù)和數(shù)據(jù)采集困難的問(wèn)題。自動(dòng)氣象站的應(yīng)用和普及,可以很大程度地增加氣象數(shù)據(jù)采集時(shí)空密度,有效地提高氣象觀測(cè)效果以及可靠性,滿足觀測(cè)可比性等方面的要求,減少氣象觀測(cè)站的運(yùn)營(yíng)費(fèi)用[1]。
自動(dòng)氣象觀測(cè)站按照通信方式可以分為兩類,即有線遙測(cè)氣象站和無(wú)線遙測(cè)氣象站[2]。有線遙測(cè)氣象站是傳統(tǒng)的氣象監(jiān)測(cè)方式,感應(yīng)部分和接收處理部分相隔幾十米或者幾千米,其間用有線通信電路傳輸。傳感器將數(shù)據(jù)通過(guò)數(shù)據(jù)線傳輸?shù)絇C機(jī)上。這種方式適合于有人值守區(qū)。無(wú)線遙測(cè)氣象站大部分采用物聯(lián)網(wǎng)模式,通過(guò)GPRS數(shù)據(jù)傳輸方式,將數(shù)據(jù)上傳至網(wǎng)絡(luò)平臺(tái),凡是有網(wǎng)絡(luò)的地方,都可以隨時(shí)登錄平臺(tái),查看氣象站現(xiàn)場(chǎng)數(shù)據(jù),且有短信預(yù)警提示的功能。這種又被稱為無(wú)人氣象站。在公共移動(dòng)通信網(wǎng)尚未完全覆蓋的人煙稀少地區(qū),使用GPRS體制工作的氣象站因網(wǎng)絡(luò)覆蓋盲區(qū)的問(wèn)題,難以滿足氣象傳輸要求。
因此,有必要使用可靠、無(wú)網(wǎng)絡(luò)覆蓋盲區(qū)的北斗短報(bào)文通信技術(shù)作為氣象站的信息通路[3],以提高氣象站的適用性和可靠性。針對(duì)以上現(xiàn)狀,本文設(shè)計(jì)了基于北斗的無(wú)人值守氣象站。使用太陽(yáng)能蓄電池作為電源,氣象站傳感器和主控單元之間使用RS485-ModBus協(xié)議,利用北斗系統(tǒng)的短報(bào)文通信功能與北斗/GSM通信服務(wù)網(wǎng)關(guān)結(jié)合使用,在終端用戶側(cè)可實(shí)現(xiàn)隨時(shí)通過(guò)手機(jī)發(fā)送特定字符獲取遠(yuǎn)端水文氣象數(shù)據(jù)服務(wù)[4],技術(shù)人員也可以遠(yuǎn)程隨時(shí)查詢氣象水文站的工作狀態(tài),便于及時(shí)進(jìn)行故障處置。
1總體功能設(shè)計(jì)
無(wú)人氣象站承擔(dān)在惡劣環(huán)境下的氣象觀測(cè)任務(wù),因此設(shè)備應(yīng)具有以下指標(biāo):(1)通信質(zhì)量穩(wěn)定、無(wú)通信盲區(qū)、丟包少、可以實(shí)現(xiàn)雙向通信、接收用戶指令;(2)設(shè)備應(yīng)該具有寬電壓輸入、供電設(shè)備輸出電壓穩(wěn)定;(3)通信延遲小、通信帶寬大、傳感器設(shè)備工作可靠;(4)兩種幀協(xié)議的接收解析與封裝發(fā)送[5]。依據(jù)要求通信質(zhì)量必須穩(wěn)定,而GPRS/GSM存在通信盲區(qū)及信號(hào)不穩(wěn)定等因素,采用北斗衛(wèi)星通信的數(shù)據(jù)傳輸模式,保證數(shù)據(jù)可靠上傳。
北斗衛(wèi)星通信系統(tǒng)覆蓋范圍廣,沒(méi)有通信盲區(qū),信息加密傳輸安全。“北斗三號(hào)”區(qū)域短報(bào)文通信服務(wù),服務(wù)容量提高1000萬(wàn)次/h以上,單次通信能力[6]1000漢字(14000bit),短報(bào)文通信傳輸時(shí)延[7]約3.8s。本設(shè)計(jì)中報(bào)文長(zhǎng)度不會(huì)超過(guò)200個(gè)漢字,數(shù)據(jù)采集間隔在分鐘級(jí),因此,“北斗三號(hào)”區(qū)域短報(bào)文服務(wù)完全可以滿足重點(diǎn)服務(wù)區(qū)內(nèi)數(shù)據(jù)傳輸對(duì)通信容量和實(shí)時(shí)性的要求。由于戶外供電不便,設(shè)計(jì)上采用太陽(yáng)能蓄電池供電方式,保證在陰雨天氣下,系統(tǒng)連續(xù)工作3天以上。
2系統(tǒng)硬件設(shè)計(jì)
2.1硬件組成
系統(tǒng)硬件主要由北斗模塊及天線、氣象傳感器、單片機(jī)模塊和太陽(yáng)能電源四部分組成。綜合衛(wèi)星報(bào)文處理速度和接口資源的考慮,本設(shè)計(jì)采用基于Cortex-M4內(nèi)核的微控制器STM32F429IGT6作為主控芯片,進(jìn)行通信協(xié)議解析與封裝、數(shù)據(jù)傳輸與控制,利用USART串口和RS485接口實(shí)現(xiàn)主控單元與各個(gè)模塊的數(shù)據(jù)傳輸,底板電源使用MP2482DN電源管理芯片,支持6~12V直流電壓輸入,低壓差線性穩(wěn)壓器1086-3.3控制電路輸入電壓為3.3V,3.3V過(guò)流保護(hù)防止底板電流過(guò)大。為了防止使用過(guò)程中靜電以及瞬時(shí)大電流對(duì)芯片的影響,在重要芯片、接口、復(fù)位電路等部位采用TVS管和ESD管保護(hù)。北斗板卡用于與遠(yuǎn)端的各種水文氣象自動(dòng)觀測(cè)設(shè)備進(jìn)行短報(bào)文通信。
本設(shè)計(jì)采用海聊科技的T2北斗短報(bào)文板卡,此板卡兼容北斗用戶終端通用數(shù)據(jù)接口2.1和4.0協(xié)議,集RNSS,RDSS為一體,具有全天候的定位導(dǎo)航和雙向報(bào)文通信功能,工作溫度-40~85℃,平均故障間隔≥5000h,成功率≥99%,模塊待機(jī)功率約為0.65W,發(fā)射瞬態(tài)功率約為15W,支持7~18V直流供電,使用三級(jí)民用北斗卡,通信頻次60s。氣象站要求傳感器可靠性好、使用壽命長(zhǎng)、精度高、傳輸信號(hào)穩(wěn)定。本設(shè)計(jì)采用PR-300BYH-M型系列氣象傳感器。數(shù)據(jù)傳輸采用標(biāo)準(zhǔn)ModBus-RTU通信協(xié)議、RS485標(biāo)準(zhǔn),通信距離最大可達(dá)2000m,可以實(shí)現(xiàn)溫濕度、大氣壓力、光照度的測(cè)量。
考慮到無(wú)人氣象站在戶外工作,因此使用太陽(yáng)能電池板作為氣象站的電源。陽(yáng)光充足的條件下保持設(shè)備運(yùn)行并給蓄電池充電,蓄電池充電時(shí)間8~16h。在無(wú)光狀態(tài)下使用蓄 電池內(nèi)的電能,蓄電池最大輸出可達(dá)到12V/5A,功率60W,可以滿足使用要求,電池容量20A·h。RD0538T1模塊發(fā)射瞬間功率小于15W,待機(jī)功率小于0.65W,發(fā)射瞬間持續(xù)時(shí)間小于0.3s。
若每分鐘發(fā)射一條報(bào)文,則模塊平均功率為(15/60)×0.3+0.65=0.725W,氣象站百葉窗的功率為0.8W,主控單元功率小于1W,則在無(wú)光狀態(tài)下,氣象站可以連續(xù)運(yùn)行(12×20)/(0.725+0.8+1)=95h,實(shí)現(xiàn)了無(wú)人氣象站不斷電運(yùn)行。整個(gè)供電系統(tǒng)通過(guò)太陽(yáng)能控制電路來(lái)控制蓄電池的充放電,主要功能是在夜間電池板電壓輸出為0時(shí),防止電池中的電能回流到電池板中,此外它在防止過(guò)度充電方面同樣發(fā)揮著關(guān)鍵作用。使用FP5139芯片和Π型濾波電路,控制北斗端電壓為恒定值,防止電壓變化過(guò)大而損壞RD芯片。
2.2系統(tǒng)硬件連接關(guān)系
傳感器的RS485A/B與單片機(jī)的RS485A/B分別對(duì)應(yīng)連接,主控底板中RS485接口部分采用SP3485E芯片,兩線制RS485是一種半雙工方式,所以需要切換收發(fā)狀態(tài),用PB8引腳的高低電平來(lái)控制接收和發(fā)送。當(dāng)PB8輸出低電平的時(shí)候,控制主控單元RS485接口為接收狀態(tài),當(dāng)PB8為高電平的時(shí)候,控制主控單元RS485接口為發(fā)送狀態(tài)。單片機(jī)內(nèi)部連接RS485的引腳分別是PD5,PD6,PD5是發(fā)送引腳,PD6是接收引腳。
3軟件設(shè)計(jì)
3.1功能分析
(1)主控單元作為主機(jī)與氣象站傳感器進(jìn)行通信,使用ModBus-RTU協(xié)議可以獲取溫濕度、大氣壓力、光照度等信息。
(2)RDSS數(shù)據(jù)幀的接收解析與封裝發(fā)送。用戶向氣象站北斗端發(fā)送查詢命令,無(wú)人氣象站北斗天線接收到的信號(hào)經(jīng)過(guò)模塊內(nèi)部的處理,轉(zhuǎn)換成串口數(shù)據(jù)并輸出到主控單元。原始串口數(shù)據(jù)經(jīng)過(guò)幀協(xié)議解析后,得到用戶數(shù)據(jù)。識(shí)別提取其中的特定命令后,主控單元做出響應(yīng)通過(guò)RS485總線查詢對(duì)應(yīng)寄存器的數(shù)據(jù)。再封裝成協(xié)議幀輸出到串口,氣象站北斗端將得到的串口數(shù)據(jù)經(jīng)過(guò)內(nèi)部信號(hào)處理后,通過(guò)天線發(fā)射出去,完成整個(gè)工作過(guò)程。
3.2系統(tǒng)軟件模塊設(shè)計(jì)
3.2.1總體設(shè)計(jì)方案
總體設(shè)計(jì)程序分為初始化部分、控制傳感器部分、控制北斗部分。初始化部分主要進(jìn)行北斗、RS485通信使用的USART外設(shè)、引腳的初始化、系統(tǒng)時(shí)鐘的使能以及北斗模塊的自檢。這一部分的軟件編寫圍繞各種寄存器的操作以及北斗短報(bào)文協(xié)議來(lái)展開。初始化成功之后輸入目標(biāo)的北斗號(hào)碼,為了提高程序的效率,在主函數(shù)中設(shè)置兩層嵌套循環(huán),第一層循環(huán)是判斷北斗信號(hào)強(qiáng)度,直到滿足通信條件為止,第二層循環(huán)是主要的接收和發(fā)送代碼、數(shù)據(jù)處理代碼等。
進(jìn)入到第二層后,不會(huì)返回第一層。一二層之間入口是判斷北斗接收置位情況。對(duì)北斗報(bào)文進(jìn)行解析與遍歷,判斷是否存在特定的字符。程序分支執(zhí)行北斗定位申請(qǐng)和ModBus問(wèn)詢幀發(fā)送函數(shù),處理從機(jī)發(fā)送過(guò)來(lái)的應(yīng)答幀后,提取寄存器中氣象數(shù)據(jù)以及DWR語(yǔ)句中的經(jīng)緯度、時(shí)間等信息,經(jīng)過(guò)字符串的拼接整合與轉(zhuǎn)換格式,通過(guò)北斗發(fā)送函數(shù),最后回到判斷北斗接收置位處。
3.2.2單片機(jī)控制傳感器部分
STM32控制氣象站百葉窗,初始化RS485通信使用的USART外設(shè)及相關(guān)引腳。編寫控制SP3485E芯片進(jìn)行收發(fā)數(shù)據(jù)的函數(shù),根據(jù)ModBus通信協(xié)議編寫收發(fā)的數(shù)據(jù)幀。ModBus協(xié)議是基于RS485物理層來(lái)實(shí)現(xiàn)的,在RS485通信中信號(hào)頻率越高,越容易產(chǎn)生反射波干擾。通常傳輸速率在1200~19200b/s之間選取。
通信距離1km以內(nèi),從通信效率、節(jié)點(diǎn)數(shù)、通信距離[8]等綜合考慮可選用4800b/s;通信距離1km以上時(shí),應(yīng)考慮通過(guò)增加中繼模塊或降低速率的方法提高數(shù)據(jù)傳輸可靠性。綜合可靠性和有效性,本文采用9600b/s作為RS485接口的速率。STM32作為主機(jī)實(shí)現(xiàn)ModBus協(xié)議的核心在于對(duì)數(shù)據(jù)幀結(jié)束的判斷。ModBus協(xié)議沒(méi)有停止位,規(guī)定當(dāng)數(shù)據(jù)之間間隔大于3.5個(gè)字節(jié)的時(shí)間時(shí),代表一個(gè)數(shù)據(jù)幀發(fā)送或者接收的完成。
那么延遲時(shí)間大于(1/9600)×8×3.5≈2.92ms時(shí),即代表一個(gè)數(shù)據(jù)幀的結(jié)束,考慮到硬件的延遲,定義時(shí)間大于4ms時(shí)數(shù)據(jù)幀結(jié)束。因此,初始化定時(shí)器的時(shí)間為4ms,開始處于關(guān)閉狀態(tài)。串口接收中斷函數(shù)中設(shè)置定時(shí)器使能和清0代碼,定時(shí)器溢出中斷函數(shù)中設(shè)置定時(shí)器使能和接收完成置位代碼。在進(jìn)行串口初始化后,使RS485常態(tài)處于接收態(tài),中斷函數(shù)接收到第一個(gè)字節(jié)后,開啟計(jì)時(shí)器,在不發(fā)生溢出的情況下,每接收一個(gè)字節(jié)都將定時(shí)器清0。當(dāng)定時(shí)器發(fā)生溢出中斷時(shí),表明時(shí)間間隔大于4ms,即一幀接收完成,ModBus接收標(biāo)志位置位,關(guān)閉定時(shí)器用于下一次幀停止的判斷。
4測(cè)試過(guò)程
首先是驗(yàn)證單片機(jī)發(fā)送的北斗報(bào)文格式是否正確以及驗(yàn)證氣象站工作是否正常,采用232轉(zhuǎn)USB線連接到上位機(jī)串口7上,模擬單片機(jī)接收到北斗報(bào)文過(guò)程和數(shù)據(jù)回傳的過(guò)程。串口7(模擬用戶北斗端)發(fā)送北斗報(bào)文數(shù)據(jù)‘$BDTXR,0247716,1,2,A4424331323350*34\r\n’。其中含有特定字符‘P’,用于獲取大氣壓力值。
單片機(jī)與氣象站之間通信正常,得到大氣壓力的值是97.7Pa。串口7(北斗)收到報(bào)文數(shù)據(jù)段B4F3C6F8D1B9C1A6CAC73A39372E37205061,經(jīng)過(guò)gb2312解碼之后得到字符串:大氣壓力是97.7Pa,與串口4顯示的傳感器的數(shù)值相同。第二階段,連接好設(shè)備之后,將北斗天線朝南無(wú)遮擋放置,進(jìn)行調(diào)試,輸入氣象數(shù)據(jù)接收端的北斗卡號(hào),進(jìn)行北斗強(qiáng)度測(cè)試,若強(qiáng)度大于等于3,可以實(shí)現(xiàn)通信。利用北斗海聊公司的北斗短報(bào)文入網(wǎng)服務(wù),實(shí)現(xiàn)只有1臺(tái)北斗設(shè)備情況下報(bào)文的發(fā)送和接收(經(jīng)過(guò)上百條實(shí)際測(cè)試該平臺(tái)夏季對(duì)于長(zhǎng)春地區(qū)在16:00以后發(fā)送成功率較高)。
5結(jié)語(yǔ)
本文根據(jù)現(xiàn)有的水文氣象觀測(cè)數(shù)據(jù)傳輸?shù)默F(xiàn)實(shí)需求和北斗發(fā)展現(xiàn)狀論述了基于北斗的無(wú)人值守氣象站的設(shè)計(jì),通過(guò)串口調(diào)試和仿真測(cè)試,實(shí)現(xiàn)了氣象數(shù)據(jù)的發(fā)送和北斗報(bào)文的接收。設(shè)計(jì)的無(wú)人氣象站能夠穩(wěn)定、安全可靠地傳輸信息,具有不受距離、地域限制,通信費(fèi)用低,節(jié)省人力的優(yōu)點(diǎn),特別適合在偏遠(yuǎn)等普通信號(hào)無(wú)法覆蓋的地區(qū)的氣象觀測(cè),與目前建成的基于GPRS網(wǎng)絡(luò)的自動(dòng)氣象站互為補(bǔ)充,對(duì)于掌握我國(guó)全域氣象數(shù)據(jù)具有重要意義。
參考文獻(xiàn):
[1]馬婧舒.基于嵌入式技術(shù)的自動(dòng)氣象信息系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].濟(jì)南:山東大學(xué),2018.
[2]孟憲偉,范曉東.北斗衛(wèi)星通信在自動(dòng)氣象站數(shù)據(jù)傳輸中的應(yīng)用[J].衛(wèi)星應(yīng)用,2014,5(3):32-34.
[3]傅家亮.北斗衛(wèi)星下的海洋水文實(shí)時(shí)監(jiān)測(cè)系統(tǒng)分析[J].通訊世界,2019,26(1):280-281.
[4]孫琦,傅軍,賀偉,等.無(wú)人水文氣象觀測(cè)設(shè)備北斗/GSM互聯(lián)服務(wù)網(wǎng)關(guān)設(shè)計(jì)[J].工業(yè)控制計(jì)算機(jī),2020,33(6):70-72.
[5]柯秋立,蘇凱雄.北斗通信終端軟件的設(shè)計(jì)與實(shí)現(xiàn)[J].微型機(jī)與應(yīng)用,2017,36(10):15-17.
[6]中國(guó)衛(wèi)星導(dǎo)航系統(tǒng)管理辦公室.北斗衛(wèi)星導(dǎo)航系統(tǒng)發(fā)展報(bào)告(4.0版)中文版[R].北京:[s.n.],2019:7-8.
作者:孫琦,傅軍
轉(zhuǎn)載請(qǐng)注明來(lái)自發(fā)表學(xué)術(shù)論文網(wǎng):http:///dzlw/26845.html