各位小伙伴好,今天来介绍一下通信总线的知识。
通信总线(Bus)是连接多个设备或模块的公共传输通道,用于在系统内部或设备间传输数据、地址和控制信号。
在嵌入式的学习中,你肯定听说过IIC、SPI、UART这些通信方式,他们都有着各自的特点。但是对于大型的机器人或者工业机器人,CAN总线通信、Modbus、EtherCAT更为常用,今天我们大概了解这几种通信的方式。
在此之前我们需要做一些知识铺垫。
1.知识铺垫
1.串行通信与并行通信
串行和并行是按照每次传输的数据的方式进行区分。顾名思义,串行就是数据按位依次传输,并行就是多位数据同时并行线传输。
串行通信,就像豌豆射手,只能一个一个发送数据。


对于并行通信,就像超级机枪豌豆,一次可以发送好几位数据。


这就是两者之间的区别。
在串行通信之下,还有同步和异步之分,并行通信一次发送多组数据,没有同步异步的问题。
同步串行通信需要时钟线同步,发送端和接收端除了数据线,还需要时钟线进行同步,IIC就是代表,发送端和接收端在同一个时钟节拍下进行工作。同步通信发送数据后,等待接收端发回响应后再发下一个数据。
异步串行通信没有时钟线,只是在发送数据中包含起始和结束标志位,接收端根据标志位使用本地时钟进行采样,例如UART。异步通信不需要等待接收端的响应就可以发送下一个数据。异步通信没有统一的时钟节拍,按照各自的内部的时钟节拍进行通信。
2.单工、半双工、全双工
三者代表的是传输方向的差异。
单工通信,数据只能从发送端到接收端,只能单向传输。
半双工通信,可以双向传输,但是发送和接收不能同时进行。状态只能是发送或是接收。
全双工通信,可以双向传输且可以同时发送和接收数据。
2.三种通信简要介绍
1.CAN总线通信-CANopen
CAN总线通信,类似于串口通信是一种异步通信,有CANH和CANL这两根通信线,传输的是差分信号,差分信号的抗干扰能力强,传输距离远,在工业上使用的多。
CAN总线通信的协议有原始CAN和CANopen,一种是非标准的,一种是标准的。
CANopen 是基于 CAN 总线的一种高层通信协议和应用层标准。
它定义了标准的通信对象、设备描述文件(EDS/DCF)以及一系列用于实时数据交换、网络管理、同步和紧急事件处理的服务数据对象(SDO)和过程数据对象(PDO)。CANopen 将复杂的通信任务标准化,使得不同厂商的设备能够方便地集成到同一个网络中,广泛应用于工业自动化、医疗设备、交通运输等领域。
CANOpen包括多种通信方式:主从站方式、客户服务器方式以及生产者消费者模式。SDO使用客户服务器模式。其中PDO采用生产者消费者模式。
SDO 属于“服务器客户端”的通信模型,有指定被接收节点的地址(Node-ID),并且需要指定的接收节点回应 CAN 报文来确认已经接收,。
PDO 基于生产者/消费者的通讯模式,每个 PDO 有一个唯一的标识符且可以通过一个节点发送,但有多个节点可以接收。PDO 的接收不需要消费者的确认。
2.RS485-Modbus-RTU
RS485 是半双工异步串行通信,同样使用采用差分信号传输,常使用Modbus RTU协议通信。
Modbus RTU是一种基于串行通信的协议。基于一个主/从模式,其中一个设备充当主设备(或称为Master),负责发起请求;其他设备作为从设备(或称为Slave),响应主设备的请求。

3.EtherCAT(以太网实时总线)
EtherCAT 是一种基于标准以太网的高性能、高实时性的工业现场总线协议。接口是标准以太网 RJ45 网线,和 Modbus 一样是单主多从;区别:Modbus 一问一答多帧轮询,EtherCAT一帧遍历全部从站。其主要特点包括:
- 基于以太网:使用标准的以太网物理层和数据链路层,兼容现有网络基础设施,同时通过独特的“飞读飞写”机制实现极高的实时性。
- 高实时性与确定性:数据帧在传输过程中,每个从站节点在数据帧经过时实时读取和写入属于自己的数据,无需存储转发,从而实现了极低的通信延迟和极高的数据刷新率,适用于对时序要求严格的运动控制等场景。
- 主从结构:网络由一个主站(Master)和多个从站(Slave)组成。主站负责发起和控制整个通信过程,从站则响应主站的命令并处理数据。
- 应用广泛:凭借其卓越的性能,EtherCAT 已成为工业自动化领域的核心通信标准之一,广泛应用于机器人、数控机床、包装机械、半导体设备等高端制造领域。
网硕互联帮助中心





评论前必须登录!
注册