汽车通信协议

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/linjingtu/article/details/78302527

ISO 15765 / ISO14229

1. Main Factory: Ford 11Bit  
Baud Rate/Pins:  500k/6_14    125k/3_11    250k/3_11  
CAN ID:
PCM: 07EX – 07EX+0x08
ABS:  0760 – 0768
ICM:   0720 – 0728
BCM: 0726 – 072E
SRS:  0737 – 073F


Start Command:
T::07 20 08 02 10 03 00 00 00 00 00
R::07 28 08 06 50 03 00 32 01 F4 00

Single Frame:
T::07 20 08 03 22 61 80 00 00 00 00
R::07 28 08 06 62 61 80 00 00 00 00

Send multi Frames:
T::07 20 08 1X 0D 22 61 80 1A 90 80
R::07 28 08 30 00 03 00 00 00 00 00
T::07 20 08 21 1A 80 00 00 00 00 00
R::07 28 08 03 62 61 80 00 00 00 00

Receive multi Frames:
T::07 20 08 03 22 61 80 00 00 00 00
R::07 28 08 1X 0D 62 61 80 00 00 00
T::07 20 08 30 00 03 00 00 00 00 00
R::07 28 08 21 00 00 00 00 00 00 00

2. Main Factory: Ford BMW  11Bit
 Baud Rate and Pin:  500k/6_14  250k/6_14

T::06 F1 05 60 03 22 D1 1F
R::06 60 08 F1 1X 0C 62 D1 1F 01 7F
T::06 F1 04 60 30 00 03
R::06 60 08 F1 21 02 81 03 40 06 07
R::06 60 08 F1 22 01 FF FF FF FF FF

3. Main Factory: Fait  29 bit
Baud Rate and Pin:  500k/6_14    50k/1Pin or 9Pin

T::18 DA 10 F1 03 02 10 03    
R::18 DA F1 10 03 02 50 03

CAN ID Identification:
 
T::18 DA 10 F1 04 03 22 F1 A5
R::18 DA F1 10 08 10 08 62 F1 A5 7A 07 A7
T::18 DA 10 F1 08 03 30 00 00
R::18 DA F1 10 03 21 8A 07

T::18 DA 10 F1 04 03 19 02 0D
R::18 DA F1 10 04 03 59 02 CF

Main factory: Toyota 11bits
Start Session:
T::07 E0 08 01 3E 00 00 00 00 00 00
R::07 E8 08 01 7E 00 00 00 00 00 00
(Toyota use Keep Alive commands to start the communication)
Or
T::07 E0 08 02 10 03 00 00 00 00 00
R::07 E8 08 06 50 03 XX XX XX 00 00

To BCM:
T::07 50 08 40 02 A8 01 00 00 00 00
R::07 58 08 40 10 3E E8 01 00 04 FF
T::07 50 08 40 30 00 64 00 00 00 00
R::07 58 08 40 21 FF FF FF 09 06 FF
R::07 58 08 40 22 FF FF FF FF FF 0A
R::07 58 08 40 23 06 FF FF FF FF FF
R::07 58 08 40 24 FF 0B 06 FF FF FF
R::07 58 08 40 25 FF FF FF 11 04 80
R::07 58 08 40 26 F0 00 00 12 04 F0
R::07 58 08 40 27 00 00 00 13 04 C0
R::07 58 08 40 28 00 00 00 14 04 8E
R::07 58 08 40 29 67 00 00 15 04 70
R::07 58 08 40 2A FC 00 C0 00 00 00

GM LAN  
Main Factory: GM  11 bit 
33.333K/Single CAN 1pin

Initialization:  TX,01 00 00

T::01 00 00  --------  Wake up the CAN LINE
T::02 55 08 01 20 00 00 00 00 00 00  --------  Start Session
R::06 55 08 01 60 9A 11 05 2F 30 36
Or
T::02 55 08 01,3E 00 00 00 00 00 00
R::06 55 08 01 7E 00 00 00 00 00 00     --------  LOOP

T::07 E0 08 09 AA 03 FA FB FC FD FE
T::07 E0 08  01 02 03 04 00 00 00 00

