国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

嵌入式設(shè)備的增量式遠(yuǎn)程更新系統(tǒng)設(shè)計

2020-12-07 06:14:15黃志賢王宜懷程宏玉
現(xiàn)代電子技術(shù) 2020年22期
關(guān)鍵詞:系統(tǒng)測試系統(tǒng)設(shè)計

黃志賢 王宜懷 程宏玉

摘? 要: 針對傳統(tǒng)嵌入式設(shè)備更新方式過程繁瑣、成本昂貴的缺點,設(shè)計一種增量式的遠(yuǎn)程更新系統(tǒng),采用NB?IoT進(jìn)行遠(yuǎn)程通信。在硬件設(shè)計中,將FLASH進(jìn)行分區(qū),設(shè)計BIOS分區(qū)并在其中固化常用驅(qū)動以減少重復(fù)代碼量,并實現(xiàn)分區(qū)后中斷服務(wù)例程的繼承與可動態(tài)更新;在軟件設(shè)計中,引入文本比較算法Needleman/Wunsch來建立增量更新數(shù)據(jù)幀以減少代碼傳輸量,并設(shè)計適用于該文所設(shè)計系統(tǒng)的傳輸幀格式。最后進(jìn)行系統(tǒng)的穩(wěn)定性和通信開銷測試,測試結(jié)果表明,該文系統(tǒng)大大減少了代碼傳輸量、節(jié)省了網(wǎng)絡(luò)開銷,兼具穩(wěn)定性與可靠性。

關(guān)鍵詞: 遠(yuǎn)程更新; 系統(tǒng)設(shè)計; 嵌入式設(shè)備; 動態(tài)更新; 代碼傳輸; 系統(tǒng)測試

中圖分類號: TN791?34? ? ? ? ? ? ? ? ? ? ? ? ? ? 文獻(xiàn)標(biāo)識碼: A? ? ? ? ? ? ? ? ? ? ? ?文章編號: 1004?373X(2020)22?0157?04

Abstract: In allusion to the shortcomings of traditional embedded device update mode, such as cumbersome process and high cost, an incremental remote update system is designed, in which the NB?IoT is used to perform the remote communication. In the hardware design, the Flash is partitioned, the BIOS partition is designed, the common drivers are hardened in it to reduce the quantity of duplicated codes, and the inheritance and dynamic update of the interrupt service routine after partitioning are realized. In the software design, the text comparison algorithm Needleman/Wunsch is introduced to establish incremental update data frames to reduce the amount of code transmission, and the transmission frame format suitable for the system designed in this paper is designed. The stability and the communication overhead of the system are tested. The testing results show that the system can greatly reduce the amount of code transmission, save network overhead, and has both stability and reliability.

Keywords: remote update; system design; embedded device; dynamic update; code transmission; system testing

0? 引? 言

傳統(tǒng)的單片機設(shè)備更新通常是由維護(hù)人員到達(dá)設(shè)備現(xiàn)場進(jìn)行重新燒寫或更換存儲部件,當(dāng)設(shè)備數(shù)量龐大、范圍分布廣泛時,傳統(tǒng)方式將耗費大量人力物力成本。隨著物聯(lián)網(wǎng)技術(shù)和單片機技術(shù)的發(fā)展,NB?IoT,GPRS和4G等遠(yuǎn)程通信技術(shù)在單片機設(shè)備中被廣泛運用,越來越低廉的通信費用與充裕的片內(nèi)存儲空間為單片機設(shè)備實現(xiàn)遠(yuǎn)程更新提供了成熟的條件。NB?IoT技術(shù)是3GPP標(biāo)準(zhǔn)定義的一種低功耗廣域網(wǎng)解決方案[1],具有大連接、深覆蓋、低成本、低功耗等特點,能適應(yīng)環(huán)境惡劣的設(shè)備現(xiàn)場[2],非常適用于嵌入式設(shè)備的遠(yuǎn)程更新。

本文設(shè)計并實現(xiàn)一套基于NB?IoT的增量式遠(yuǎn)程更新系統(tǒng),選擇S32K144微控制器與ME3616通信模組作為硬件實現(xiàn)平臺,在云服務(wù)器上運行更新軟件。在硬件軟件設(shè)計中吸取Bootloader機制的優(yōu)點,并對存儲器分區(qū)進(jìn)行合理規(guī)劃以適應(yīng)增量更新;更新軟件對硬件機器碼文件進(jìn)行解析,通過文本比較算法Needleman/Wunsch獲得無須重復(fù)更新的機器碼,以傳址的方式代替代碼傳輸來減少通信開銷。

1? 系統(tǒng)總體介紹

