RS232总线详解
RS232总线
计算机与计算机或计算机与终端之间的数据传送可以采用串行通讯和并行通讯两种方式。由于串行通讯方式具有使用线路少、成本低,特别是在远程传输时,避免了多条线路特性的不一致而被广泛采用。
在串行通讯时,要求通讯双方都采用一个标准接口,使不同的设备可以方便的连接起来进行通讯。RS-232-C接口(又称EIA RS-232-C)是目前最常用的一种串行通讯接口。

RS-232-C是美国电子工业协会EIA(Electronic Industry Association)制定的一种串行物理接口标准。RS是英文“推荐标准”的缩写,232为标识号,C表示修改次数,代表RS232的最新一次修改(1969),在这之前,有RS232B、RS232A。它是在1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用语串行通讯的标准。该标准规定采用一个25个脚的DB-25连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。后来IBM的PC机将RS-232的DB-25连接器简化成了DB-9连接器,从而成为事实标准。而工业控制的RS-232接口一般只使用TXD、RXD、GND三条线。
DB-25连接器


DB-9连接器


RS-232-C标准规定的数据传输速率为每秒50、75、100、150、300、600、1200、2400、4800、9600、19200波特。
1.RS232总线
RS-232定义了电气特性、逻辑电平、连接器类型以及通信协议,具体包括以下内容:
(1)电气特性
逻辑电平
- 逻辑“1”表示负电压(通常为 -3V 到 -15V)。
- 逻辑“0”表示正电压(通常为 +3V 到 +15V)。
最大传输距离
- 标准建议在9600 bps下,电缆长度最大为 15米。
数据传输速率
- 一般速率为 300 bps 到 115200 bps,更高速率需优化设备。
(2)通信模式
通信采用异步通信模式,数据以帧为单位进行传输,无需时钟同步信号。
标准通信参数
- 数据位:5到8位
- 停止位:1位或2位
- 校验位:无校验、奇校验或偶校验
- 双向通信:支持全双工通信,即可以同时进行发送和接收。
(3)接口和连接器
- 连接器类型
- 主要使用 DB-9 和 DB-25 接口。
- DB-9(9针)更常见于现代设备。

