CAN总线详解
发布网友
发布时间:2024-10-11 22:49
我来回答
共1个回答
热心网友
时间:2024-10-15 09:50
控制器局域网络(CAN)是一种分布式实时控制的串行通信网络,适用于汽车和其他工业应用。
CAN的优点包括传输速度最高到1Mbps,通信距离最远到10km,无损位仲裁机制,多主结构。低成本方面,ECUs通过单个CAN接口进行通信,布线成本低。高集成性体现在CAN总线系统允许在所有ECUs上进行集中错误诊断和配置。可靠性方面,CAN系统对子系统的故障和电磁干扰具有很强的鲁棒性,是汽车控制系统的理想选择。效率上,CAN可以通过ID对消息进行优先级排序,以确保最高优先级的ID不被中断。灵活性方面,每个ECU包含一个用于CAN总线收发芯片,可随意添加CAN总线节点。
CAN总线网络主要通过CAN_H和CAN_L两条线实现信号的串行差分传输,为避免信号反射和干扰,还需在CAN_H和CAN_L之间接上120欧姆的终端电阻。CAN收发器负责逻辑电平和信号电平之间的转换。
CAN总线采用不归零码位填充技术,有显性(Dominant)逻辑0和隐形(recessive)逻辑1两种信号状态。当没有数据发送时,两条线电平一样为2.5V,称为隐性电平。数据总线有两条,一条是CAN_High,一条是CAN_Low。有信号发送时,CAN_High电平为3.5V,CAN_Low电平为1.5V。
CAN总线传输的通信帧分为数据帧、远程帧、错误帧、过载帧和帧间隔。数据帧分为标准帧和扩展帧,根据仲裁段长度不同。帧起始由一个显性位组成,发送节点发送帧起始,其他节点同步于帧起始。帧结束由7个隐形位组成。
当总线空闲时,总线上任何节点可以发送报文,存在总线访问冲突时,CAN使用标识符的逐位仲裁方法解决。CAN总线控制器在发送数据的同时监控总线电平,电平不同则停止发送并做其他处理。帧ID越小,优先级越高。数据段可以传输0~8个字节的数据,具有数据量小、发送和接收时间短、实时性高、抗干扰能力强等优点。