通讯测试
串口测试车辆通讯问题
SendID:0730
;RecvID:0738
33 33 07 38 FF FF 88 88
设置滤波 只接收ID为0738
的指令55 55 07 30 02 10 03 00 00 00 00 00 88 88
发送指令 发送ID为0730
其中: 02 10 03 00 00 00 00 00 为CAN指令,第一位为长度位。
为什么用55指令测试通讯:
55指令中不包含CAN通讯等待的时间参数,不会出现第三版协议因超时时间较短而导致收不到车辆回复。
第三版协议指令说明
发送数据
F0 F0
XX XX// 数据长度
XX //指令类型:
  10: CAN数据(针对ISO15765协议而定)
  13: 设置CAN通信滤波ID
  14: 只发送指定长度(小于等于8)CAN数据
  15:设置CAN通信波特率及标准帧拓展帧
  20 :K线数据
  25: 设置K线初始化波特率及通信波特率
  05: 设置超时时间 CAN通讯短等待回复时间,默认100ms,长等待时间,默认5000ms
XX XX XX XX //本机ID
XX XX XX XX //目标ID
XX n…//数据
FF//结尾
接收数据
0F 0F
XX XX// 数据长度
XX //指令类型:
  10: CAN数据(针对ISO15765协议而定)
  13: 设置CAN通信滤波ID
  14: 接收到已设置了CAN通信滤波ID的CAN数据
  15:设置CAN通信波特率及标准帧拓展帧
  20: K线数据
  25: 设置K线初始化波特率及通信波特率
  05: 设置通信响应超时时间成功的响应指令
  7F: 收到错误回复,比如超时、数据格式错误等
XX XX XX XX //本机ID
XX XX XX XX //目标ID
XX n…//数据
FF//结尾
示例:
发送:F0 F0 00 0C 10 00 00 07 20 00 00 07 30 10 03 FF
接收:0F 0F 00 10 10 00 00 07 20 00 00 07 30 50 03 00 32 01 F4 FF
设置指定滤波ID及读取超时时间(0x12)
发送:F0 F0 00 07 12 00 00 07 30 14 FF
接收:若CAN总线上指定滤波ID(00 00 07 20
)对应的数据及超时时间(20*10=200ms),则返回:0F 0F 00 0E 12 00 00 07 30 00 01 02 03 04 05 06 07 FF
//(00 00 07 30
目标ID)
否则返回超时提示;
设置滤波ID(0x13)
发送:F0 F0 00 0A 13 00 00 07 20 FF FF FF FF FF
接收:若CAN总线上有设置的ID对应的数据,则返回:0F 0F 00 0E 14 00 00 07 30 50 03 00 32 01 F4 FF
//(00 00 07 30
目标ID)
否则无返回;
只发送单帧数据(0x14)
发送:F0 F0 00 0E 14 00 00 07 20 00 00 00 00 12 34 56 78 FF
发送的目标ID: 00 00 07 20
发送的CAN数据: 12 34 56 78
设置波特率及标准帧拓展帧(0x15)
第6字节及第7字节表示设置波特率大小,单位kbps
第8字节及第9字节表示设置标准帧或拓展帧:00 00
标准帧 00 01
拓展帧
接收数据01代表设置成功,无返回或者返回其他字节数目则设置失败,请注意检测数据格式。
比如
发送:F0 F0 00 06 15 01 F4 00 01 FF
//设置波特率500K,拓展帧
接收:0F 0F 00 03 15 01 FF
//设置成功
设置波特率及标准帧拓展帧,无返回确认指令(针对0x15)(0x16)
第6字节及第7字节表示设置波特率大小,单位kbps
第8字节及第9字节表示设置标准帧或拓展帧:00 00
标准帧 00 01
拓展帧
设置成功与否,都不返回数据
发送:F0 F0 00 06 16 01 F4 00 01 FF
//设置波特率500K,拓展帧
接收:无
K-Line设置初始波特率及正常通讯波特率(0x25)
第6字节及第7字节表示设置初始波特率(单位:bps),默认200bps
第8字节及第9字节表示设置正常通讯波特率(单位:bps),默认10400bps
接收数据01代表设置成功,无返回或者返回其他字节数目则设置失败,请注意检测数据格式。
发送:
F0 F0 00 06 25 00 C8 28 A0 FF
//设置波初始波特率200bps及正常通讯波特率10400bps
接收:0F 0F 00 03 25 01 FF
//设置成功
K线指令(0x20)
发送:F0 F0 00 08 20 80 28 F1 01 81 1b FF
接收:0F 0F 00 0A 20 80 F1 28 03 C1 6B 8F 57 FF
通讯错误的回复指令(0x7F)
0F 0F 00 03 7F XX FF
故障码说明
XX 故障码(Hex) |
说明 |
---|---|
00 |
等待接收或延时发送 |
02 |
发送单帧100ms超时未收到CAN数据 |
03 |
5000ms超时提示 |
04 |
接收多帧时,未收到数据100ms超时提示 |
05 |
读取指定ID数据,超时提示 |
11 |
接收多帧时未收到流控帧提示 |
12 |
接收到的CAN数据长度大于7错误提示 |
13 |
接收到未符合要求的数据类型 |
21 |
发送Kline数据500ms超时未收到CAN数据 |
F2 |
接收到PC数据不是以0xFF结尾 |
F1 |
CAN数据超过4096个字节 |
2A |
K线初始化后未接收到”格式”字节 |
2B |
K线初始化后自反馈是未接收到指定长度K线数据 |
2C |
K线未接收到0x80字节 |