CANOpen系列教程05_ CAN总线同步与位填充、优先级的决定

1写在前面
继续为大家更新can总线协议相关内容,这些内容其实也比较重要,会直接影响到你后期can总线的编程,夸张一点的说会影响到你的软件架构。
本文内容相对来说比较容易理解,初学者有必要了解一下。
2
位填充
位填充是为防止突发错误而设定的功能。当同样的电平持续 5 位时则添加一个位的反型数据。
这个功能很好理解,如下图所示。位填充的数据不需要编程控制,由控制器自动完成。其目的也是提高can总线的稳定性。
(1) 发送单元的工作
在发送数据帧和遥控帧时, sof~crc 段间的数据,相同电平如果持续 5 位,在下一个位(第 6 个位)则要插入 1 位与前 5 位反型的电平。
(2) 接收单元的工作
在接收数据帧和遥控帧时, sof~crc 段间的数据,相同电平如果持续 5 位,需要删除下一个位(第 6 个位)再接收。如果这个第 6 个位的电平与前 5 位相同,将被视为错误并发送错误帧。
3
优先级的决定
前面讲述“can 总线差分信号”时描述了显性和隐性,其实这是can总线的特点,也是决定can总线优先级比较重要的功能。
在can总线空闲态,最先开始发送消息的单元获得发送权。
多个单元同时开始发送时,各发送单元从仲裁段的第一位开始进行仲裁。连续输出显性电平最多的单元可继续发送。
上图描述了can控制仲裁的过程,单元2最终获得了抢占can总线的权利,也就是说单元2具有更高的优先级。
当单元1 仲裁失利时,自动转换为接收(本来该发送,优先级比别人低,就开始接收数据了。 同时,控制器将会在下一轮继续发送这次未完成的数据)。
3.1 数据帧和遥控帧的优先级
具有相同 id 的数据帧和遥控帧在总线上竞争时,仲裁段的最后一位(rtr)为显性位的数据帧具有优先权,可继续发送。
数据帧和遥控帧的仲裁过程如下图:
3.2 标准格式和扩展格式的优先级
标准格式 id 与具有相同 id 的遥控帧或者扩展格式的数据帧在总线上竞争时,标准格式的 rtr 位为显性位的具有优先权,可继续发送。
提示:
不明白数据帧和遥控帧,标准格式和扩展格式之间差异的朋友,建议参看我上一篇文章《canopen系列教程04》。
4
其他
can总线协议的重要内容在这前面基本是讲述的差不多了,还有一些不是很重要的内容,比如硬件设计需要在can_h和can_l之间添加一个120欧电阻,总线的传输距离等。
接下来的文章会结合stm32芯片集成can控制器、例程讲述如何编程控制can总线数据的收发等。

性价比超高、最值得入手的无线蓝牙耳机有哪些
宁德时代发布锂电产业最大规模碳中和规划
高度集成的解决方案的嵌入式电力仪表设计
采用Qualcomm骁龙670处理器的手机性能介绍
变频器在塑料挤出机械行业中的应用
CANOpen系列教程05_ CAN总线同步与位填充、优先级的决定
国内首个终端节电全功能验证完成,全面构建绿色高效通讯网络
DC-DC升压正负双输出高压电源模块的产品介绍
区块链生态系统中的数据为何会外逃
物联网走进我们的生活之十大应用体现
米尔科技DS-5本地介绍
电磁波是什么电磁波的频率有没有上限
STM32单片机生成的hex文件与bin文件区别与应用
汽车缺“芯”,这是碳化硅功率半导体“上车”的关键
Mouser供货带LCD控制器的 Freescale Kinetis KL3/KL4低功耗MCU
蓝牙无线音箱电源方案:有效延长电池续航时间
Uber将在今年夏天开始测试无人机送外卖
无电池式低功耗蓝牙Beacon:采用能量采集技术的BLE
Intersil推出系列新的电压逻辑电平转换器(VLT)
人工智能教育是什么意思