news 2026/10/7 9:01:22

用FT232RL从零设计USB转串口电路板:原理图、PCB与调试全解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
用FT232RL从零设计USB转串口电路板:原理图、PCB与调试全解析

很多朋友第一次认识 FT232RL,都是从手边那个几块钱包邮的 USB 转 TTL 模块开始的:红色小板子、一个芯片、几个电容电阻、两头排针,用起来倒是没毛病。但你把它拆开对着光看,会发现整块板上连十个元件都凑不齐,焊接难度约等于零。当时我就想,既然核心就这么点东西,与其每次做项目都临时买模块,不如自己花半天时间,从零设计一块 USB 转串口电路板。别觉得这事儿有多高级,USB 转串口板本来就是入门 PCB 设计最好的练手项目之一:原理图有明确标准、电路只涉及十几个元件、功能好不好一眼就能验证。接下来我把这次用 FT232RL-REEL 芯片完整走一遍设计流程的过程写下来,从芯片选型、原理图、PCB 布局布线、焊接调试,一直讲到驱动安装和常见问题排查,照着我这个思路做,你也能拿到一块完全属于自己的板子。

1. 从拆解一个成品模块开始:为什么要自己做这块板子

1.1 模块只是“能用”,不一定符合你的板子

市面上常见的 USB 转串口模块,大概率是围绕 FT232RL、CP2102、CH340G 这三类芯片做的。它们用起来确实方便,插上电脑装好驱动就是一个 COM 口。但如果你真的把它当做一个固定元件去集成到自己的设计里,很快会发现几个尴尬的地方:

  • 模块尺寸是别人定死的,形状不一定是你要的。有的项目想把 USB 口放在板子一角,模块固定孔对不上,就只能飞线,难看又不可靠。
  • 模块上的排针间距、出线方向不一定合理。侧出式排针在某些外壳里根本放不下。
  • 大部分模块只把 TXD、RXD、VCC、GND 引出来了,DTR、RTS、CBUS 这些信号根本没有。后面想用自动下载电路,就得去飞线或者自己再改板。

我最初做这块板就是因为一个 STM32 项目的下载调试接口。原本打算在整机 PCB 上外挂一个 USB 转 TTL 模块,结果结构上怎么摆都不合适。后来干脆把 FT232RL 这一路直接画进主板的角落里,USB 座放到外壳开孔处,串口走线直接连到 MCU 的 UART 引脚,一块板子就把下载接口和产品功能全解决了。这种“把下载电路做成主板一部分”的思路,比外接模块可靠得多。

1.2 FT232RL-REEL 的定位,以及它和 CH340G、CP2102 的差异

先解释一下型号里的 REEL 是什么意思。很多朋友在电子商城搜 FT232RL,看到 FT232RL-REEL 这个后缀会愣一下。REEL 表示“卷带包装”,也就是这颗芯片是以编带形式出货的,适合贴片机量产,而不是像有些老型号那样整盒或者散装。对我们自己画板来说,REEL 和普通 FT232RL 在芯片本身没有任何区别,只是买回来是一盘还是几颗的问题,个人少量购买时买散装就行。

FT232RL 是 FTDI 公司的经典 USB 转 UART 桥接芯片,最大支持 3Mbps 波特率,芯片内部集成了 USB 收发器、UART 控制器、EEPROM 和 3.3V 稳压器。相比 CH340G 和 CP2102,它的优势主要在三点:一是驱动兼容性极好,Windows、Linux、macOS 都有原生驱动;二是这颗芯片的数据手册和应用笔记写得非常详细,连 PCB 布局建议都给出来了;三是它支持通过 CBUS 引脚配置成 TXDEN、PWREN、LED 驱动等模式,扩展玩法多。

我做过一个小对比表,方便你按需选型:

芯片典型价格驱动最大波特率特点
FT232RL较高Win/macOS/Linux 原生3Mbps文档最全、CBUS 可配置、假货多
CP2102中等Win/macOS/Linux 原生1Mbps体积小、内置晶振、无需外部时钟
CH340G较低Windows 需装驱动2Mbps便宜、国产、资料够用

