工作原理
CAN通信的工作原理依赖于CAN接口的核心组件,包括CAN控制器、CAN收发器和CAN总线。CAN收发器的作用是将普通信号转化为差分信号,以提高抗干扰能力和输出可靠性。CAN 总线的工作电压通常为5V或3.3V,但通信的关键在于CAN_High和CAN_Low两根总线间的电压差。
CAN协议经过ISO标准化后有两个标准:ISO11898标准和ISO11519-2标准;其中标准ISO11519-2-1994已经被ISO11898-3-2006 代替,即符合标准ISO11898-3的产品也是符合ISO11519-2标准的产品;ISO11898-2-2016更新并替代了ISO11898-2:2003,ISO11898-5:2007和ISO11898-6:2013。ISO11898标准和ISO11519-2标准对于数据链路层的定义相同,但物理层不同,两个标准间的差异如下:
当CAN收到一个高电平信号,CAN_High和CAN_Low输出均为2.5V,电压差是0V,此时表示逻辑1,也称隐性电平。
为满足不同通信需求,CAN协议定义了多种帧类型,包括数据帧、远程帧、错误帧、过载帧、帧间隔等。数据帧用于传输数据,包含实际的有效数据内容;远程帧用于请求数据,没有数据部分,只发送标识符和长度信息;错误帧用于指示总线上的错误,帮助进行错误处理;过载帧用于指示总线过载,帮助管理数据流;帧间隔是两帧之间的时间间隔,用于确保帧的正确传输,避免帧冲突。其中最常见的帧类型是数据帧,分为标准数据帧和扩展数据帧。
标准数据帧格式及字段组成如下:
报文的优先级,是通过对 ID(识别码) 的仲裁来确定的。CAN总线上有两种电平状态,如果总线上同时出现显性电平和隐性电平,总线的状态会被置为显性电平,CAN正是利用这个特性进行仲裁。
类型分类
以上介绍的都是关于标准CAN的内容,此外还有一种CAN FD,它的全称是Flexible Data Rate,译为可变速率的CAN。CAN和CAN FD是两种不同的总线标准,它们都是基于CAN技术实现的,但它们之间有明显的区别。CAN是一种多点总线,它可以用于连接许多设备,而CAN FD是一种更高级的多点总线,它可以提供更高的传输速率和更高的传输容量。
CAN和CAN FD之间最大的区别在于传输容量。CAN的最大传输容量为8字节,而CAN FD的最大传输容量可以达到64字节。这意味着CAN FD可以提供更多的数据,因此可以传输更大的数据包,从而更好地满足应用需求。
另一个不同点是传输速率。CAN的最大传输速率为1 Mbps,而CAN FD的最大传输速率可以达到8 Mbps。
以上就是关于CAN接口的核心内容解析。希望本文分享能够为嵌入式开发技术爱好者及相关专业的高校学生提供切实可行的项目实践参考。若您在应用场景中遇到CAN接口开发或调试问题,欢迎随时私信与我们技术团队深入交流,我们将结合多年嵌入式开发经验,为您提供针对性解决方案建议。
1542
