硬汉嵌入式论坛

 找回密码
 立即注册
查看: 501|回复: 4
收起左侧

[CAN/FDCAN] 整理了下UDS支持的服务码和否定响应码类型

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
发表于 2024-1-22 01:10:56 | 显示全部楼层 |阅读模式


通过LUA小程序做的列表整理

[Lua] 纯文本查看 复制代码
local listSID = 
{
    -- 诊断和通信管理
        {"诊断会话控制", 0x10},
        {"ECU复位", 0x11},
        {"安全访问", 0x27},
        {"通信控制", 0x28},
        {"授权", 0x29},
        {"诊断设备在线", 0x3E},
        {"访问定时参数", 0x83},
        {"安全数据传输", 0x84},
        {"控制DTC设置", 0x85},
        {"事件响应", 0x86},
        {"链路控制", 0x87},

    -- 数据传输
    {"按照标识符读取数据", 0x22},  
    {"按照地址读取内存", 0x23}, 
    {"按照标识符读取缩放数据", 0x24},  
    {"按周期标识符读取数据", 0x2A},  
    {"动态定义数据标识符", 0x2C},  
    {"按标识符写入数据", 0x2E},       
    {"按地址写入内存", 0x3D},  
    
    -- DTC
    {"清除诊断信息", 0x14}, 
    {"读取DTC信息", 0x19}, 
    
    {"按标识符输入输出控制", 0x2F}, 
    {"例行控制", 0x31},    

    --上传下载
    {"请求下载", 0x34}, 
    {"请求上传", 0x35}, 
    {"传输数据", 0x36}, 
    {"请求传输退出", 0x37},  
    {"请求文件传输", 0x38},   

    {"End", 0xFFFF}, -- 结束标志
}

local listDiagnosricSession =
{
    {"默认会话", 0x01},
    {"编程会话", 0x02},
    {"扩展诊断会话", 0x03},
    {"系统安全诊断会话", 0x04},
}

local listNRC = 
{
    -- 诊断和通信管理
        {"通用拒绝", 0x10}, 
    {"服务不支持", 0x11}, 
    {"子功能码不支持", 0x12},
    {"无效的消息长度和格式", 0x13},      
    {"响应太长", 0x14}, 
    {"忙重复请求", 0x21}, 
    {"条件不正确", 0x22}, 
    {"请求序列错误", 0x24}, 
    {"子网组件无响应", 0x25},
    {"阻止请求动作执行失败", 0x26},
    {"请求超范围", 0x31},
    {"安全访问被拒绝", 0x33},
    {"无效密钥", 0x35},
    {"尝试次数已超", 0x36},
    {"所需的延迟时间未到", 0x37},
    {"上传下载未被接受", 0x70},
    {"数据传输挂起", 0x71},
    {"编程失败", 0x72},
    {"错误的块序列计数", 0x73},  
    {"请求接受,响应挂起", 0x78}, 
    {"当前会话不支持子功能", 0x7E}, 
    {"当前会话不支持此服务", 0x7F},   
    {"转速太高", 0x81}, 
    {"转速太低", 0x82}, 
    {"发动机运行中", 0x83}, 
    {"发动机未运行", 0x84}, 
    
    {"发动机运行时间太短", 0x85}, 
    {"温度太高", 0x86},
    {"温度太低", 0x87}, 
    {"速度太高", 0x88},
    {"速度太低", 0x89},
    
    {"油门踏板太高", 0x8A},
    {"油门踏板太低", 0x8B},
    
    {"变速器不在空档", 0x8C},
    {"变速器不在指定挡位", 0x8D}, 
    {"制动开关未锁定", 0x8F},
    {"变速杆不在驻车位置", 0x90},
    {"变矩器离合器锁定", 0x91},   
    {"电压太高", 0x92},
    {"电压太低", 0x93}, 
   
    {"厂商指定条件不正确", 0xF0},
    {"厂商指定条件不正确", 0xF1},   
    {"厂商指定条件不正确", 0xF2},
    {"厂商指定条件不正确", 0xF3},
    {"厂商指定条件不正确", 0xF4},
    {"厂商指定条件不正确", 0xF5},
    {"厂商指定条件不正确", 0xF6},
    {"厂商指定条件不正确", 0xF7},
    {"厂商指定条件不正确", 0xF8},
    {"厂商指定条件不正确", 0xF9},
    {"厂商指定条件不正确", 0xFA},
    {"厂商指定条件不正确", 0xFB},
    {"厂商指定条件不正确", 0xFC},
    {"厂商指定条件不正确", 0xFD},
    {"厂商指定条件不正确", 0xFE},

    {"End", 0xFFFF}, -- 结束标志
}



12.png
回复

使用道具 举报

22

主题

66

回帖

132

积分

初级会员

积分
132
发表于 2024-1-23 10:42:46 | 显示全部楼层
硬汉哥做这类协议解析的时候,有实际的工具去测试自己写的解析对不对吗? 因为没有对标的标准很难找出问题把
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
 楼主| 发表于 2024-1-24 08:42:35 | 显示全部楼层
2360985396 发表于 2024-1-23 10:42
硬汉哥做这类协议解析的时候,有实际的工具去测试自己写的解析对不对吗? 因为没有对标的标准很难找出问题 ...

这个就跟modbus一样,怎么知道自己写的modbus主从栈可以适配别的设备,测试的兼容的时候根据命令需要微调就行了。

大家都是按照这个标准写的,这个无需担心。
回复

使用道具 举报

22

主题

66

回帖

132

积分

初级会员

积分
132
发表于 2024-1-24 09:54:21 | 显示全部楼层
eric2013 发表于 2024-1-24 08:42
这个就跟modbus一样,怎么知道自己写的modbus主从栈可以适配别的设备,测试的兼容的时候根据命令需要微调 ...

好好谢谢硬汉哥的解答 希望硬汉哥后期有时间可以出一个关于can 的uds bootloader升级的教程
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
 楼主| 发表于 2024-1-25 00:31:26 | 显示全部楼层
2360985396 发表于 2024-1-24 09:54
好好谢谢硬汉哥的解答 希望硬汉哥后期有时间可以出一个关于can 的uds bootloader升级的教程

有的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-29 07:24 , Processed in 0.170072 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表