如果你这次做板就是想彻底搞懂 USB 转串口的原理,那我建议直接选 FT232RL,因为 FTDI 的应用笔记和参考设计质量确实高,遇到问题也好查资料。如果你只是想要最便宜方案,那 CH340G 也没问题,原理上大差不差。

1.3 自己动手前需要准备的工具

这不是一个需要高门槛设备的项目,但有几样东西是必要的:

  • 嘉立创 EDA 或者 KiCad,用来画原理图和 PCB。个人项目用国产的嘉立创 EDA 挺顺手,元件库和封装库都现成,下单打板也顺。
  • 恒温电烙铁,最好带刀头或者尖头,配细焊锡丝和助焊剂。LQFP-32 封装引脚间距只有 0.8mm,没有助焊剂拖锡会非常痛苦。
  • 镊子、斜口钳、吸锡带、万用表。测短路、检查焊接虚焊全靠它们。
  • 一台能上网的电脑,用于下载驱动和查阅数据手册。

技术门槛方面,你不需要会写代码,但最好看得懂最简单的原理图,知道电阻、电容、LED 怎么接。后面每一步我都会解释为什么这么接。

2. 电路设计前,先把 FT232RL 的电源、UART 和时钟机制理顺

2.1 电源引脚关系:VCC、VREGIN、3V3OUT 与 VCCIO

FT232RL 内部集成了一路 3.3V LDO 稳压器,这颗稳压器的输入脚叫 VREGIN,输出脚叫 3V3OUT。USB 的 5V 电源进入芯片后,经过内部稳压器变成 3.3V,给芯片内部核心电路和 USB 收发器使用。但这颗芯片的 IO 电平不是固定 3.3V,而是由 VCCIO 引脚决定,这是很多人第一次画 FT232RL 容易忽略的地方。

我的做法是:把 VCCIO 直接接到 3V3OUT,这样 TXD/RXD 输出的就是 3.3V 的 TTL 电平,这符合绝大多数 MCU 的串口电平标准。如果你的目标设备是 5V 逻辑电平,可以把 VCCIO 单独接 5V,让串口输出 5V TTL。但要注意,很多 5V 单片机的 RX 引脚对 3.3V 高电平也能正常识别,反过来 FT232RL 的 RXD 在 VCCIO=3.3V 时输入耐压有限,所以不建议轻易把 VCCIO 拉到 5V。我做过一块板子就是直接接 5V VCCIO 给一颗老式 5V 单片机,结果单片机发数据时 FT232RL 的 RXD 一直报错,后来查资料才知道是 VCCIO 电平导致的输入阈值问题。

VREGIN 这个引脚需要特别上心。官方数据手册的建议是在 VCC 和 VREGIN 之间接一个 470nH 电感或者磁珠,VREGIN 对地再放一个 470nF 到 4.7uF 的电容。很多成品模块为了省成本直接把 VREGIN 和 VCC 短接,也能工作,但按官方推荐加磁珠和电容能明显降低 USB 高速信号耦合进来的噪声。我自己设计时,用的是 600Ω 磁珠加 1uF 电容,实测放在 USB 线较长或者电脑 USB 口供电质量比较差的环境下,识别比不装磁珠更稳定。

2.2 串口信号引脚:TXD、RXD,以及流控和 DTR/RTS

FT232RL 的 UART 侧核心引脚是 TXD 和 RXD。TXD 是芯片的输出,RXD 是芯片的输入。这里必须强调一下串口设备之间连接的交叉原则:A 设备的 TXD 接 B 设备的 RXD,A 设备的 RXD 接 B 设备的 TXD。自己做板子引排针的时候,丝印标 TXD,不代表你接对面设备时也同名直连。

除了一收一发,芯片还引出了 DTR#、RTS#、CTS#、DSR#、DCD#、RI# 这些 Modem 控制信号。硬件流控一般用到 RTS# 和 CTS#,自动下载电路经常用到 DTR# 和 RTS#。很多成品模块偷懒,只把 DTR# 和 RTS# 空着,但你自己设计板子时,强烈建议把这些信号全部引到排针上。排针不过多占面积,却能让板子适用范围大很多。比如做 ESP32 一键下载电路,就需要用 DTR# 和 RTS# 控制 EN 和 IO0。这部分后面我会专门讲。

