十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

UDS标准刷写流程

UDS标准刷写流程 1.诊断服务调度DiagnosticServiceDispatcher1.确认是否接受完成2.判断接受数据1.如果编程会话内容为0x31 01 02 03强切进入扩展会话便捷刷写流程入口0x31SID RoutineControl例程控制UDS 服务 0x31用于控制 ECU 内部的例程函数 / 流程0x01SubFunction startRoutine启动例程子功能0x01 启动0x02 停止0x03 查询结果0x2 0x3routineIdentifier 0x0203例程标识符厂商自定义高字节在前3.接收并解析数据及检查1.获取地址掩码2.当前服务等级3.当前服务需解锁等级4.当前已解锁等级1.地址检查2.会话检查3.安全检查4.长度检查常用服务最小长度5.子服务及抑制检测正响应抑制:UDS 诊断协议ISO 14229中的一个标准机制诊断仪在发送请求时可以通过设置一个标志位要求 ECU 在执行成功后不返回正响应在 UDS 协议中大多数诊断服务都有一个子功能字节SubFunction这个字节的最高位bit7就是抑制正响应位规则1只抑制正响应不抑制负响应规则2不是所有服务都允许抑制规则3没有子功能的服务没有抑制位6.boot双重检测为什么需要 Boot 检测ECU 有两种运行模式应用模式Application正常运行所有诊断服务都可用引导模式Bootloader刷写模式只允许刷写相关的少数服务其他服务必须拒绝Boot 检测的作用就是判断当前是否处于 Boot 阶段如果是则只允许刷写相关服务通过拒绝其他所有服务。7.负响应组成遵循 UDS 标准的 0x7F SID NRC 格式8.正响应处理流程UDS 标准规则正响应的 SID 请求 SID 0x401.抑制正响应判断2.抑制正响应抑制正响应过后需重置S3定时器否则会超时断开。抑制正响应后主动执行错误码 正响应重置错误码APP_DIAG_InitMsgContext()初始化消息上下文ResetDiagState()重置诊断状态机这样下一个请求到来时状态是干净的可以正常处理。3.发送响应2.诊断服务处理DiagnosticServiceProcessor3.诊断会话层DiagnosticSessionLayer
返回列表