CAN标准
---CAN是国际标准化组织(ISO)定义的串行通信总线,最初是为汽车工业以双线总线替代复杂的线束而开发的。该规范要求信号发送速率高达1Mb/s,要求抗电干扰的性能较高,并应能够自我诊断并修复数据错误。上述特性使CAN在各行各业都很受欢迎,包括车载、航海、医疗、制造及航空等。
---CAN通信协议ISO11898描述了信息如何在网络设备间传递,并符合按层定义的开放系统互连(OSI)模型。由物理介质连接的各设备间的实际通信由模型的物理层定义。ISO 11898架构定义7层OSI/ISO模型的最低两层为数据链接层和物理。
标准CAN或扩展CAN
---CAN通信协议是载波侦听(carrier-sense)多路存取协议,带冲突检测并可对消息优先级进行仲裁(CSMA/CD+AMP)。CSMA意味着总线上的每个节点在准备发送消息前都要无活动等待一段规定时间。CD+AMP意味着冲突通过逐位仲裁解决,这基于每条消息标识符字段包含的预编程优先级进行。优先级较高的标识符总会优先获得总线使用权。
---表1所列的CAN标准第一版即ISO 11519(低速CAN)适用于速率高达125kb/s的应用,带有标准的11位标识符。第二版即ISO11898(1993)也带有11位标识符,其信号发送速率为125kb/s至1Mb/s,而更新的ISO 11898修订版(1995)则推出了扩展的29位标识符。ISO 11898 11位版本通常称为标准CAN2.0A版,而ISO 11898修订版则称为扩展CAN2.0B版。图2所示的标准CAN11位标识符字段提供了2048个不同的消息标识符,而图3所示的扩展CAN29位标识符则可提供5.37亿个标识符。
标准CAN与扩展CAN的位字段
1.标准CAN
---图2所示位字段的含义为:
---●SOF——单一控制帧起始(SOF)位标志着消息起始,用于使总线上的节点闲置后同步。
---● 标识符——标准CAN11位标识符建立了消息优先级。二进制值越低,优先级就越高。
---● RTR——在另一节点需要信息时,单一远程传输请求(RTR)位起决定作用。所有节点接收请求,但标识符决定指定哪个节点。相应的数据也由所有节点接收并由所需的任意节点使用。这样,系统中所使用的数据都是统一的。
---●IDE——显性单一标识符扩展(IDE)位意味着没有扩展的标准CAN标识符正在传输。
---● r0——保留位(用于今后可能的标准修订案)。
---● DLC——4位数据长度代码(DLC)包括正在传输数据的字节数。
---● 数据——可传输多达64位应用数据。
---● CRC——16位(15位加定界符)循环冗余校验(CRC)包括用于错误检测的上述应用数据校验和(传输的位数)。