1 概念
TTL(Transistor Transistor Logic ):晶体管-晶体管逻辑电平。
TTL电平信号规定:+5V(最低为+2.4V)等价于逻辑“1”(高电平),0V(最高为+0.4V)等价于逻辑“0”(低电平)。抗干扰能力差,一般用于一块电路板上的两块芯片之间进行通信,或者芯片与电脑通信,不适合作为外部的通信。
RS232(Recommended Standard 232):这种通讯方式主要有三根线:TX(发送),RX(接收)以及GND。全双工通讯,只能进行点对点的简单通讯。
RS485(Recommended Standard 485):半双工通讯,可以进行一主多从的组网通讯。
不管是RS232还是RS485都是串口通讯的变种。
> RS232与TTL的区别:RS232以-15V来表示高电平,+15V来表示低电平;而TTL以+5V来表示高电平,-5V来表示低电平。
2 串口通信
用于两个芯片之间实现信号的传输。在进行串口通信时,首先要约定好帧格式和波特率。
串口通信的一帧串口数据有10位,起始位为低电平0,结束位为高电平1,中间8位为要传输的数据。如果要改变帧格式,就需要对波特率进行设定。
串口通讯常用的波特率:9600、19200、38400、115200
以9600波特率举例:9600代表一秒之内串口可以传输9600个高低电平。
图1. 两单片机之间通讯示意图
3 RS232通讯过程
在串口通讯的基础上添加一个电平转换芯片(如MAX232),这样MAX232就把TTL电平转换为RS232电平。
当MAX232接收到的电压为+5V,则它输出-12V。
当MAX232接收到的电压为0V,则它输出+12V。
RS232电平信号规则:+3V ~ +15V之间都为低电平,-3V ~ -15V之间都为高电平。
图2. TTL电平信号与232电平信号对比图
通过对比TTL电平信号与232电平信号,我们可以了解:232电平信号抗干扰能力更强。
图3.DB9标准的公头与母头
4 RS485通讯过程
在串口通讯的基础上添加一个电平转换芯片(如485转换芯片),这样485转换芯片就把TTL电平转换为差分信号。
转换芯片把输入的串口信号转化为差分信号,差分信号只需要两根线,不需要地线。当信号A小于信号B时为低电平(逻辑“0”),当信号A大于信号B时为高电平(逻辑“1”)。
一般A接口DATA+,B接口DATA-。
使用RS485通讯协议抗干扰能力强,传输距离更远(1200m),频率更高(50M)。
图3. RS485收发器内部结构
串口 | 作用 |
A | 总线 |
B | 总线 |
R | 接收器输入 |
RE | 接收器使能信号(低电平有效) |
DE | 发送器使能信号 |
D | 发送器输出 |
在常用的RS485电路中,使能信号RE和DE可以通过一个GPIO口来控制。
当DE为高电平时:差分输出A和B遵循数据输入D处的逻辑状态。如D处的逻辑为高,则A为高电平,B为低电平。
当RE为低电平时:接收器被激活。当VID = VA - VB > 0且 高于阈值VIT+时,接收机输出R变高。当VID = VA - VB <0且 低于阈值VIT-时,接收机输出R变低。如果VID在VIT+与VIT-之间,则输出不确定。
5 RS232和RS485之间的转换:
-
RS232 -> TTL -> RS485.
-
RS232 使用现成的模块转换为 RS485.
6 USB转串口通讯
USB转串口主要用于设备跟电脑通信。
使用的时候电脑端需要安装电平转换芯片的驱动(电平转换芯片一般有CH340、PL2302、CP2102、FT232)。
7 串口到串口通讯
串口通讯主要是控制器跟串口的设备或者传感器通信,不需要经过电平转换芯片来转换电平,直接用TTL电平通信。