DB-9 引脚定义
引脚号 | 符号 | 名称 | 功能说明 | 方向(相对于 DTE) |
---|---|---|---|---|
1 | DCD | 数据载波检测 | 检测调制解调器信号状态(表示远程调制解调器已检测到载波信号) | 输入 |
2 | RXD | 接收数据 | 数据接收端(从远程设备接收的数据) | 输入 |
3 | TXD | 发送数据 | 数据发送端(发送到远程设备的数据) | 输出 |
4 | DTR | 数据终端准备 | 通知对端设备可以通信(终端设备准备好进行通信时激活) | 输出 |
5 | GND | 信号地 | 共用地线(用于信号参考) | - |
6 | DSR | 数据准备就绪 | 表示对端设备已准备好(调制解调器或设备准备好时激活) | 输入 |
7 | RTS | 请求发送 | 请求对端发送数据(请求发送数据时激活) | 输出 |
8 | CTS | 清除发送 | 准备好接收数据(允许发送数据时激活) | 输入 |
9 | RI | 振铃指示 | 调制解调器振铃信号指示(检测到振铃信号时激活,通常用于电话线路) | 输入 |
2.RS232工作原理
在 RS-232标准设备 中,一根导线传输变化的电压,另一根导线接地,因为导线具有单端。由驱动器和接收器电路的接地电压差异引起的噪声会影响单端信号。RS-232标准中的信息或数据仅通过一条数据线在一个方向上串行传输。为了结合双向通信,需要三根线(RXD、TXD和GND)以及控制信号。
RS-232严格遵循异步通信协议,即没有时钟信号来同步发送方和接收方。因此,它需要开始位和停止位来通知接收器何时检查数据。每个位的传输之间存在一定时间的延迟。此延迟是非活动状态意味着信号设置为-12伏或逻辑“1”,如前所述,逻辑1 为-12伏,逻辑 0 为RS-232中的12伏。
首先,发送器(即DTE)向接收器(即DCE)发送一个起始位,通知它数据传输从下一个位开始。我们始终将起始位保持为逻辑0 或+12伏,接下来的5到9个字符是数据位。
如果使用奇偶校验位,则最多可以传输8位,如果不使用奇偶校验位,则可以传输9个数据位。成功发送数据后,发送器发送停止位,可以是1位、2位或5位长。
3.RS232数据帧格式
RS-232 是一种标准的串行通信协议,用于在 DTE(数据终端设备,如计算机)与 DCE(数据通信设备,如调制解调器)之间进行数据传输。数据帧格式定义了如何传输每个字符。
(1)基本数据帧结构
| 起始位 | 数据位(5~8 位) | 奇偶校验位(可选) | 停止位(1~2 位) |
(2)详细说明
① 起始位 (Start Bit)
- 长度:1 位。
- 值:始终为 0(低电平)。
- 用于指示数据传输的开始,接收方识别到低电平信号时,准备读取数据位。
② 数据位 (Data Bits)
- 长度:5 到 8 位。
- 值:表示传输的字符数据,如 ASCII 码。
- 数据长度由通信双方约定(通常为 8 位)。
③ 奇偶校验位 (Parity Bit)(可选)
- 用于检测传输错误。
- 无校验 (None):不使用校验位。
- 奇校验 (Odd Parity):确保数据中“1”的数量为奇数。
- 偶校验 (Even Parity):确保数据中“1”的数量为偶数。
④ 停止位 (Stop Bits)
- 长度:1、1.5 或 2 位。
- 值:始终为 1(高电平)。
- 用于标识数据帧的结束并为下一个帧准备时间。
(3)典型参数设置
- 波特率 (Baud Rate):每秒传输的比特数,如 9600、115200。
- 数据位 (Data Bits):常见为 8 位。
- 奇偶校验 (Parity Bit):无校验、奇校验或偶校验。
- 停止位 (Stop Bits):1 位或 2 位。
示例参数组合:
9600 8N1
表示:- 波特率:9600 bps
- 数据位:8 位
- 无奇偶校验 (N)
- 停止位:1 位
(4)RS-232 数据帧示例
假设发送字符 "A"(ASCII 值 65,二进制为 01000001),使用 9600 8N1 格式:
完整数据帧为:
0 01000001 1
4.RS232总线承载的业务
(1)设备控制命令传输
业务类型:控制命令
功能描述:
通过 RS232 总线,主设备(例如计算机或控制器)可以向从设备发送控制命令,指示从设备执行某些操作,如启动、停止或调整设置。例如,计算机控制工厂自动化设备(如机械臂)的动作。
(2)数据采集与监控
业务类型:传感器数据采集
功能描述:
RS232 总线用于将传感器采集的数据传输到控制系统或计算机,例如温度传感器、压力传感器等向中央控制系统提供实时数据。
(3)设备状态监控
业务类型:设备状态反馈
功能描述:
RS232 总线可用于设备向控制系统反馈其运行状态。例如,UPS 电源系统通过 RS232 向监控设备传输电池电量、输出电压等信息。
(4)调试与配置
业务类型:设备调试与配置
功能描述:
RS232 用于设备的配置和调试,设备可以通过串口接口接受外部配置指令,或将内部调试信息传输到计算机或调试工具上进行分析。
(5)数据传输
业务类型:文件传输、数据同步
功能描述:
RS232 可以用来传输设备之间的文件或同步数据。例如,将数据从传感器或存储设备传输到计算机,或将数据从计算机传输到打印机进行打印。
(6)串行通信
业务类型:设备间数据交换
功能描述:
RS232 可用于设备之间的简单串行通信。例如,计算机通过串口与调制解调器(modem)进行通信,或通过串行端口连接其他计算机进行数据交换。
5.RS232总线承载的方式
(1)点对点通信
RS232 通常采用 点对点 连接方式,即通信设备通过串行端口直接连接,允许两个设备之间传输数据。例如,计算机通过串行端口连接打印机,进行数据传输。
(2)全双工通信
RS232 支持 全双工通信,意味着在同一时间内可以同时进行数据的发送和接收。通过使用 TXD(发送数据线)和 RXD(接收数据线),实现双向数据交换。例如,在计算机与调制解调器之间的通信中,计算机可以同时接收来自调制解调器的数据并向其发送指令。
(3)异步传输
RS232 通常使用 异步传输 模式,这意味着发送和接收的设备不需要同步的时钟信号。数据通过起始位、数据位、校验位和停止位进行编码和解码。每次传输的数据都是独立的,设备通过规定的波特率来传输数据。
(4)协议层
RS232 是一个物理层标准,通常结合更高层的协议(如 Modbus RTU)进行数据传输。在实际应用中,RS232 协议可以在不同的通信协议上进行封装和承载,例如工业控制领域常用的 Modbus RTU 协议在 RS232 上进行通信。
(5)波特率和信号传输
RS232 传输数据时,需要设定波特率(如 9600、19200、115200 等),这决定了数据传输的速度。常见的数据传输包括 7 位或 8 位数据位,1 位或 2 位停止位,以及是否启用校验位。设备通过这一方式确保双方的同步数据传输。
(6)硬件流控制与软件流控制
RS232 可以使用 硬件流控制(如 RTS/CTS)或 软件流控制(如 XON/XOFF)来管理数据传输。这对于防止缓冲区溢出和数据丢失非常重要,尤其在高速通信时。
(7)单工和半双工模式
尽管 RS232 通常使用全双工,但也可以配置为 半双工 或 单工 模式。在半双工模式下,设备只能在某一时刻发送或接收数据;而在单工模式下,数据只能单向传输,例如某些早期的通信设备只支持单向通信。
6.RS232总线设备列表
RS232 总线常用于设备之间的串行通信,支持点对点的通信方式。以下是一些常见的可以接入 RS232 总线的设备,包括工业设备、通信设备和个人计算机设备等。
设备类型 | 设备名称 | 应用场景 | 功能说明 |
---|---|---|---|
计算机设备 | 个人计算机(PC) | 数据交换、配置、调试 | 用于与外围设备进行串行通信,调试、传输数据等 |
打印设备 | 打印机 | 打印任务传输 | 用于打印机与计算机之间的数据传输和打印任务执行 |
网络设备 | 调制解调器(Modem) | 数据通信、互联网接入 | 用于计算机与电话线路之间的数据传输 |
工业控制设备 | PLC(可编程逻辑控制器) | 工业自动化控制 | 用于 PLC 和其他自动化设备之间的串行通信 |
传感器 | 温湿度传感器、压力传感器 | 数据采集、环境监控 | 用于采集传感器数据并传输给主控设备 |
嵌入式设备 | 嵌入式开发板(如 Arduino、Raspberry Pi) | 设备调试、传感器数据采集 | 用于与外部传感器、设备进行数据交换 |
条形码扫描器 | 条形码扫描仪 | 商业/零售领域,数据采集 | 用于扫描商品条形码并将信息传输到计算机或POS系统 |
医疗设备 | 医疗监控设备(如 ECG、血压计) | 健康监控、数据传输 | 用于将医疗数据传输到计算机或监控系统 |
POS 系统 | POS 终端设备 | 销售点数据交换 | 用于与打印机、收银机等设备的数据交互 |
汽车诊断设备 | OBD-II 车载诊断工具 | 车辆诊断、故障检测 | 用于汽车诊断系统通过串行接口进行数据交换 |
通信设备 | 无线电通信设备 | 无线通信、设备调试 | 用于无线电设备的配置和数据传输 |
外部存储设备 | 存储设备(如存储卡读取器) | 数据传输、存储设备访问 | 用于与计算机或其他设备交换数据 |
测试设备 | 示波器、万用表等测试设备 | 测试、数据监控 | 用于将测试结果传输到计算机或其他测试设备 |