• 
    

    
    

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

      具有雙模固件升級的水文遙測終端機應(yīng)用

      2020-01-07 11:46:34
      治淮 2019年12期
      關(guān)鍵詞:用戶程序終端機中心站

      郭 濤

      水文遙測終端機是水文水利各類監(jiān)測站中必不可少的設(shè)備,隨著社會的發(fā)展和進步,各種水文水利遙測要素不斷更新,對水文遙測終端機的性能指標要求也不斷提高。水文監(jiān)測站點一般無人值守,實現(xiàn)遠程固件升級及性能提升已成為現(xiàn)代信息化建設(shè)必不可少的功能,為水文工作者帶來極大的便捷,同時對水文遙測終端機的發(fā)展進步具有重要意義。

      一、概述

      水文遙測終端機是一種應(yīng)用于水文監(jiān)測的設(shè)備,主要對降雨量、水位、墑情等要素進行采集,將采集數(shù)據(jù)轉(zhuǎn)發(fā)至服務(wù)器平臺。該設(shè)備一般應(yīng)用于野外且無人值守,采用太陽能加電池供電,分布范圍廣,站點繁多,數(shù)據(jù)傳輸采用GPRS 通信方式。根據(jù)該設(shè)備的應(yīng)用特點,從側(cè)面反映出設(shè)備維護和固件升級的繁瑣性,也給工作人員帶來龐大的工作量。

      水文遙測終端機是一種新興的物聯(lián)網(wǎng)應(yīng)用產(chǎn)品,目前的水文遙測終端機形態(tài)各異,功能強大,但是針對水文遙測終端機的固件升級往往只停留在本地現(xiàn)場操作。隨著國家對水文遙測終端機的標準化,產(chǎn)品的性能不斷完善,功能不斷豐富,在原有設(shè)備上通過遠程升級固件成為必備的功能。

      本文所述的具有雙模固件升級的水文遙測終端機,在基于《水文監(jiān)測數(shù)據(jù)通信規(guī)約》(SL651-2014)的基礎(chǔ)上實現(xiàn)遠程升級固件及本地升級固件的雙模式固件升級,同時支持本地固件存儲及恢復(fù),避免了升級失敗帶來的產(chǎn)品不能使用的問題,大大提高了水文遙測終端機實用價值。

      二、技術(shù)原理

      1.BootLoader 的固件升級技術(shù)

      水文遙測終端機的程序固件由兩部分組成:一是BootLoader 引導(dǎo)程序,在MCU 上電或復(fù)位后率先執(zhí)行;二是用戶程序,是設(shè)備正常工作時的運行程序,也是需要更新升級的固件。

      BootLoader 是一段引導(dǎo)程序,是雙模固件升級的核心程序,當MCU 上電或復(fù)位后執(zhí)行該段引導(dǎo)程序,判斷是否有新固件升級。如果不需要升級,程序指針直接跳轉(zhuǎn)至用戶程序的起始位置,開始執(zhí)行用戶程序;如果需要更新程序,BootLoader 引導(dǎo)程序會將用戶程序單元擦除,通過uart 或SPI 串行接口接收新的用戶程序,寫入MCU指定的用戶程序單元。用戶程序以行為單位,每行程序指令均含有校驗,確保了寫入程序代碼的正確性。

      BootLoader 引導(dǎo)程序一般存放于MCU 的程序空間的前端,從程序空間的0x400 開始,空間大小為0xC00。BootLoader 引導(dǎo)程序比較小,本文所述的雙模固件升級水文遙測終端機充分利用了引導(dǎo)程序設(shè)計了Uart 和SPI兩種Boot 方式,Uart 方式用于本地固件升級,SPI 用于遠程固件升級。用戶程序從0x1000 開始,用于存放用戶正常運行的代碼。官方示例程序空間分配見圖1。

      2.基于水文監(jiān)測數(shù)據(jù)通信規(guī)約的固件升級擴展

      水文監(jiān)測數(shù)據(jù)傳輸?shù)耐ㄐ艆f(xié)議應(yīng)采用《水文監(jiān)測數(shù)據(jù)通信規(guī)約》(SL651-2014)規(guī)定的上行報文幀結(jié)構(gòu)框架和下行報文幀結(jié)構(gòu)框架。無論傳輸?shù)淖址捎煤畏N編碼,均應(yīng)滿足此幀結(jié)構(gòu)框架規(guī)定。傳輸順序為高位字節(jié)在前,低位字節(jié)在后。數(shù)據(jù)傳輸結(jié)構(gòu)如圖2。

      圖1 官方示例程序空間分配圖

      固件升級過程采用M2 發(fā)送方式,由中心站主動發(fā)起申請,再由遙測站響應(yīng)申請固件內(nèi)容,直至固件接收完畢后執(zhí)行升級。

      遙測終端固件升級,功能碼為EAH。由中心站先向遙測終端發(fā)出固件升級申請,再由遙測終端依次向中心站申請固件內(nèi)容。固件接收完畢后遙測終端自動復(fù)位,執(zhí)行新固件。傳輸固件過程中,需水文遙測終端常在線,確保鏈路上數(shù)據(jù)的正常傳輸。水文遙測終端將固件數(shù)據(jù)按照行為單位存儲于存儲芯片中,GPRS 模塊切換為透傳模式便于接收數(shù)據(jù)。遙測終端也可主動申請固件升級,再由中心站向遙測終端機發(fā)出固件申請,確保了遙測終端機對自身固件更新的實時性。

      3.固件文件的解析

      PIC 單片機嵌入式HEX 固件是遵循 Intel HEX 文件格式的 ASCII 文本文件。HEX 由任意數(shù)量的十六進制記錄組成。每個記錄包含5 個域,按以下格式排列:Start Code、Byte count、Address、Record type、Data、Checksum。

      HEX 文件以行為單位。每行以字符 ‘:’ (0x3a)開頭,以回車換行符0x0d, 0x0a 為結(jié)束。每行開始和結(jié)束之間的所有內(nèi)容,都是以字符形式表現(xiàn)的。例如數(shù)據(jù)如果是 0x1A ,那么轉(zhuǎn)換到HEX 格式的行里面就是0x31 0x41。如果數(shù)據(jù)是16bit 的,例如地址,則先顯示高位,后顯示底位。例如 0x1234,轉(zhuǎn)換成HEX 格式文件后變成 0x31 0x32 0x33 0x34,顯示出來以后就是1234。將數(shù)據(jù)部分內(nèi)容每2個字符看作一個HEX 數(shù)據(jù)。

      圖2 數(shù)據(jù)傳輸結(jié)構(gòu)圖

      例如:“:020000040000FA”把它轉(zhuǎn)換為十六進制為 0x02 0x00 0x00 0x04 0x00 0x00 0xFA。

      三、實現(xiàn)方法

      1.水文遙測終端機硬件的設(shè)計

      本文所述水文遙測終端機的硬件平臺是基于Microchip 的PIC24FJ 系列MCU,該硬件平臺性能穩(wěn)定可靠,具有良好的工業(yè)特性。存儲芯片采用64Mbit 大小的Flash 存儲器,用于存儲最新的固件,存儲芯片使用SPI 接口與MCU 連接。無線數(shù)據(jù)傳輸采用SIMcom 的GPRS 模 塊,采 用Uart 串口與MCU 連接,RS232 接口通過Uart串口與MCU 連接,用于本地固件升級。

      2.BootLoader 引導(dǎo)程序的設(shè)計

      首先,建立工程項目,設(shè)置.gld配置文件為“program (xr) : ORIGIN = 0x400, LENGTH = 0xC00”分配Boot-Loader 引導(dǎo)程序的程序空間。

      編輯Uart 和SPI 串行通信驅(qū)動、Flash 芯片的讀寫驅(qū)動以及Boot 驅(qū)動。

      然后進行Boot 邏輯構(gòu)建,當水文遙測終端機上電或復(fù)位后,先MCU通過串口發(fā)送“>”,如果串口無任何回復(fù),則進入SPI 讀取Flash 內(nèi)容判斷是否有新固件存在需要更新。若都無需要更新固件,則利用“(*((void(*)(void))APP_START))();”進入用戶程序進行正常工作。

      3.本地固件升級的設(shè)計

      將RS232 通信線連接電腦和水文遙測終端機,給終端機重新上電,電腦串口助手會收到終端機發(fā)送的“>”字符,電腦給設(shè)備發(fā)送回車字符,等待設(shè)備返回“Uart>”。

      將準備好的用戶“APP.hex”程序固件利用串口助手,逐行發(fā)送水文遙測終端機,每行發(fā)送成功后均會回復(fù)“Y”字符,如果失敗則會發(fā)送“X”字符。

      最后更新完畢后,回復(fù)“Done”,水文遙測終端機會自動跳轉(zhuǎn)執(zhí)行新固件。

      4.遠程固件升級的設(shè)計

      根據(jù)水文遙測終端機應(yīng)用的特殊性,該設(shè)備在工作時的數(shù)據(jù)傳輸采用GPRS 通信,遙測終端機會定時向中心站詢問固件更新申請,如果中心站需要更新固件回復(fù)Hex 固件行數(shù),如果不需要更新固件則回復(fù)Hex固件行數(shù)為0。

      當需要更新固件時,中心站會將新固件按內(nèi)容分包,水文遙測終端會根據(jù)《水文監(jiān)測數(shù)據(jù)通信規(guī)約》的固件升級擴展應(yīng)用,進行逐包詢要每個固件包,然后下載至Flash 存儲芯片內(nèi)。每包固件包均含有包號及CRC 校驗,確保了Hex 固件的完整性和正確性。

      完成固件下載后,水文遙測終端機,在Flash 芯片內(nèi)放置更新固件標志,利用軟件指令“__asm__ volatile ("RESET");”將設(shè)備復(fù)位。

      復(fù)位后的MCU 執(zhí)行BootLoader引導(dǎo)程序,在無串口更新固件的情況下,MCU 利用SPI 通信提取Flash 內(nèi)的更新固件標志,確定需要更新固件后,逐行提取新固件并執(zhí)行。最后更新完畢后,水文遙測終端機會自動跳轉(zhuǎn)執(zhí)行新固件。

      5.固件存儲的設(shè)計

      水文遙測終端機會在第一次使用時利用RS232 向其Flash 的固定存儲位置置入固定的用戶程序。當本地固件升級和遠程固件升級失敗后,設(shè)備可提取該用戶程序進行固件恢復(fù),確保了設(shè)備工作的可靠性。

      四、結(jié)語

      雙模升級固件的水文遙測終端機設(shè)計方案穩(wěn)定可靠,現(xiàn)場使用效果良好,工作運行穩(wěn)定。雙模升級固件的應(yīng)用為水文遙測終端機的性能提升了保障,為水文工作者大大節(jié)省了工作量。該固件的應(yīng)用也是工業(yè)物聯(lián)網(wǎng)應(yīng)用的體現(xiàn),在無人值守的野外環(huán)境下,可穩(wěn)定可靠地實現(xiàn)自更新固件。總之,具有雙模升級固件的水文遙測終端機還在不斷改進,隨著科技的進步,防汛理念的創(chuàng)新,該技術(shù)必將作為新技術(shù)變革得到廣泛應(yīng)用■

      猜你喜歡
      用戶程序終端機中心站
      變速箱控制系統(tǒng)Bootloader設(shè)計與實現(xiàn)
      嵌入式設(shè)備遠程升級方案設(shè)計
      重慶ETC手持終端機方案探討
      一帶一路
      添加帶外控制設(shè)備網(wǎng)不通
      冷軋機操作站終端機的改造性修復(fù)
      黨旗引領(lǐng)鑄鐵軍 揮灑青春展風采——湖北省環(huán)境監(jiān)測中心站第二黨支部黨建工作側(cè)記
      學習月刊(2015年18期)2015-07-09 05:41:20
      國家水資源監(jiān)控能力建設(shè)項目在線數(shù)據(jù)采集傳輸接收設(shè)備規(guī)約符合性測試結(jié)果發(fā)布
      中國水利(2014年9期)2014-07-25 03:57:48
      C8051F410單片機BootLoader的實現(xiàn)
      淺談如何配置一個基本安全的終端機
      个旧市| 宜春市| 临夏市| 房产| 锦屏县| 临漳县| 奉化市| 铜鼓县| 武城县| 南召县| 香河县| 富阳市| 如东县| 闽清县| 海阳市| 获嘉县| 永寿县| 海原县| 和硕县| 新营市| 襄汾县| 青河县| 黑山县| 通辽市| 东城区| 科技| 大姚县| 远安县| 淮阳县| 济阳县| 屏东市| 疏附县| 英山县| 芜湖县| 福泉市| 呼伦贝尔市| 昂仁县| 南汇区| 洪雅县| 顺平县| 上蔡县|