2.3 时钟方案:默认可以不接外部晶振

看到 FT232RL 数据手册上的晶振引脚,很多人会以为必须外接一个 12MHz 晶振。实际上这颗芯片内部自带了一个 12MHz 振荡器,常见波特率 9600 到 921600 都能正常工作,大量成品模块就是这么做的,板上根本没有晶振。官方资料里明确支持使用内部振荡器,只是需要把一个 RCAL 引脚通过 200kΩ、1% 精度的电阻接地,用来校准内部时钟频率。

我这次设计时仍然在 PCB 上预留了一个 12MHz 晶振和两个 22pF 负载电容的焊盘,但默认不贴。这样做的原因有两个:一是万一某次应用对波特率误差非常敏感,我可以直接补上晶振并调整配置;二是留焊盘的成本几乎为零。如果你不想留,也完全没问题,用内部振荡器就能满足绝大多数使用场景。顺便说一句,RCAL 这个 200kΩ 电阻别随手拿一个 5% 精度的碳膜电阻,时钟校准精度会受影响,我实测过 5% 和 1% 电阻在 1.5Mbps 高波特率下的误码率,差别还挺明显的。

2.4 不要忽略的 TEST、RESET# 和 EEPROM

TEST 引脚在官方参考设计里是直接接地,我一开始也看到过一些原理图把这个脚悬空,结果板子也能工作。但既然数据手册这么画了,照做总归最稳妥,避免芯片进入测试模式。

RESET# 是低电平复位引脚,正常工作时我习惯通过一个 10kΩ 电阻上拉到 VCCIO。还有一点,FT232RL 芯片内部有 EEPROM,可以存储 VID、PID、序列号和产品描述字符串。默认情况下 Windows 驱动会识别为“USB Serial Converter”,如果你想让它显示成自己的设备名,比如“MyBoard USB-UART”,可以用 FTDI 官方的 FT_Prog 工具重新配置。这个也意味着芯片的信息可以被修改,网上有些假芯片会把 EEPROM 内容都仿照得有模有样,所以买芯片尽量走正规渠道,后面我再细说。

3. 原理图设计:从 USB 座到串口引脚的完整接线方法

3.1 信号流向:先想清楚再动手

画原理图之前,先把整块板子的信号流理一遍:

USB 电脑接口的 VBUS、D+、D-、GND 进入板子 → VBUS 经过滤波后给 FT232RL 供电 → 芯片内部把 USB 数据转换成 UART 信号 → TXD/RXD 以及 DTR/RTS 等信号通过排针引出 → 同时用两个 LED 指示收发活动。

理完信号流之后,再打开嘉立创 EDA 或者 KiCad,新建工程,在元件库搜索 FT232RL。嘉立创 EDA 的元件库里有封装好的 LQFP-32 符号,直接拖出来用就行,比手动画符号省了很多事。要注意的是一定要检查一下元件符号里电源引脚有没有隐藏的上电属性,如果引脚属性不对,连线容易连错或者出现未连接警告。

3.2 电源部分:每个电源引脚都要有去耦电容

原理图里最重要的一部分就是电源。我按下面这个方案做:

  • USB 座的 VBUS 进入后先放一个 10uF 钽电容或者陶瓷电容,做初级储能和滤波。USB 座 D+/D- 引脚到芯片之间我习惯串联 22Ω 电阻,这个电阻可以作为信号阻抗匹配,调试时也能用来断开测量。
  • 5V 网络连接到芯片所有 VCC 引脚,每个 VCC 引脚旁边放一个 100nF 的 0603 贴片电容去耦,电容要尽量靠近引脚放置,因为去耦电容的有效性靠的是“近”,不是靠“大”。
  • VREGIN 通过磁珠从 5V 取电,对地放 1uF 和 100nF 两个电容。
  • 3V3OUT 对地放 100nF 和 1uF 电容,VCCIO 直接连到 3V3OUT,并在 VCCIO 对地再放 1uF。
  • 串口输出排针上可以预留一个 3.3V 和 5V 引脚,方便给目标板供电。不过要注意,直接从 USB VBUS 取电给目标板时,最大电流要控制在 500mA 以内,如果是大电流设备,别指望这个板子供电。

