作为目前车载网络领域最成熟、应用最广泛的通信总线之一,CAN总线具有传输可靠性高、速度快、易用等特点。由于其涉及到用户的人身安全,所以在汽车研发、生产、检测、维修等过程中均需做严格的测试。
1. CAN协议
在测试前需要充分了解CAN 协议。
CAN协议有4种帧类型,分别为数据帧、远程帧、错误帧、过载帧。其中数据帧和远程帧又分为标准格式和扩展格式两种。标准格式的标识符为11位,扩展帧为29位。
1. 1、数据帧
由7个不同的场组成。分别为帧起始、仲裁场、控制场、数据场、CRC场、应答场、帧结尾。
1.1.1、帧起始
(SOF)标志数据帧和远程帧的开始,仅由一个“显性”(逻辑电平“0”为显性电平,“1”为隐性电平)位组成,只有在总线空闲时才允许发送信号。
1.1.2、仲裁场
CAN总线上发送的每一条报文都具有唯一的一个11位或29位的ID。CAN总线状态取决于二进制数“0”而不是“1”,所以ID号越小,则该报文拥有越高的优先权。因此一个为全“0”标志符的报文具有总线传输上的最高优先权。
标准格式帧和扩展格式帧的仲裁场格式不同:
1.1.3、控制场
控制场由6个位组成。标准格式里的帧包括数据长度代码,IDE位及保留位R0。扩展格式里的帧包括数据长度和保留位R1和R0。保留位必须显性发送。
1.1.4、数据场
数据场由数据帧中的发送数据组成。它可以为0-8个字节,每字节包含了8个位,MSB先发送。
1.1.5、CRC场
CRC场包括CRC序列,其后是CRC界定符。CRC序列为循环冗余检验码。CRC序列之后是CRC界定符,它包含一个单独的“隐性”位。
1.1.6、应答场
应答场长度为2位。包含应答间隙和应答界定符。在应答声里,发送两个“隐性”位,当接收器正确地接收到有效报文,接收器就会在应答间隔期间向发送器发送“显性”位以示应答。
1.1.7、帧结尾
每一个数据帧和远程帧均由一标志序列界定。由7个“隐性”位组成。
1.2、远程帧
远程帧目的在于请求发送具有同一标识符的数据帧;远程帧由6个不同位的场组成。分别为帧起始、仲裁场、控制场、CRC场、应答场、帧结尾。与数据帧相反,远程帧的RTR位是“隐性”的。
1.3、错误帧
错误帧由错误标志和错误界定符两部分组成:
1.4、过载帧
过载帧包括过载标志和过载界定符。过载标志由6个“显性”位组成;过载界定符包括8个“隐性”位。