• 
    

    
    

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

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

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

      徐洋,鄭繼敏

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

      0 引言

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

      1 遠程升級基本原理

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

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

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

      圖1 系統(tǒng)結(jié)構(gòu)圖

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

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

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

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

      3.2 服務(wù)器端軟件設(shè)計

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

      圖2 服務(wù)端流程圖

      3.3 車載終端程序設(shè)計

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

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

      3.3.1 BootLoader程序設(shè)計

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

      圖4 BootLoader引導(dǎo)程序流程圖

      3.3.2 接收升級文件程序設(shè)計

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

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

      4 遠程升級可靠性設(shè)計

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

      4.1 安全傳輸設(shè)計

      在數(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)簡單著稱。相對于其他設(shè)計中采用DES或AES等算法來對數(shù)據(jù)進行加密,文中采用的輕量級TEA加密算法不僅能有效地保證數(shù)據(jù)傳輸?shù)陌踩?,而且占用資源少,更加適合用于電動車車載終端嵌入式軟件平臺。

      4.2 斷線續(xù)傳設(shè)計

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

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

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

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

      圖7 登錄到遠程服務(wù)器

      圖8 車載終端上電連接服務(wù)器

      6 結(jié)束語

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

      參考文獻:

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

      [2]丁鵬飛,法林.STM32F205VB在遠程系統(tǒng)升級中的應(yī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)設(shè)計與實現(xiàn)[J].自動化技術(shù)與應(yīng)用,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].西安:西安電子科技大學(xué),2014.

      [6]謝林栩.基于TEA加密算法在網(wǎng)絡(luò)傳輸中保護文件數(shù)據(jù)安全的應(yīng)用[J].廣西師范學(xué)院學(xué)報(自然科學(xué)版),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的加密錄音筆設(shè)計[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.

      猜你喜歡
      服務(wù)端斷線加密算法
      斷線的珍珠
      一起10kV開關(guān)控制回路斷線故障分析及回路完善
      云存儲中基于相似性的客戶-服務(wù)端雙端數(shù)據(jù)去重方法
      新時期《移動Web服務(wù)端開發(fā)》課程教學(xué)改革的研究
      在Windows Server 2008上創(chuàng)建應(yīng)用
      斷線的風(fēng)箏
      琴童(2017年1期)2017-02-18 15:39:53
      基于小波變換和混沌映射的圖像加密算法
      Hill加密算法的改進
      10 kV開關(guān)手車控制回路斷線原因分析及處理方法
      對稱加密算法RC5的架構(gòu)設(shè)計與電路實現(xiàn)
      太湖县| 竹北市| 新乐市| 辽宁省| 伊通| 新沂市| 江津市| 株洲市| 芒康县| 嫩江县| 英吉沙县| 明光市| 罗田县| 和龙市| 城口县| 嵊州市| 裕民县| 武鸣县| 环江| 武宣县| 固安县| 泰州市| 万安县| 永吉县| 灵台县| 江北区| 广南县| 邛崃市| 冷水江市| 西安市| 婺源县| 安泽县| 临西县| 高青县| 宁城县| 即墨市| 宝坻区| 大英县| 沧州市| 永嘉县| 兴隆县|