3.3 USB 数据线:上拉电阻到底要不要接

FT232RL 内部已经在 USBDP 引脚上集成了一个 1.5kΩ 上拉电阻,所以外部不需要像其他方案一样自己加一个 1.5k 上拉。这个电阻的作用是告诉电脑“这是一个全速 USB 设备”,芯片内部已经处理好了。

我在 USB 数据线上加了两颗 22Ω 串联电阻。这不是必须的,因为 FT232RL 工作在 USB 全速 12Mbps,信号边沿并不会特别陡峭,但加上这 22Ω 之后,如果后续 PCB 走线比较长或者 USB 座离芯片比较远,信号质量会更有保障。而且万一信号线走线有问题,还可以用万能表量电阻两端来判断通断,调试方便。

USB Micro-B 座的 ID 引脚通常悬空不接,外壳引脚要接到地。有些设计会在外壳地和数字地之间串一个 1MΩ 电阻并联 0.1uF 电容,这是为了 ESD 和 EMI 考虑。我这次在紧凑型板子上直接让外壳接 GND,板子更简单,也没有出现异常。

3.4 串口排针和收发指示灯

串口排针我一般做成 2×5 或者 1×6,包括 TXD、RXD、DTR#、RTS#、CTS#、3V3、5V、GND。如果空间紧张,至少要引出 TXD、RXD、GND,我这次设计还是把常用控制信号都做出来了,因为做一键下载和流控实验都离不开这些引脚。

收发指示电路用 FT232RL 的 TXLED# 和 RXLED# 引脚。这两个引脚是低电平有效,芯片拉低表示有数据发送或者接收。接法是:LED 的正极接 VCCIO,负极通过一个 330Ω 到 470Ω 的限流电阻接到 TXLED# 或者 RXLED#。注意别把 LED 接反,不然平时可能常亮,或者发送数据时反而灭掉。我在初版板子上把 TXLED# 接错成直接到地,导致一插电灯就亮,后来看了数据手册才发现 LED 应该串在 VCC 和引脚之间。

3.5 BOM 表与选料逻辑

位号元件参数/型号数量备注
U1FT232RL-REELLQFP-321核心芯片
J1USB Micro-B 座贴片/插件1选带固定脚的更牢靠
J2排针 2.54mm1×6 或 2×51串口引出
C1、C2、C3100nF 0603X7R至少5个电源去耦
C4、C51uF 0603X7R23V3OUT/VCCIO
C610uF 0805X5R15V 输入端
FB1磁珠 600Ω06031VCC→VREGIN
R1、R222Ω 06031%2USB DP/DM 串联
R3200kΩ 06031%1RCAL 校准
R410kΩ 06035%1RESET# 上拉
D1、D2红色/绿色 LED06032TX/RX 指示
R5、R6330Ω 06035%2LED 限流
Y112MHz 晶振贴片可选默认不贴

选型时有一个容易被忽略的点:FT232RL 的封装是 LQFP-32,引脚间距 0.8mm,焊接难度比常见 SOP 封装大一些,但你只要耐心点,配合助焊剂完全能手工焊好。电源引脚比较多,芯片周围空间会比较挤,所以去耦电容全部用 0603 封装,手焊和贴片都方便。

3.6 画原理图时的连线顺序

我在原理图里按模块化思路来连线,不容易出错:

  • 先画电源网络:VBUS、5V、3V3、VREGIN、GND,把所有电源引脚连好,放去耦电容。
  • 再画 USB 侧:USB 座 D+/D- 通过 22Ω 电阻接到 USBDP/USBDM,外壳接地。
  • 再画 UART 侧:TXD/RXD/DTR#/RTS# 接到排针网络。
  • 最后画 LED 和 RCAL、TEST、RESET#。

每画完一个模块就顺手检查一遍,不要等整张图画完再一起检查,不然错误藏得很深。

4. PCB 布局布线:USB 差分对、去耦电容和机械结构一起考虑

