《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 工程機械車載監(jiān)測終端軟件遠程升級的實現
工程機械車載監(jiān)測終端軟件遠程升級的實現
2015年電子技術應用第5期
林曉松1,2,陳惠濱1,林少芬2,江小霞2
1.集美大學 信息工程學院,福建 廈門361021; 2.集美大學 輪機工程學院,福建 廈門361021
摘要: 針對工程機械車載監(jiān)測終端軟件遠程升級和維護不方便的問題,提出一種基于LabVIEW和CDMA網絡的無線遠程升級方法?;贚abVIEW設計的應用程序升級平臺可通過以太網將嵌入式單片機應用程序按照制定的協(xié)議標準分包,并發(fā)送到遠程車載監(jiān)測終端,終端通過CDMA無線網絡獲取并解析數據。在IAP軟件升級過程中,采用CRC16校驗方式降低通信過程的誤碼率,保證應用程序遠程升級的準確性,提高了工程機械車載監(jiān)測終端的可維護性。
中圖分類號: TP393
文獻標識碼: A
文章編號: 0258-7998(2015)05-0156-03
Implementation of remote upgrade of monitoring terminal software in construction vehicle
Lin Xiaosong1,2,Chen Huibin1,Lin Shaofen2,Jiang Xiaoxia2
1.Information Engineering Institute,Jimei University,Xiamen 361021,China; 2.Marine Engineering Institute,Jimei University,Xiamen 361021,China
Abstract: Aiming at the problems of remote software upgrading and maintenance of monitoring terminal for construction vehicle,a method of wireless remote upgrade based on LabVIEW,CDMA network and ATMEGA128 is put forward. The designed software of upgrade platform based on LabVIEW allows application program to be sent to the remote monitoring terminal of construction vehicle according to the designed protocol standards, and the terminals obtains and analyses the data via CDMA wireless network. During the update, the CRC16 is used to reduce the BER(Bit Error Rate) in communication, which guarantees the accuracy of remote software upgrade and improves the maintainability of monitoring terminal for construction vehicle.
Key words : remote upgrade;IAP;CDMA;communication protocol

   

0 引言

    長期以來,工程機械安全作業(yè)形式嚴峻,開發(fā)面向工程機械的車載監(jiān)測終端可有效地監(jiān)測工程機械的施工狀態(tài)、預警故障等,為故障診斷提供方便[1]。然而,若車載監(jiān)測終端軟件出現故障或需要增加程序功能,技術人員需要到現場下載程序,這使車載監(jiān)測終端的升級和維護受到了距離和環(huán)境的限制[2,3]。因此,需要建立一套行之有效的遠程升級方案,提高車載監(jiān)測終端的可維護性[4]

    本文以文獻[5]中的工程機械車載測試終端為軟件升級對象,將STC89LE516RD主控制器換成具有IAP(In Application Programming)功能的ATMEGA128單片機,提出一種基于LabVIEW、CDMA網絡的工程機械車載監(jiān)測終端的遠程升級方案,實現穩(wěn)定可靠、掉電可恢復的軟件遠程升級目的。此方法還可用于其他具有IAP功能的監(jiān)測終端中[6-8], 具有廣闊的應用前景。

1 遠程升級系統(tǒng)總體結構 

    遠程升級系統(tǒng)整體結構如圖1所示,由應用程序升級平臺、以太網及CDMA運營商無線通信網絡和工程機械車載監(jiān)測終端三部分組成。

jsj4-t1.gif

    應用程序升級平臺由LabVIEW軟件設計而成,主要實現讀取并解析ATMEGA128單片機的HEX、BIN等格式的機器碼文件,通過網絡運營商獲取Internet的IP地址,由用戶選擇指定的客戶端IAP終端平臺進行更新,或客戶端平臺主動請求更新,并根據制訂的通信協(xié)議應用程序以網絡數據包的形式傳輸到遠程工程機械車載監(jiān)測終端。運行于車載監(jiān)測終端的BootLoader程序通過CDMA無線網絡接收并解析應用程序升級平臺發(fā)送的數據,經CRC校驗碼校驗無誤后,完成對應用程序Flash存儲區(qū)域更新寫入的操作。最后由BootLoader程序跳轉到應用程序Flash存儲區(qū)復位地址開始處運行更新后的應用程序。

2 電源電路設計

    由于ATMEGA128單片機需要3.3 V電壓供電,而其他外圍芯片需要5 V電壓供電,因此電源模塊需提供3.3 V和5 V電壓。電源模塊的原理圖如圖2所示。

