• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于無線分包傳輸的氣象站固件無感升級方法

      2020-02-27 12:33:58黃飛龍譚晗凌陳冰懷
      計算機測量與控制 2020年1期
      關鍵詞:固件氣象站采集器

      黃飛龍, 譚晗凌, 陳冰懷

      (廣東省氣象探測數據中心, 廣州 510080)

      0 引言

      當前地面氣象觀測業(yè)務中使用的自動氣象站可以觀測多種氣象要素,包括風速、風向、氣溫、相對濕度、雨量、大氣壓強、地表溫度、淺層地溫、深層地溫、蒸發(fā)量、大氣能見度等等。自動氣象站多在野外安裝并長期運行,每分鐘將觀測數據通過無線網絡傳輸至監(jiān)控中心服務器,實現(xiàn)區(qū)域、全省乃至全國的自動站觀測網氣象數據的實時觀測。隨著現(xiàn)代化技術迅速發(fā)展,對氣象觀測要素的數量提出更多的要求,同時對數據處理和數據質量控制提出更高的要求。在設備的運行壽命期間內,已經安裝運行的自動氣象站必須適應業(yè)務和需求的變化,使本身的數據輸出格式、數據統(tǒng)計方法和質控方法與不斷更新的觀測業(yè)務規(guī)范和標準要求相一致,滿足現(xiàn)代化發(fā)展的需求。在大多數情況下,自動氣象站升級嵌入式固件代碼即可滿足新標準和新算法提出的要求。

      目前,國內在用的自動氣象站有兩種類型,一種是以單片機為核心的舊型號自動氣象站,這種氣象站功能較弱,只能實現(xiàn)簡單的數據采集功能,從硬件資源上就不具備在線升級的能力,或者難以設計通用的方法[1],固件需要更新的時候實際上就是更換采集器,或者將采集器打開,使用專用的燒錄儀器寫入嵌入式代碼。另一種是以32位微系統(tǒng)為核心的新一代自動氣象站,功能較為強大,MCU支持在線編程技術(IAP),并具備所需的代碼存儲空間、寄存器等硬件資源。另一方面,嵌入式在線升級技術的研究以及不同領域的應用也日益成熟。方兵兵以STM32F103芯片為對象設計了嵌入式軟件遠程升級系統(tǒng)并解決了服務器與客戶端之間的增量文件傳輸[2],唐鵬程、康燕萍等詳細介紹了帶有IAP技術的單片機固件在線升級方法[3-4],由于嵌入式設備在不同的工業(yè)網絡中使用,在線升級方案也各有優(yōu)點:例如通過GPRS連接的UV LED固件升級考慮了CRC校驗和流量壓縮問題[5],通過CAN總線連接的節(jié)點設備升級快速可靠[6],基于電力線載波傳輸的載波路由升級方案成本低廉[7],而基于有線以太網連接的方案則較為可靠和高效[8]。近年物聯(lián)網的發(fā)展將聯(lián)網設備的在線升級變成一種必備的功能[9]。

      新一代自動氣象站功能較為強大,也在在線升級方面作了一些探索,可以在設備重啟的時候接收并更新固件[10-11],但是需要使用筆記本電腦與設備連接,對于分布于城鄉(xiāng)、高山和海濱不同地形和不同氣候環(huán)境的無人值守區(qū)域自動氣象站來說,現(xiàn)場升級的代價高昂?;跓o線網絡,在不影響設備正常數據采集和傳輸的前提下實現(xiàn)氣象站主采集器固件自動升級,具有較高的實用價值。

      1 組網升級原理

      目前自動氣象站都是通過無線公眾網絡組網,如圖1所示,自動氣象站采用RS232協(xié)議串口與內含SIM卡的無線通信模塊連接,每分鐘把最新的氣象觀測數據發(fā)送到移動基站,再通過專線發(fā)送到自動氣象站全網監(jiān)控中心服務器上。監(jiān)控中心也可以通過相同的路徑以相反的方向將數據或者監(jiān)控命令發(fā)送到氣象站主機,現(xiàn)實整個自動氣象站觀測網的協(xié)調和遠程控制。

      圖1 組網自動氣象站升級示意圖

      新一代自動氣象站主采集器由硬件和嵌入式軟件組成[12]。主采集器嵌入式處理器使用ARM9系列的32位處理器STM32F207,具有強大的性能,能夠支持嵌入式實時操作系統(tǒng)的運行,其片內FLASH支持在線編程技術,所配置的4 G容量的FLASH外部存儲芯片K9LBG08U0D在存儲正常運行所需的設備參數和觀測數據之外有足夠的余量存儲接收到的新代碼,具備實現(xiàn)無線升級固件的條件。

      當自動氣象站增加新功能、執(zhí)行新標準或嵌入式固件需要優(yōu)化的時候,設備開發(fā)程序員修改固件源代碼,通過編譯產生新的固件包。在自動氣象站監(jiān)控中心設計一個在線升級控制系統(tǒng),該系統(tǒng)周期性地發(fā)送命令查詢所有在線運行自動氣象站的版本號,自動對版本過舊的設備進行固件升級。由于網絡傳輸機制和通信模塊緩存等多種因素的制約,固件包不能一次性傳輸到自動氣象站,需要分成多個數據包,按順序傳輸。其次,由于自動氣象站主要任務為數據采集、數據處理和傳輸,為了在固件包傳輸的過程中不影響設備正常運行,在線升級控制系統(tǒng)需要避開自動氣象站最繁忙的時刻進行固件包傳輸。最后,野外無線網絡的信號強度可能較弱,工業(yè)區(qū)的電磁干擾可能較強,導致某一個數據包傳輸失敗,因此傳輸過程還必須有斷點續(xù)傳機制,確保采集器最終收到完整可用的新固件。當自動氣象站接收到最后一份固件包,對外存FLASH中的固件代碼進行完整性檢測,確保無缺漏無變碼,即可按設計執(zhí)行固件升級流程。

      2 方法實現(xiàn)

      STM32F207處理器有1 MByte的片內FLASH代碼區(qū),為了實現(xiàn)在線升級,在嵌入式程序設計的時候將代碼區(qū)劃分為兩個功能區(qū):引導區(qū)(地址:0x0000000-0x8007FFF)與運行區(qū)(地址:0x8008000-0x800FFFFF)。設備啟動的時候先運行引導區(qū)程序,該程序首先初始化外存FLASH,并檢查該FLASH上的固定地址是否已經存在完整的新固件升級代碼。如果有代碼,啟動固件代碼覆蓋流程:片內FLASH解鎖,調用片內FLASH塊操作函數擦除運行區(qū)原有代碼,按照順序將新代碼寫入處理器的片內FLASH運行區(qū),然后鎖定片內FLASH,禁止正常運行期間改寫運行代碼。代碼寫入順序如下:第一個字節(jié)內容燒錄至地址0x8008000,第二個字節(jié)內容燒錄至地址0x8008001,以此類推。當最后一個字節(jié)燒錄完畢,引導程序將清除外存FLASH中的升級代碼,然后重啟設備。如果引導程序沒有在外存FLASH中找到完整的升級代碼,執(zhí)行正常運行流程:則跳轉至運行區(qū)起始地址,初始化總線、時鐘,中斷使能,初始化數據結構,開始執(zhí)行數據采集、處理和傳輸等任務。

      基于無線網絡的固件升級具體流程如圖2所示。監(jiān)控中心在線升級控制系統(tǒng)通過無線網絡將新程序代碼文件分成很多個數據幀,從第0幀開始,陸續(xù)傳輸到自動氣象站主采集器。自動站主采集器檢查所接收數據包的幀標識,確認該數據包屬于升級代碼,即調用固件交互程序進行校驗。通過校驗的升級代碼被存儲在外存FLASH芯片,同時固件交互程序向監(jiān)控中心反饋接收到的升級包的幀編號。監(jiān)控中心根據接收到的反饋信息,按順序發(fā)送下一幀升級包,如此循環(huán)直到監(jiān)控中心發(fā)送完畢最后一幀升級包(即結束幀)。主采集器接收到最后一幀升級包并檢查無誤之后,在非繁忙時間自動重啟,通過引導區(qū)程序檢查外存FLASH是否存在完整的新固件程序,再調用固件更新程序嚴格按照代碼順序將新程序覆蓋至運行區(qū),覆蓋成功之后即運行新程序。

      圖2 在線升級流程

      2.1 無線分包傳輸

      通過移動公眾網絡的無線分包傳輸交互過程主要通過3個程序完成,分別是處于自動站監(jiān)控中心服務器上的升級控制程序、分包組幀程序和處于采集器中的固件交互程序,如圖3所示。

      升級控制系統(tǒng)為自動站監(jiān)控中心的一個子系統(tǒng),對組網觀測的自動氣象站設備進行版本號查詢并發(fā)起自動升級。當發(fā)現(xiàn)自動站觀測網上的某一個站需要升級固件,先通過監(jiān)控中心數據庫搜索和設置該站對應的網絡參數和SIM卡IP地址,再打開最新的固件代碼文件。在啟動發(fā)送后,以二進制方式讀取新固件代碼文件,根據文件大小和每一幀允許發(fā)送的最大容量,計算需要分包傳輸的總幀數,再調用組幀函數生成固件升級幀。

      圖3 分包傳輸交互方法

      從第0幀開始,組幀函數首先對當前幀編號的合理性進行檢查,出現(xiàn)異常情況則退出升級,并記錄在日志文件中。正常情況則根據當前幀編號計算從文件中讀取升級代碼的偏移地址,并進行校驗碼計算。最后將幀頭、幀編號、總編號、幀長度、升級代碼、校驗碼和結束符組合在一起形成完整的升級幀。升級幀通過互聯(lián)網、移動基站再到無線通信模塊,最終發(fā)送到采集器主機。

      采集器串口監(jiān)聽程序接收到監(jiān)控中心發(fā)送過來的數據包之后,檢查其幀標識,如果確認是固件升級幀,則進入固件交互程序處理。該程序首先讀取幀編號和總編號(升級包總幀數)。如果收到的是第0幀,程序擦除外存Flash中的指定塊地址,以便將升級幀內容寫入,如果擦除失敗,采集器返回失敗信息,通知升級控制系統(tǒng)該設備不具備在線升級能力;在幀編號大于0的時候,檢查當前編號是否為上一次接收編號的延續(xù),對于編號連續(xù)的包,程序還要進行校驗計算再寫入外存Flash;對于不連續(xù)的包則會丟棄,同時向升級控制系統(tǒng)反饋上一次正確接收到的幀編號,以便監(jiān)控中心重新發(fā)送本次升級幀。當固件交互程序正確接收到最后一幀升級包,將數據包和升級標識寫入外存Flash。采集器主機在完成分鐘統(tǒng)計、正點數據上傳等重要任務之后,自動重啟,并在片內Flash完成擦除舊固件、燒錄新固件的工作。

      2.2 斷點續(xù)傳

      如圖4所示,自動站所在地點的無線信號強度變化并不穩(wěn)定,圖中為某站一日的信號強度曲線,實線表示平均強度值的變化,實線上下兩側的陰影表示信號強度的變化范圍。原因是多方面的:在海島和高山等地區(qū),自動氣象站野外運行環(huán)境中無線網絡信號可能較差;而在城市中心區(qū)、工業(yè)區(qū)或者是鐵路沿線,電磁干擾信號可能較強;無線通信模塊可能故障重啟;移動基站信道分配或者網絡堵塞原因可能導致無線通信模塊下線一段時間,又重新上線的情況下(這種情況會經常發(fā)生)。斷點續(xù)傳保證在任意一幀升級包丟失或者變碼的情況下,升級系統(tǒng)還能夠在丟失的代碼段開始繼續(xù)傳輸,保證采集器主機最終收到的是完整且正確的代碼。

      圖4 無線信號強度日變化

      在線升級控制系統(tǒng)對升級過程進行監(jiān)控,每發(fā)送一幀之后等待接收反饋信息,如圖5所示。當控制系統(tǒng)發(fā)送了第N幀升級包,收到的反饋信息有2種:采集器返回編號N或者返回編號N-1。返回編號N說明第N幀已經被接收存儲,這時控制系統(tǒng)將繼續(xù)發(fā)送第N+1幀升級包;返回編號N-1說明采集器接收到第N幀但校驗不通過,這時控制系統(tǒng)將繼續(xù)發(fā)送第N幀升級包。沒有收到反饋信息的情況也有2種:第N幀沒到達采集器,或者采集器返回編號N但控制系統(tǒng)沒收到。這兩種情況下控制系統(tǒng)都沒有接收到正確的返回信息,監(jiān)聽一段時間之后,將嘗試再次發(fā)送第N幀升級包,如果嘗試5次都沒有收到返回信息,則暫停自動升級,顯示收發(fā)異常信息,等待人工干預。本設計所采用的斷點續(xù)傳機制升級控制系統(tǒng)為主動方,盡量減少自動站采集器的任務和算法復雜性。面對自動站復雜的無線信號環(huán)境仍然能夠保證采集器寫入外存Flash的升級包不會缺失或者重復,增強了無線傳輸的可靠性。

      圖5 斷點續(xù)傳機制

      2.3 無感升級

      野外運行的自動氣象站一般都具有連續(xù)觀測任務,觀測數據的連續(xù)性和可用性都是被考核的指標。自動站的數據采集分兩部分:基于中斷響應的數字信號采集和基于循環(huán)任務的模擬信號采集,升級包接收過程會增加外部中斷響應頻次,影響模擬信號采集周期。自動站數據處理和存儲功能主要是通過循環(huán)結構任務完成,而顯示屏刷新和觀測數據無線傳輸任務是通過時鐘中斷響應進行,需要較高的響應優(yōu)先級。升級過程中,采用適當的策略,盡量降低文件傳輸和設備重啟對觀測任務的影響,保障觀測數據不會出現(xiàn)異常的波動,讓終端用戶感覺不到設備正在升級,實現(xiàn)升級全過程的“無感”性能。

      無感升級方法采用了3個策略。首先是時間同步策略。控制系統(tǒng)啟動升級后,在傳輸第0幀升級包之前先對被升級自動氣象站采集器進行校時。由于自動站采集器運行的重要任務都在跨分鐘或者跨小時時刻,任務周期和時間長度是可預測的,時間同步之后控制系統(tǒng)可以避開采集器最繁忙時間發(fā)送升級數據包,降低升級包接收和反饋對觀測業(yè)務的影響。其次是低優(yōu)先級響應策略。由于升級過程中,可靠性和無感性能比快速更加重要,采集器可以將處理升級包的優(yōu)先級降低:將中斷響應程序放到嵌入式系統(tǒng)循環(huán)中運行,在完成數據采集、顯示、存儲和傳輸之后再檢查升級包的校驗碼、寫入外存Flash以及發(fā)送反饋信息。同時控制系統(tǒng)的監(jiān)聽程序要設置較長的超時時間以配合低優(yōu)先級的信息反饋速度。最后是自主升級策略。升級控制程序發(fā)送完升級包之后,采集器重啟時間不受控制系統(tǒng)指定或者命令觸發(fā)。采集器接收完最后一幀升級包之后,將完整性標識寫入外存Flash指定地址,然后選擇嵌入式任務空閑時間自動重啟并在一分鐘內實現(xiàn)程序升級。

      3 測試與分析

      在線升級控制系統(tǒng)軟件如圖6所示。根據升級方法流程設計,設置了4個功能區(qū)。在“無線連接”功能區(qū)域主要實現(xiàn)監(jiān)控中心地址參數設置、打開最新升級文件和手動升級(包括啟動升級、設置站號和斷點續(xù)傳)選項,自動搜索升級站點和啟動升級功能由后臺程序定時運行?!敖邮辗答佇畔ⅰ惫δ軈^(qū)用于顯示被升級自動站采集器反饋的原始信息,包括站點號、升級標識和已經成功接收到的幀編號。該軟件自身的狀態(tài)信息在圖中右部窗口顯示,包括網絡連接信息、初始化結果、最新固件信息以及可能的錯誤日志等等。

      圖6 在線升級系統(tǒng)主界面

      對站號為G9909的自動氣象站進行多次在線升級測試,結果如下:

      1)由于網絡延時以及無感升級策略的影響,升級控制系統(tǒng)傳輸一幀升級包從發(fā)送到收到反饋的平均時間為6 s;

      2)采集器接收升級包的過程中,風向、風速、氣溫、濕度、氣壓等氣象瞬時值并未發(fā)生明顯異常的波動,每分鐘保存采集數據正常,每5分鐘上傳一份觀測數據正常,設備正常觀測任務沒有受到影響;

      3)發(fā)生2次需要人工干預的斷點續(xù)傳情況,說明自動續(xù)傳的次數可能需要調整增加;

      4)采集器空閑時刻自動重啟并成功更新程序,全過程不足1分鐘,對該分鐘的數據采集有影響,但對于數據上傳間隔為5分鐘的自動氣象站而言不影響觀測任務,基本實現(xiàn)無感升級。

      本設計中,固件升級的可靠性和無感性能比升級速度更為重要,在移動公眾網絡復雜路由和采集器端低優(yōu)先級策略的影響下發(fā)送升級幀和接收反饋信息的平均時間比較長,但仍然可靠地完成升級;從斷點續(xù)傳的情況來看,傳輸網絡的復雜性不但會影響傳輸時間,同時也影響傳輸質量,可能導致升級幀或者反饋信息傳輸超時或者部分變碼,因此升級控制系統(tǒng)的自動續(xù)傳嘗試的次數應當適當增加,盡量降低人工干預的概率。

      4 結束語

      本文提出了一種基于無線分包傳輸方式的自動氣象站嵌入式固件無感升級方法,初步實現(xiàn)并進行了測試。該方法考慮到了無線傳輸網絡的延時特性、無線傳輸模塊的容量限制以及采集器工作任務的優(yōu)先權,設計了具有良好容錯性能的分包傳輸交互方法和斷點續(xù)傳機制,軟件操作采用合理的策略避免對主任務的影響。測試結果顯示該方法實現(xiàn)了設計的目的,對于野外運行的自動氣象站的在線升級具有使用價值。該方法也可以為其他野外觀測設備的自動化在線升級提供參考。

      猜你喜歡
      固件氣象站采集器
      珠峰上架起世界最高氣象站
      COVID-19大便標本采集器的設計及應用
      心靈氣象站
      趣味(語文)(2019年3期)2019-06-12 08:50:14
      基于ZigBee的大型公共建筑能耗采集器設計
      基于LabVIEW的多數據采集器自動監(jiān)控軟件設計與開發(fā)
      基于固件的遠程身份認證
      自動氣象站應該注意的一些防雷問題
      提取ROM固件中的APP
      電腦愛好者(2015年7期)2015-04-09 08:54:02
      一種通過USB接口的可靠固件升級技術
      自動氣象站常見故障判斷與維護
      河南科技(2014年12期)2014-02-27 14:10:40
      八宿县| 东平县| 尚志市| 濉溪县| 诸城市| 巫溪县| 广灵县| 曲麻莱县| 安达市| 章丘市| 信阳市| 房山区| 新乐市| 冀州市| 巴彦淖尔市| 英山县| 福贡县| 综艺| 阿勒泰市| 奎屯市| 玛纳斯县| 千阳县| 临江市| 河东区| 岑巩县| 景宁| 马关县| 沙河市| 清水县| 长宁县| 台湾省| 桂平市| 通江县| 樟树市| 红桥区| 肇东市| 罗江县| 喜德县| 江陵县| 石林| 普宁市|