遠(yuǎn)程更新系統(tǒng)由NB終端、傳輸中介與服務(wù)端組成,系統(tǒng)的總體模型如圖1所示。NB?IoT遠(yuǎn)程更新系統(tǒng)主要涉及終端與服務(wù)器端的軟硬件實現(xiàn),傳輸中介則由通信運營商來負(fù)責(zé)實現(xiàn)與維護(hù)。NB?IoT終端依次完成基站連接、核心網(wǎng)附著和服務(wù)器連接后,與服務(wù)端的更新軟件建立數(shù)據(jù)交互并等待更新指示。系統(tǒng)的更新流程為:更新軟件對操作人員上傳的程序機器碼文件進(jìn)行解析,提取有效更新數(shù)據(jù)并組成傳輸代碼的數(shù)據(jù)幀和傳輸偏移地址的復(fù)制幀;組幀完成后,服務(wù)端發(fā)送更新指令,系統(tǒng)進(jìn)入更新狀態(tài);終端根據(jù)代碼和偏移量信息修改待更新代碼區(qū),并在幀校驗結(jié)束后,將待更新代碼覆蓋至用戶代碼段;最后終端復(fù)位并運行新程序,系統(tǒng)更新結(jié)束。

針對增量以及部分增量更新方案建立5種通信幀格式,通過命令幀與數(shù)據(jù)幀的交互來指導(dǎo)更新過程和交換數(shù)據(jù)。幀類型包括握手幀、命令幀、復(fù)制幀、數(shù)據(jù)幀以及校驗幀,在每種幀格式中加入循環(huán)冗余校驗(CRC)來確保傳輸數(shù)據(jù)的可靠性,并通過重傳機制來確保數(shù)據(jù)的完整性。

1) 握手幀:命令字01。上位機通過握手幀向終端發(fā)送本次更新的基本信息,包括更新的代碼起始地址、代碼長度、欲發(fā)送的數(shù)據(jù)幀總數(shù)以及校驗碼,幀格式如表4所示。每種幀格式都具有幀頭、命令字、幀尾和校驗碼,后面介紹將不再列舉。

2) 命令幀:命令字02。更新軟件用于指示終端切換更新狀態(tài)。命令幀包含指令字(2 B,后面介紹省略單位B)。命令幀指令有開始指令01、校驗指令02和結(jié)束指令03,更新軟件發(fā)送開始命令指示終端進(jìn)入數(shù)據(jù)接收狀態(tài),發(fā)送校驗命令指示終端返回校驗幀,發(fā)送結(jié)束命令完成數(shù)據(jù)傳輸。

3) 復(fù)制幀:命令字03。復(fù)制幀指示終端復(fù)制源起址代碼段到目標(biāo)起址。復(fù)制幀包含源地址(4)+代碼長度(2)+目標(biāo)地址(4)+當(dāng)前幀號(2)+總幀數(shù)(2)。

4) 數(shù)據(jù)幀:命令字04。數(shù)據(jù)幀指示終端按數(shù)據(jù)幀中的更新起址在FLASH中插入數(shù)據(jù)區(qū)代碼段。數(shù)據(jù)幀包含更新起址(4)+代碼長度(2)+數(shù)據(jù)區(qū)(N)+當(dāng)前幀號(2)+總幀數(shù)(2)。數(shù)據(jù)區(qū)長度N=代碼長度。

5) 校驗幀:命令字05。校驗幀包含更新總幀數(shù)(2)+位示圖(M),位示圖長度M= [(總幀數(shù)-1)8+1],在更新軟件發(fā)送校驗命令后,終端返回校驗幀。位示圖的每一位表示一幀復(fù)制幀/數(shù)據(jù)幀的發(fā)送情況,0表示成功,1表示失敗。更新軟件根據(jù)位示圖內(nèi)容重傳接收失敗的復(fù)制幀/數(shù)據(jù)幀。

典型更新幀的使用場景如下:操作人員在更新軟件中導(dǎo)入新舊機器碼文件,軟件生成各類幀格式,按照握手幀[→]命令幀(開始)[→]復(fù)制幀[→]數(shù)據(jù)幀[→]命令幀(檢驗)[→]命令幀(結(jié)束)的順序組成發(fā)送序列。終端在收到命令幀(校驗)后返回校驗幀,更新軟件根據(jù)缺失幀信息進(jìn)行重傳,并重新發(fā)送校驗幀,循環(huán)直到全部缺失幀傳送完畢,更新軟件發(fā)送命令幀(結(jié)束)結(jié)束發(fā)送。

4.3? 程序跳轉(zhuǎn)

在數(shù)據(jù)發(fā)送完畢且代碼覆蓋完成后,終端會執(zhí)行軟件復(fù)位。復(fù)位后BIOS程序會重置主堆棧指針MSP去指向用戶程序RAM起址,并向用戶程序FLASH首地址跳轉(zhuǎn)去執(zhí)行用戶程序。

5? 系統(tǒng)測試

在供電正常、eSIM卡不欠費、NB?IoT基站信號良好情況下進(jìn)行本文系統(tǒng)的穩(wěn)定性以及通信的網(wǎng)絡(luò)開銷測試,通過自動測試軟件對多種更新代碼長度情況及用戶代碼通信頻率情況進(jìn)行更新測試。為了模擬物聯(lián)網(wǎng)設(shè)備的實際使用過程,設(shè)置終端5 s/次,60 s/次以及1 800 s/次的間隔對外發(fā)送遠(yuǎn)程數(shù)據(jù)。當(dāng)終端成功發(fā)生改變現(xiàn)象時,本次測試即可成功。測試結(jié)果如表5所示。測試結(jié)果表明:通信頻率與網(wǎng)絡(luò)傳輸量越小,更新時間就越短,成功率也越高;增量式更新方案能有效降低傳輸所需的網(wǎng)絡(luò)開銷,程序更新量取決于程序變動量,對于同一項目的最鄰近版本而言,增量更新優(yōu)勢顯著。

