CAN总线仲裁示意图

本文探讨了STM32中CAN总线的设计原理及应用,重点介绍了CAN总线的多主机工作模式、标识符作用及其优先级机制,并对比了CAN与485总线的不同之处。
      最近因为项目需要,开始进行STM32 CAN总线的嵌入式程序设计,关于CAN总线,也是慢慢的积累。
      关于CAN地址(标识符)问题,基本上清楚了,CAN本身通过标识符来确定每个CAN节点,总线上标识符不能有相同的。
      CAN是多主机的方式,所有节点都可以发送数据,发送时,标识符是本机的标识符,发送数据为群发方式,广播方式,具体数据,所有CAN节点都可以同时得到,但可以每个CAN节点可以设置CAN标识符滤波,可设置只接收需要的节点的数据,设置后由硬件完成筛选,这样优于485单主机的主从传输总线传输方式,物理上采用差分信号传输。
      因为CAN收发器的特点,适合多主机的发送方式,多主机是否可以同时发送数据呢?是可以的,因为CAN 总线相当于一个“线与”的结构,显性(逻辑0)与隐性(逻辑1)相遇,变为显性(逻辑0),就像孙悟空说的,雄的与雌的,雌的见了雄的,就不灵了。其实就是逻辑运算里的:0&0=0, 0&1=0,这里就是显性为主。所有CAN节点相当于一个个与门,低电平(逻辑0)有效,一个拉低,所有全低。
      总线仲裁的示意图(标准帧格式)如下:
  






      因此得到标识符是有优先级的,因为高位在前,低位在后,CAN标识符组成的数值越小优先级越高。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zhangsz_sh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值