RS232 是传统串行通讯标准,最常用就是 DB9 九针接口,接线核心就是收发交叉,也就是一端的发送针接另一端的接收针,地线互相连通,这是两台设备直接通讯最基础的规则,很多新手接线失败,就是把发送接发送接收接接收,造成通讯完全不通。RS232 定义的是电平标准,采用负逻辑,负电压代表逻辑 1,正电压代表逻辑 0,和单片机 TTL 电平并不兼容,直接对接会损坏芯片,这点在实际接线的时候必须留意。DB9 接口分公头和母头,公头带针母头带孔,还要区分 DTE 数据终端设备和 DCE 数据通讯设备,电脑一般属于 DTE,调制解调器这类外设属于 DCE,DTE 对 DCE 可以直连,DTE 对 DTE 也就是电脑连电脑,就必须做交叉线也就是俗称的零调制解调器线。
DB9 针脚定义
| 针号 | 名称 | 英文缩写 | 功能说明 |
|---|---|---|---|
| 1 | 数据载波检测 | DCD | 检测载波信号 |
| 2 | 接收数据 | RXD | 接收串行数据 |
| 3 | 发送数据 | TXD | 发送串行数据 |
| 4 | 数据终端就绪 | DTR | 终端设备准备就绪 |
| 5 | 信号地 | GND | 公共参考地线 |
| 6 | 数据设备就绪 | DSR | 通讯设备准备就绪 |
| 7 | 请求发送 | RTS | 请求向外发送数据 |
| 8 | 清除发送 | CTS | 允许设备发送数据 |
| 9 | 振铃指示 | RI | 检测振铃信号 |
最简三线制接线
只需要三根线就可以完成基础双向通讯,只用到 TXD RXD GND,不需要流控信号,这是工程里面使用最多的方案。
1 第一台设备针 3 TXD 连接 第二台设备针 2 RXD
2 第一台设备针 2 RXD 连接 第二台设备针 3 TXD
3 第一台设备针 5 GND 连接 第二台设备针 5 GND
这种接线适合只做数据收发,不需要硬件流控的场景,比如电脑连接 PLC 单片机 仪表,优点是线材简单成本低,缺点是没有流控,高速通讯或者大数据量传输的时候容易丢包。
带硬件流控完整交叉接线
如果设备开启 RTS CTS 硬件流控,除了 TXD RXD GND 之外,还要把流控针交叉对接,保证双方可以互相控制收发节奏,防止接收缓冲区溢出丢数据。
1 TXD 针 3 对接 RXD 针 2
2 RXD 针 2 对接 TXD 针 3
3 GND 针 5 对接 GND 针 5
4 RTS 针 7 对接 CTS 针 8
5 CTS 针 8 对接 RTS 针 7
6 DTR 针 4 对接 DSR 针 6
7 DCD 针 1 可以按需连接,RI 针 9 一般很少用到
DTE 直连 DCE 标准接线
电脑 DTE 连接调制解调器 DCE 这类设备的时候,不需要交叉 TXD 和 RXD,同名针直接对应连接。
1 针 2 RXD 对接 针 2 RXD
2 针 3 TXD 对接 针 3 TXD
3 针 5 GND 对接 针 5 GND
4 RTS CTS DTR DSR DCD RI 全部同名直连
这种是原厂标配串口线,也就是直通线,不要和交叉零调制解调器线搞混,选错线是通讯失败最常见原因。
RS232 和 TTL 转换接线要点
RS232 电平是正负十几伏,TTL 是 0V 和 3.3V 或者 5V,不能直接相连,中间必须增加 MAX232 这类转换芯片。
转换芯片一侧是 RS232 DB9 接口,另一侧是 TTL 电平引脚,TTL 侧的 TX 接单片机 RX,TTL 侧的 RX 接单片机 TX,GND 共地,转换芯片供电一般是 5V,接线完成之后还要确认波特率 数据位 停止位 校验位两边参数保持一致,就算接线正确,参数不匹配依旧无法通讯。
接线排查要点
第一优先检查 TX 和 RX 有没有接反,这是最高频故障点。第二确认两边共地,地线断开会出现乱码,时通时断。第三确认电平类型,RS232 和 TTL 不要直连。第四确认设备类型,判断是 DTE 还是 DCE,选择直通线还是交叉线。第五检查串口参数,波特率 校验位 停止位必须两边完全相同。
【常见问题】
问题 1 RS232 接线为什么必须交叉 TXD 和 RXD
回答 1 RS232 接线交叉 TXD 和 RXD,是因为 DTE 设备的发送端要送到对方的接收端,如果 RS232 接线做成 TXD 接 TXD,双方发送信号无法进入对方接收引脚,RS232 通讯就不能正常工作。
问题 2 RS232 接线最少需要几根线
回答 2 RS232 接线最少只需要三根线,也就是 TXD RXD GND,这种 RS232 接线属于三线制无流控方案,满足基础双向串口通讯,适合大部分仪表和单片机通讯场景。
问题 3 RS232 接线能不能直接连接单片机 TTL 串口
回答 3 RS232 接线不能直接连接单片机 TTL 串口,RS232 是正负电压电平,TTL 是单极性高低电平,RS232 接线直连会损坏单片机,RS232 接线必须增加 MAX232 转换芯片之后再接单片机。
问题 4 RS232 接线 DTE 连 DCE 要不要交叉收发
回答 4 RS232 接线 DTE 连 DCE 不需要交叉收发,RS232 接线使用同名针直连的直通线,只有 RS232 接线 DTE 对 DTE 的时候,才需要交叉 TXD 和 RXD 做零调制解调器接线。
【免责申明】
本文 RS232 接线相关内容仅作为技术参考,不同厂商设备针脚定义可能存在自定义改动,实际 RS232 接线前请核对设备原厂手册,接线错误造成设备损坏由操作人员自行承担。