6? 結(jié)? 語

本文設(shè)計一種基于NB?IoT的增量式遠(yuǎn)程軟件更新系統(tǒng)。在終端設(shè)計中,對FLASH進(jìn)行劃分,通過在BIOS區(qū)固化驅(qū)動,減少代碼更新量;通過RAM劃分實現(xiàn)用戶程序?qū)IOS重要中斷服務(wù)例程的繼承。在更新軟件設(shè)計中,采用Needleman/Wunsch算法獲得增量更新序列,減少代碼傳輸量;通過重傳機制實現(xiàn)傳輸?shù)目煽啃浴Ec已有的幾種遠(yuǎn)程更新系統(tǒng)相比,本文系統(tǒng)具有良好的穩(wěn)定性、可靠性以及實時性,并在節(jié)約通信開銷方面具有顯著優(yōu)勢。

參考文獻(xiàn)

[1] 曲井致.NB?IoT低速率窄帶物聯(lián)網(wǎng)通信技術(shù)現(xiàn)狀及發(fā)展趨勢[J].科技創(chuàng)新與應(yīng)用,2016(31):115.

[2] WANG Y P E, LIN X, ADHIKARY A, et al. A primer on 3GPP narrowband Internet of Things [J]. IEEE communications magazine, 2017, 55(3): 117?123.

[3] 姚文祥.ARM Cortex?M3與Cortex?M4權(quán)威指南[M].3版.北京:清華大學(xué)出版社,2015.

[4] 佚名.ME3616模塊硬件用戶指導(dǎo)手冊_V1.8[DB/OL].[2018?12?29].http://www.gosuncnwelink.com/cn/.ME3616.

[5] 陳瑞杰,王宜懷,李會.一種無線代碼可靠更新系統(tǒng)的研究與設(shè)計[J].現(xiàn)代電子技術(shù),2016,39(4):12?16.

[6] 陳成,王宜懷,錢涵佳,等.基于NB?IoT的嵌入式遠(yuǎn)程軟件更新系統(tǒng)設(shè)計[J].微電子學(xué)與計算機,2019,36(4):18?22.

[7] 陳發(fā)堂,郭麗強.ARM+DSP嵌入式系統(tǒng)BootLoader在LTE中的實現(xiàn)[J].電子技術(shù)應(yīng)用,2013,39(5):25?28.

[8] 汪春華,白穩(wěn)峰,劉胤博,等.基于CAN總線UDS服務(wù)BootLoader應(yīng)用開發(fā)[J].電子測量技術(shù),2017,40(2):166?170.

[9] 王宜懷,朱仕浪,郭蕓.嵌入式技術(shù)基礎(chǔ)與實踐[M].4版.北京:清華大學(xué)出版社,2017.

[10] 姜鮮桃.雙序列比對Needleman?Wunsch算法研究[D].呼和浩特:內(nèi)蒙古農(nóng)業(yè)大學(xué),2017.

猜你喜歡
系統(tǒng)測試系統(tǒng)設(shè)計
基于AFDX總線的數(shù)據(jù)監(jiān)測與管理系統(tǒng)設(shè)計
基于.NET的維漢居民信息管理系統(tǒng)測試研究
互聯(lián)網(wǎng)平臺下的智能信息管理系統(tǒng)設(shè)計
一種基于SATA硬盤陣列的數(shù)據(jù)存儲與控制系統(tǒng)設(shè)計研究
工業(yè)熱電偶計量檢定系統(tǒng)設(shè)計
基于物聯(lián)網(wǎng)的煤礦智能倉儲與物流運輸管理系統(tǒng)設(shè)計與應(yīng)用
目標(biāo)特性測量雷達(dá)平臺建設(shè)構(gòu)想
科技視界(2016年22期)2016-10-18 14:34:34
對CALIS查收查引系統(tǒng)的測試和應(yīng)用效果評價
星級酒店建筑電氣及弱電智能系統(tǒng)設(shè)計分析
信息管理服務(wù)平臺項目應(yīng)用系統(tǒng)設(shè)計探析
永宁县| 甘孜| 正宁县| 珲春市| 肇庆市| 西宁市| 曲靖市| 湘潭县| 郓城县| 贵南县| 荔浦县| 安远县| 攀枝花市| 鄯善县| 阿巴嘎旗| 文昌市| 邳州市| 阿坝县| 剑川县| 白银市| 综艺| 大姚县| 惠水县| 泸水县| 全州县| 政和县| 石景山区| 澎湖县| 柘城县| 阳高县| 敦煌市| 洞口县| 都兰县| 瑞安市| 石楼县| 新津县| 彩票| 巴彦淖尔市| 从江县| 康定县| 张家界市|