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

?

面向電動車車載監(jiān)控終端的嵌入式軟件遠程升級系統(tǒng)研究與設計

2018-05-11 00:47徐洋鄭繼敏
汽車零部件 2018年2期
關鍵詞:服務端斷線加密算法

徐洋,鄭繼敏

(重慶郵電大學自動化學院,重慶 400065)

0 引言

車載終端的嵌入式軟件部分,由于其靈活性較大,往往是最容易出錯的地方,因此在車載終端的使用過程中,經常會發(fā)現(xiàn)系統(tǒng)中存在一些可以修復的軟件問題。另外,即使終端產品在使用過程中不存在軟件上的錯誤,但用戶提出了新的軟件需求,在這些情況下都需要對終端軟件程序進行升級。由于車輛流動性大且隨機分布在不同區(qū)域,當要給這些安裝在車輛上的車載終端進行程序升級時,通常要派出大量技術支持人員趕赴現(xiàn)場對終端進行代碼更新,這會極大地影響車載終端程序升級的及時性,可能會造成不可預計的損失[1]。同時,也給汽車生產商增加了大量的開支成本,給企業(yè)收益帶來影響。為了解決車載終端執(zhí)行文件升級的不及時、成本較高等問題,作者設計了一套針對電動車車載終端的遠程升級系統(tǒng)。該系統(tǒng)在GPRS和因特網的支持下,從遠程服務器上下載最新的程序文件來替換舊的程序文件。其優(yōu)勢在于利用網絡傳輸技術,而無須趕赴現(xiàn)場對車載終端進行升級。

1 遠程升級基本原理

在微處理器中,程序存儲器的編程方法通常有兩種:通過串口或JTAG等接口進行編程的在系統(tǒng)編程(In System Programming,ISP)模式、在應用程序控制下的在應用編程(In Application Programming,IAP)模式。ISP模式由于其調試的方便性得到眾多廠家的支持。IAP模式是應用Flash程序存儲器的一種編程模式,該模式將Flash存儲區(qū)分為兩部分:一部分用于存放引導加載程序,即BootLoader程序;另一部分用于存放用戶應用程序,即APP程序[2]。APP程序通過GPRS或其他無線傳輸技術遠程傳輸?shù)轿⑻幚砥鞯耐鈬鎯υO備中。BootLoader程序即引導程序,當處理器上電或復位后首先運行引導程序。BootLoader程序檢測終端是否需要升級,如果不需要升級程序,則直接跳轉運行原來的APP程序;如果需要升級,BootLoader程序首先通過Flash存儲器的擦除、讀、寫機制對APP程序區(qū)進行擦除并將要升級的程序從外圍存儲設備中寫入到APP程序區(qū),然后跳轉執(zhí)行新的APP程序。

2 系統(tǒng)整體設計

系統(tǒng)結構如圖1所示,由遠程服務器和基于STM32微控制器的車載終端組成。當車載終端需要升級時,服務器通過GPRS網絡將數(shù)據(jù)遠程傳輸?shù)浇K端,終端將收到的數(shù)據(jù)寫入到終端外圍存儲設備中,終端重新上電后將存儲設備中升級文件拷貝到STM32內部Flash,實現(xiàn)車載終端自動跳轉升級功能。

圖1 系統(tǒng)結構圖

3 遠程升級系統(tǒng)軟件設計

3.1 升級文件傳輸?shù)臄?shù)據(jù)格式

為了達到準確升級的目的,首先要對升級代碼文件進行組包,給每組數(shù)據(jù)包加入包序號、起始標志、結束標志、校驗位。并且要保證數(shù)據(jù)包的長度不大于256個字節(jié)以適應GPRS通信方式對數(shù)據(jù)包長度的要求[3],避免出現(xiàn)頻繁掉線和發(fā)送不出去的情況。如果數(shù)據(jù)包和校驗碼字段中出現(xiàn)了和起始結束標志位相同的數(shù)據(jù),則要進行轉義處理。校驗碼采用異或校驗,從升級數(shù)據(jù)包開始,同后一字節(jié)異或,直到校驗碼前一個字節(jié)。具體數(shù)據(jù)包格式如表1所示。

表1 數(shù)據(jù)包格式

3.2 服務器端軟件設計

服務器端程序流程圖如圖2所示:服務器端啟動套接字監(jiān)聽連接,等待車載終端主動連接;車載終端連接服務端成功后,服務端首先下發(fā)升級指令,若收到終端升級準備就緒的應答,則服務端將要下發(fā)的升級文件按照表1所示的格式進行分組打包,通過GPRS網絡將數(shù)據(jù)包傳輸?shù)杰囕d終端,直到整個升級文件發(fā)送完為止。

