浅析 COM口、UART口 与 RS232、RS485、TTL 关系

COM口:
COM口即串行通讯端口,简称串口。DB9(D型9针串口)在台式电脑后边可以看到。这种接口的协议只有两种:RS-232和RS-485,不会是TTL电平的。 
UART口:
UART即通用异步收发传输器(Universal Asynchronous Receiver/Transmitter)。在嵌入式系统中,通常作为 MCU 的外设;一般来说,由芯片引脚直接引出的一般是 TTL 电平;而中间接有转换芯片的可能就是 RS232 电平。
        嵌入式里面说的串口一般是指UART口。UART有4个pin(VCC、GND、RXD、TXD),使用的TTL电平,低电平为0(0V),高电平为1(3.3V或以上)。
RS232:
RS232 是美国电子工业协会于1962年发布的串行通信接口标准,其中 RS 为英文 "Recomend Standard" 的缩写,中文翻译为“推荐标准”,232为标识号。该标准对串行通信的物理接口及逻辑电平都做了规定。其输出的电平称为 RS232 电平。
最简单的RS232通信由三条数据线组成,即 TxD、RxD、GND。RS232采用负逻辑电平,即-15V ~ -3V代表逻辑"1",+3V ~ +15V代表逻辑"0"。这里的电平,是TxD线(或者RxD线)相对于 GND 的电压。
TTL:
TTL 电平是 TTL 电路输出的电平,其中"TTL"是英文 "Transistor-Transistor Logic" 的缩写,中文翻译为“晶体管-晶体管逻辑”,因此 TTL 电路就是“晶体管-晶体管逻辑电路”。
由于电平是一个连续变化的电压范围,为了用这种模拟量的电压来表示数字量的逻辑1和逻辑0,TTL电平规定:
输出电路:电压大于等于(≥)2.4V为逻辑1;电压小于等于(≤)0.4V为逻辑0;
输入电路:电压大于等于(≥)2.0V为逻辑1;电压小于等于(≤)0.8V为逻辑0;
USB转TTL:
转换芯片有:CP2102(较稳定)、PL2303
TTL转RS-232:
TTL 电平和 RS232 电平,无论是在电压范围还是在极性(RS232负逻辑电平)上都是不同的,因此,这两种电平接口是不能直接相连的。为了把 MCU 的 TTL 电平转换成 RS232电平,通常我们需要一个专门的转换芯片,比如 TI 的 MAX232
如下:USB经过PL2303转成了TTL串口,中间那四个洞洞可以引出,再经由MAX232转换为RS-232电平,9针串口引出。
再如下:ESP8266 TTL 转 RS232 电平:
总结:
1、串口、COM口是指的物理接口形式(硬件)。而RS-232、RS-485、TTL是指的电平标准(电信号)。
2、接设备的时候,一般只接GND RX TX。不会接Vcc或者+3.3v的电源线,避免与目标设备上的供电冲突。
3、CP2102、PL2303芯片是 USB 转 TTL串口 的芯片,用USB来扩展串口(TTL电平)。
4、MAX232芯片是 TTL电平与RS232电平的专用双向转换芯片,可以TTL转RS-232,也可以RS-232转TTL。
5、TTL标准是低电平为0,高电平为1(+5V电平)。RS-232标准是正电平为0,负电平为1(±15V电平)。
6、RS-485与RS-232类似,但是采用差分信号负逻辑。这里略过不讲。
串口进行通信的方式有两种:同步通信方式和异步通信方式。
SPI(Serial Peripheral Interface:串行外设接口)。
I2C(INTER IC BUS:意为IC之间总线),一(host)对多,以字节为单位发送。
UART(通用异步收发器), 一对一,以位为单位发送。