<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 汽車電子 > 設(shè)計(jì)應(yīng)用 > 基于WiFi的車載終端遠(yuǎn)程軟件升級(jí)方法

          基于WiFi的車載終端遠(yuǎn)程軟件升級(jí)方法

          作者: 時(shí)間:2016-10-22 來(lái)源:網(wǎng)絡(luò) 收藏

          摘要:為克服車載難以集中回收進(jìn)行軟件升級(jí)的缺點(diǎn),提出了一種基于通信的遠(yuǎn)程軟件升級(jí)方法。該方法對(duì)微控制器FLASH存儲(chǔ)空間進(jìn)行有效分配,設(shè)計(jì)功能,利用通信接口采用TFTP協(xié)議下載新軟件到FLASH,實(shí)現(xiàn)嵌入式軟件。給出了升級(jí)方法的詳細(xì)設(shè)計(jì)和程序流程,升級(jí)速度快,受環(huán)境影響小。該方法可應(yīng)用于移動(dòng)分布式中。

          本文引用地址:http://www.ex-cimer.com/article/201610/309975.htm

          引言

          隨著對(duì)系統(tǒng)功能、性能要求的不斷提高,或?yàn)榱讼毕?,用戶常常需要?duì)嵌入式終端設(shè)備軟件進(jìn)行升級(jí)。目前嵌入式終端軟件升級(jí)方法有專用工具燒寫、在系統(tǒng)編程(ISP)和在應(yīng)用編程()等。前兩種方式需要專門的人員到達(dá)現(xiàn)場(chǎng)、甚至拆卸設(shè)備才能進(jìn)行軟件升級(jí)。方式可由開(kāi)發(fā)人員根據(jù)實(shí)際應(yīng)用進(jìn)行靈活設(shè)計(jì),例如使用串口升級(jí)、USB升級(jí)等。

          由于車載終端具有移動(dòng)性、分布廣泛、無(wú)法集中召回等特點(diǎn),傳統(tǒng)軟件升級(jí)方案顯得束手無(wú)策。遠(yuǎn)程軟件升級(jí)方案能夠?yàn)橄到y(tǒng)維護(hù)提供極大的方便,目前主流使用基于GPRS的IAP方式,但通常需要支付給運(yùn)營(yíng)商一定的費(fèi)用。

          根據(jù)某單位車輛管理系統(tǒng)的實(shí)際情況,本文設(shè)計(jì)出一種基于的遠(yuǎn)程軟件升級(jí)方法。具有簡(jiǎn)單、便捷、可靠、成本低等優(yōu)點(diǎn)。

          1 系統(tǒng)原理

          系統(tǒng)結(jié)構(gòu)如圖1所示。該單位有若干分部,每個(gè)分部獨(dú)立管轄所屬的車輛,每個(gè)車輛裝載一套終端,用于記錄車輛行駛信息。當(dāng)車輛外出執(zhí)行任務(wù)及返回經(jīng)過(guò)車場(chǎng)門口時(shí),與車場(chǎng)門口的數(shù)據(jù)采集設(shè)備通過(guò)WiFi進(jìn)行數(shù)據(jù)交互。各分部數(shù)據(jù)采集設(shè)備連接至互聯(lián)網(wǎng)與總部進(jìn)行數(shù)據(jù)交互。

          基于WiFi的車載終端遠(yuǎn)程軟件升級(jí)方法

          終端設(shè)備MCU采用F107芯片,該芯片是意法半導(dǎo)體公司基于ARM Cortex—M3的32位嵌入式處理器,主頻達(dá)72 MHz、90DMIPS。它具有256 KB閃存程序存儲(chǔ)器、20KB的數(shù)據(jù)存儲(chǔ)器及64 KB RAM。外圍接口豐富,價(jià)格僅與8位單片機(jī)相當(dāng),性價(jià)比極高。

          WiFi模塊采用RedPine公司的RS9110-N-11-02模塊,該模塊通過(guò)SPI接口與MCU通信。RS9110-N11-02模塊為IEEE 802.11b/g/n WLAN設(shè)備,集成MAC、基帶處理器、幅值可調(diào)RF收發(fā)器、頻率參考和天線等。硬件模塊嵌入了網(wǎng)絡(luò)協(xié)議棧、WLAN協(xié)議和配置功能,構(gòu)成一個(gè)完整的802.11n WLAN解決方案。

          系統(tǒng)軟件升級(jí)工作過(guò)程如下:

          ①通過(guò)以太網(wǎng)把編譯好的新軟件傳輸?shù)礁鞣植繑?shù)據(jù)采集設(shè)備上;

          ②車輛外出或返回時(shí)途經(jīng)車場(chǎng)門口數(shù)據(jù)采集設(shè)備WiFi網(wǎng)絡(luò)覆蓋區(qū)域;

          ③車輛終端設(shè)備通過(guò)WiFi網(wǎng)絡(luò)連接到數(shù)據(jù)采集設(shè)備,如需要?jiǎng)t進(jìn)行新軟件下載;

          ④車輛終端執(zhí)行新軟件。

          2 軟件升級(jí)方法及流程

          F107內(nèi)部FLASH存儲(chǔ)器地址以0x08000000開(kāi)始,共256K。為了,將該FLASH存儲(chǔ)器如圖2所示劃分為BOOT區(qū)、應(yīng)用程序區(qū)、臨時(shí)區(qū)、參數(shù)存儲(chǔ)區(qū)。

          基于WiFi的車載終端遠(yuǎn)程軟件升級(jí)方法

          其中BOOT區(qū)用于存放系統(tǒng)程序,應(yīng)用程序區(qū)用于存放用戶應(yīng)用軟件,臨時(shí)區(qū)用于臨時(shí)存儲(chǔ)正在下載的軟件,參數(shù)存儲(chǔ)區(qū)用于存儲(chǔ)程序升級(jí)時(shí)所使用的標(biāo)志及其他系統(tǒng)參數(shù)。

          軟件升級(jí)標(biāo)志定義如下:正常模式、升級(jí)模式及拷貝模式。正常模式標(biāo)志著無(wú)需進(jìn)行軟件升級(jí),直接跳轉(zhuǎn)到應(yīng)用程序區(qū)執(zhí)行;升級(jí)模式標(biāo)志著終端需要下載新的應(yīng)用程序;拷貝模式用于在軟件下載完畢后拷貝到應(yīng)用程序區(qū),將該部分功能獨(dú)立出來(lái)是為了在軟件下載完畢后拷貝到應(yīng)用程序區(qū)時(shí)出現(xiàn)突然斷電等故障時(shí)進(jìn)行故障恢復(fù)。

          基于WiFi的車載終端遠(yuǎn)程軟件升級(jí)方法

          終端處于WiFi信號(hào)范圍時(shí),接入WiFi網(wǎng)絡(luò)與數(shù)據(jù)采集設(shè)備進(jìn)行信息交互。如圖3所示,軟件升級(jí)流程如下:

          ①接收到版本號(hào)查詢指令,回復(fù)本終端軟件版本號(hào)給數(shù)據(jù)采集設(shè)備;

          ②若版本號(hào)為最新,流程結(jié)束,否則會(huì)接收到數(shù)據(jù)采集設(shè)備發(fā)來(lái)的軟件升級(jí)指令;

          ③修改參數(shù)存儲(chǔ)區(qū)存儲(chǔ)的軟件升級(jí)標(biāo)志為升級(jí)模式,復(fù)位MCU;

          ④MCU從BOOT區(qū)啟動(dòng);

          ⑤讀取軟件升級(jí)標(biāo)志,如是“正常模式”,判斷應(yīng)用程序區(qū)是否有應(yīng)用程序,若有則跳轉(zhuǎn)到應(yīng)用程序區(qū)執(zhí)行,若無(wú)則置軟件升級(jí)標(biāo)志為“升級(jí)模式”,復(fù)位MCU,跳轉(zhuǎn)到步驟④;

          ⑥若軟件升級(jí)標(biāo)志是“拷貝模式”,拷貝臨時(shí)區(qū)軟件到應(yīng)用程序區(qū),修改軟件升級(jí)標(biāo)志為正常模式,復(fù)位MCU,跳轉(zhuǎn)到步驟④;

          ⑦若軟件升級(jí)標(biāo)志是“升級(jí)模式”,則掃描并接入WiFi網(wǎng)絡(luò);

          ⑧使用TFTP協(xié)議下載新軟件到臨時(shí)區(qū);

          ⑨校驗(yàn)新軟件是否正確,若不正確則跳轉(zhuǎn)到步驟⑧,若正確則執(zhí)行下一步;

          ⑩修改軟件升級(jí)標(biāo)志為“拷貝模式”,復(fù)位MCU,跳轉(zhuǎn)到步驟④。

          3 軟件實(shí)現(xiàn)

          升級(jí)軟件主要由版本號(hào)比較、軟件復(fù)位、軟件下載及校驗(yàn)、拷貝軟件到應(yīng)用程序區(qū)、軟件跳轉(zhuǎn)到應(yīng)用程序區(qū)幾部分組成。

          (1)版本號(hào)比較

          每個(gè)版本的軟件需要有不同的版本號(hào),按照一定規(guī)則遞增,如數(shù)據(jù)采集設(shè)備上有2.0版本軟件比本終端1.0版本高,則據(jù)此進(jìn)行軟件升級(jí)。

          (2)軟件復(fù)位

          根據(jù)本設(shè)計(jì),軟件需要復(fù)位進(jìn)入BOOT區(qū)進(jìn)行一系列操作。通過(guò)使內(nèi)部中斷應(yīng)用和復(fù)位控制寄存器中的SYSRESETREQ位置1,即可實(shí)現(xiàn)軟件復(fù)位。

          (3)軟件下載及校驗(yàn)

          采用TFTP協(xié)議下載應(yīng)用軟件到MCU臨時(shí)區(qū)。TFTP用于發(fā)送較小的文件時(shí)實(shí)現(xiàn)簡(jiǎn)單,可靠性高。其下層使用UDP協(xié)議,發(fā)送使用UDP 69端口,每次發(fā)送的最大分組為512字節(jié),發(fā)送雙方采用超時(shí)重傳機(jī)制。數(shù)據(jù)傳輸模式可選為octet模式(二進(jìn)制模式)。

          TFTP支持6種類型的數(shù)據(jù)包,分別是:

          ①Read rcquest(RRQ);

          ②Write rcquest(WRQ);

          ③Data(DATA);

          ④Acknowledgment(ACK);


          上一頁(yè) 1 2 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();