串口基础知识
基础点
- 串口、COM 口是指的物理接口形式(硬件),而 TTL、RS-232、RS-485 是指的电平标准(电信号);
- 接设备的时候,一般只接 GND RX TX,不会接 Vcc 或者 +3.3v 的电源线,避免与目标设备上的供电冲突;
- PL2303、CP2102 芯片是 USB 转 TTL 串口的芯片,用 USB 来扩展串口(TTL 电平);
- MAX232 芯片是 TTL 电平与 RS-232 电平的专用双向转换芯片,可以 TTL 转 RS-232,也可以 RS-232 转 TTL;
- TTL 标准是低电平为 0,高电平为 1(+5V 电平);
- RS-232 标准是正电平为 0,负电平为 1(±15V 电平);
- RS-485 与 RS-232 类似,但是采用差分信号负逻辑。
串口(COM 口)
COM 口即串行通讯端口,简称串口。这里区别于 USB(通用串行总线)和 SATA(串行 ATA)。
一般我们见到的是两种物理标准:D 型 9 针插头 和 4 针杜邦头 两种。
4 针串口
这是常见的 4 针串口,在电路板上常见,经常上边还带有杜邦插针。有时候有第五根针,3.3V 电源端。由于是预留在电路板上的,协议可以有很多种,要看具体设备。
嵌入式里面说的串口,一般是指 UART 口,UART、COM 指的物理接口形式。
UART 一般有 4 个 pin(VCC、GND、RX、TX),用的 TTL 电平,低电平为 0(0V),高电平为 1(3.3V 或以上)。
9 针串口
下面这个就是 D 型 9 针串口(通俗说法),在台式电脑后边都可以看到。
注意
这种接口的协议只有两种:RS-232 和 RS-485,不会是 TTL 电平的(除非特殊应用)。
接口定义可以参考 9针串口定义 文章。
我们一般只接出 RXD TXD 两针,外加 GND。
主板 COM 针
根据每个主板不同,主板上的 COM 针顺序和定义略有不同,一般 9 针 COM 口 10 PIN 中最后一个为空:
主板 COM 针接口定义一般为:
针脚 | 定义 | 针脚 | 定义 |
---|---|---|---|
1 | NDCD- | 6 | NDSR- |
2 | NSIN | 7 | NRTS- |
3 | NSOUT | 8 | NCTS- |
4 | NDTR- | 9 | NRI- |
5 | 接地脚 | 10 | 无引脚 |
USB 转串口
下图是个 USB 转 TTL 串口的小板,可以用 USB 扩展出一个串口,芯片为 PL2303HX。网上经常混淆各种串口,但是这个确实是可以给 STC 单片机下载程序的。
这是另一种 CP2102 芯片的 USB 转 TTL 串口,这个小板就多了 +3.3V 电源端,以适应不同的目标电路。
上边介绍的都是 USB 转 TTL 串口,如果目标设备上是 RS-232 串口(D 型 9 针接口),再接一片 MAX232 转换一下就行。
你也可以搭一个简单的比较器电路,来实现 TTL 转 RS-232 的功能,如下图:
下图为 USB 转 RS-232 串口:
RS-232 转 TTL 咋弄?这就需要你动点脑子咯。当然,早有人想到了做一款成品。仔细看下图,USB 经过 PL2303 转成了 TTL 串口,中间四个窟窿可以引出,再经 MAX232 转换为 RS-232 电平,9 针串口引出。
一个设备的串口可以根据引出的串口线来判断是 TTL 还是 RS-232,从而决定链接方式以及是否需要转换电路。
RS-485
在要求通信距离为几十米到上千米时,广泛采用 RS-485 串行总线标准。RS-485 采用平衡发送和差分接收,因此具有抑制共模干扰的能力。
RS-485 接口的最大传输距离标准值为 4000 英尺(约 1219 米),实际上可达 3000 米。
另外 RS-232-C 接口在总线上只允许连接 1 个收发器,即单站能力;而 RS-485 接口在总线上是允许连接多达 128 个收发器。
下面就是一款 RS-232 转 RS-485 的硬件图: