车载诊断标准ISO+15765-2中文 下载本文

络层实体,在接收到如下情况的帧时

a) FF N_PDU,或者

b) 一组连续帧的最后一个FF N_PDU,如果另外的一组连续帧需要被发送的话。

FC N_PDU也能在拆分数据发送期间,通知发送网络层实体暂停CF N_PDUs的发送或者在检测到首帧中数据(FF_DL)字长超过接收实体的缓冲区时,中止发送。

6.4.6 协议数据单元域描述 6.4.6.1 N_PDU 格式

协议数据单元(N_PDU)使数据在两个或多个对等网络节点之间传递。所有的N_PDUs包含了3个域,如下表2所示。 表2 N_PDU格式 地址信息 N_AI 协议控制信息 N_PCI 数据域 N_Data

6.4.6.2 地址信息(N_AI)

N_AI用于标识对等网络实体间的通信。N_AI信息在N_SDU—N_SA, N_TA, N_TAtype, N_AE—中接收,应当复制包含在P_PDU中。如果接收到的N_SDU中信息很长,需要网络层拆分这些数据以发送完整的信息,N_AI应当被复制并包含在每一个要发送的N_PDU中。

该域包含地址信息标识交互信息类型,数据交互的接收方和发送方。地址信息包含信息地址。

注意:更详细的地址信息的描述,看5.3.2

6.4.6.3 协议控制信息(N_PCI)

该域标识交互的N_PDUs的类型。它也用来交互在网络层对等实体通信的其它控制参数。 注意: 所有N_PCI参数更详细的说明见6.5 6.4.6.4 数据域(N_Data)

N_PDU中的N_Data用于发送在参数中从服务使用者使用N_USData.request服务接收的数据。如果必要的话,会在网络发送之前拆分为更小的部分,以适应N_PDU数据域。

N_Data的大小依赖N_PDU的类型及地址格式的选取。 6.5 协议控制信息说明

6.5.1 N_PCI 所有的N_PDU通过N_PCI来标识,见表3及图4

表3 ——N_PCI字节概要 N_PDU名 单帧(SF) 首帧(FF) 连续帧(CF) 流控(FC) 16进制值 描述 0 单帧 对于未拆分的信息,网络层提供了一个优化的网络协议,即将信息长度值仅放置在PCI字节里。单帧(SF)应当能支持在单个CAN帧中的信息传输。 1 首帧 首帧只支持一条信息无法在单个CAN帧中发送时使用。例如,拆分的信息。拆分信息的第一帧编码为FF,在接收到FF时,接受网络层实体应重组这些信息。 连续帧 当发送拆分数据时,所有的连续帧跟着FF编码为连续帧(CF)。在接收到一个连续帧,接受网络层实体应当重组接收到的数据字节直到整个信息被接收到。接收实体在接收最后一帧信息并无接收错误之后,应传递这些信息到相邻的上层。 流控帧 流控制的目的是调整CF N_PDUs发送的速率。流控协议数据单元的3种类型用于支持这些功能。这些类型由协议控制信息的流状态(FS)域指示。 保留 该范围的值为该协议保留。 N_PCI字节 字节1 7 – 4位 N_PCItype = 0 N_PCItype = 1 N_PCItype = 2 N_PCItype = 3 3 – 0位 SF_DL FF_DL SN FS N/A BS N/A N/A N/A N/A STmin 字节2 字节3 表4—N_PCItype值的定义 2 3 4 - F 6.5.2 单帧N_PCI参数定义 6.5.2.1 SF N_PCI 字节

表5给出了SF N_PCI字节总览 表5SF N_PCI字节总览 N_PDU名字 SF N_PCI byte Byte 1 7 单帧 0 6 0 5 0 4 0 3 2 1 0 SF_DL

单帧数据长度(SF_DL)参数在SF N_PDU中用于指明服务使用者的字节数。看表6

