Controller Area Network,简称CAN,是一种广泛应用于自动化控制系统领域的串行通信总线标准,由国际标准化组织(ISO)制定,并已被聚焦于汽车网络。
CAN总线两种通信方式为:基本CAN和扩展CAN,CAN路线拓扑结构呈网状结构,每个CAN节点上都有CAN控制器(CAN Controller)。
CAN节点包括发送(TX)和接收(RX)两个基本部分,这两个部分都由CAN节点的微控制器负责实现,分别用于控制信息的发送和接收。
Tx指的是CAN节点经过处理检验后输出的数据,而Rx指的是CAN节点所接收到的数据。这两个部分的存在可以保证总线信息的准确、及时地传递到其他Can节点。
在CAN总线的通信过程中,当一个节点需要发送消息时,将消息存储在一段称为“发送缓冲区(transmit buffer)”的区域,并让该缓冲区与CAN控制器进行交互,由控制器进行CAN总线的信号转换和发送。
而另一方面当节点需要从CAN总线接收消息时,以特定的接收标识为基准进入到“接收邮箱”, 在接收到远端节点的数据帧后,如果待接收信的标识和CAN控制器中设置的接收标识匹配,则这些消息将被缓存供后续处理。
可以这么说,没有TX和RX,CAN总线的通信就不可能实现。TX和RX的存在,保证了总线上信息的准确、及时传递,从而实现了设备间的互联互通。而且,通过研究TX和RX的工作原理,有助于我们更好地理解CAN总线的工作机制,从而能够更好的进行使用和维护。