一、、分段协议
分段协议位于CAN数据区中的一个单字节中,格式如下:
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
分段类型 |
分段计数 |
分段类型 - 表明是第一段、中间段的还是最后段的发送。
分段类型位值
1)第一个分段。分段计数区必须包含值0或3F。
如果分段计数器包含值0,那么就是分段系列中的第一段。如果分段计数器包含值3F,那么这就是传输系列中的最后一个发送。当在I/O连接中建立一个大的连接长度,但当前只有少量的数据被发送时,接受器必须被告知这既是第一段也是最后一段。
2)中间分段。
表明这是一个中间分段。此分段既不是系列中的第一个也不是最后分段。更多的分段将会到来。
3)最后分段
标志最后一个分段。在已发送一个或多个分段后,就可以使用这个值。
4)分段应答
分段信息的接收器的值,用于确认分段的接受。
二、
一个15个字节I/O信息的分段传输
生产模块的MAC ID=0A,假定已经通过组1建立I/O连接。
假设要传输0102030405060708090A0B0C0E0F这15个字节。
第一个传输
标识符=01000001010
0:组1信息
1000:组1信息ID=8
001010:源MAC ID=0A
数据=0001020304050607
0:段类型=第一个分段
0:段计数=0
01020304050607:I/O数据的第一部分
第二个传输
标识符=01000001010
0:组1信息
1000:组1信息ID=8
001010:源MAC ID=0A
数据=4108090A0B0C0D0E
4:段类型=中间分段
0:段计数=1
08090A0B0C0D0E:I/O数据的第一部分
最后的传输
标识符=01000001010
0:组1信息
1000:组1信息ID=8
001010:源MAC ID=0A
数据=820F
8:段类型=中间分段
2:段计数=2
820F:I/O数据最后的传输