4.1 USB 线走线要求:12Mbps 没有想象中那么可怕,但也不能乱走

很多第一次画 USB 板子的朋友会被“差分信号”这几个字吓到,以为要上四层板、做 90Ω 阻抗匹配。但实际上 FT232RL 是 USB 全速 12Mbps 设备,不是 480Mbps 的高速设备,对走线阻抗的要求并没有那么苛刻。普通双层板,顶层走信号,底层铺完整地平面,基本上就能满足要求。

我的布线习惯是这样的:

  • D+ 和 D- 走线尽量平行、等长,线宽 10mil,两线间距 6mil 到 8mil。
  • 两线总长度控制在 30mm 以内,越短越好。
  • D+/D- 下方不要有其他走线横穿,尤其是电源线和控制线。
  • 不要在 D+/D- 中间放置过孔,如果实在要换层,成对打过孔并保持等长。
  • 底层大面积铺 GND,给信号提供完整回流路径。

有朋友问过:全速 USB 需要做 90Ω 阻抗控制吗?我的观点是,板子很小、走线很短的时候,不需要。等以后你有机会画 USB 3.0 或者高速 USB 设备,再认真考虑叠层和阻抗控制。这个项目最重要是保证地平面完整,别把底层铺铜割得七零八落。

4.2 LQFP-32 扇出和去耦电容放置

LQFP-32 芯片本体大约 7mm×7mm,引脚分布在四边。扇出的时候,我习惯把 0603 电容摆在芯片背面或者紧靠电源引脚的板边。有人喜欢把去耦电容放在芯片同一面、引脚正下方,这样虽然近,但会给焊接和返修带来麻烦。放在背面通过过孔连接到电源引脚,电容更靠近芯片底面,效果反而更好。

具体摆法:在芯片电源引脚的背面,放 100nF 的 0603 电容,位置尽量对应引脚位置。比如芯片的 VCC 引脚在左侧,就在背面左侧放电容,然后打过孔到正面的电源引脚。电容到引脚的过孔距离尽量小于 2mm,太远了就失去去耦的意义了。

RCAL 电阻放在芯片引脚附近,走线短一些,但不要夹在 D+/D- 中间。磁珠放在输入电源进入芯片之前的位置,从 USB 座方向过来,先经过磁珠再进 VREGIN。这样电源路径是线性的,噪声不容易绕过去。

4.3 晶振焊盘怎么留

我虽然默认不贴晶振,但在 PCB 上留了 Y1 位置。晶振焊盘放在芯片时钟引脚附近,两个负载电容放在晶振两侧,并且直接连到晶振的接地焊盘,而不是拉一根很长的线到远处的地。这样做是为了防止晶振工作时对周围电路造成干扰。

如果你决定一开始就贴晶振,注意晶振下方不要铺铜,避免寄生电容改变振荡频率。晶振周围可以做一圈地过孔,稍微隔离一下。不贴晶振时,焊盘空着就好,不影响内部振荡器工作。

4.4 排针、USB 座和定位孔的位置规划

PCB 布局不只是电路问题,也是结构问题。我这次设计的板子尺寸是 40mm×25mm,USB 座放在板子短边,排针放在相对的另一条长边,这样“插上 USB 线之后,排针在另一侧”非常顺手。如果你要把板子放进外壳,记得提前量好外壳的内部净空间,别画完才发现装不进去。

USB Micro-B 座我推荐选带两个固定脚的款式,固定脚可以焊到 PCB 上增加机械强度。因为 USB 线经常拔插,省掉固定脚的话,用久了座子很容易从板上撕下来。固定脚接地焊盘要大,并且多打几个过孔到地平面,这样既能散热也增强附着强度。

排针可以插件或者贴片。插件排针更牢固,适合经常拔插的场景,但需要 PCB 上开孔,背面会有引脚露出来;贴片排针占用的背面积小,但对板厚和焊接温度更敏感。我自己习惯用插件排针,焊接方便,强度也足够。如果你要做成两个板子之间的桥接,还可以把排针设计成邮票孔或者金手指形式,那又是另一种玩法了。

4.5 DRC 检查与打样前清单