圖2 服務端流程圖

3.3 車載終端程序設計

將BootLoader引導程序和APP程序分別存放在STM32 Flash的不同地址范圍,低地址存放BootLoader引導程序,緊跟其后的是APP程序[4]。車載終端控制芯片是STM32F105RBT6,F(xiàn)lash大小為128 kB,APP和BootLoader程序在Flash中存儲位置如圖3所示。設計的BootLoader程序和APP程序功能獨立,兩個程序模塊互不干擾。相對于其他設計中所采用的通過標志位置位來實現(xiàn)兩個程序的相互跳轉來說,軟件設計更加簡潔、功能更穩(wěn)定。

圖3 STM32 Flash存儲區(qū)劃分

3.3.1 BootLoader程序設計

BootLoader引導程序流程圖如圖4所示,終端上電后,首先運行BootLoader程序,檢測TF卡中是否有待升級的文件,如果有則將TF卡中升級文件復制到Flash中APP地址處替換掉原來的APP程序,然后再跳轉執(zhí)行新的APP程序。

圖4 BootLoader引導程序流程圖

3.3.2 接收升級文件程序設計

APP程序除了執(zhí)行車載終端設備功能外,還負責接收服務器端下發(fā)的升級文件,并將升級文件寫入到TF卡中,因此需要在APP程序中設計代碼接收程序。大多數(shù)設計將接收到的升級文件直接存放在控制器Flash中,這樣不僅要求控制芯片F(xiàn)lash容量要足夠大,也增加了軟件設計的難度。采用TF卡等外圍存儲設備接收升級文件不僅可以解決控制芯片F(xiàn)lash容量不足的問題,還可使軟件設計更加容易。代碼接收程序流程圖如圖5所示。

圖5 升級代碼接收程序流程圖

4 遠程升級可靠性設計

在升級文件遠程傳輸過程中,會面臨被截取、篡改等安全問題,通過加密技術能為數(shù)據(jù)安全提供很好的解決方法[5]。同時在升級過程中必須要保證升級數(shù)據(jù)的正確性和完整性,文中還采用斷線續(xù)傳等措施,保證了升級的可靠性和高效性。

4.1 安全傳輸設計

在數(shù)據(jù)幀通過GPRS傳輸?shù)倪^程中,可能會受到各種干擾,如數(shù)據(jù)被截斷、篡改等。針對上述可能出現(xiàn)的情況,作者對升級包進行了加密處理,實現(xiàn)了數(shù)據(jù)的安全傳輸。目前數(shù)據(jù)加密算法有很多種,主要分為對稱加密與非對稱加密兩種。對稱加密算法加密和解密用的密鑰相同,常用的對稱加密算法有DES(Data Encryption Standard)、AES(Advanced Encryption Standard)等。非對稱加密算法加密和解密的秘鑰是不同的,比如RSA(Rivest-Shamir-Adleman)算法。在資源有限、計算能力較差的嵌入式控制系統(tǒng)中,需要選取一種易于實現(xiàn)、占用資源少的加密算法[6-7]。文中采用TEA(Tiny Encryption Algorithm)加密算法,該算法是一種非常簡單高效的加密算法,以加密解密速度快、實現(xiàn)簡單著稱。相對于其他設計中采用DES或AES等算法來對數(shù)據(jù)進行加密,文中采用的輕量級TEA加密算法不僅能有效地保證數(shù)據(jù)傳輸?shù)陌踩?,而且占用資源少,更加適合用于電動車車載終端嵌入式軟件平臺。

4.2 斷線續(xù)傳設計

在系統(tǒng)升級時,終端從服務器下載升級文件需要一段時間。終端下載升級文件的過程中,很可能會出現(xiàn)由于網絡傳輸質量差、地理因素而導致車載終端斷線問題。如果出現(xiàn)終端斷線就重新再傳,而不保存已傳部分并等終端下次上線時續(xù)傳,這必然會影響執(zhí)行文件升級的效率,也會額外增加GPRS數(shù)據(jù)流量的通信費用。為了解決上述問題,在服務端程序中增加了一個具有斷線續(xù)發(fā)的軟件功能模塊。如果車載終端成功接收到服務端下發(fā)的數(shù)據(jù)幀,則需要向服務器發(fā)送應答幀,服務器收到應答幀后下發(fā)下一幀數(shù)據(jù)。如果車載終端回復接收失敗,則服務器重發(fā)該數(shù)據(jù)幀。若到達一定的次數(shù)服務端仍沒有收到應答,則認為車載終端已掉線。這時就需要在服務端程序中保存車載終端的最近一次通信狀態(tài),為車載終端控制器下次上線續(xù)發(fā)提供所需信息。該軟件功能模塊流程圖如圖6所示。

