新聞中心

EEPW首頁 > 汽車電子 > 設計應用 > 基于WiFi的車載終端遠程軟件升級方法

基于WiFi的車載終端遠程軟件升級方法

作者: 時間:2016-10-22 來源:網(wǎng)絡 收藏

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

本文引用地址:http://www.butianyuan.cn/article/201610/309975.htm

引言

隨著對系統(tǒng)功能、性能要求的不斷提高,或為了消除缺陷,用戶常常需要對嵌入式終端設備軟件進行升級。目前嵌入式終端軟件升級方法有專用工具燒寫、在系統(tǒng)編程(ISP)和在應用編程()等。前兩種方式需要專門的人員到達現(xiàn)場、甚至拆卸設備才能進行軟件升級。方式可由開發(fā)人員根據(jù)實際應用進行靈活設計,例如使用串口升級、USB升級等。

由于車載終端具有移動性、分布廣泛、無法集中召回等特點,傳統(tǒng)軟件升級方案顯得束手無策。遠程軟件升級方案能夠為系統(tǒng)維護提供極大的方便,目前主流使用基于GPRS的IAP方式,但通常需要支付給運營商一定的費用。

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

1 系統(tǒng)原理

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

基于WiFi的車載終端遠程軟件升級方法

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

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

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

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

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

③車輛終端設備通過WiFi網(wǎng)絡連接到數(shù)據(jù)采集設備,如需要則進行新軟件下載;

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

2 軟件升級方法及流程

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

基于WiFi的車載終端遠程軟件升級方法

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

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

基于WiFi的車載終端遠程軟件升級方法

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

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

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

③修改參數(shù)存儲區(qū)存儲的軟件升級標志為升級模式,復位MCU;

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

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

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

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

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

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

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

3 軟件實現(xiàn)

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

(1)版本號比較

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

(2)軟件復位

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

(3)軟件下載及校驗

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

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

①Read rcquest(RRQ);

②Write rcquest(WRQ);

③Data(DATA);

④Acknowledgment(ACK);


上一頁 1 2 下一頁

評論


相關(guān)推薦

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

關(guān)閉