T::02 55 08 07 AA 03 11 FE FD FC 00
R::06 55 08 11 00 00 00 00 00 00 00 
R::06 55 08 FE 00 00 00 00 00 00 00
R::06 55 08 FD 00 00 00 00 00 00 00
R::06 55 08 FC 00 00 00 00 00 00 00

T::02 55 08 10 10 2C FE 82 79 82 76
R::06 55 03 30 00 0A
T::02 55 08 21 82 7A 82 86 82 78 82
T::02 55 08 22 7B 82 85 00 00 00 00
R::06 55 08 02 6C FE AA AA AA AA AA

T::02 55 08 10 10 2C FD 82 74 82 7E
R::06 55 03 30 00 0A
T::02 55 08 21 82 7C 82 7D 82 71 82
T::02 55 08 22 81 82 CB 00 00 00 00
R::06 55 08 02 6C FD AA AA AA AA AA

T::02 55 08 10 0A 2C FC 82 87 82 89
R::06 55 03 30 00 0A
T::02 55 08 21 82 8A 82 8B 00 00 00
T::06 55 08 02 6C FC AA AA AA AA AA

T::02 55 8 02 AA 00 00 00 00 00 00  --------  “AA 00”  UUDT is Stopped

VW-CAN
Transmit and Receive data 数据分析
T::200 07 C0 00 10 00 03 01 
R::207 00 D0 00 03 51 07 01 系统诊断触发请求地址码0x07
ECU应答,系统地址码0x007 51,0x003 00为接收地址,高位在后。
T::07 51 A0 0F 8A FF 32 FF 
R::03 00 A1 0F 8A FF 4A FF 建立命令进入系统,并设置T1 /T3。
T1=10*10ms=100ms T3=50*100us=5ms
T1=10*10ms=100ms T3=10*1ms=10ms
第一句是建立连接的请求,
第二句是ECU建立应答。