jsj4-t2.gif

    外部9 V直流變壓器接入J1,通過5 V穩(wěn)壓芯片LM7805產生5 V電壓,再經過電壓轉換芯片AS1117(5 V~

3.3 V的轉換)的轉換,產生3.3 V的穩(wěn)壓電源。圖中二極管VD1起電源保護作用,防止外界電源反向時燒壞電路板;極性電容C101、C103、C203和無極性電容C102、C201、C202分別兩兩并聯(lián),對電源進行濾波,使輸出電壓更加穩(wěn)定。

3 系統(tǒng)軟件設計

3.1 升級平臺軟件設計

    圖3表示升級平臺程序流程。升級平臺首先完成對ATMEGA128單片機的HEX、BIN等格式的機器碼文件的讀取和解析;然后偵聽端口上是否有終端接入,如果有,則按照通信協(xié)議規(guī)定的客戶端一次性接收數據量大小,將文件分解成多個128 B小數據包,直到數據索引結束,最后一包的數據若不滿128 B,按照實際的數據量大小封裝,每個小數據包尾部加入CRC16校驗值;最后,利用LabVIEW平臺提供的以太網傳輸層TCP協(xié)議,將各個小數據包按照順序依次發(fā)送到遠程的工程機械車載監(jiān)測終端。

jsj4-t3.gif

3.2 車載監(jiān)測終端程序遠程升級設計

3.2.1 程序遠程升級原理

    ATmega128的Flash程序存儲器分為兩個區(qū):應用代碼區(qū)和Boot加載區(qū)。應用代碼區(qū)是Flash用來存儲應用代碼的區(qū)域。由于對Flash ROM寫操作SPM(Store Program Memory)指令在應用區(qū)執(zhí)行時是無效的,應用區(qū)不能用來存儲Boot代碼。Boot加載區(qū)用來存儲Boot加載軟件, SPM指令只有在Boot加載區(qū)中執(zhí)行時才能夠完成對Flash ROM的寫操作。ATmega128 中的Boot加載程序可以利用任何可用的數據接口和相關的協(xié)議來讀取代碼并且將其寫入(編程)Flash ROM,或者從程序存儲器中讀取代碼[9]。

3.2.2 車載監(jiān)測終端程序遠程升級

    圖4表示車載監(jiān)測終端程序遠程升級流程,主要包括CDMA網絡的通信、協(xié)議解析和應用程序更新3個功能。

jsj4-t4.gif

    當串口接收中斷發(fā)生時,ATmega128調用接收中斷子程序讀取新程序代碼,并計算CRC16值,驗證接收到的數據是否正確。只有確保接收到的數據完全正確,ATmega128才調用IAP子程序,將代碼寫入Flash程序存儲器。其中IAP子程序詳見文獻[9]。為了提高數據通信可靠性,數據傳輸過程中,傳輸的有效數據位數為128 B,但IAP程序對Flash寫操作時,一次只能寫一頁,即256 B的數據,因此在校驗正確的情況下,需要兩次傳輸過程才能完成一個完整頁的數據傳輸,并執(zhí)行應用程序區(qū)Flash頁寫入功能。如果寫入出錯,且超過5次,則向服務器返回出錯命令;反之則向服務器發(fā)送正確指令。為了解決程序下載時終端斷電造成的故障,在應用程序區(qū)段,用第一條語句跳轉至Boot區(qū)段,讀取寫碼操作開始標志位(此標志位被寫入EEPROM 中),若該標志位被置位,則跳轉至應用程序區(qū)段繼續(xù)運行程序,否則繼續(xù)守候在Boot區(qū)段直到升級完成[10]。

3.2.3 通信協(xié)議制定

    為保證升級平臺端進行效率高、可靠性強的數據通信,本文制定了雙方通信的協(xié)議及規(guī)則。通信協(xié)議對數據格式、同步方式、傳送速度、傳送步驟、檢錯方式以及控制字符定義等問題做出統(tǒng)一規(guī)定,通信雙方必須共同遵守。

    表1為升級平臺端命令格式,表2為監(jiān)測終端命令格式。起始位和結束位用于標示數據串的起止范圍;數據長度為除了起始位和結束位外的數據總字節(jié);校驗位采用CRC16校驗。

jsj4-b1.gif

jsj4-b2.gif

    根據升級平臺端和監(jiān)測終端的通信協(xié)議,建立如圖5所示的通信握手過程。

jsj4-t5.gifjsj4-t5.gif

    車載監(jiān)測終端監(jiān)測是否有特定的電話號碼撥入,如果匹配電話號碼成功,則終端通過CDMA Modern撥號接入電信服務器獲取IP,向升級平臺發(fā)送終端就緒命令;升級平臺獲得當前終端的IP地址,采用TCP協(xié)議向終端下載程序代碼,終端發(fā)送確認回執(zhí)后,進行下一輪的數據交互,直到數據傳輸結束。兩者之間的通信采用阻塞式通信,確保數據正確完整地下載到終端。中間引入超時機制,防止通信過程的死鎖。