表6 SF_DL值的定义 16进制值 0 1 – 6 7 8 - F 说明 保留 该范围的值为该协议保留。 单帧数据长度值(SF_DL) SF_DL应编码在N_PCI字节低位,并分配服务参数的值。 单帧数据长度(SF_DL)中标准地址 SF_DL = 7时,只允许标准地址 无效的 该范围值无效 6.5.2.2 SF_DL出错处理

如果网络层接收到一个SF_DL=0的单帧(SF),网络层应当忽略接收SF N_PDU。

如果网络层接收到使用标准地址且一个SF_DL大于7的单帧,或大于6且使用扩展或混合地址时,网络层应当忽略该SF N_PDU。 6.5.3 首帧N_PCI参数定义 6.5.3.1 FF N_PCI字节

表7 给出了一个FF N_PCI字节总览 表7 FF N_PCI字节总览 N_PDU名字 FF N_PCI byte Byte 1 首帧 0 0 0 1 FF_DL Byte 2 7 6 5 4 3 2 1 0 6.5.3.2 首帧数据长度(SF_DL)参数定义

FF N_PDU中的参数FF_DL用于说明服务使用者数据字节数。如表8所示, 16进制数 说明 0 – 6 7 8 - FFF 无效的 该范围值无效 首帧数据字节(FF_DL)支持扩展地址及混合地址 FF_DL = 7 只允许扩展地址及混合地址 首帧数据字节(FF_DL) 拆分信息在12个位的长度(FF_DL)上编码,并N_PCI字节2中最低位置位“0”,N_PCI字节1中最高位置为“3”。拆分信息最大数据长度支持4095个用户数据。该数据当被分配到服务参数中。 6.5.3.3 FF_DL 出错处理

如果网络层接收到FF_DL大于接收方缓冲区的首帧时,应当被认为是错误情况。网络层应当放弃该信息的接收,并且发送包含参数FlowStatus = Overflow的FC N_PDU。

如果网络层接收到FF_DL小于8并且使用标准地址,或小于7并且使用扩展地址或混合地址时,网络层应当忽略该首帧并且不必发送一个FC N_PDU。

6.5.4 连续帧N_PCI参数定义 6.5.4.1 CF N_PCI字节

表9 给出了一个CF N_PCI字节总览 表9 CF N_PCI字节总览 N_PDU名字 CF N_PCI byte Byte 1 7 连续帧 0 6 0 5 1 4 0 3 SN 2 1 0 6.5.4.2 连续帧参数(SN)定义

CF N_PDU中参数SN用以说明连续帧的顺序。 ——对于所有拆分信息,SN开始于0。FF应当分配值0,它不是明确地包含在N_PCI域中,但应当按拆分信息顺序号为0。

——第一个流控帧编号(SN)后的连续帧设置为1;

——在同一个拆分信息上,每一个新增的连续帧编号(SN)增1; ——连续帧编号(SN)的值不受流控帧的影响。

——当连续帧编号(SN)到达值15时,它在下一个连续帧中重置为0; 顺序编号如下表10所示 表11所示SN值

表10——SN定义总结 N_PDU FF CF 1 CF ? CF E CF F CF 0 CF 1 CF ? SN(hex) 0 16进制值 描述 0 - F 连续号(SN) 连续号应当在N_PCI字节1的低字位编码。SN设置值范围在0到15. 表11——SN值定义 6.5.4.3 SN出错处理

如果接收到一个连续号错误的CF N_PDU信息,网络层则进行出错处理。信息的接收被终止,并且网络层发送一个参数=N_WRONG_SN的N_USData.indication指示服务至相邻上层。

6.5.5 流控参数N_PCI定义 6.5.5.1 流控参数N_PCI类型 表12 给出了一个FC N_PCI字节总览 表12 FC N_PCI字节总览 N_PDU名字 FC N_PCI byte Byte 1 7 6 5 4 3 流控帧 0 0 1 1 FS Byte 2 2 1 0 BS Byte 3 STmin 6.5.5.2 流状态参数(FS)定义

流状态参数(FS)指示发送网络实体是否继续信息的发送。