2.1.1CAN总线的为数值表示及编码
CAN总线上采用差分电压传送数据信号,两条信号线分别为“CAN一H”和“CAN一L”,静态时为2.5V。用CAN一H比CAN一L高表示逻辑“0”,被称为“显性”位,此时CAN一H被上拉,CAN一L被下拉;用CAN一H比CAN一L低表示逻辑“1”,被称为“隐性”位,两条线固定在平均电压附近。因此,当总线上同时出现逻辑“0”和逻辑“1”时,总线表示为逻辑“0”即显性位,这是CAN总线仲裁时检测冲突的基础。文献综述
CAN在位流编码时采用一种报文填充机制,在“数据帧”的大部分“域”,发送器只要检测到位流里有5个连续相同值的位,便自动在位流里插入一个相反位。这种机制在错误检测和故障界定中得到充分利用,因为CAN协议中规定6个以上的连续相同位代表错误或故障标志。
2.1.2 CAN协议
CAN协议遵循ISO/OSI参考模型的相关规定,即低层为高层服务,高层向低层请求,只有两个节点间的同一层之间才能互相通信。为了简化结构,CAN协议仅采用了051中的低2层,物理层和数据链路层。同样地,,物理层规定了硬件的电气特性,数据链路层控制帧的结构,执行仲裁,错误检测,故障界定等功能。除此之外,CAN协议还包括一个高层,即应用层。在汽车工业里,许多制造商都有自己的标准并加以应用。
2.1.3 CAN报文帧类型
CAN协议中,传送数据的基本单元称为报文帧,报文帧在CAN协议中的作用类似于CANUSB协议中的数据包。CAN有四种报文帧类型:数据帧用于传送实际应用数据,远程帧用于总线节点向网络中的其他节点提出发送请求,错误帧能够报告每个节点的错误,过载帧在节点的接收器电路尚未准备好时发送,产生必要延迟,避免数据丢失。