4 系統(tǒng)測試

    在進行升級平臺軟件調試時,采用“網絡調試助手”作為監(jiān)測終端,進行數據交互測試。以HEX格式文件為例,運行升級平臺測試程序,設置偵聽端口號為“6341”,選擇com.hex文件;打開“網絡調試助手”,選擇協(xié)議類型為“TCP客戶端”,輸入升級平臺IP和偵聽端口號,建立終端和升級平臺的網絡通信。圖6表示LabVIEW分包發(fā)送數據的界面。

jsj4-t6.gif

    當終端接收到最后一包數據時,若數據出錯,則向升級平臺發(fā)送“通信出錯”的代碼,升級平臺重新發(fā)送該數據包;若數據正確,則向升級平臺發(fā)送“通信正確”的代碼,升級平臺斷開與終端的連接。

    在進行車載監(jiān)測終端遠程升級調試時,采用黑盒調試法。首先,利用Jtag開發(fā)器將Bootloader調試程序下載到開發(fā)板(Bootloader主程序如下所示);其次,運行“網絡調試助手”,設置相應參數和終端建立以太網通信,并依次向TCP網絡發(fā)送由升級平臺調試得到的正確數據包。當最后一包數據傳輸完畢,開發(fā)板進入休眠狀態(tài),使用AVR studio讀取開發(fā)板應用程序區(qū)的Flash數據,檢驗是否寫入數據。通過原始數據包和Flash數據對比可看出,數據完全相同,終端已實現軟件遠程升級。

Bootloader調試程序:

void main(void) 

{

    unsigned char seviseip[]=

{"61.152.124.198"};

    unsigned char  seviseport[]={"6341"};

    MCUCR|=0X02;//轉移中斷向量表至boot程序區(qū)

    SystemInit();//初始化

    OpenPort(3,1);//開串口

    SREG=0X80;//打開全局中斷

    ATTCP(seviseip,seviseport);//連入TCP網絡

    pagewrite();//執(zhí)行IAP功能的函數

}

5 結論

    本文將ATMEGA128 IAP技術應用于工程機械車載監(jiān)測終端軟件遠程升級,提高了車載監(jiān)測終端的可維護性;采用LabVIEW Socket網絡套接字構建了TCP服務器應用程序,程序具有對HEX、BIN等格式的機器碼文件的解析和分包功能;規(guī)范了升級平臺和工程機械車載監(jiān)測終端之間阻塞式通信交互過程,采取了 IAP 軟件升級過程的可靠性和掉電保護措施。

參考文獻

[1] 金敏,羅恩澤,周翔.面向工程機械遠程智能監(jiān)控的無線通信協(xié)議[J].中國機械工程,2011,22(19):2316-2324.

[2] 成強,周月英,周慶民,等.程序可遠程升級的數據采集終端的設計[J].河南大學學報:自然科學版,2010,40(4):353-356.

[3] 羅文,王莉娜,肖鯤.基于GPRS的嵌入式系統(tǒng)遠程監(jiān)控和升級[J].電子技術應用,2010,36(5):159-162.

[4] 朱偉斌,張濤,顧海濤,等.基于CDMA網絡的嵌入式設備遠程升級系統(tǒng)[J].電子技術應用,2014,40(2):135-138.

[5] 江小霞,林建輝,周永征.工程機械車載測試系統(tǒng)的研發(fā)[J].電子測量與儀器學報,2009,23(4):107-111.

[6] 李衛(wèi)紅,張凌云,陳天喜,等.基于IAP程序遠程更新設計在車載乘客信息顯示器中的應用[J].機車電傳動,2012,5(2):79-81.

[7] 張雙鑼,郎沁爭,肖鐵軍.供暖節(jié)能監(jiān)控系統(tǒng)的無線遠傳協(xié)調器設計[J].計算機測量與控制,2012,20(5):1251-1254.

[8] 諸德宏,張介環(huán).具有遠程升級功能的小區(qū)電能監(jiān)測系統(tǒng)[J].電子器件,2014,37(4):733-736.

[9] 陳惠濱,黃海.ATMega128 IAP技術在移動數據采集器中的應用[J].電子器件,2005,28(1):101-104.

[10] 田日才,王國鵬,梁學東.ATMEGA128單片機的軟件遠程升級[J].電子技術應用,2003,29(11):23-25.

此內容為AET網站原創(chuàng),未經授權禁止轉載。