工业控制中的CAN总线接口模块硬件设计原理解析

2.2.3 消息接收

根据系统初始配置,ECAN模块接收邮箱中接收到总线上的消息时,相应的接收消息等待寄存器CAN-RMP.n被置位,此时CPU应该核对消息丢弃标志寄存器RML.如果RML 为1,说明邮箱中的消息已被覆盖,CPU可以选择向源节点请求重发,本次接收流程结束。

当RML为0时,CPU可以从邮箱数据区读取数据,同时清RMP.n,然后进入等待接收状态(RMP=0,RML=0)。

消息接收流程如图7所示。

工业控制中的CAN总线接口模块硬件设计原理解析

2.2.4 过载处理

如果CPU 的速度不能快速地处理重要消息,出现消息过载情况,这种情况可以通过增加备份邮箱来解决,即配置多个相同标识符的邮箱。对于ECAN 模块,每个消息对象有自己的屏蔽LAM(n)。为了保证不会丢失消息,将备份消息对象的覆盖保护寄存器OPC 标志位置位,从而防止未读取的消息被覆盖。如果ECAN模块需要存储接收到的消息,则先查看备份邮箱,如果备份邮箱为空则存储消息。如果备份邮箱的RMP标志被置位,说明消息未被读取。由于备份邮箱数据无法被覆盖,故将消息数据存储在原始邮箱,此时产生的一个中断可以用来读取备份邮箱的重要数据。

本文设计的CAN智能总线接口模块经物理环境下多节点收发测试,结果显示硬件电路工作稳定,数据收发功能正常,总线电平特性和眼图如图8所示。

工业控制中的CAN总线接口模块硬件设计原理解析

由图8 可以看出总线信号(CANH,CANL)规整,差分后信号波形平滑,眼图显示接口通信品质良好。

3 结论

应用ADM3053 芯片可有效缩小电路板面积,符合小型化原则,可以有效降低CAN总线接口模块的成本,具有广阔的应用前景。

关于接口,总线,驱动就介绍完了,您有什么想法可以联系小编。