这一步是TP2.0协议定义要求的时间参数及进入系统的命令格式。
T::07 51 10 00 02 10 89 
R::03 00 B1     
R::03 00 10 00 02 50 89 
T::07 51 B1 10是设备发送的报文控制字,1代表请求ECU数据,0是计数值,设备每次请求应将此值加1,在0-F间循环。请求连接诊断 10 89(KWP2000定义的数据)
02是设备发送的数据的长度,02前面的字节00不能变。
B1,开始发送多桢数据,序号为1
高4位B代表是确认报文,后面无数据,设备不需要应答,ECU会继续发送后面的数据。1是序列号,从1开始,以后每次设备请求,ECU都+1,在0-F间循环。
10:ECU应答报文控制字节,高位半字1代表是数据报文的最后一帧数据,接收后需要设备应答,后面是有效的数据,就是说设备完整接收该报文后,需要在T3时间内发送应答报文给ECU。低位字节0是一个0-F间的计数据值。
如果高位半字是2,同样代表该报文是有效数据,但设备接收到该报文后,应继续接收后面的报文。
这是只有一个桢的情况 第一字节为10
诊断议已接收,
07 51 B1设备接收后,响应B1(1是计数值,是最后一帧接收到的报文的计数值加1,在0-F间的值。
T::07 51 11 00 02 1A 9B 读版本信息  指令:1A 9B
11是设备发送的报文控制字,1代表请求ECU数据,1是计数值,设备每次请求应将此值加1,在0-F间循环。请求连接诊断 1A 9B(KWP2000定义的数据)
02是设备发送的数据的长度,02前面的字节00不能变。
R::03 00B2

R::03 00 21 00 30 5A 9B 34 46 30 
R::03 00 22 39 31 30 39 30 30 43 
R::03 00 23 20 20 30 31 32 30 03 
R::03 00 24 00 08 5F 07 EA 05 EC
R::03 00 25 04 74 4B 4F 4D 42 49 
R::03 00 26 49 4E 53 54 52 2E 20 
R::03 00 27 4D 37 33 20 48 31 33 
R::03 00 18 20 返回多包数据,注意ECU前面一条响应已经发回过一个数据包,所以这个计数据值为B2,同样后面的流数据从21开始,因为前条指令已发了一条。

30 0x30=48是数据的总长度,阴影部分总长

1:最后一桢  20: Last data
T::007 51 B9 诊断议已接收,响应B9(9是计数据值)  9: ack of 18

T::07 51 12 00 04 31 B8 00 00 读功能选择判断协议,见协议部分
R::03 00 B3
R::03 00 29 00 10 71 B8 01 02 01 
R::03 00 2A03 01 04 01 06 01 07 
R::03 00 1B 01 08 01 0C 10是有效数据的长度,总计16字节
T::07 51 BC
T::07 51 A3 
R::03 00 A1 0F 8A FF 4A FF 
T::07 51 A3 
R::03 00 A1 0F 8A FF 4A FF 空闲帧命令应答,TP2.0协议规定的格式
 

Kwp 1281

5 Baud Rate Initialization
T::01 (Send address at 5 Baud rate) (For instance: 0x33 is the engine’s address)
Wait: 300ms-500ms
R::0x55 (At 10400 BPS or 9600 BPS)
Diagnostic tools use 0x55 to decide the baud rate, make the communication synchronous.
0-30ms
R::01 8A(ECU Response keyword1 and keyword2)
Keyword2:    0x08 – ISO91 0x8F – ISO1423 0x8A – Kewp1281
T::75 (0X75 = ~0X8A)
(Except the ISO1281,need to send the not-address(地址取反))
   ISO1281 send the not-value of data (取反) in the physical layer.
After ECU received reverse code of Key Word 2, it will send first frame of system information, and send the remain system information after Link Keeping command (03 xx 09 03)
R::0F  01   F6  B3 42 44 39 30 36 30 31 38 43 20 20 03 
T::03  02    09  03 
(Message format is: Length(1Byte) + Counter(1Byte) + Request Word/Answer Word(1Byte)+Data(can be none)+End(1 Byte and always is 03)
R::17 03 F6 31 2E 38 6C 20 52 34 2F 35 56 20 54 2D 4D 50 49 47 20 20 20 03
T::03 04 09 03
R::07 05 F6 30 30 33 30 03
T::03 06 09 03
R::08 07 F6 00 5A 3E 00 4E 03

T::03 08 09 03
R::03 09 09 03
                                
T::04 9A 29  02 03 
R::0F 9B E7 24   1F   C1 13 64 1D 40 AB 00 05 0A 81 03              

T::03 0A 09 03
R::03 0B 09 03

T::03 9E 06 03
R::03 9F 06 03

ISO 9141 and 14230

5 baud rate initialization :
T::33 (5BPS address word)
R::55 (Auto detect 55 response to determine communication baud rate)  
R::08 08 (Key Word 1 and Key Word 2)
T::F7 (Logic inversion of Key Word 2)
R::CC (Logic inversion of 5BPS address 0x33, difference with KWP 1281 5BPS initialization)

Fast Initialization:
The tester transmits a Wake up Pattern (WuP) on K- and L-line synchronously. The pattern begins after an idle time on K-line with a low time of TiniL. The tester transmits the first bit of the StartCommunication Service after a time of tWup following the first falling edge, as shown in following figure. Values of TWuP is 50ms but TiniL is not fixed.
 
T::X0 20 F1 01 81 1CH
Highest two bits: 00b or 01b or 10b or 11b 
The X is usually 8!

Start Session:
T::81 29 f1 81 1C 
R::83 f1 29 c1 e9 8f d6

T::82 29 f1 21 e1 9e
R::83 f1 29 61 e1 01 e0

T::82 29 f1 13 e1 90 
R::83 f1 29 53 e1 01 d2 

T::81 29 f1 13 ae 
R::83 f1 29 53 52 37 79

T::82 29 F1 21 21 DE 
R::88 F1 29 61 21 80 60 00 00 00 00 84

Stop Command:
T::81 29 f1 82 1D
R::81 f1 29 C2 5D

欢迎交流深圳程序员交流群:550846167

猜你喜欢

转载自blog.csdn.net/linjingtu/article/details/78302527