目录
一、网络层概要
1.1诊断协议OSI分层结构
1.2应用层诊断服务数据←→CAN数据帧
1.3多帧数据传输,进行数据的打包、解包,协调上下层工作
1.4对等实体间的通信, 数据同步, 时间管理,错误处理
发送方打包过程:A_PDU ->N_PDU ->L_PDU 接收方解包过程:L_PDU -> N_PDU ->A_PDU
1.5网络层功能
1.5.1单帧报文传输
1.5.2多帧报文传输
二、网络层协议
2.1网络层协议数据单元(N_PDU)定义
2.1.1N_PDU说明
N_PDU :{ N_AI,N_PCI,N_Data } 注:N_Data中包含A_PCI以及A_Data
2.1.2N_PCI结构
2.2单帧/多帧数据传输
2.2.1单帧数据传输
03代表该报文为单帧报文,数据长度为3个字节即0x49 53 4f。(可查看N_PCI结构中对单帧的介绍)
2.2.2多帧数据传输
第一帧(FF):0x1(0001)开头,后12个bit位为yo数据长度即2^12-1为4095。
流控帧(FC) :用于控制报文传输的帧,以0x3(0011)开头后四位Flow State 记为FS,当FS为0即继续发送,FS为1等待,FS为2溢出。BlockSize(BS):允许一次连续发送CF的数量。
连续帧(CF):0x2开头(0010)后四位为序列号SN。根据FC的调控陆续发出报文。
2.3定时参数
2.4错误识别与处理
2.4.1错误识别与处理—1
SF_DL错误: SF_DL=0 或者SF_DL>7(常规寻址) 接收方网络层应忽略接收到的单帧,且接收方无 indication;
2.4.2错误识别与处理—2
FF_DL错误: 1) FF_DL>接收方的缓存,那么接收方网络层应中断报文接收,接 收方发送FC,其中FS=Overflow,接收方无indication;
FF_DL错误: 2)FF_DL< 8/7(常规寻址模式为8,扩展或混合寻址为7), 网络层忽略FF,接收方无indication,且不发送FC;
2.4.3错误识别与处理—3
SN错误:CF N_PDU中的SN错误,报文接收应中断, 接收方网络层应指示上层=N_WRONG_SN;
2.4.4错误识别与处理—4
FS错误:如果发送方网络层发现接收到的FC N_PDU中的FS错误,那么报文发送应被中断,发送 方网络层应确认上层=N_INVALID_FS;
2.4.5错误识别与处理—5
N_WFTmax:接收方最多连续发送多少个等待FC帧个数,本地变量, 仅可以在多包报文发送过程中接收方网络实体中定义,系统初始化时应 设置正确,使用这个变量用于避免发送方节点一直处于等待FC状态;
2.4.6错误识别与处理—6
ST错误:发送方接收到的FC中的STmin设置为保留 值时,发送方继续发送CF,只是各个CF之间的间隔时 间为协议最大值(7F-127ms),发送方和接收方没有 错误向各自上层报告;
2.4.7错误识别与处理—7
非预期帧的处理:在多包报文传输过程中,任何一 方接收到的非期望报文(同一个N_AI),网络设计 者确定网络采用全双工或半双工,然后依据节点处 于接收状态,发送状态及空闲状态时,接收到非预 期报文,网络层的处理方法不同:
半双工状态,网络层处于发送状态,收到任何数据报文, 均忽略;
全双工状态,除SF和物理寻址的FF外,其它包括功能寻址 FF均作忽略处理,且不向上层报告。