该请求服务需要通过
L_Data.request(
)
该确认服务用于确认L_Data.request请求指定的
L_Data.confirm(
)
该指示服务指示数据链路层到相邻上层的事件并通过
L_Data.indication (
)
下列所示数据链路层服务参数在ISO 11898-1中定义。
: CAN帧数据
映射到N_PDU域
地址格式
网络层数据交互有三种地址格式的支持:标准,扩展和混合。不同的地址格式需要不同数据长度的CAN帧对包含数据的地址信息进行打包。因此,选择单个CAN帧的数据长度依赖于地址格式类型的选取。
标准地址
对于N_SA, N_TA,N_TAtype,一个特定的CAN标识符被分配。N_PCI和N_Data安置在CAN帧的数据域。如表。
N_PDU类型 |
CAN标识 |
CAN帧数据域 |
|||||||
字节1 |
字节2 |
字节3 |
字节4 |
字节5 |
字节6 |
字节7 |
字节8 |
||
单帧(SF) |
N_AI |
N_PCI |
N_Data |
||||||
首帧(FF) |
N_AI |
N_PCI |
N_Data |
||||||
连续帧(CF) |
N_AI |
N_PCI |
N_Data |
||||||
流控帧(FC) |
N_AI |
N_PCI |
N/A |
标准混合地址
标准混合地址是标准地址的子格式,也就是映射到CAN标识的地址信息更多一层定义。在上述标准通信,N_AI和CAN标识之间打开。
对于标准混合通信只允许有29bit的CAN标识。N_PCI和N_Data放在CAN帧数据域。
表标准混合地址,N_TAtype = 物理的
N_PDU类型 |
29bitCAN标识,位地址 |
CAN数据域位地址 |
|||||||||||||
28…26 |
25 |
24 |
23…16 |
15 |
8 |
7…0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
|
单帧(SF) |
110(bin) |
0 |
0 |
218(dec) |
N_TA |
N_SA |
N_PCI |
N_Data |
|||||||
首帧(FF) |
110(bin) |
0 |
0 |
218(dec) |
N_TA |
N_SA |
N_Data |
||||||||
连续帧(CF) |
110(bin) |
0 |
0 |
218(dec) |
N_TA |
N_SA |
N_PCI |
N_Data |
|||||||
流控帧(FC) |
110(bin) |
0 |
0 |
218(dec) |
N_TA |
N_SA |
N_PCI |
N/A |
表 标准混合地址,N_TAtype = 功能的
N_PDU类型 |
29bitCAN标识,位地址 |
CAN数据域位地址 |
|||||||||||||
28…26 |
25 |
24 |
23…16 |
15 |
8 |
7…0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
|
单帧(SF) |
110(bin) |
0 |
0 |
219(dec) |
N_TA |
N_SA |
N_PCI |
N_Data |
|||||||
首帧(FF) |
110(bin) |
0 |
0 |
219(dec) |
N_TA |
N_SA |
N_Data |
||||||||
连续帧(CF) |
110(bin) |
0 |
0 |
219(dec) |
N_TA |
N_SA |
N_PCI |
N_Data |
|||||||
流控帧(FC) |
110(bin) |
0 |
0 |
219(dec) |
N_TA |
N_SA |
N_PCI |
N/A |
扩展的地址
对于N_SA, N_TA,N_TAtype,一个特定的CAN标识符被分配。N_TA安置在CAN帧数据域第一个字节,N_PCI和N_Data安置在CAN帧数据域剩下的字节。
表 N_PDU参数到CAN帧的映射——扩展地址
N_PDU类型 |
CAN标识 |
CAN帧数据域 |
|||||||
字节1 |
字节2 |
字节3 |
字节4 |
字节5 |
字节6 |
字节7 |
字节8 |
||
单帧(SF) |
N_AI,无N_TA |
N_TA |
N_PCI |
N_Data |
|||||
首帧(FF) |
N_AI,无N_TA |
N_TA |
N_PCI |
N_Data |
|||||
连续帧(CF) |
N_AI,无N_TA |
N_TA |
N_PCI |
N_Data |
|||||
流控帧(FC) |
N_AI,无N_TA |
N_TA |
N_PCI |
N/A |
混合地址
29位CAN标识
混合地址是将Mtype设置为远程诊断的地址格式。
下表定义了地址信息(N_AI)到29位CAN标识符的映射机制。主要是目标地址类型(N_TAtype),N_PCI和N_Data安置在CAN帧数据域剩余字节。
表29位CAN标识符的混合地址,N_TAtype=物理的
N_PDU类型 |
29bitCAN标识,位地址 |
CAN数据域位地址 |
||||||||||||||
28…26 |
25 |
24 |
23…16 |
15 |
8 |
7…0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
||
单帧(SF) |
110(bin) |
0 |
0 |
206(dec) |
N_TA |
N_SA |
N_AE |
N_PCI |
N_Data |
|||||||
首帧(FF) |
110(bin) |
0 |
0 |
206(dec) |
N_TA |
N_SA |
N_AE |
N_PCI |
N_Data |
|||||||
连续帧(CF) |
110(bin) |
0 |
0 |
206(dec) |
N_TA |
N_SA |
N_AE |
N_PCI |
N_Data |
|||||||
流控帧(FC) |
110(bin) |
0 |
0 |
206(dec) |
N_TA |
N_SA |
N_AE |
N_PCI |
N/A |
|||||||
表29位CAN标识符的混合地址,N_TAtype=功能的
N_PDU类型 |
29bitCAN标识,位地址 |
CAN数据域位地址 |
||||||||||||||
28…26 |
25 |
24 |
23…16 |
15 |
8 |
7…0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
||
单帧(SF) |
110(bin) |
0 |
0 |
205(dec) |
N_TA |
N_SA |
N_AE |
N_PCI |
N_Data |
|||||||
首帧(FF) |
110(bin) |
0 |
0 |
205(dec) |
N_TA |
N_SA |
N_AE |
N_PCI |
N_Data |
|||||||
连续帧(CF) |
110(bin) |
0 |
0 |
205(dec) |
N_TA |
N_SA |
N_AE |
N_PCI |
N_Data |
|||||||
流控帧(FC) |
110(bin) |
0 |
0 |
205(dec) |
N_TA |
N_SA |
N_AE |
N_PCI |
N/A |
|||||||
11位CAN标识符
混合地址是将Mtype设置为远程诊断的地址格式。
下表定义了地址信息(N_AI)到11位CAN标识的映射机制。对于N_SA, N_TA,N_TAtype,一个特定的CAN标识符被分配。N_AE安置在CAN帧数据域的第一个字节。N_PCI和N_Data安置在CAN帧数据域的剩余字节。
表混合地址(11位CAN标识符)
N_PDU类型 |
CAN标识
|
CAN帧数据域 |
|||||||
字节1 |
字节2 |
字节3 |
字节4 |
字节5 |
字节6 |
字节7 |
字节8 |
||
单帧(SF) |
N_AI |
N_AE |
N_PCI |
N_Data |
|||||
首帧(FF) |
N_AI |
N_AE |
N_PCI |
N_Data |
|||||
连续帧(CF) |
N_AI |
N_AE |
N_PCI |
N_Data |
|||||
流控帧(FC) |
N_AI |
N_AE |
N_PCI |
N/A |
CAN帧数据长度码(DLC)
DLC参数指定了某一个CAN帧中数据字节长度。本文档不指明数据域中长度的任何要求,而只是在网络层协议数据单元的大小给出暗示。
应用网络层要么将所有CAN帧打包成完整、全部的长度,要么优化DLC以适合网络协议数据单元。
CAN帧数据打包
DLC总是设置为8.如果发送的N_PDU比8短,那么发送方将DLC设置为最大值为8(打包了一些不使用的数据字节)。这些会在SF,FC帧或拆分信息的最后一个CF帧中会出现。
DLC参数由发送方设置并由接收方决定网络层处理的每一CAN帧的数据字节个数。DLC参数无法用于决定信息长度;该信息应该在信息的开始从N_PCI的信息中提取。
CAN帧数据优化
DLC不总是为8.如果发送的N_PDU比8 短,那么发送方会通过缩减CAN帧到只包含N_PDU占有的字节数(不对无用的数据字节打包)来优化CAN总线负载。CAN帧的优化只能针对SF,FC帧或拆分信息的最后一个CF帧。
DLC参数由发送方设置并由接收方决定网络层处理的每一CAN帧的数据字节个数。DLC参数无法用于决定信息长度;该信息应该在信息的开始从N_PCI的信息中提取。
数据长度码出错处理
依赖于N_PCI的值,网络层可计算一个接收到的CAN帧中CAN DLC最小期待的值。
接收到的CAN帧中DLC的值比期待的值要小,(使用打包CAN帧时比8要小或者比网络协议数据单元优化后指示的值要小)网络层应该忽略并不做任何更多的操作。
汽车UDS诊断教程 ISO15765(一)
汽车UDS诊断教程 ISO15765(二)
汽车UDS诊断教程 ISO15765(三)
汽车UDS诊断教程 ISO15765(四)
汽车UDS诊断教程 ISO15765(五)
如需获取更多资料可以关注公众号“Auto笔记”,其分享汽车电子行业的最新资讯,及开发笔记、学习笔记等相关经验。关注公众号,回复“iso15765”,获取相应文档。