2. RS-232C 接口标准:引脚定义、信号电压与握手信号
RS-232C 是 SECS-I 物理层最常用的串行通信接口标准。在 SECS/GEM 设备调试中,正确理解 RS-232C 的引脚功能、电平特性以及握手机制,是确保物理链路稳定、数据无差错传输的前提。本节将围绕 DB9 与 DB25 两种连接器,详细解析其引脚定义、信号电压规范以及硬件流控握手信号的工作逻辑。
2.1 连接器类型与引脚定义
SECS-I 物理层通常使用 DB9(9 针)或 DB25(25 针)D-sub 连接器。在半导体设备中,DB9 因其体积小、接线简单而更为常见;DB25 则多用于早期设备或需要更多控制信号的场景。下表列出了两种连接器在 RS-232C 标准下的关键引脚定义:
| DB9 引脚 | DB25 引脚 | 信号名称 | 方向(DTE 视角) | 功能描述 |
|---|---|---|---|---|
| 1 | 8 | DCD | 输入 | 数据载波检测(Data Carrier Detect) |
| 2 | 3 | RXD | 输入 | 接收数据(Receive Data) |
| 3 | 2 | TXD | 输出 | 发送数据(Transmit Data) |
| 4 | 20 | DTR | 输出 | 数据终端就绪(Data Terminal Ready) |
| 5 | 7 | GND | — | 信号地(Signal Ground) |
| 6 | 6 | DSR | 输入 | 数据集就绪(Data Set Ready) |
| 7 | 4 | RTS | 输出 | 请求发送(Request to Send) |
| 8 | 5 | CTS | 输入 | 清除发送(Clear to Send) |
| 9 | 22 | RI | 输入 | 振铃指示(Ring Indicator) |
2.2 信号电压电平(±12V)
RS-232C 采用非平衡(单端)传输方式,其信号电压电平定义如下:
- 逻辑 1(Mark / 负电压): 电压范围 -3V ~ -15V,典型值为 -12V。
- 逻辑 0(Space / 正电压): 电压范围 +3V ~ +15V,典型值为 +12V。
- 过渡区(死区): -3V ~ +3V 之间的电压被视为无效电平,接收器在此区间内不保证逻辑状态。
与 TTL(0V/5V)或 CMOS(0V/3.3V)逻辑不同,RS-232C 使用负逻辑且电压摆幅较大,因此 SECS-I 接口芯片(如 MAX232、SP3232)必须完成电平转换。在调试时,使用示波器或万用表测量 TXD/RXD 引脚,若空闲状态(无数据)测得约 -12V,则说明物理层电平正常。
2.3 握手信号:RTS / CTS / DTR / DSR
RS-232C 的握手信号用于协调 DTE(数据终端设备,如主机)与 DCE(数据通信设备,如 SECS 适配器)之间的数据流,防止接收缓冲区溢出。在 SECS-I 调试中,握手信号分为硬件流控和软件流控(XON/XOFF)两种方式,本节重点介绍硬件流控涉及的四个核心信号。
2.3.1 信号功能定义
| 信号 | 全称 | 有效电平 | 作用 |
|---|---|---|---|
| RTS | Request to Send | 正电压(+12V) | DTE 向 DCE 请求发送数据 |
| CTS | Clear to Send | 正电压(+12V) | DCE 允许 DTE 发送数据 |
| DTR | Data Terminal Ready | 正电压(+12V) | DTE 就绪,可以建立连接 |
| DSR | Data Set Ready | 正电压(+12V) | DCE 就绪,通信链路已建立 |
2.3.2 硬件流控握手流程
在 SECS-I 通信中,典型的硬件流控握手时序如下:
- DTR 与 DSR 握手: DTE 置高 DTR,表示主机已准备好通信;DCE 响应 DSR 置高,表示适配器已上电并就绪。此步骤建立链路层连接。
- RTS 与 CTS 握手: 当 DTE 需要发送数据时,置高 RTS;DCE 在接收缓冲区有空闲时,置高 CTS 作为应答。DTE 检测到 CTS 为高后,开始通过 TXD 发送数据。
- 流控暂停: 若 DCE 接收缓冲区将满,则置低 CTS,通知 DTE 暂停发送;待缓冲区数据被读取后,再置高 CTS 恢复发送。
2.4 三线制与完整握手接线对比
在 SECS-I 调试现场,根据设备类型和流控需求,接线方式分为以下两种:
| 接线方式 | 连接引脚 | 适用场景 | 优点 | 缺点 |
|---|---|---|---|---|
| 三线制(最小系统) | TXD, RXD, GND | 短距离调试、软件流控或无需流控 | 接线简单,兼容性好 | 无硬件流控,高速或长距离易丢数据 |
| 完整握手(七线制) | TXD, RXD, GND, RTS, CTS, DTR, DSR | 长距离、高速率、工业环境 | 硬件流控可靠,防止缓冲区溢出 | 接线复杂,需双方流控配置一致 |
2.5 物理层参数验证清单
在完成 RS-232C 接线后,建议按以下步骤验证物理层配置:
- 电压测量: 使用万用表测量 TXD 引脚对 GND 的电压,空闲时应为 -12V 左右。
- 信号完整性: 使用示波器观察 TXD 波形,确认数据位、停止位、波特率与配置一致。
- 握手信号检查: 在通信过程中监测 RTS/CTS 电平变化,确认流控逻辑正确。
- 回环测试: 将 TXD 与 RXD 短接(DB9 的 2 与 3 短接),发送数据应能立即接收,验证串口硬件正常。
通过以上步骤,可以确保 SECS-I 物理层的 RS-232C 接口参数配置正确,为后续 SECS-II 消息传输奠定稳定的硬件基础。