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 封装以下是其核心引脚定义电源相关引脚引脚号引脚名称类型功能描述1VDD_325电源3.3V 数字电源输入2VDD_33电源3.3V 模拟电源输入3AVDD电源模拟电源通常接 3.3V4AGND地模拟地5VDD_50电源5V 电源输入USB VBUS6D-I/OUSB 数据负线7DI/OUSB 数据正线8GND地数字地串口通信引脚引脚号引脚名称类型功能描述9TXD输出串口发送数据TTL 电平10RXD输入串口接收数据TTL 电平11RTS#输出请求发送低电平有效12CTS#输入清除发送低电平有效13DTR#输出数据终端就绪低电平有效14DSR#输入数据设备就绪低电平有效15DCD#输入数据载波检测低电平有效16RI#输入振铃指示低电平有效其他功能引脚引脚号引脚名称类型功能描述17SUSPEND输出USB 挂起状态指示18PWREN#输出电源使能低电平有效19RESET#输入芯片复位低电平有效20-25NC-未连接26TEST输入测试模式通常接地27XTAL1输入晶体振荡器输入12MHz28XTAL2输出晶体振荡器输出典型应用电路基本连接示意图USB Type-A/B 接口PL2303HXUSB转串口芯片TTL 电平串口(3.3V/5V)微控制器/设备12MHz 晶体3.3V LDO稳压器0.1μF 去耦电容关键外围电路晶体振荡器电路连接 12MHz 晶体到 XTAL1 和 XTAL2两端各接 22pF 电容到地电源滤波VDD_325、VDD_33、AVDD 各接 0.1μF 陶瓷电容到地VDD_50USB 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 PortWindows 10/11 可能自动识别并安装注意某些山寨芯片需要特定版本驱动Linux内核自带驱动pl2303使用命令查看设备ls /dev/ttyUSB*可能需要设置权限sudo chmod 666 /dev/ttyUSB0macOS需要安装 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对应引脚功能描述1DCD# (Data Carrier Detect)15数据载波检测低电平有效2RXD (Receive Data)10接收数据从设备到PL23033TXD (Transmit Data)9发送数据从PL2303到设备4DTR# (Data Terminal Ready)13数据终端就绪低电平有效5GND (Ground)8信号地6DSR# (Data Set Ready)14数据设备就绪低电平有效7RTS# (Request To Send)11请求发送低电平有效8CTS# (Clear To Send)12清除发送低电平有效9RI# (Ring Indicator)16振铃指示低电平有效DB9 公头D-Sub 9针公头引脚定义DB9公头通常用于连接电缆或设备端引脚排列与母头对应┌─────────────────┐ │ 1 2 3 4 5 │ │ │ │ 6 7 8 9 │ └─────────────────┘ (公头正面视图)引脚号信号名称PL2303对应引脚功能描述1DCD#15数据载波检测2RXD10接收数据3TXD9发送数据4DTR#13数据终端就绪5GND8信号地6DSR#14数据设备就绪7RTS#11请求发送8CTS#12清除发送9RI#16振铃指示USB Type-A 公头引脚定义PL2303模块通常通过USB Type-A公头连接到计算机┌──────────────┐ │ ┌─┐ ┌─┐ ┌─┐ │ │ │ │ │ │ │ │ │ │ └─┘ └─┘ └─┘ │ └──────────────┘ (正面视图触点朝上)引脚号信号名称PL2303对应引脚功能描述1VBUS (5V)5USB电源5V直流2D- (Data-)6USB数据负线3D (Data)7USB数据正线4GND8USB电源地USB Type-B 公头引脚定义某些PL2303模块使用USB Type-B接口┌──────────────┐ │ ┌─┐ ┌─┐ ┌─┐ │ │ │ │ │ │ │ │ │ │ └─┘ └─┘ └─┘ │ └──────────────┘ (正面视图)引脚号信号名称PL2303对应引脚功能描述1VBUS (5V)5USB电源5V直流2D- (Data-)6USB数据负线3D (Data)7USB数据正线4GND8USB电源地USB Mini/Micro-B 引脚定义便携式设备常用的USB接口┌──────────────┐ │ 1 2 3 4 5 │ │ ┌─────────┐ │ │ └─────────┘ │ └──────────────┘ (Micro-B正面视图)引脚号信号名称PL2303对应引脚功能描述1VBUS (5V)5USB电源2D- (Data-)6USB数据负线3D (Data)7USB数据正线4ID-OTG识别通常悬空5GND8USB电源地接线注意事项交叉连接原则PL2303的TXD应连接到设备的RXDPL2303的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 GNDPL2303 VCC → Arduino 5V或 3.3V根据模块输出连接 Raspberry Pi# Raspberry Pi Python 示例importserialimporttime# 打开串口根据实际设备路径调整serserial.Serial(/dev/ttyUSB0,9600,timeout1)try:whileTrue:ser.write(bHello from Raspberry Pi\n)time.sleep(1)ifser.in_waiting:dataser.readline()print(fReceived:{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 SheetFTDI vs PL2303 vs CH340 - USB to Serial Adapter ComparisonArduino 官方文档 - Serial CommunicationLinux 内核文档 - PL2303 USB-Serial Driver