国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

基于CAN總線的在線更新機制的設計實現

發布時間:2014-12-25 10:40    發布者:designapp

        0 引言
分散型控制系統中的現場終端一般由控制器和各檢測模塊構成,它們之間通過一定的通信網絡建立數據的交換鏈路。這種系統具有高可靠、開放性、靈活性、協調性、易維護等優點。然而,該分散型系統也具有終端數量多、分布范圍廣的特點。一旦終端系統軟件存在缺陷或用戶提出新的功能和指標要求時,其升級、維護的工作量和成本都非常大。本文針對上述情況,設計了一種方便、靈活、快速及穩定地對MCU節點進行在線更新的機制。基于LPC11C24微控制器組成的CAN網絡,采用IAP編程技術(In Application Programming),實現了對目標節點MCU的軟件更新功能。
1 LPC11C24單片機和CAN總線
恩智浦半導體(NXP)推出業界首款內嵌易用型片上CANopen驅動,集成高速CAN物理層收發器的微控制器LPC11C22和LPC11C24。作為一種獨特的系統級封裝解決方案,LPC11C22和LPC11C24集成了TJF1051CAN收發器,在低成本LQFP48封裝中實現了完整的CAN功能。
控制器局域網絡(Controller Area Network,CAN)是由研發和生產汽車電子產品著稱的德國BOSCH公司開發了的,并最終成為國際標準(ISO11898)。它是國際上應用最廣泛的現場總線之一。近年來,其所具有的高可靠性和良好的錯誤檢測能力受到重視,被廣泛應用于汽車計算機控制系統和環境溫度惡劣、電磁輻射強和振動大的工業環境。
2 在線更新機制架構
系統架構主要由2部分組成:由各個MCU組成的CAN網絡;安裝在PC機上的USB-CAN通信卡,可以使PC機連上CAN網絡,進行數據通信,系統構架如圖1所示。軟件也包括2部分:運行在PC機的上位機軟件,提供用戶操作界面,將應用程序代碼通過CAN總線發送給節點;運行在節點的啟動程序,主要是響應下載命令,接受代碼,把代碼寫入FLASH,引導應用程序。







       
3 在線更新機制的設計
3.1 IAP編程技術
IAP是應用在FLASH程序存儲器的一種編程模式,即在某段程序的控制下完成對FLASH的讀/寫操作,可以控制對某段、某頁、甚至某個字節的讀寫操作。
LPC11C24單片機支持并提供9條IAP命令:
①準備寫操作的扇區;
②將RAM內容復制到FLASH;
③擦除扇區;
④扇區查空;
⑤讀器件ID;
⑥讀Boot代碼版本;
⑦比較;
⑧重新調用ISP;
⑨讀UID。
3.2 FLASH空間分配
LPC11C24有32KB的FLASH空間,共分為8個扇區,每個扇區的大小為4KB。為了使程序更新和應用程序更加獨立,本文將FLASH空間分為3個區,分別為啟動程序區,應用程序區,用戶數據區。



其中①啟動程序是一段特定的駐留代碼,專門用于接收來自主機新的代碼,將其燒寫到相應的FLASH空間,完成后跳轉到應用代碼區去執行新的程序,代碼比較少,編譯生成的映像文件小于4KB,每次系統上電或重啟后先執行啟動程序。
②應用程序是真正實現用戶功能的代碼。
③用戶數據區是用于存儲應用程序的一些設置和數據。




       
3.3 中斷向量表重映射與復制
LPC11C24支持32個向量中斷,中斷向量表默認位于FLASH的第一個4KB空間,地址從0x00000000~0x00000079。按照前面的設計,啟動程序占用第一個4KB的空間,當跳轉到應用程序時,實際的中斷向量表是位于0x00001000~0x00001079的空間。但LPC11C24系列的單片機不支持自定義中斷向量表的地址,只支持將中斷向量表從FLASH重映射到RAM。
為了能讓應用程序實現正常的中斷處理,啟動程序在跳轉到應用程序之前還需要將應用程序的中斷向量表復制并映射到RAM[10]。
代碼實例如下:



3.4 啟動程序和應用程序的設計與固化
程序都在Keil for ARM集成環境下編寫并編譯。
首先在Keil軟件下新建基于LPC11C24的工程,并配置FLASH和SRMA的起始地址和大小。具體如表2所示。







       
3.5 啟動程序與應用程序之前的跳轉
在啟動程序中定義應用程序的地址,#defineAPP_CODE_ADDR (0x00001000),程序跳轉的代碼采用匯編語言編寫,代碼實例如下:



3.6 啟動代碼的實現流程當用戶需要更新應用代碼時,PC的上位機軟件通過CAN總線向各種終端發送升級命令。而終端開機后自動運行啟動程序,啟動程序會檢測沒有升級命令,如果有的話,則接收應用程序代碼,直到完成整個升級。如果沒有,則運行應用程序。實現的流程圖如圖2,圖3所示。






4 結語
本文設計的在線更新機制結合了IAP編程技術和CAN通信技術,在單片機內部采用了靈活的FLASH空間架構,實現了CAN總線的在線更新機制。該設計方案已經成功應用到實際項目中,實踐證明,該方法操作簡便、靈活、可靠,具有一定的實際價值。


本文地址:http://m.qingdxww.cn/thread-136632-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 使用SAM-IoT Wx v2開發板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿澤電子(Mouser)專區
關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 9久热久爱免费精品视频在线观看 | 九九热视频这里只有精品 | 欧美不卡一区二区三区免 | 91人成在线观看网站 | 欧美成人午夜做受视频 | 国内精品久久久久久久97牛牛 | 亚洲精品中文字幕麻豆 | 国产成人91激情在线播放 | 星武神诀在线观看全集免费播放 | 欧美精品久久久亚洲 | 日韩精品视频在线观看免费 | 国产亚洲精品午夜高清影院 | 男人天堂导航 | 日韩免费在线 | 亚洲欧美日韩成人一区在线 | 日韩高清的天堂在线观看免费 | 四虎国产精品永久一区 | 国产精品密播放国产免费看 | 国产区最新 | 亚洲经典一区 | 国产欧美综合精品一区二区 | 成人黄色一级毛片 | 国产精品视频免费的 | 亚洲人成网址在线观看 | 欧美国产高清欧美 | 国产成人亚洲精品91专区手机 | 日本成人一区二区三区 | 欧美视频在线视频 | 青青久热 | 九七在线 | 四虎新网站 | 精品一区二区在线观看 | 欧洲色| 高清一级毛片免免费看 | 国产日韩在线观看视频 | 国偷盗摄自产福利一区在线 | 香蕉成人福利片视频在线下载 | 99热这里只有精品首页精品 | 在线观看亚洲天堂 | 久久久久久久久一级毛片 | 欧美精品一区二区三区免费播放 |