今日跟大家分享參加野火【瑞薩RA MCU創(chuàng)意氛圍賽】選手的項目——基于CAN總線的UDS診斷Bootloader升級MCU工具。
一個MCU固件升級工具,基于瑞薩RA4M2的CAN總線通信接口,UDS協(xié)議實現(xiàn)程序升級,可以滿足產(chǎn)品迭代、修復問題、優(yōu)化性能等多方面的需求。實現(xiàn)操作,將升級包放到sd中,即可實現(xiàn)多個MCU自動化升級。更多具體操作一起看看下面的講解!
前言
UDS診斷協(xié)議(ISO14229),是一項國際標準,為汽車電子系統(tǒng)中的診斷通信定義了統(tǒng)一的協(xié)議和服務。它規(guī)定了與診斷相關的服務需求,并沒有設計通信機制。ISO14229僅對應用層和會話層做出了定義。UDS包含了ISO14229下屬的七個子協(xié)議,其中ISO14229-2是在會話層,其他6個子協(xié)議在應用層。這讓我想到大學學習計算機網(wǎng)絡知識中OSI七層網(wǎng)絡模型。
OSI模型
如果MCU要實現(xiàn)UDS功能,還需要建立傳輸層和網(wǎng)絡層,小昭使用的是ISO15765來實現(xiàn)這兩層功能,剩下就是數(shù)據(jù)鏈路層和物理層,這兩層屬于底層,MCU已經(jīng)幫我們實現(xiàn),做些簡單配置就可以了。
底層功能配置
① CAN總線配置
canID接收配置、中斷函數(shù)請點擊文末閱讀原文參考文章:
② 定時器配置
OSI網(wǎng)絡需要獲取毫秒系統(tǒng)時間,判斷數(shù)據(jù)傳輸是否超時。
③ SD卡配置
后面會介紹,升級文件放在SD卡中。
具體可以看
Renesa 瑞薩 RA4M2 移植文件系統(tǒng)FAT32
https://blog.csdn.net/weixin_43746325/article/details/130451569
SD卡DMA功能
網(wǎng)絡層
ISO15657協(xié)議,它是為上層應用做服務,假設上層應用下發(fā)了256個字節(jié)給到網(wǎng)絡層,要是物理層實現(xiàn)就頭很大了,大家都知道,在標準CAN中,一次最多只能傳八個字節(jié)數(shù)據(jù)。所以就有網(wǎng)絡層的出現(xiàn),15675實現(xiàn)將上層數(shù)據(jù)進行拆包,八個八個字節(jié)數(shù)據(jù)給到物理層,相反,如果物理層接收到數(shù)據(jù),然后將一幀一幀數(shù)據(jù)丟給網(wǎng)絡層,網(wǎng)絡層會找到頭數(shù)據(jù)和尾數(shù)據(jù),將一幀幀數(shù)據(jù)進行打包給到應用層。這就是網(wǎng)絡層,ISO15765的作用,實現(xiàn)數(shù)據(jù)拆包和打包的作用。
保持會話,TesterPresent(0x3E)服務,該 服 務 用 于 將 一 個 或 多 個 服 務 器 保 存 在 defaultSession 之 外 的 診 斷 會 話 中 。
項目測試
未完待續(xù)
審核編輯:湯梓紅
-
mcu
+關注
關注
146文章
16790瀏覽量
349318 -
CAN總線
+關注
關注
145文章
1906瀏覽量
130498 -
接口
+關注
關注
33文章
8354瀏覽量
150509 -
計算機
+關注
關注
19文章
7286瀏覽量
87516 -
bootloader
+關注
關注
2文章
233瀏覽量
45459
原文標題:【瑞薩RA MCU創(chuàng)意氛圍賽作品賞析】項目2——基于CAN總線的UDS診斷Bootloader升級MCU工具(上)
文章出處:【微信號:瑞薩MCU小百科,微信公眾號:瑞薩MCU小百科】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論