画完 PCB 之后,不要急着下单,先跑一遍 DRC。检查项至少包括:

  • 有没有未连接的引脚、孤立的铜皮。
  • 最小线宽是否满足你选择的板厂工艺。一般 6mil 线宽/6mil 间距以内都能做,但为了焊接和良率,我一般把信号线设成 10mil,电源线 15mil。
  • 晶振、USB 差分对是否离板边太近。离板边太近容易在分板时损伤走线。
  • 丝印有没有压到焊盘。丝印压焊盘会影响焊接,尤其是阻焊开窗区域。
  • 定位孔和安装孔附近有没有走线,防止螺丝锁紧时划破线路。

打样下单选 1.6mm 板厚、1oz 铜厚、普通 FR4 就够了,表面处理选喷锡最省钱,有 EMC 要求再考虑沉金。第一次打样可以顺手做 5 片,因为后面调试时手滑焊坏一两片很正常。

5. 焊接、驱动安装、回环测试与常见故障排查

5.1 LQFP-32 手工焊接实操经验

老实说,第一次焊 LQFP-32 的时候我也很虚,但真正动手后发现,只要用对方法,成功率很高。我的焊接顺序是:

  • 先用烙铁把 PCB 焊盘稍微清理干净,涂一点助焊剂在 IC 焊盘区域。
  • 把 FT232RL 对准方向放好,注意芯片一角的小圆点对应 PCB 焊盘的 1 脚标记。
  • 用烙铁固定对角两个引脚,确认芯片没有偏移,再固定另外两个角的引脚。
  • 然后开始拖锡:烙铁吃满锡,从引脚一侧均匀划过,让焊锡把所有引脚都覆盖住。这个过程会有桥连,没关系。
  • 最后涂上助焊剂,用干净的烙铁头沿着引脚方向把多余的锡带走,或者用吸锡带把桥连的锡吸掉。

一个关键技巧是:桥连不要怕,千万别用烙铁头去硬撬,容易把焊盘弄掉。正确的做法是加助焊剂,然后靠烙铁头的表面张力把锡从引脚之间带出来。我有一次不小心把相邻两个引脚焊在一起,后来补了一坨助焊剂,烙铁头在桥连处轻轻一拖,锡就分开了。

焊完 IC 之后再焊电阻电容,最后焊 USB 座和排针。焊接完成先别急着上电,用放大镜或者手机微距镜头检查一遍引脚有没有虚焊、桥连,再用万用表蜂鸣档测量 5V 和 GND 之间有没有短路。这个步骤非常关键,短路状态上电可能直接烧芯片和电脑 USB 口。

5.2 第一次插电:驱动安装的常见情况

板子焊好、检查完短路之后,就可以插电脑了。注意,如果你之前做了回环测试用的杜邦线,插电前先把 TXD 和 RXD 的短接断开,避免上电瞬间出现意外电平冲突。

插上 USB 线后看电脑提示。Windows 10 和 Windows 11 一般会自动联网搜索驱动,然后设备管理器里出现“USB Serial Port (COMx)”。如果出现黄色感叹号,说明驱动没装上。这时候右键该设备,选择“更新驱动程序”,然后选择“自动搜索更新的驱动程序”,让系统再试一次。如果还是不行,就去 FTDI 官网下载官方驱动包手动安装。装完驱动后设备管理器里的 COM 号就是你板子的串口号。

以前老一代人装驱动喜欢用驱动精灵之类的东西,我建议直接用系统自带的更新功能,干净安全。Linux 下不需要额外装驱动,内核自带 ftdi_sio 模块,插上就是 /dev/ttyUSB0。macOS 稍麻烦一点,新版系统需要允许系统扩展加载 FTDI 驱动,按照提示去隐私设置里允许就行。

5.3 回环测试:验证收发链路最基本的办法

驱动装好之后,验证板子最直接的办法是回环测试。

用一根杜邦线把排针上的 TXD 和 RXD 短接,打开任意串口调试助手,选择对应 COM 口,波特率先设 9600,打开串口,发送一串字符比如“hello”。如果程序能原样收到自己发出去的数据,说明 USB 到芯片、芯片到串口、串口到芯片、芯片再回 USB 的整个链路是通的。回环测试过不了,才需要往下排查。

