摘 要: 針對分散型控制系統中終端軟件系統升級和維護困難的問題,提出了一種以CAN總線為通信鏈路的現場在線更新程序機制,采用IAP編程技術,實現了對分散型控制系統中終端系統軟件的在線升級。在此給出了系統結構和實現流程,并詳細地說明了在LPC11C24微處理器為平臺下實現方法。實際應用表明,該設計方法具有高效、高可靠性的特點,可提高分散型控制系統終端系統軟件升級的靈活性,大大縮短系統的維護周期、降低維護成本。
關鍵詞: 分散型控制系統; CAN bus; LPC11C24 IAP; 在線更新機制
中圖分類號: TN911?34 文獻標識碼: A 文章編號: 1004?373X(2013)12?0078?03
0 引 言
分散型控制系統中的現場終端一般由控制器和各檢測模塊構成,它們之間通過一定的通信網絡建立數據的交換鏈路.這種系統具有高可靠、開放性、靈活性、協調性、易維護等優點。然而,該分散型系統也具有終端數量多、分布范圍廣的特點。一旦終端系統軟件存在缺陷或用戶提出新的功能和指標要求時,其升級、維護的工作量和成本都非常大。本文針對上述情況,設計了一種方便、靈活、快速及穩定地對MCU節點進行在線更新的機制。基于LPC11C24微控制器組成的CAN網絡,采用IAP編程技術(In Application Programming),實現了對目標節點MCU的軟件更新功能。
1 LPC11C24單片機和CAN總線
恩智浦半導體(NXP)推出業界首款內嵌易用型片上CANopen驅動,集成高速CAN物理層收發器的微控制器LPC11C22和LPC11C24。作為一種獨特的系統級封裝解決方案,LPC11C22和LPC11C24集成了TJF1051 CAN收發器,在低成本LQFP48封裝中實現了完整的CAN功能[2]。
控制器局域網絡(Controller Area Network, CAN)是由研發和生產汽車電子產品著稱的德國BOSCH公司開發了的,并最終成為國際標準(ISO11898)。它是國際上應用最廣泛的現場總線之一[3?4]。近年來,其所具有的高可靠性和良好的錯誤檢測能力受到重視,被廣泛應用于汽車計算機控制系統和環境溫度惡劣、電磁輻射強和振動大的工業環境。
2 在線更新機制架構
3 在線更新機制的設計
3.1 IAP編程技術
3.4 啟動程序和應用程序的設計與固化
3.6 啟動代碼的實現流程
4 結 語
本文設計的在線更新機制結合了IAP編程技術和CAN通信技術,在單片機內部采用了靈活的FLASH空間架構,實現了CAN總線的在線更新機制。該設計方案已經成功應用到實際項目中,實踐證明,該方法操作簡便、靈活、可靠,具有一定的實際價值。
參考文獻
[1] 陳曦,鄭貴林.基于自編程功能的MCU Bootloader設計[J].電子設計工程,2010(18):65?68.
[2] 佚名.NXP推出業界首款內嵌易用型片上CANopen驅動[EB/OL].[2011?01?18].http://www.eccn.com/products_2011011818212893.htm.
[3] 杜尚豐,曹曉鐘,徐津.CAN總線測控技術及其應用[M].北京:電子工業出版社,2007.
[4] 丁恩杰.控制網絡與現場總線[M].徐州:中國礦業大學出版社,2006.
[5] 胡秀麗.基于ARM7片內FLASH的兩種軟件升級方案[J].電腦學習,2010(17):95?97.
[6] NXP Semiconductor. LPC11CX2_CX4 datasheet [EB/OL]. [2011?06?27]. http://www.nxp.com.
[7] NXP Semiconductor. LPC1100 secondary boot?loader [EB/OL]. [2010?10?22]. http://www.nxp.com.
[8] 劉矗,羅峰.基于飛思卡爾微控制器的CAN Bootloader的實現與應用[J].蘇州大學學報:工科版,2010(3):57?60.
[9] 曹翊軍,薛升寧,郭保龍.BOOTLODER的原理及設計要點[J].電子元器件應用,2008(10):60?66.
[10] 蔣建春,王正樹.基于軟件觸發的在應用編程在線升級技術的設計與實現[J].計算機應用,2012,32(3):121?123.