什么是RS232串行通信协议?
RS-232 是一项在 60 年代初推出的串行数据传输标准,至今仍被广泛使用,主要因为它用途广泛、易于操作和维护、易于获取且得到广泛支持。它不仅定义了电信号特性,例如信号传输速率、电压等级、电缆长度、时序和短路行为,还定义了许多其他内容,包括接口的机械特性、连接器和引脚定义。
根据 RS-232 标准,所有数据都以按时间顺序排列的比特序列进行传输。对于 PC,最常见的配置是发送 7 位或 8 位数据包的异步链路。不过,该标准也支持同步传输。
尽管有诸多优点,RS-232 在传输距离和数据吞吐量性能方面仍有一些严重限制,因此其主要应用范围是工业设备、网络和实验室设备。
RS-232主要规格
工作模式:单端
最大电缆长度:15.24 米(50 英尺)
最大数据吞吐量:20 kbps
最大驱动器输出电压:+/-25V
最大转换速率:30V/uS
高阻态下最大驱动器电流:+/-6mA @ +/-2v(断电)
驱动器负载阻抗:3000-7000 欧姆
驱动器输出信号电平:+/-5V 至 +/-15V(有负载)或 +/-25V(无负载)
接收器输入电阻:3000-7000 欧姆
接收器输入电压范围:+/-15V
接收器输入灵敏度:+/-3V
一条线路上的驱动器和接收器总数:1 个驱动器和 1 个接收器
RS232 标准限制
RS-232 串口已知的问题有哪些?使用标准 COM 端口会带来一堆你必须应对的限制。以下是该标准的明显限制:
- 由于电压摆幅大而导致的功耗增加,会给电源设计带来巨大复杂性。
- 许多设备不使用握手线进行流量控制,从而使 RS-232 不可靠。
- 尽管多点连接问题已通过更可靠的替代方案得到解决,但这仍无法弥补 RS232 端口在兼容性和速度方面的限制。
- 每当将外设连接到计算机时,都需要空调制解调器或交叉线缆。
- RS-232 并未解决单端信令带来的问题。
根据 RS-232 标准,DCE 适用于母头连接器,而 DTE 适用于公头连接器。然而,也有设备采用各种连接器性别/引脚定义组合。例如,一个终端带有板载母头连接器,并配套一根两端都是公头连接器的电缆,这完全符合 RS-232 标准。
在 C 版修订之前,该标准建议使用 D-Sub 微型 25 针连接器,不过只有从 D 版修订开始才是强制要求。这是因为绝大多数设备实际上并不需要标准规定的那 20 路信号,而 RS-232 的 9 针连接成本更低、占用空间也很小。更紧凑,也更便宜。这种 9 针 RS-232 连接器广泛用于个人计算机及类似设备。
DB25 连接器
值得注意的是,并非每个 25 针 D-sub 连接器都具有符合 RS-232-C 标准的接口。一些 PC 制造商会在其 PC COM 端口引脚定义的某些引脚上采用非标准的信号和电压。例如,在最初的 IBM PC 上,母头 D-sub 连接器用于并行 Centronics 打印机端口。
25针串行引脚定义:
引脚 1: GND − 屏蔽接地。
引脚 2: TxD → 发送数据。将数据从数据终端设备传送到数据电路终端设备。
引脚 3: RxD ← 接收数据。将数据从数据电路终端设备传送到数据终端设备。
引脚 4: RTS → 请求发送。数据终端设备向数据电路终端设备发出信号,准备进行数据传输。
引脚 5: CTS ← 允许发送。数据电路终端设备向数据终端设备发出信号,表示已准备好接收数据。
引脚 6: DSR ← 数据设备就绪。DCE 已准备好接收和发送数据。
引脚 7: GND − 系统接地。零电压参考。
引脚 8: CD ← 载波检测。数据电路终端设备向数据终端设备发出信号,告知已检测到另一设备的载波。
引脚 9: 保留
引脚 10: 保留
引脚 11: STF → 选择发送通道。
引脚 12: S.CD ← 次级载波检测。
引脚 13: S.CTS ← 次级允许发送。
引脚 14: S.TXD → 次级发送数据。
引脚 15: TCK ← 传输信号单元定时。
引脚 16: S.RXD ← 次级接收数据。
引脚 17: RCK ← 接收器信号单元定时。
引脚 18: LL → 本地环回控制。
引脚 19: S.RTS → 次级请求发送
引脚 20: DTR → Da 远程环回控制。
引脚 22: RI ← 振铃指示。数据电路终端设备向数据终端设备发出信号,告知检测到振铃状态。
引脚 23: DSR → 数据信号速率选择器。
引脚 24: XCK → 发送信号单元定时。
引脚 25: TI ← 测试指示。
在异步通信期间,RTS 和 CTS 在整个会话过程中始终处于接通状态。然而,如果 DTE 连接到多点线路,数据一次仅由一个站点传输(由于共享回线电话线对)因此 RTS 的唯一用途是打开和关闭调制解调器的载波。当某站点准备好发送时,会拉高 RTS。调制解调器打开其载波,等待其稳定(通常需要几毫秒)然后拉高 CTS。在 CTS 为高电平期间,DTE 进行发送。传输完成后,站点拉低 RTS,随后调制解调器拉低 CTS 和载波。
串行电缆引脚 15、17 和 24 上的所有时钟信号仅用于同步通信。时钟由 DSU 或调制解调器从数据流中提取,或由 DSU 提取并发送给 DTE,以提供稳定的时钟信号。需要强调的是,接收和发送的时钟信号不必相同,并且可以具有不同的波特率。
9 针 RS-232 引脚定义
因此,这里是个人计算机上使用的串行连接引脚定义的简化版本:RS-232 9 针引脚定义。
引脚 1: DCD ← 载波检测
引脚 2: RxD ← 接收数据
引脚 3: TxD → 发送数据
引脚 4: DTR → 数据终端就绪
引脚 5: 0V/COM − 0V 或系统地
引脚 6: DSR ← 数据设备就绪
引脚 7: RTS → 请求发送
引脚 8: CTS ← 允许发送
引脚 9: RI ← 振铃指示
RS-232 信号
表示 RS232 串口引脚定义的信号相对于系统公共端(电源/逻辑地)的电压电平。有效状态(SPACE)的信号电平相对于公共端为正,空闲状态(MARK)的信号电平相对于公共端为负。RS-232 必须指定一种通信协议。此外,RS-232 还具有多条握手线(在大多数情况下)可与调制解调器一起使用。
RS-232 接口假定 DTE 和 DCE 都具有带相同接地的类似电气总线。显然,当涉及 DTE 与 DCE 之间的长距离线路时,这种假设可能完全错误。
RS232 标准规定的最大开路电压为 25 V,但通常信号电平为 5 V、10 V、12 V 和 15 V。
根据 RS-232 标准,所有数据都是双极性的。对大多数设备而言,ON 或 0 状态(SPACE)由 +3 V 到 +12 V 的电压表示,而 OFF 或 1 状态(MARK)由 -3 V 到 -12 V 的电压表示。然而,有些设备不识别任何负电平,0 V 就足以表示 OFF 状态。而且有时更小的电压也足以实现 ON 状态。因此,有可能显著缩小 RS-232 发送/接收的整体范围。
输出信号的正常电压为 +12 V 到 -12 V。此外,在 +3 V 到 -3 V 范围内存在所谓的“死区”用于吸收线路噪声。在其他类似 RS-232 的串口引脚定义中,这个范围可能不同(例如,V.10 的定义有 +0.3 V 到 -0.3 V 的死区)大量 RS-232 接收器可以轻松检测 1 V 甚至更小的差分。
RS-232 电缆规格
RS-232 标准并未直接规定电缆长度限制,因此主要决定因素是符合标准的驱动电路所能容忍的最大电容。一般来说,临界长度为 15 m(或者在仅使用低电容电缆的情况下约 300 m)坦白说,对于更长距离而言,RS-232 标准并不是高速远距离数据传输的最佳选择。
请记住,并非所有设备制造商都能从头到尾严格遵循标准,因此一个好的做法是仔细研究相关文档,并使用断线盒(breakout box)测试每一条新连接。在某些情况下,只有通过反复试错的方法,才能找到连接每一对设备的正确电缆。
按照 RS-232 标准,DCE 设备必须通过在两个连接器中引脚编号一致的电缆(称为“直通电缆”连接到 DTE。任何电缆/连接器性别不匹配都可以通过性别转换器轻松解决。另外,常见的还有一端为 25 针 D-sub 连接器、另一端为 RS-232 9 针连接器的电缆。带有 8P8C 连接器的设备通常会配备一条带 DB-9 或 DB-25 的电缆。有些甚至配有可互换连接器,以增加灵活性。
如果不需要将 RS-232 的能力发挥到极限,可以使用最简的 3 线连接:发送、接收和地。对于单向数据流,有一种 2 线选项:数据和地。而对于双向硬件控制的数据传输,最佳替代方案是 5 线版本,也就是与 3 线相同,但增加了 RTS 和 CTS 线路。
RS-232 数据流图
根据 RS-232 标准,数据可以以多种不同方式传输。然而,最常见的是发送包含 7-8 位字以及起始位、停止位和奇偶校验位的数据包。正如你在下方图示中所见,首先是起始位(低电平有效,+3 V 到 +15 V)然后是数据位,接着是奇偶校验位(如果协议要求)最后是停止位(用于将逻辑置高,-3 V 到 -15 V)
RS232 与其他标准之间的关系
符合 RS-232 的端口不一定能与其他多种串行信令标准(如 RS-422、RS-423、RS-449、RS-422、423、RS-485 等)一起工作。对于使用接近 +5 和 0 电压的 TTL 电平的 GPS 接收器和测深仪,标记电平会落入该标准的未定义区域。要在这样的环境中使用 RS-232 标准,你将需要一个电流转换器。
它们之间的关系:
- RS-422 的速度与 RS-232 相近,但在信令方式上不同
- RS-423 速度相同,但没有平衡信令
- Rs-449 已停用
MIL-STD-188 类似于 RS-232,但具备更好的上升时间控制和更优的阻抗。想要弃用你的 RS-232 设备?先别急!如你所见,这种串行协议仍在反驳所有“它已被 USB 完全取代”的说法。尽管现代通信系统需要像 USB 这样更复杂的系统,我们仍将继续使用标准串行端口。
第三方应用在增强我们使用 RS-232 串口的方式方面表现出色。一个例子是由 Electronic Team 开发的 RS232 转以太网连接器。你可以在 用户指南 中找到有趣的使用场景。
现代串口使用案例
串行端口可能不算炫酷,但它们仍然是电子和 IT 领域中最可靠且使用最广泛的通信方式之一。
无论你是在处理工业系统、嵌入式设备还是网络硬件,理解串行端口引脚定义仍然是一项有价值的技能。
串行端口已经超越了传统 PC。
1. USB 转串口通信
适配器使现代笔记本电脑能够轻松连接到串行设备。
2. 虚拟串行端口
虚拟串口驱动程序 可以模拟用于测试的 COM 端口和远程通信。
- 在 IoT 和云连接系统中很有用
- 支持通过网络共享端口
3. 嵌入式开发
串口仍然是以下场景的主要调试接口:
- 微控制器
- 物联网设备
- 固件开发
4. 网络设备配置
许多企业路由器和交换机仍然依赖串行控制台访问。
常见问题
RS(推荐标准)由电子工业协会在 60 年代开发,用于促进调制解调器与计算机终端之间的通信。
尽管存在局限性,大多数工业自动化和测量实验室仍在继续使用串行端口技术。东芝在 Tecra 个人电脑上重新引入 DB-9M 连接器,证明这些标准目前仍将继续存在。尽管两者存在差异,USB 和 RS-232 标准都支持主要操作系统中的大多数软件程序。