国产九九热视频-国产九九精品视频-国产精自产拍久久久久久蜜-国产精自产拍久久久久久-国产精在线-国产精亚洲视频


曙海教育集團(tuán)論壇DSP專區(qū)DSP2000技術(shù)討論 → 基于KWP2000的ECU在線編程研究及應(yīng)用


  共有8465人關(guān)注過本帖樹形打印

主題:基于KWP2000的ECU在線編程研究及應(yīng)用

美女呀,離線,留言給我吧!
wangxinxin
  1樓 個(gè)性首頁 | 博客 | 信息 | 搜索 | 郵箱 | 主頁 | UC


加好友 發(fā)短信
等級:青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊:2010-11-12 11:08:23
基于KWP2000的ECU在線編程研究及應(yīng)用  發(fā)帖心情 Post By:2010-11-20 12:43:25

.2.2 軟件實(shí)現(xiàn)

ECU程序的狀態(tài)切換流程圖如圖3:

圖片點(diǎn)擊可在新窗口打開查看

圖3. 程序狀態(tài)切換流程圖
說明:

1)根據(jù)上位機(jī)的KWP2000指令,程序在以下5種工作狀態(tài)中切換,如表1:

表1  程序工作狀態(tài)表

圖片點(diǎn)擊可在新窗口打開查看

2)通信中用到以下KWP2000命令,如表2:

圖片點(diǎn)擊可在新窗口打開查看

表2: 命令說明表

3)由于芯片結(jié)構(gòu)的原因,程序在寫flash時(shí)必須跳到RAM中執(zhí)行,以下代碼定義了用于存儲(chǔ)關(guān)鍵代碼的RAM空間和指向該空間的函數(shù)CriticalProcess()。
volatile unsigned char criticalProcess[100];  /* 定義RAM空間用于存儲(chǔ)關(guān)鍵代碼 */
#define CriticalProcess ((void(*)(void))( criticalProcess)) /*定義函數(shù)指向RAM*/
在線編程過程中程序?qū)⒔邮盏降哪繕?biāo)代碼放入RAM中,接收完成后調(diào)用CriticalProcess()來實(shí)現(xiàn)FLASH擦除和重寫。

4)由于應(yīng)用代碼的起始地址是0x1860,我們用如下方法定義應(yīng)用程序Application()的起始地址為0x1860,在Bootloader程序中直接調(diào)用該函數(shù)即可實(shí)現(xiàn)Bootloader程序向應(yīng)用程序的跳轉(zhuǎn)。

#define Application ((void(*)(void))(0x1860)) /* 定義0x1860為應(yīng)用程序起始地址*/

3.3 實(shí)現(xiàn)效果

通過以上硬件和軟件,實(shí)現(xiàn)了ECU的在線編程,并達(dá)到了以下的幾個(gè)效果:

1)  程序每次上電啟動(dòng)都從Bootloader啟動(dòng)區(qū)運(yùn)行并等待一定時(shí)間,使得在線編程無論成功與否都始終可以進(jìn)行編程升級。
2)  程序開始部分先檢測復(fù)位原因,如果是上電啟動(dòng)則進(jìn)入Bootloader程序,否則進(jìn)入用戶程序,使得程序在運(yùn)行過程中受到干擾復(fù)位后可立即重新進(jìn)入應(yīng)用程序。
3)  ECU在編程過程中進(jìn)行了狀態(tài)判斷、密碼交換和數(shù)據(jù)校驗(yàn),有效地保證了整個(gè)編程過程的正確性。在線編程完成后當(dāng)場校驗(yàn),將特征碼寫入特定區(qū)域,以此來判定應(yīng)用程序是否合法,正確的特征碼保證了應(yīng)用程序的正確性。
4)  應(yīng)用程序同樣支持KWP2000命令,使得程序無論在Bootloader區(qū)或應(yīng)用程序區(qū)均能隨時(shí)根據(jù)KWP2000指令進(jìn)入編程狀態(tài)。
5)  由于將FLASH擦除子程序和燒寫子程序作為軟件鎖,在FLASH編程過程中才將其下載到RAM中,并在FLASH燒寫完成后將其清除,所以在整個(gè)芯片中沒有FLASH的改寫程序,避免了程序在運(yùn)行過程中遇到干擾而異常破壞程序的現(xiàn)象。

4. 結(jié)束語

從網(wǎng)絡(luò)的分層結(jié)構(gòu)看,KWP2000屬于應(yīng)用層協(xié)議,可以應(yīng)用在各種底層通信協(xié)議上,本文討論了該協(xié)議在LIN總線物理層和數(shù)據(jù)鏈路層上的應(yīng)用。近年來CAN總線得到了全球各大先進(jìn)汽車廠商廣泛的應(yīng)用,本文中的研究內(nèi)容對進(jìn)一步在CAN總線上實(shí)現(xiàn)同樣的在線編程過程有著一定的借鑒和示范作用。


支持(0中立(0反對(0單帖管理 | 引用 | 回復(fù) 回到頂部

返回版面帖子列表

基于KWP2000的ECU在線編程研究及應(yīng)用








簽名
主站蜘蛛池模板: 荣成市| 甘南县| 汨罗市| 湖州市| 合江县| 华阴市| 泽库县| 宁都县| 收藏| 教育| 榕江县| 清苑县| 开封县| 普宁市| 永顺县| 商城县| 平湖市| 罗源县| 胶南市| 安达市| 遵化市| 海淀区| 惠州市| 张家港市| 涟源市| 墨玉县| 长垣县| 中江县| 且末县| 中方县| 喜德县| 博野县| 汽车| 新闻| 贵港市| 封开县| 乌拉特中旗| 乌鲁木齐县| 铜川市| 孟州市| 宝兴县|