圖6 斷線續(xù)傳流程圖

5 遠程升級系統(tǒng)測試

車載終端在進行遠程升級時,首先通過上位機登錄到服務器,將本地升級文件上傳到服務器,如圖7所示。車載終端上電運行,主動連接服務器,如圖8所示。當服務端和終端連接成功后,若服務端收到終端請求升級指令,則系統(tǒng)開始升級任務。文中對終端進行了50次升級實驗,分別在文件傳輸?shù)揭欢ㄩL度時人為將車載終端和服務器連接中斷,分別測試出使用斷線續(xù)傳功能和未使用斷線續(xù)傳功能時整個升級過程需要花費的時間。最終計算出使用斷線續(xù)傳功能時系統(tǒng)平均升級時間為5.41 min,不使用該功能時需要7.67 min。實驗結果表明:文中設計的具有斷線續(xù)傳功能的升級系統(tǒng)不但可以完成升級任務,而且可以提高升級效率以及減少GPRS數(shù)據(jù)流量的消耗。

圖7 登錄到遠程服務器

圖8 車載終端上電連接服務器

6 結束語

詳細介紹了面向電動車車載終端遠程升級系統(tǒng)的軟件設計與實現(xiàn)。首先介紹了升級系統(tǒng)的整體架構及升級文件傳輸?shù)臄?shù)據(jù)格式,然后重點介紹服務端及車載終端IAP軟件的設計與實現(xiàn),最后對升級系統(tǒng)的可靠性設計進行介紹。在設計過程中采用應答機制、斷線續(xù)傳、TEA加密解密等技術實現(xiàn)了車載終端嵌入式軟件的遠程在線升級功能,解決了車載終端升級困難不經濟等問題,節(jié)約了升級和維護的成本。最后通過大量測試證明:此系統(tǒng)不僅有較高的成功率而且升級效率有了較大的改善。該遠程升級技術也可用于其他控制系統(tǒng),具有廣泛的應用前景。

參考文獻:

[1]張金鋒.車載終端執(zhí)行文件遠程升級系統(tǒng)的設計與研究[D].南京:南京理工大學,2012.

[2]丁鵬飛,法林.STM32F205VB在遠程系統(tǒng)升級中的應用[J].自動化儀表,2014(5):80-83.

DING P F,FA L.Application of STM32F205VB in Remote System Upgrade[J].Process Automation Instrumentation,2014(5):80-83.

[3]吳瑞娜,張建奇,梁喜軍.基于STM32的GPRS遠程在線升級系統(tǒng)設計與實現(xiàn)[J].自動化技術與應用,2015,34(12):34-37.

WU R N,ZHANG J Q,LIANG X J.Design and Implementation of GPRS Remote Online Upgrade System Based on STM32[J].Techniques of Automation and Application,2015,34(12):34-37.

[4]YOU N,ZHOU W,ZHANG J L,et al.Vehicle Terminal Remote Upgrade Based on GPRS[J].Applied Mechanics & Materials,2013,278/279/280:1928-1932.

[5]李歌.FPGA系統(tǒng)遠程升級安全機制的研究[D].西安:西安電子科技大學,2014.

[6]謝林栩.基于TEA加密算法在網絡傳輸中保護文件數(shù)據(jù)安全的應用[J].廣西師范學院學報(自然科學版),2010,27(2):76-80.

XIE L X.The Application of TEA Encryption Algorithm to Protecting Data Security in the Network File Transfer[J].Journal of Guangxi Teachers Education University(Natural Science Edition),2010,27(2):76-80.

[7]楊釧釧,王加加,侯長博.基于STM32的加密錄音筆設計[J].電子科技,2014,27(6):58-61.

YANG C C,WANG J J,HOU C B.Design of Encrypted Recorder Based on STM32[J].Electronic Science and Technology,2014,27(6):58-61.

猜你喜歡
服務端斷線加密算法
斷線的珍珠
加密文檔排序中保序加密算法的最優(yōu)化選取
風鶯圖詩
歸來吧!精靈(連載八)
多人聯(lián)機對戰(zhàn)游戲的設計與實現(xiàn)
基于三層結構下機房管理系統(tǒng)的實現(xiàn)分析
基于三層結構下機房管理系統(tǒng)的實現(xiàn)分析
斷線的風箏
教育云平臺的敏感信息保護技術研究
一種改進的加密算法在空調群控系統(tǒng)中的研究與實現(xiàn)