999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于XC886芯片的在線升級軟件設計

2018-02-25 02:39:06張琪楊建成于宗洋
電子技術與軟件工程 2018年7期

張琪 楊建成 于宗洋

摘要 研究了利用總線技術對不易拆卸控制器的加載和遠程控制技術,以英飛凌公司的XC886芯片為平臺設計并實現了CAN總線遠程升級加載方案。該方案摒棄了傳統方案升級軟件需要打開控制器外殼、連接JTAG口等繁瑣過程,通過PC端監控界面與片內駐留BootLoader引導程序進行CAN總線通訊,實現用戶程序的燒寫和遠程升級。

【關鍵詞】XC886芯片 BootLoader 遠程升級CAN總線

在現代控制數字技術不斷迅猛發展的當下,嵌入式控制系統被越來越廣泛的應用在工業領域,嵌入式操作系統經常被安裝在自然環境極其惡劣的區域,亟需實現系統遠程加載。CAN總線作為一種國際標準的現場總線,具有出眾的性價比和高可靠性,因此通過CAN總線對各節點芯片進行在線升級,成為一種簡單易行且穩定可靠的方式。本項目提出一種基于CAN總線的分布式嵌入系統升級方案,實現多點或單點系統的升級。項目根據嵌入式處理系統存儲結構的特殊性和主流的軟件升級原理,建立了一套通過PC機控制遠程節點軟件升級的系統。

1 工作原理

本研究采用的嵌入式芯片采用Infineon公司的XC886芯片,程序軟件升級采用下載模式。主要思路是使用PC平臺,與嵌入式芯片駐留程序通訊。系統軟件分為PC平臺和硬件端底層引導程序(BootLoader),PC平臺負責將需要加載的更新程序轉化為要求格式,BootLoader將CAN總線發來的數據燒寫到FLASH存儲區內。先通過JTAG口將BootLoader燒寫到FLASH,然后棄用JTAG。在后續使用過程中,芯片上電后按ROM區地址順序執行,即先執行BootLoader,底層程序負責接收PC端控制命令,決定是否有目標文件更新任務:判斷有,將CAN總線上發送的用戶文件接收并通過Flash緩存固化到芯片ROM區;判斷無,運行硬件端用戶程序區。

2 過程實現

控制核心模塊使用中斷接收PC平臺發來的消息,通過ID號分辨消息是命令還是文件傳輸。該模塊是核心部分,負責與PC平臺進行通訊,傳輸和接收數據;響應PC平臺發送的命令,完成命令功能,處理接收數據。按此流程解析命令:

(1) CAN通訊初始化;

(2)等待連接命令和建立通訊連接;

(3)等待命令和命令處理:在成功建立連接后硬件端等待PC平臺發送用戶控制指令:連接斷開、程序啟動、復位、程序更新和系統狀態請求,此外異常情況:超時處理。硬件端對相應指令做出對應處理;

(4)系統狀態結束及復位狀態結束。

3 數據傳輸

數據傳輸部分采用單向傳輸,從PC端到硬件端,PC平臺發送更新程序文件到硬件端,硬件端回傳響應信號和狀態,PC端發送數據,硬件端接收數據。單個某數據幀的傳輸過程如圖1所示:

①單個某數據幀傳輸開始,PC平臺定義該幀的序列號,如果幀過大需要劃分成若干分幀,規定主幀的分幀個數。SeqM為主幀序列號,主幀的每個分幀都包含主幀序列號,用以標記。序列號存儲在某分幀的序列號字段中。LFM是在某分幀完成傳輸后所屬主幀中剩余分幀的個數,存儲在表征后續幀個數的字段中。FlashAddM為主幀在Flash的目標燒寫位置,將地址存儲在分幀的Flash相應地址字段中。

②硬件端成功接收到某分幀后,判斷數據是否無誤,正確回傳確認幀,包含主幀序列號和已接收到分幀的剩余幀數,INF為確認幀中包含的信號內容,Next代表已經準備去接收下一分幀。

③成功傳輸完前一分幀后,順次向下傳輸下一分幀,SeqM和FlashAddM均不變,LFM減去1。

④同②,剩余的各分幀成功傳輸過程與③、④相同。

⑤傳輸完最后一個分幀,LFM等于O。

⑥同②。

⑦傳輸完上一主幀后,開始下一主幀的傳輸,主幀序列號為SeqM加1,FlashAddM更新為當前主幀目標燒寫位置,LFM為主幀包含的總分幀個數減1。

4 錯誤處理機制

當檢測到接收數據幀發生錯誤時,硬件端判斷錯誤類型并反饋給PC平臺進行錯誤處理。數據傳輸錯誤處理過程如圖2。

①PC平臺發送最后一個數據幀Mn。

②硬件端成功接收該數據幀,返回請求下一分幀的信號確認幀。

③PC平臺發送數據長度為O的數據幀,通知硬件端數據傳輸完畢。

④硬件端檢查該分幀中帶有的總數據長度信息是否與接收到的數據一致,不一致時立即發送Recall反饋幀,通知PC平臺重傳全部數據。

