一、通信
嵌入式架构中的通信是指两个或两个以上的主机之间的数据互交
二、同步与异步
同步(Synchronous):
在具有固定时序关系的数据传输或处理过程中,发送方与接收方以同一时钟基准进行操作的通信方式;发送端在得到接收端响应前阻塞后续动作。
异步(Asynchronous):
通信双方不共享同一时钟,字符间间隔可任意;发送端发出数据后立即释放,无需等待接收端确认即可继续后续操作。
三、串行和并行
串行(Serial):
数据按时间顺序逐位在单一信道上传输或处理的方式。
并行(Parallel):
数据若干位同时在多条独立信道上传输或处理的方式。
四、单工 / 半双工 / 全双工
单工(Simplex):
数据信号只能沿预先规定的单一方向进行传输的通信方式。
半双工(Half-Duplex):
数据信号可在两个方向上传输,但同一时刻只允许一个方向的通信方式。
全双工(Full-Duplex):
数据信号可同时双向传输的通信方式。
五、TTL / RS232 / RS485
特性 | TTL | RS232 | RS485 |
---|---|---|---|
信号电平 | 0V 表示 0,+3.3V/5V 表示 1 | -3V ~ -15V 表示 1,+3V ~ +15V 表示 0 | 两线电压差:+2V ~ +6V 表示 1,-2V ~ -6V 表示 0 |
通信方式 | 全双工(点对点) | 全双工(点对点) | 半双工 / 全双工(多点) |
拓扑结构 | 点对点 | 点对点 | 多点总线式(一主多从),最多可挂载 32/128 个设备 |
传输距离 | 很短(通常 < 1米) | 较短(15米左右,可延长) | 很长(可达 1200米) |
抗干扰能力 | 弱,易受干扰 | 较强(使用负逻辑和较高电压) | 极强(差分信号) |
传输速率 | 高(可达 Mbps) | 较低(通常 < 20kbps @ 15m) | 高(可达 10Mbps @ 12m,距离越长速率越低) |
常见应用 | 单片机、芯片间通信、蓝牙/WiFi模块 | 老式电脑串口(COM口)、工控设备、调制解调器 | 工业自动化、楼宇自控、安防系统、远距离通信 |
1. TTL
本质: TTL 不是一种正式的通信协议标准,而是指基于晶体管-晶体管逻辑的电平标准。我们常说的“TTL串口”是指逻辑电平为0V 和 5V(或 3.3V)的串行通信。
关键点:
电平: 直接使用芯片的工作电压(如 5V, 3.3V),0V 代表逻辑0,高电平(如 5V)代表逻辑1。
缺点: 信号是单端信号(对地参考),抗共模干扰能力差,传输距离十分有限。
应用: 最常见于电路板内部或距离极近的设备间通信,例如 Arduino 与传感器模块、ESP8266 WiFi 模块的通信。你看到的 Arduino 上的
RX
、TX
引脚就是 TTL 电平的串口。
2. RS232
本质: 一种正式的串行通信标准,设计用于点对点通信,传输距离比 TTL 远。
关键点:
电平: 采用负逻辑和高电压。-3V ~ -15V 代表逻辑1,+3V ~ +15V 代表逻辑0。这种高压和负逻辑的设计增强了抗干扰能力。
接口: 通常使用 DB9 或 DB25 接口。定义了完整的控制信号线(如 RTS, CTS, DTR, DSR 等),用于硬件流控。
缺点: 仍然是单端信号,易受地电位差影响;只能点对点连接,无法构建网络;速度相对较慢。
应用: 老式计算机的 COM 口(串口)、一些工业设备、调试接口。现在正逐渐被 USB 和以太网取代,但在工业领域仍有大量应用。
3. RS485
本质: 一种为工业环境设计的正式标准,支持长距离、多点通信。
关键点:
电平: 采用差分信号传输。采用两根线 A 和 B 之间的电压差来表示信号。
A - B > +0.2V
(通常为 +2V ~ +6V)表示 1。A - B < -0.2V
(通常为 -2V ~ -6V)表示 0。
差分信号的优势: 由于干扰信号通常会同时作用于 A、B 两根线上,接收器只关心差值,因此可能极大地抑制共模干扰,适合嘈杂的工业环境。
拓扑: 采用总线式拓扑,所有设备都挂接在 A、B 两条总线上,最多可拥护 32 到 128 个单元,搭建一主多从的通信。
工作方式: 通常工作在半双工模式(两根线,收发不能同时进行),但也有全双工模式(需要四根线)。
应用: 工业自动化(PLC、变频器、仪表)、安防系统(门禁、摄像头)、楼宇自控等所有需要长距离、抗干扰、多设备联网的场合。Modbus 协议就常运行在 RS485 物理层上。