3 寻址方式
ISO 15765-2定义7网络层协议数据单元L21,即N-PDU(Network Protocol Data Unit)。 N_PDU的目的是建立一个点对点的网络通信的通道,用于交换通信参数及数据传输。ISO15765-2描述了4种不同类型的网络层协议数据单元,这4种分别是单帧、首帧、连续帧以及数据流控制。诊断报文采用常规固定式地址模式,并定义了两种寻址方式,一种是物理寻址,一种是功能寻址,详见表1、表2,表中详细描述了CAN报文格式,包括报文内容、数据场以及单个位的定义。
N_PDU类型用N_ PCI(Network Protocol ControlInformation)来区分,详见表3,由表3可看出,字节1的高四位用于区分N_PDU的类型。
表3中其它缩写含义如表4所示。
4 诊断服务选取
ISO 15765-3, UDS中规定了一系列的通用诊断服务。诊断服务的本质是信息交互,一般是诊断仪对节点发出诊断需求,被诊断的节点需要给出相应的响应,即应答信息(应答有肯定应答和否定应答两种)。由于通用的诊断服务是非常全面的考虑,主机厂在开发自己车型的诊断系统时,肯定不能将所有诊断服务都用到,因此都需要根据自身的需要选取需要的诊断服务,从而形成自己车型特有的诊断系统。某电动汽车车型诊断服务选取见表5。
表5的服务中,应答ID均指肯定应答ID。每一个诊断服务请求的肯定应答在UDS中都有具体的定义,并根据请求方式的不同肯定应答的方式不同,即都定义了相应的消息帧格式,这里不再详述。但对于否定应答,只给出了通用的否定应答。否定应答消息格式及否定应答代码详见表6,表7。
5 诊断参数定义
诊断服务是诊断标准规定的,主机厂只能在里面选取自己需要的服务,并在自己的诊断系统实现即可;诊断参数却是由主机厂自己来定义的,具体可理解为功能诊断行为及故障代码的定义。电动汽车的主要节点按所属系统划分见表8。
5.1故障代码定义
SAE J2012针对排放系统给出了一种占用2个字节的故障代码的定义方式,见表9。
电动汽车由于没有发动机等,因此SAE J2012规定的故障代码不能直接使用。鉴于电动汽车自身的特点以及参照SAE J1939定义的故障码为4个字节,这里自定义一种故障代码的描述方式,具体为一个诊断故障代码(DTC)占用4个字节,并由4个部分构成,这4个部分是:故障等级、系统分类代码、故障代码和故障发生次数,数据填充方式选用Irilel。详见表10。