KWP2000协议:协议应用及实例分析

来源:互联网 发布:优品课堂python百度云 编辑:程序博客网 时间:2024/05/18 06:29

物理层及链路层记录

物理层主要记录要素

  • 诊断座定义:用图片或图形记录诊断座形状,脚位定义;
  • 电气特性:工作电平、通讯电平
  • 通讯方式:正逻辑or负逻辑?双工或半双工

链路层主要记录要素

  • 位格式:1+8+1
  • 波特率:105200
  • 帧格式:使用哪种帧格式进行通讯
  • 交互模式:帧交互的方式及各个时间参数
  • 系统进入方式说明:说明系统具体进入方式

应用层记录

  • 系统说明
  • 故障信息
  • 数据流
  • 动作测试
  • 版本信息
  • 其他功能

系统说明

需要记录的信息

  • 系统名称:指明系统是为那个车型、那个模式进行开发的
  • 协议类型:指明该系统的协议类型及物理层和链路层的隶属关系
  • 帧格式:指明具体的帧格式,KWP协议的帧格式有4种
  • 通讯速度和脚位:说明本系统使用具体通讯波特率和脚位,KWP一般通讯波特率为10400(10416)BPS,使用OBD-16接头的7号脚进行通讯
  • 系统进入:写明本系统的系统进入方式,KWP一般为快速进入方式,有少部分为地址码进入方式
  • 辅助命令:包括系统进入命令、链路命令、退出命令等,在已经定义具体帧格式下可以只写数据部分

故障信息

记录故障码读取和清除的相关信息
- 故障码读取命令:写明故障码读取命令及ECU回复的命令结构,KWP协议一般用SID 18进行故障码读取;
- 故障码算法:写明故障码的算法规则,怎么确认故障码数量、故障码编码怎么确认;KWP协议里,一般ECU回复数据的第二位为故障码个数,接下来每3个字节代表一个故障码,前2位是该故障码的PCBU编码,第三位为故障状态。当然故障码的编码根据具体ECU的不一样还存在2位甚至4位的编码方式。
- 故障码清除命令:写明故障码清除命令及ECU回复的命令结构,KWP协议一般用SID14进行故障码读取;
- 故障码清除算法:说明故障码清除操作是否成功或进行的方法

故障信息

故障码列表记录注意点

  • 记录其在文本库中的编码(文本库ID在协议书写时不用填,到加文本库时有工具自动生成再填进去,便于在总库中查找)
  • 记录故障码的PCBU编码或其他规则的编码;
  • 故障码内容,记录使用的语言文本,同时也保留原始文本

数据流

数据流读取命令:写明数据流读取命令的格式及ECU回复格式;数据流回复数据读取方法:写明怎么样对ECU回复数据进行读取;数据流列表记录注意点
- PID,byteNo.,bitNo.三部分决定数据流值的具体位置,之间存在范围逐步细化的关系。byteNo.和bitNo.都是从左到右的顺序
- 存在实际采集数据的,记录数据流模拟值,便于软件完成后对算法的验证,这项只针对用原厂设备破解的协议
- 算法,为了方便算法直接向库中拷贝,算法描述需要遵循程序里统一的算法解析语法,而且每个算法都必须写一行,中间不要有换行和Tab格

动作测试

动作测试命令:写明动作测试命令的格式及ECU回复格式;数据流列表记录注意点
- 动作测试关键命令字的记录
- 如果涉及到计算的,需要记录算法,单位及步长等信息
- 有分步执行的,需要记录每一步执行的提示及条件
- 在特殊情况下,可以采取其他格式进行记录

其他功能

特殊功能,如果与基础功能在执行方面差别不大的,采取与基础功能一致的记录方法;在特殊功能执行比较复杂的情况下,可以采用其他方式进行记录后链接

0 0