更严谨一点,可以顺便测试几个常见波特率,比如 9600、115200、921600,看看有没有乱码。如果需要自动化测试,我经常会用一段 Python 脚本配合 pyserial 来做回环校验:

import serial ser = serial.Serial('COM3', 115200, timeout=2) test_data = b'ft232rl-loopback-test' ser.write(test_data) recv = ser.read(len(test_data)) print('PASS' if recv == test_data else 'FAIL') ser.close()

这个脚本把数据发出去,再读回来,对比是否一致,比用手点串口助手更直观。

5.4 最常见的通信故障排查思路

这块板子出问题,绝大多数原因不在芯片,而在连接和配置。我列了一个排查顺序,按这个顺序走,基本能定位问题:

现象可能原因排查动作
插上电脑完全没反应5V/GND 短路、芯片虚焊、USB 座虚焊量 5V 和 GND,用放大镜检查 USB 座引脚
设备管理器感叹号驱动没装上、芯片假货手动更新驱动,或用 FT_Prog 读芯片 ID
有 COM 口但打开失败串口被其他程序占用关掉其他串口工具,重新打开
回环测试无返回TXD/RXD 没短接、LED 电路影响检查短接线,断开 LED 再试
与外部设备通信乱码波特率不匹配、RXD/TXD 接反核对波特率,交叉连接 TX/RX
通信偶尔丢包电源滤波不足、地线不稳检查 VREGIN 磁珠电容,外部设备共地

有一个特别容易踩的坑是:跟外部设备连接时只接了 TXD、RXD,没有接 GND。串口通信是共地通信,两端地电位不一致就会偶尔乱码或者通信不稳定。我第一次做外部联调时,偷懒只接两根信号线,结果数据总是时好时坏,后来接上 GND 就再也没问题。

还有一个我印象很深的坑:某次用了一块从某平台低价买的“FT232RL”,插上电脑后驱动怎么都装不上,设备管理器里显示未知设备。后来用 FT_Prog 一读,EEPROM 内容和正品完全对不上,才知道买到了翻新打磨片。FT232RL 因为太经典,是假货重灾区。我的建议是尽量选正规授权经销商或者信誉好的大店,拿到手先做一次回环测试和 ID 读取,别等焊到项目里才发现问题。

5.5 和 MCU 联调时的一键下载电路

板子做完之后,如果你拿它去给 STM32 或者 ESP32 下载程序,会发现一个方便的功能点:DTR# 和 RTS# 可以组合出“一键下载”逻辑。很多 MCU 需要在上电时进入 Bootloader,过去常用办法是按一下复位键、再按一下 BOOT 键,很麻烦。用 FT232RL 的 DTR# 和 RTS#,配合两个三极管组成的逻辑电路,可以在串口工具点下载时自动控制 EN 和 BOOT 引脚。

这个电路本质上就是一个反相逻辑,让两个 Modem 控制信号配合出正确的时序。不同芯片的下载时序要求不一样,需要根据目标 MCU 的数据手册调整。我这次设计的板子把 DTR# 和 RTS# 都引出来了,后面扩展一键下载电路时直接跳到面包板上试验,不用再换板子。

6. 做完之后还能怎么扩展:RS485、一键下载与电平适配

6.1 加一个 RS485 收发器,变成 USB 转 485 工具

FT232RL 有一个很实用的引脚叫 TXDEN,可以通过 CBUS 配置成“发送使能”信号。这个信号专门用来控制 RS485 收发器的 DE/RE 引脚。普通 UART 在发送数据和接收数据时是分时复用的,RS485 收发器需要在发送时打开驱动器、接收时关闭驱动器,TXDEN 正是为这个场景设计的。

如果你想扩展,可以在现有板上加一颗 MAX485 或者 SP3485,把 TXD 接到 DI,把 RXD 接到 RO,把 CBUS 配置出来的 TXDEN 接到 DE/RE 上。注意 A/B 线之间要接 120Ω 终端电阻,具体要不要接取决于总线上是否已经有终端匹配。做 USB 转 485 工具时,建议 A/B 端还加上拉和下拉偏置电阻,防止总线空闲时电平不确定。

