RS-232 接口
RS-232 是计算机和嵌入式设备中常见通信接口,通常称为“串口”。本文主要介绍 RS-232 的规范、协议、接口等相关技术。
RS-232 是什么
RS-232 是美国电子工业联盟(EIA)制定的串行数据通信的接口标准,原始编号全称是 EIA-RS-232-C(简称 232 或 RS232)。其中,RS 是英⽂“推荐标准”的缩写,232 为标识号,C 表⽰修改次数(表⽰ RS-232 的版本)。
RS-232-C 总线标准设有 25 条信号线,包括⼀个主通道和⼀个辅助通道。⼯业控制的 RS-232 ⼝⼀般只使⽤ RXD、TXD、GND 三条线。通常 RS-232 接⼝以 9 个引脚(DB-9)或是 25 个引脚(DB-25)的型态出现,⼀般个⼈计算机(台式机)上会有一到两组 RS-232 接⼝,分别称为 COM1 和 COM2。
RS-232 逻辑电平
在 RS-232 标准中定义了逻辑一和逻辑零电压级数,以及标准的传输速率和连接器类型。信号大小在正 3-15v 和负 3-15v 之间。
RS-232 规定接近零的电平是无效的,电平有效范围在 ±3 至 ±15 伏之间。根据设备供电电源的不同,±5、±10、±12 和 ±15 这样的电平都是可能的。
- 逻辑一规定为负电平,有效负电平的信号状态称为传号 marking,它的功能意义为 OFF;
- 逻辑零规定为正电平,有效正电平的信号状态称为空号 spacing,它的功能意义为 ON。
RS-232 连接器
按照引脚个数不同,标准 RS-232 接口有两种连接器,分别是:
- 9 针的 DB-9:主流最常用的就是这个 9 针的 RS232;
- 25 针的 DB-25:目前很少用,此处不多介绍。
其中的(9 针的)RS232 按照接口类型分,又可分为:
- 公口(Male):带针脚的一端
- 母口(Female):带针孔的一端
下图以公口为例,简单说明 DB-9 和 DB-25 的接口定义情况。
RS-232 引脚定义
标准 9 针 RS-232 串口引脚示意图如下:
需要注意的是,公口和母口的引脚顺序是相反的,具体如下:
DB-9 Male (Pin Side) DB-9 Female (Pin Side)
_____________ _____________
\ 1 2 3 4 5 / \ 5 4 3 2 1 /
\ 6 7 8 9 / \ 9 8 7 6 /
--------- ---------
下表详细列出了 RS-232 的引脚定义和使用说明。
引脚 | 名称 | 功能 | 备注 |
---|---|---|---|
1 | DCD (Data Carrier Detect) | 数据载波检测 | |
2 | RxD (Received Data) | 串口数据输入 | 必连 |
3 | TxD (Transmitted Data) | 串口数据输出 | 必连 |
4 | DTR (Data Terminal Ready) | 数据终端就绪 | |
5 | GND (Signal Ground) | 地线 | 必连 |
6 | DSR (Data Send Ready) | 数据发送就绪 | |
7 | RTS (Request to Send) | 发送数据请求 | |
8 | CTS (Clear to Send) | 清除发送 | |
9 | RI (Ring Indicator) | 铃声指示 |
目前,在嵌入式开发中,绝大多数都只用到了 RxD、TxD 和 GND 三个引脚。
Serial、UART、TTL 和 RS-232
在计算机领域,Serial、UART、TTL 和 RS-232 这四个词常常出现在对串口的描述中,也很容易被混淆。实际上,它们有着不同的概念。
Serial 表示“串行”,即通讯链路的“时分复用”,数据是随着时间不同,慢慢的传送过去的,且大多数是以一个一个 bit 位的形式发送的。RS232、USB、SPI、I2C 等等,都属于串行方面的协议或概念。在实际应用中,Serial 更偏向于软件概念。
UART(Universal Asynchronous Receiver/Transmitter,通用异步收发器)通常用于表示微控制器上的 UART 外设模块,是电子电路上的概念。也用于一种双向、串行、异步的通信总线,仅用一根数据接收线(Rx)和一根数据发送线(Tx)就能实现全双工通信。
而 TTL 则是一种逻辑电平标准,低电平为 0,高电平为 1(+5V 电平)。前面讲到,RS-232 标准是正电平为 0,负电平为 1(±15V 电平)。也就是说,TTL 的逻辑和 RS-232 是相反的。
由于 UART 采用的是 TTL 电平,因此如果想要使用 UART 连接外部 RS-232 接口时,就需要用到电平转换芯片。常用的 RS-232 电平转换芯片有 MAX3232、SP3232 等。
RS-232 本质上是一种电气接口规范,或称为“串口通信的协议”。它定义了硬件接口、引脚功能、信号时序等内容。
RS-232 串口工具
常见的 RS-232 串口工具包括 Linux 上的 minicom,Windows 上的 SecureCRT、MobaXterm、Xshell 等。你可以通过《好用的串口工具》了解更多串口工具的介绍。