ISO14229-1规定了26个诊断服务细节,也就是UDS诊断报文的细节。它只规定了各个服务每个字节的含义,它不关心底层到底是怎么传输的。
ISO15765-2规定了基于CAN总线进行UDS报文传输的细节(包括四种帧)。是在CAN总线传输的情况下, 具体规定如何传输UDS诊断的请求和响应报文的。四种帧就是定义在这个标准中。
UDS诊断报文分为“单帧传输”,“多帧传输”两种。
单帧传输
一个UDS的请求或者响应的发送方,发出一个单帧(SF)即可,接收方接收到就可以了。因为单帧的时候,这一帧CAN报文是能够装得下所有的uds报文。
一个单帧UDS诊断,请求或响应CAN报文,第一个字节第一位为0.
多帧传输
一个数据没办法用一帧CAN报文发送完,就需要用多帧(FF)传输。流控帧(FC)负责根据接收方和发送方的实际需要,来实时的调节下次发送连续帧(CF)时如何发送。
如下图所示,是一个接收方发送给发送方的流控帧(FC)示例。
一帧CAN报文中有8个字节,流控帧的控制信息一定是3个字节,还有5个字节用00填充,称为“补白”。