6.2 再把 RS232 电平也做出来

有些工控设备用的是 RS232 电平,也就是正负电压逻辑,TTL 电平直接连上去是没法通信的。这时候可以加一颗 MAX232 芯片,把 FT232RL 的 TXD/RXD 转成 RS232 电平。MAX232 外围只需要四个 1uF 电容,不复杂。如果你经常接触不同协议的老设备,做一块同时支持 TTL、RS232、RS485 的万能串口工具板,会比单一功能板实用很多。

这个扩展思路反过来也说明一件事:FT232RL 本身只是一个 UART 桥,它不做电平转换,电平转换完全靠外围电路决定。所以设计 USB 转串口板的本质,其实是设计一个可配置的 UART 接口板。

6.3 芯片采购和成本控制的最后提醒

最后说说成本和采购。自己设计打样,成本大概这样算:

  • 打样 5 片 PCB,在常规打样平台有优惠的情况下,估计 20 到 40 元。
  • FT232RL 芯片,根据渠道和数量不同,每片 10 到 20 元。
  • 阻容、LED、USB 座、排针这些加起来不到 5 元。

也就是说,做 5 块板子的总成本在 50 到 80 元之间,摊到每块大约十几元,跟买一块成品模块差不多。但区别是,这 5 块板子是完全按你的需求设计的,画板过程中学到的东西,比省下的那几块钱值钱得多。

芯片采购请务必走正规渠道。FT232RL 的假货问题真的很严重,我甚至见过有人在网上买到用 CH340 打磨后丝印成 FT232RL 的片子,插上去驱动直接识别成 CH340。正规渠道虽然有品牌溢价,但至少能保证芯片是原装正品,遇到问题也好溯源。如果你在项目里对稳定性要求高,这个钱不值得省。

写在最后

FT232RL 这颗芯片已经诞生很多年了,可直到今天,它依然是学习 USB 转串口原理和画板基本功的最好教材之一。十几颗元件、一块双层板、一把烙铁,就能把电脑和单片机之间的桥梁完整搭建出来。做完这块板子之后,我自己最大的感受是:以后再拿到任何 USB 串口模块,不会再觉得它是个黑盒,反而会下意识去看它用的什么方案、滤波怎么做的、为什么这样设计。这种“一眼能看懂别人设计”的能力,或许才是自己动手画板最宝贵的收获。

如果你也打算复制这个项目,我建议第一版不需要追求功能大而全,先把基本 USB 转 TTL 跑通,回环测试通过之后再慢慢加流控、485、一键下载这些功能。画板子这种技能,多画一块、多踩一个坑,长进是肉眼可见的。祝你也能做出一块自己满意的 USB 转串口电路板。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/7 9:00:55

2021软考网络工程师课件复习指南:从拆包到错题回炉的完整路径

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/7 9:00:51

三极管振荡电路实战:双管多谐振荡器搭建与调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/7 9:00:23

FARO优化器:将神经网络训练重构为收益-风险决策过程

1. 这不是又一个“调参技巧”,而是一套把神经网络训练重新定义为投资决策的建模框架你有没有试过这样想:训练一个神经网络,本质上和基金经理管理一只股票基金,逻辑上其实高度相似?不是在堆算力、不是在调学习率、更不是…

作者头像 李华
网站建设 2026/10/7 8:59:38

基于水蚀沉积的高度场地貌平滑:冲积扇与盆地泥沙堆积算法实现

基于水蚀沉积的高度场地貌平滑:冲积扇与盆地泥沙堆积算法实现在程序化地形生成的实践中,很多开发者往往把全部注意力放在了“侵蚀(Erosion)”的破坏力上。大家喜欢看着算法如何在平滑的山坡上冲刷出一道道陡峭的深沟,以…

作者头像 李华
网站建设 2026/10/7 8:59:36

硬件原理图分析实战:从电源树到信号完整性的系统读图方法论

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/7 8:59:00

运放信号平移与电平搬移:双极性信号进单电源ADC设计

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华