蘇州營銷網(wǎng)站建設(shè)公司杭州seo搜索引擎優(yōu)化
- 🍅 我是螞蟻小兵,專注于車載診斷領(lǐng)域,尤其擅長于對(duì)CANoe工具的使用
- 🍅 尋找組織 ,答疑解惑,摸魚聊天,博客源碼,點(diǎn)擊加入👉【相親相愛一家人】
- 🍅 玩轉(zhuǎn)CANoe,博客目錄大全,點(diǎn)擊跳轉(zhuǎn)👉
目錄
- 📙 RequestDownload (0x34) service
- 請求格式
- 正響應(yīng)格式:
- 負(fù)響應(yīng)格式:
- 📙 TransferData (0x36) service
- 請求格式
- 正響應(yīng)格式:
- 負(fù)響應(yīng)格式:
- 📙 RequestTransferExit (0x37) service
- 正響應(yīng)格式:
- 負(fù)響應(yīng)格式:
- 🌎總結(jié)
📙 RequestDownload (0x34) service
- Tester向目標(biāo)ECU請求下載服務(wù)
請求格式
dataFormatIdentifier
:這是第二個(gè)字節(jié)的參數(shù),其中高4個(gè)bit表示壓縮方法
,低4個(gè)bit表示加密方法
,一般情況就是0x00addressAndLengthFormatIdentifier
:請求刷寫地址和長度格式,高4個(gè)bit
表示下面的memorySize
參數(shù)占幾個(gè)字節(jié),低4個(gè)bit表示下面的memoryAddress
參數(shù)占幾個(gè)字節(jié)。常規(guī)就是0x44,就是memorySize
和memoryAddress
各占4個(gè)字節(jié)。memoryAddress
:請求刷寫的首地址,這個(gè)參數(shù)占幾個(gè)字節(jié)由addressAndLengthFormatIdentifier
參數(shù)的低4個(gè)bit決定的memorySize
: 請求刷寫的字節(jié)長度,這個(gè)參數(shù)占幾個(gè)字節(jié)由addressAndLengthFormatIdentifier
參數(shù)的高4個(gè)bit決定的
如下圖的實(shí)例Trace : 34 00 44 52 80 90 00 00 00 16 00
正響應(yīng)格式:
lengthFormatIdentifier
:高4個(gè)bit
表示下面的maxNumberOfBlockLength
參數(shù)占幾個(gè)字節(jié),低4個(gè)bit默認(rèn)0maxNumberOfBlockLength
: 目標(biāo)ECU允許Tester傳輸最大的字節(jié)數(shù)- 比如下面34服務(wù)響應(yīng)的
maxNumberOfBlockLength
等于0x0802,下面36服務(wù)就傳輸了0x0802個(gè)字節(jié)(包括36 01) - 0x1802的解釋:CAN TP層的第一個(gè)字節(jié)的高4bit表示幀類型,1就表示是首幀,2是連續(xù)幀,3是流控幀,0是單幀。
- 實(shí)際上,36服務(wù)傳輸可以小于
maxNumberOfBlockLength
,但不能大于,
負(fù)響應(yīng)格式:
- 0x13 :36服務(wù)傳輸字節(jié)大于
maxNumberOfBlockLength
時(shí) - 0x22 :當(dāng)目標(biāo)ECU正在接受數(shù)據(jù),發(fā)送S34服務(wù)請求,ECU應(yīng)該響應(yīng)CNC(0x22)
- 0x31 :請求參數(shù)中,參數(shù)不對(duì)
- 0x33 :沒有進(jìn)入指定的安全會(huì)話
- 0x70:
沒事先擦除內(nèi)存會(huì)報(bào)這個(gè)NRC
📙 TransferData (0x36) service
- 刷寫過程,即Tester向ECU中下載數(shù)據(jù)的過程叫
download
- Teser向ECU請求返回?cái)?shù)據(jù),即ECU向Tester傳輸數(shù)據(jù)的過程叫
upload
請求格式
blockSequenceCounter
:數(shù)據(jù)傳輸計(jì)數(shù)器,第一幀從1開始,到了0xFF后,再從0開始,循環(huán)往復(fù),直到下載完畢transferRequestParameterRecord
:傳輸數(shù)據(jù),正常來說就是(maxNumberOfBlockLength - 2)
正響應(yīng)格式:
blockSequenceCounter
: 響應(yīng)的結(jié)果和請求時(shí)一樣- transferRequestParameterRecord : 刷寫過程是沒有這個(gè)參數(shù)的,35服務(wù)請求數(shù)據(jù)時(shí),才有這個(gè)參數(shù)
- 34和35服務(wù),互為逆過程,36服務(wù)的請求和響應(yīng)也是互逆的。
負(fù)響應(yīng)格式:
- 0x24 : 不先請求34或者35服務(wù),會(huì)響應(yīng)這個(gè)NRC
- 0x71:xxxxx
- 0x72:xxxxx
- 0x73:傳輸Block計(jì)數(shù)器錯(cuò)誤,比如第一幀傳輸時(shí)不是1,或者,不連續(xù)
- 0x92/0x93: 刷寫時(shí)電壓過高或者過低
📙 RequestTransferExit (0x37) service
正響應(yīng)格式:
transferResponseParameterRecord
:從沒見過
負(fù)響應(yīng)格式:
🌎總結(jié)
- 🚩要有最樸素的生活,最遙遠(yuǎn)的夢想,即使明天天寒地凍,路遙馬亡!
- 🚩如果這篇博客對(duì)你有幫助,請 “點(diǎn)贊” “評(píng)論”“收藏”一鍵三連 哦!碼字不易,大家的支持就是我堅(jiān)持下去的動(dòng)力。