⑤PC平臺端接到Recall后重傳數據。

5 文件讀取

文件頭部的讀寫是系統處理核心,主要依靠傳輸頭部文件函數boolCfileTrans::HandleHeader()傳輸文件頭信息,包括文件起始字符,硬件端信息,加密,用戶文件版本號及ID號。根據配置文件信息,選擇調用對應的API對文件中的數據處理。讀取頭部文件函數bool CPCCANDlg::ReadFileHead(),順序讀取文件起始字符,讀取完成后選擇Infection文件的幀格式。

struct LK HEADER Infineon

//Infection文件某幀格式

{

unsigned char LENGTH;

unsigned char FLASH_MSTART;

unsigned char FLASH_LSTART;

unsigned char SEQ;

unsigned char LEFT;

unsigned char CRC;

unsigned short reserved;

};

幀頭部信息內容包括幀長度、幀寫入Flash首地址、幀序列號、后續幀個數、CRC校驗碼。用戶選擇傳送文件目標位置、郵箱ID,PC平臺將文件分裝成多幀,調用文件傳輸函數將幀逐次發送到CAN總線上,硬件端收到信號后,將響應信號發到CAN總線上,監聽信號函數接收CAN總線上數據,包括命令及響應信號,執行相應處理分支。

6 FLASH操作

本軟件采用基于英飛凌XC886芯片的C語言編寫,XC886內嵌用戶可編程的閃存( Flash)存儲器,Flash分區特性使每個扇區都可被獨立擦除。為了適應芯片的存貯方式,地址從Ox0000開始存放中斷向量表,這樣可以執行復位過程中的尋址。用戶上一次更新后的程序代碼放置在芯片端用戶程序區,底層引導程序放置在引導區。在XC886芯片啟動后程序尋址的初始位置寫一條LJMP長跳轉指令,芯片啟動后會先進入引導區。

測試結果:完善后經過上千次軟件遠程升級測試及軟件分支可靠性測試,未出現更新過程中故障,系統表現可靠。

參考文獻

[1]何賓,朱紅林,基于GPRS的DSP程序遠程升級的研究與實現[J].計算工程與設計,2010,31(15): 3390.

[2]周立功.iCAN現場總線原理及應用[M].北京:北京航空航天大學出版社,2007:4— 7.

[3]楊元挺,卓樹峰.基于CAN總線的遠程升級系統[J],現代電子技術,2009,32 (10): 83-86.

主站蜘蛛池模板: 午夜精品久久久久久久无码软件 | 亚洲日本一本dvd高清| 五月天福利视频| 美女被操黄色视频网站| 亚洲成AV人手机在线观看网站| 亚洲精品无码专区在线观看| 超清无码一区二区三区| 免费毛片全部不收费的| 国产在线视频福利资源站| 宅男噜噜噜66国产在线观看| 午夜老司机永久免费看片| 美女视频黄频a免费高清不卡| 激情国产精品一区| 日韩无码黄色| 全裸无码专区| 人妻无码一区二区视频| 久久综合色88| 露脸国产精品自产在线播| 亚洲美女视频一区| 欧美劲爆第一页| 97国产在线观看| 欧美第二区| 91蜜芽尤物福利在线观看| 四虎影视无码永久免费观看| 亚洲成人网在线观看| 久久亚洲中文字幕精品一区| 久久9966精品国产免费| 久久精品一卡日本电影| 欧美不卡二区| 国产本道久久一区二区三区| 国产成人三级| 99热这里只有精品免费国产| 欧美成人免费| 亚洲高清无码精品| 欧美国产在线一区| 国产亚洲视频在线观看| 国产高清不卡| 东京热av无码电影一区二区| 精品乱码久久久久久久| 国产精品爽爽va在线无码观看| 在线日韩日本国产亚洲| 久久精品丝袜高跟鞋| 亚洲二三区| 亚洲男人在线| 日韩小视频在线播放| 国产精品分类视频分类一区| 老司机久久精品视频| 综合色婷婷| 毛片在线区| 波多野结衣无码AV在线| 日本精品视频| 国产欧美网站| 国产网站免费看| 亚洲AV无码不卡无码 | 毛片a级毛片免费观看免下载| 国产乱人伦精品一区二区| 成人免费一级片| 欧美午夜视频| 久久综合九九亚洲一区| 日韩精品毛片人妻AV不卡| 好吊色妇女免费视频免费| 亚洲综合第一页| 人人爽人人爽人人片| av手机版在线播放| 毛片一级在线| 呦系列视频一区二区三区| 日韩精品一区二区三区视频免费看| 日韩午夜福利在线观看| 欧美国产日韩在线观看| 成人午夜免费观看| 成年片色大黄全免费网站久久| 亚洲色无码专线精品观看| 九九这里只有精品视频| 黄色网在线| 青青久久91| 日韩欧美成人高清在线观看| 97成人在线视频| 美女高潮全身流白浆福利区| 精品视频一区二区三区在线播| 国产精品黑色丝袜的老师| 最新国产午夜精品视频成人| 色妞www精品视频一级下载|