串口基础知识

基础点

  • 串口、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 电源端。由于是预留在电路板上的,协议可以有很多种,要看具体设备。

4 针串口

嵌入式里面说的串口,一般是指 UART 口,UART、COM 指的物理接口形式。

UART 一般有 4 个 pin(VCC、GND、RX、TX),用的 TTL 电平,低电平为 0(0V),高电平为 1(3.3V 或以上)。

UART 口

9 针串口

下面这个就是 D 型 9 针串口(通俗说法),在台式电脑后边都可以看到。

注意

这种接口的协议只有两种:RS-232 和 RS-485,不会是 TTL 电平的(除非特殊应用)。

接口定义可以参考 9针串口定义 文章。

9 针串口

我们一般只接出 RXD TXD 两针,外加 GND。

主板 COM 针

根据每个主板不同,主板上的 COM 针顺序和定义略有不同,一般 9 针 COM 口 10 PIN 中最后一个为空:

主板 COM 针

主板 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 单片机下载程序的。

PL2303

这是另一种 CP2102 芯片的 USB 转 TTL 串口,这个小板就多了 +3.3V 电源端,以适应不同的目标电路。

CP2102

上边介绍的都是 USB 转 TTL 串口,如果目标设备上是 RS-232 串口(D 型 9 针接口),再接一片 MAX232 转换一下就行。

MAX232

你也可以搭一个简单的比较器电路,来实现 TTL 转 RS-232 的功能,如下图:

TTL 转 RS-232

下图为 USB 转 RS-232 串口:

USB 转 RS-232

RS-232 转 TTL 咋弄?这就需要你动点脑子咯。当然,早有人想到了做一款成品。仔细看下图,USB 经过 PL2303 转成了 TTL 串口,中间四个窟窿可以引出,再经 MAX232 转换为 RS-232 电平,9 针串口引出。

RS-232 转 TTL

一个设备的串口可以根据引出的串口线来判断是 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 的硬件图:

RS-232 转 RS-485