PL2303 USB转串口芯片接口定义详解
概述
PL2303 是 Prolific 公司推出的一款经典 USB 转串口(UART)桥接芯片,广泛应用于各种 USB 转串口适配器、开发板调试工具、工业控制设备等场景。了解其接口定义对于硬件设计、故障排查和嵌入式开发至关重要。
PL2303 主要型号
PL2303 系列主要有以下几个版本:
| 型号 | 特点 | 应用场景 |
|---|---|---|
| PL2303HX | 经典版本,支持 3.3V/5V 供电 | 最常见的 USB 转 TTL 串口模块 |
| PL2303SA | 工业级版本,工作温度范围更宽 | 工业控制、车载设备 |
| PL2303RA | 简化版,成本更低 | 消费电子产品 |
| PL2303TA | 最新版本,兼容性更好 | 现代 USB 转串口设备 |
引脚定义(以 PL2303HX 为例)
PL2303HX 通常采用 SSOP-28 或 QFN-28 封装,以下是其核心引脚定义:
电源相关引脚
| 引脚号 | 引脚名称 | 类型 | 功能描述 |
|---|---|---|---|
| 1 | VDD_325 | 电源 | 3.3V 数字电源输入 |
| 2 | VDD_33 | 电源 | 3.3V 模拟电源输入 |
| 3 | AVDD | 电源 | 模拟电源(通常接 3.3V) |
| 4 | AGND | 地 | 模拟地 |
| 5 | VDD_50 | 电源 | 5V 电源输入(USB VBUS) |
| 6 | D- | I/O | USB 数据负线 |
| 7 | D+ | I/O | USB 数据正线 |
| 8 | GND | 地 | 数字地 |
串口通信引脚
| 引脚号 | 引脚名称 | 类型 | 功能描述 |
|---|---|---|---|
| 9 | TXD | 输出 | 串口发送数据(TTL 电平) |
| 10 | RXD | 输入 | 串口接收数据(TTL 电平) |
| 11 | RTS# | 输出 | 请求发送(低电平有效) |
| 12 | CTS# | 输入 | 清除发送(低电平有效) |
| 13 | DTR# | 输出 | 数据终端就绪(低电平有效) |
| 14 | DSR# | 输入 | 数据设备就绪(低电平有效) |
| 15 | DCD# | 输入 | 数据载波检测(低电平有效) |
| 16 | RI# | 输入 | 振铃指示(低电平有效) |
其他功能引脚
| 引脚号 | 引脚名称 | 类型 | 功能描述 |
|---|---|---|---|
| 17 | SUSPEND | 输出 | USB 挂起状态指示 |
| 18 | PWREN# | 输出 | 电源使能(低电平有效) |
| 19 | RESET# | 输入 | 芯片复位(低电平有效) |
| 20-25 | NC | - | 未连接 |
| 26 | TEST | 输入 | 测试模式(通常接地) |
| 27 | XTAL1 | 输入 | 晶体振荡器输入(12MHz) |
| 28 | XTAL2 | 输出 | 晶体振荡器输出 |
典型应用电路
基本连接示意图
关键外围电路
晶体振荡器电路
- 连接 12MHz 晶体到 XTAL1 和 XTAL2
- 两端各接 22pF 电容到地
电源滤波
- VDD_325、VDD_33、AVDD 各接 0.1μF 陶瓷电容到地
- VDD_50(USB VBUS)接 10μF 电解电容并联 0.1μF 陶瓷电容
USB 数据线
- D+ 和 D- 各串接 27Ω 电阻(可选,用于阻抗匹配)
- 靠近 USB 接口处接 15kΩ 下拉电阻到地
串口电平选择
- PL2303HX 支持 3.3V 和 5V TTL 电平
- 通过 VDD_33 引脚电压决定输出电平
- 接 3.3V 时输出 3.3V TTL,接 5V 时输出 5V TTL
常见模块接口定义
市场上常见的 PL2303 USB 转 TTL 模块通常提供以下接口:
6 针接口(最常见)
┌──────────────┐ │ ○ ○ ○ ○ ○ ○ │ └──────────────┘ GND CTS VCC TXD RXD DTR| 引脚 | 颜色(常见) | 功能 | 说明 |
|---|---|---|---|
| GND | 黑色 | 地线 | 公共地 |
| CTS | 白色 | 清除发送 | 硬件流控 |
| VCC | 红色 | 电源输出 | 5V 或 3.3V(可跳线选择) |
| TXD | 绿色 | 发送数据 | 模块发送,设备接收 |
| RXD | 蓝色 | 接收数据 | 模块接收,设备发送 |
| DTR | 黄色 | 数据终端就绪 | 用于自动复位 Arduino 等设备 |
4 针简化接口
┌──────────┐ │ ○ ○ ○ ○ │ └──────────┘ GND VCC TXD RXD驱动程序与兼容性
驱动程序安装
Windows
- 下载官方驱动:Prolific USB-to-Serial Comm Port
- Windows 10/11 可能自动识别并安装
- 注意:某些山寨芯片需要特定版本驱动
Linux
- 内核自带驱动:
pl2303 - 使用命令查看设备:
ls /dev/ttyUSB* - 可能需要设置权限:
sudo chmod 666 /dev/ttyUSB0
- 内核自带驱动:
macOS
- 需要安装 PL2303 Mac 驱动
- 设备路径:
/dev/cu.usbserial-*
常见问题排查
| 问题现象 | 可能原因 | 解决方案 |
|---|---|---|
| 设备管理器显示黄色感叹号 | 驱动不兼容或芯片为山寨版本 | 1. 卸载当前驱动 2. 安装特定版本驱动 3. 更换正品模块 |
| 串口能打开但无法通信 | 波特率/数据位/停止位/校验位不匹配 | 检查两端串口参数是否一致 |
| TXD/RXD 接反 | 接线错误 | 交换 TXD 和 RXD 连接 |
| 无电源或电压不足 | VCC 未连接或电压过低 | 检查电源连接,确保 3.3V/5V 稳定 |
| 地线未连接 | GND 未连接 | 确保设备共地 |
USB转串口连接器引脚定义
在实际应用中,PL2303芯片通常通过不同的连接器与外部设备连接。以下是常见的USB转串口公头和母头连接器的引脚定义:
DB9 母头(D-Sub 9针母头)引脚定义
DB9母头通常用于连接计算机串口或设备端,PL2303模块的DB9母头引脚定义如下:
┌─────────────────┐ │ 5 4 3 2 1 │ │ │ │ 9 8 7 6 │ └─────────────────┘ (母头背面视图)| 引脚号 | 信号名称 | PL2303对应引脚 | 功能描述 |
|---|---|---|---|
| 1 | DCD# (Data Carrier Detect) | 15 | 数据载波检测,低电平有效 |
| 2 | RXD (Receive Data) | 10 | 接收数据,从设备到PL2303 |
| 3 | TXD (Transmit Data) | 9 | 发送数据,从PL2303到设备 |
| 4 | DTR# (Data Terminal Ready) | 13 | 数据终端就绪,低电平有效 |
| 5 | GND (Ground) | 8 | 信号地 |
| 6 | DSR# (Data Set Ready) | 14 | 数据设备就绪,低电平有效 |
| 7 | RTS# (Request To Send) | 11 | 请求发送,低电平有效 |
| 8 | CTS# (Clear To Send) | 12 | 清除发送,低电平有效 |
| 9 | RI# (Ring Indicator) | 16 | 振铃指示,低电平有效 |
DB9 公头(D-Sub 9针公头)引脚定义
DB9公头通常用于连接电缆或设备端,引脚排列与母头对应:
┌─────────────────┐ │ 1 2 3 4 5 │ │ │ │ 6 7 8 9 │ └─────────────────┘ (公头正面视图)| 引脚号 | 信号名称 | PL2303对应引脚 | 功能描述 |
|---|---|---|---|
| 1 | DCD# | 15 | 数据载波检测 |
| 2 | RXD | 10 | 接收数据 |
| 3 | TXD | 9 | 发送数据 |
| 4 | DTR# | 13 | 数据终端就绪 |
| 5 | GND | 8 | 信号地 |
| 6 | DSR# | 14 | 数据设备就绪 |
| 7 | RTS# | 11 | 请求发送 |
| 8 | CTS# | 12 | 清除发送 |
| 9 | RI# | 16 | 振铃指示 |
USB Type-A 公头引脚定义
PL2303模块通常通过USB Type-A公头连接到计算机:
┌──────────────┐ │ ┌─┐ ┌─┐ ┌─┐ │ │ │ │ │ │ │ │ │ │ └─┘ └─┘ └─┘ │ └──────────────┘ (正面视图,触点朝上)| 引脚号 | 信号名称 | PL2303对应引脚 | 功能描述 |
|---|---|---|---|
| 1 | VBUS (+5V) | 5 | USB电源,+5V直流 |
| 2 | D- (Data-) | 6 | USB数据负线 |
| 3 | D+ (Data+) | 7 | USB数据正线 |
| 4 | GND | 8 | USB电源地 |
USB Type-B 公头引脚定义
某些PL2303模块使用USB Type-B接口:
┌──────────────┐ │ ┌─┐ ┌─┐ ┌─┐ │ │ │ │ │ │ │ │ │ │ └─┘ └─┘ └─┘ │ └──────────────┘ (正面视图)| 引脚号 | 信号名称 | PL2303对应引脚 | 功能描述 |
|---|---|---|---|
| 1 | VBUS (+5V) | 5 | USB电源,+5V直流 |
| 2 | D- (Data-) | 6 | USB数据负线 |
| 3 | D+ (Data+) | 7 | USB数据正线 |
| 4 | GND | 8 | USB电源地 |
USB Mini/Micro-B 引脚定义
便携式设备常用的USB接口:
┌──────────────┐ │ 1 2 3 4 5 │ │ ┌─────────┐ │ │ └─────────┘ │ └──────────────┘ (Micro-B正面视图)| 引脚号 | 信号名称 | PL2303对应引脚 | 功能描述 |
|---|---|---|---|
| 1 | VBUS (+5V) | 5 | USB电源 |
| 2 | D- (Data-) | 6 | USB数据负线 |
| 3 | D+ (Data+) | 7 | USB数据正线 |
| 4 | ID | - | OTG识别(通常悬空) |
| 5 | GND | 8 | USB电源地 |
接线注意事项
交叉连接原则
- PL2303的TXD应连接到设备的RXD
- PL2303的RXD应连接到设备的TXD
- 其他控制信号(RTS#、CTS#等)根据需要连接
电平匹配
- 确保PL2303的输出电平(3.3V或5V)与目标设备兼容
- 对于3.3V设备,将VDD_33连接到3.3V
- 对于5V设备,将VDD_33连接到5V
接地重要性
- 必须确保PL2303和目标设备有共同的接地参考
- 接地不良会导致通信不稳定或失败
流控制连接
- 对于需要硬件流控的应用,必须连接RTS#和CTS#
- 对于简单应用,可以不连接流控引脚
常见连接器颜色编码
| 信号 | DB9常见颜色 | USB常见颜色 | TTL模块常见颜色 |
|---|---|---|---|
| TXD | 橙色/黄色 | 绿色 | 绿色 |
| RXD | 蓝色 | 白色 | 蓝色 |
| GND | 黑色 | 黑色 | 黑色 |
| VCC | 红色 | 红色 | 红色 |
| CTS | 棕色 | - | 白色 |
| RTS | 灰色 | - | 黄色 |
| DTR | 紫色 | - | 橙色 |
了解这些连接器的引脚定义对于正确连接PL2303模块至关重要,可以避免因接线错误导致的通信故障或设备损坏。
实际应用示例
连接 Arduino
// Arduino 端代码示例 void setup() { Serial.begin(9600); // 设置波特率与 PL2303 模块一致 } void loop() { if (Serial.available()) { char c = Serial.read(); Serial.print("Received: "); Serial.println(c); } }接线方式:
- PL2303 TXD → Arduino RX (Pin 0)
- PL2303 RXD → Arduino TX (Pin 1)
- PL2303 GND → Arduino GND
- PL2303 VCC → Arduino 5V(或 3.3V,根据模块输出)
连接 Raspberry Pi
# Raspberry Pi Python 示例importserialimporttime# 打开串口,根据实际设备路径调整ser=serial.Serial('/dev/ttyUSB0',9600,timeout=1)try:whileTrue:ser.write(b'Hello from Raspberry Pi\n')time.sleep(1)ifser.in_waiting:data=ser.readline()print(f"Received:{data.decode().strip()}")exceptKeyboardInterrupt:ser.close()技术规格
| 参数 | 规格 |
|---|---|
| USB 规范 | USB 2.0 Full Speed (12 Mbps) |
| 串口波特率 | 75 bps - 6 Mbps |
| 数据位 | 5, 6, 7, 8 bits |
| 停止位 | 1, 1.5, 2 bits |
| 校验位 | None, Even, Odd, Mark, Space |
| 流控制 | RTS/CTS, DTR/DSR, XON/XOFF |
| 工作电压 | 3.3V 或 5V(可配置) |
| 工作温度 | -40°C 到 +85°C(工业级) |
| 封装 | SSOP-28, QFN-28 |
总结
PL2303 作为一款成熟的 USB 转串口芯片,其接口定义相对固定且易于理解。关键点总结:
- 电源部分:注意区分数字电源、模拟电源和 USB 电源
- 通信引脚:TXD/RXD 为核心数据线,RTS/CTS 用于硬件流控
- 电平兼容:支持 3.3V 和 5V TTL 电平,通过 VDD_33 引脚配置
- 外围电路:晶体振荡器和电源滤波电容必不可少
- 驱动兼容:注意操作系统和芯片版本的匹配
正确理解 PL2303 的接口定义,能够帮助开发者快速搭建稳定的串口通信系统,排查硬件连接问题,并充分发挥该芯片的性能优势。
参考资料
- Prolific Technology Inc. - PL2303HX Data Sheet
- FTDI vs PL2303 vs CH340 - USB to Serial Adapter Comparison
- Arduino 官方文档 - Serial Communication
- Linux 内核文档 - PL2303 USB-Serial Driver
