贵阳网站制作服务商,苏州注册公司好快记财务,三星做号网站,拓者设计吧邀请码ⅠOBD
1.OBD接口 OBD有16个引脚#xff0c;每个引脚的电压不同#xff08;可以对应不同的协议#xff09; 车端#xff1a; 16- 9 (短一点点的) 8-1 #xff08;长一点的#xff09; 2.基于OBDⅡ的通信协议 CAN #xff08;ISO-15765每个引脚的电压不同可以对应不同的协议 车端 16- 9 (短一点点的) 8-1 长一点的 2.基于OBDⅡ的通信协议 CAN ISO-15765对应的引脚是6-14 J1850 ①PWM 对应的引脚是2 -10 ②VPW 对应引脚2 K-line ①ISO 9141-2 对应引脚 7 -15 or 1 2 ②14230-5KWP2000对应引脚7-15 CAN SO15765-2定义了诊断模型中TP网络传输层对于不同CAN报文格式单帧和多帧的处理方式。ISO15765目的是为了解决ISO 11898协议中定义的经典CAN数据链路层与ISO 14229协议中定义的应用层彼此之间数据长度不统一的问题 ISO 标准化的 CAN 协议 CAN 协议经 ISO 标准化后有 ISO11898 标准和 ISO11519-2 标准两种。 ISO11898 和 ISO11519-2 标准对于数据链路层的定义相同但物理层不同 (1) 关于 ISO11898 ISO11898 是通信速度为 125kbps-1Mbps 的 CAN 高速通信标准。目前 ISO11898 追加新规约后成为 ISO11898-1 新标准。 (2) 关于 ISO11519 ISO11519 是通信速度为 125kbps 以下的 CAN 低速通信标准。ISO11519-2 是 ISO11519-1 追加新规约后的版本。 物理层和数据链路层 CAN总线信号
ISO 11898-2也称为高速度CAN。它在总线的两端均接有120Ω电阻。 高速CAN总线在传输显性0信号时会将CAN_H端抬向5V高电平将CAN_L拉向0V低电平。当传输隐性1)信号时并不会驱动 CAN_H或者CAN_L端。 显性信号CAN_H和CAN_L两端差分标称电压为2V。 终端电阻在没有驱动时将差分标称电压降回0V。显性信号0的共模电压需要在1.5V到3.5V之间。隐性信号1的共模电压需要在/-12V。 ISO 11519 低速/容错CAN信号在传输显性信号0时驱动CANH端抬向5V将CANL端降向0V。在传输隐性信号1时并不驱动CAN 总线的任何一端。在电源电压Vcc为5V时显性信号差分电压需要大于2.3V隐性信号的差分电压需要小于0.6V。CAN总线两端未被驱动时终端电 阻使CANL端回归到RTH电压当电源电压Vcc为5V时RTH电压至少为Vcc-0.3V4.7V同时使CANH端回归至RTL电压RTL 电压最大为0.3V。两根线需要能够承受-27V至40V的电压而不被损坏。 帧格式 CAN总线的数据帧有标准帧和扩展帧两种格式区别在于标准帧具有 11-bit 的帧ID扩展帧具有 29-bit 的帧ID 位填充 无论何时发送器只要检测到位流中有5个连续相同逻辑的位便会自动在位流中插入一个补码位。所以当有五个连续的相同逻辑位那么第六位的数据要舍弃 作用 1.CAN网络同步需要足够多的上升沿这是CAN协议规定位填充的目的之一。 2.确保数据帧不会被当作错误帧由6个连续的显性或隐性位组成、确保正确识别帧结束标志7个连续隐性位。 15765-2 根据ISO-TP中的描述Can帧主要分四类单帧(Singal frame, SF)首帧(First frame, FF) 连续帧(Consecutive frame, CF) 流控帧(Flow control frame, FC) 单帧值为0其长度可为8个字节(value值占1个字节 7个表示正常地址字节一般我们遇到主要就是类型的)或7个字节(value值占1个字节 6个扩展地址字节) 首帧其值为1 用于长的、已被分割的多帧消息包中。首帧包括整个包的数据长度以及数据初始值 连续帧其值为2包含多帧消息包后续子序列的数据帧 流控帧其值为3 是由接收方在确认收到首帧(FF)后发起的响应。其约定了后续连接帧(CF)的传输参数BS 块大小 ST时间 K-line
ISO 9141
ISO 14230
这两个好像差不多 好像是关键字不同
KWP2000只有三个子层有定义说明即应用层、数据链路层、物理层。并且这三个层分别由ISO-14230-1、ISO-14230-2、ISO-14230-3定义标准所以一直都这么说ISO-14230就是基于K线的KWP2000。 K线KWP2000协议是异步半双工进行通讯的通常采用10416BPS的波特率空闲电平通常为12V。 |(1) 应用层 ISO-14230-1 KWP2000 |(2) 数据链路层 ISO-14230-2 |(3) 物理层 ISO-14230-3 1、系统进入初始化 有两种初始化方式主要是用第一种初始化。由设备先发送25ms的拉低电平然后是25ms的高电平空闲电平然后再发送系统进入数据系统进入数据通常为5个字节ECU响应7个字节完成系统初始化交互。请参见下图 第二种初始化方式为设备发送5BPS或者200BPS的地址码ECU响应55HKW1KW2设备对KW2取反发回给ECUECU对地址码取反发回给设备完成系统初始化交互。其中55H这个字节用来规定后面的通信波特率。参见下图 2、帧结构 命令头1个或多个字节命令体1个或多个字节校验通常为和校验
在命令头中包括以下几个部分的内容格式目标地址源地址长度字节。长度信息有时候在格式字节中体现则不需要另外的长度字节长度信息用以表示命令体的内容目标地址和源地址有时候也会没有。 命令体的内容中命令字命令内容。命令内容可以没有。 举例如下
81H 11H F1H 81H 04H
第一个字节81H为格式长度信息801 第二个字节11H为目标地址 第三个字节F1H为源地址 第四个字节81H为命令字表示系统进入 最后一个字节04H为前面4个字节的校验和 同样也可能表现如下命令字 80H 11H F1H 01H 3EH C1H 这种情况下长度字节放在源地址之后 还可能表现为 02H 1AH 9AH B6H 这种情况下格式字节和目标地址源地址都已经没有了 还有一种特殊的情况在上一种情况的基础上在帧数据之前加一个00例如 00H 02H 1AH 9AH B6H 但这种帧结构的情况极少
3、命令交互 命令交互通常情况下为1对1但也存在1对多或者多对1的情况。下面是一组命令交互举例 Tools: 81H 31H F1H 81H 24H ECU: 83H F1H 31H C1H E9H 8FH DEH 在交互中因为发送命令的对象不一样所以目标地址和源地址是进行了互换 同时ECU响应设备的命令字在设备命令字的基础上 0x40肯定回答
还有否定回答即回复 7F Tools: 0x81, 0x11, 0xF1, 0x81, 0x04, ECU: 0x83, 0xF1, 0x11, 0x7F, 0x81, 0x21, 0xA6,
4、交互时间参数 设备发送命令字节间的时间间隔P1通常为5ms ECU返回命令字节间的时间间隔P2通常为0ms 设备发送完一帧命令后等待ECU响应的时间P3通常为75ms~90ms 设备接收到ECU响应后到发送下一帧命令的时间P4通常为20ms~26ms
5、常用命令字
系统进入81H 系统退出82H 链路保持3EH 读故障码18H 清除故障码14H 读版本信息1AH 读数据流21H
6、数据格式
发送一字节的数据格式为重点 起始位 数据 停止位 1 8 1 如下 ———————————————— 原文链接https://blog.csdn.net/haha1fan/article/details/78007839
报文格式 UART
这个不知道和14230与9141有什么关系 J1850 PWM
VPW
这好像用的很少 等遇到了再看