3. 硬件连接与工具:USB转串口模块、CH340/FT232驱动安装、目标板连接、电平匹配
好,咱们进入第三章。前面两章把串口协议和烧录原理讲清楚了,现在该动手了。这一章我带你搞定硬件连接——说白了,就是怎么把电脑和目标板用一根线牵起来。
很多新手烧录失败,十有八九是硬件没接对。不是驱动没装好,就是电平不匹配。嗯,咱们一个一个来拆解。
3.1 USB转串口模块:选对工具
现在的电脑早没串口了。所以我们需要一个USB转串口模块,把电脑的USB口模拟成一个串口。市面上最常见的方案就两种:CH340和FT232。
| 芯片方案 | 价格区间 | 稳定性 | 驱动兼容性 | 我的建议 |
|---|---|---|---|---|
| CH340 | 3-10元 | 够用 | Win/Mac/Linux都支持 | 入门首选,性价比高 |
| FT232 | 20-50元 | 非常稳定 | 原生驱动,兼容性最好 | 工业级或调试疑难杂症时用 |
| CP2102 | 5-15元 | 良好 | 需要安装驱动 | 备选方案,也不错 |
我个人习惯,手边常备两种模块。CH340用于日常开发,便宜,坏了不心疼。FT232留着对付那些“死活连不上”的怪问题。有一次我在项目现场,客户的板子怎么都烧不进程序,换了三根线都不行。最后换上FT232模块,一次成功。后来排查发现是CH340模块的电源纹波太大,干扰了烧录时序。
3.2 驱动安装:CH340与FT232
模块插上电脑,没反应?别急,先装驱动。
CH340驱动安装
CH340是南京沁恒的产品,驱动在官网就能下。我建议直接去 www.wch.cn 下载最新版。安装步骤很简单:
- 下载对应系统的驱动包(Windows选EXE,Mac选DMG)
- 双击安装,一路下一步
- 插上模块,打开设备管理器,看“端口(COM和LPT)”下面有没有出现“USB-SERIAL CH340 (COMx)”
- 如果出现黄色感叹号,右键更新驱动,手动选择驱动文件夹
FT232驱动安装
FT232是FTDI公司的产品,驱动更成熟。Windows 10/11通常能自动识别并安装驱动。如果没自动装好,去 ftdichip.com 下载“FTDI VCP Driver”。
装好后,设备管理器里会出现“USB Serial Port (COMx)”。注意,FT232的驱动版本很多,我建议用2.12.28或更新的版本。老版本在某些Win10系统上会有兼容问题。
3.3 目标板连接:四根线搞定
驱动装好了,模块也认了,接下来就是连线。别小看这一步,我见过太多人把线接反了。
标准连接方式就四根线:
- GND → GND:地线必须连,这是参考电位
- TXD → RXD:模块的发送接目标板的接收
- RXD → TXD:模块的接收接目标板的发送
- VCC → VCC:供电(注意电压!)
这里有个关键点:交叉连接。模块的TXD要接目标板的RXD,模块的RXD接目标板的TXD。很多人第一次接的时候,习惯性地TXD对TXD、RXD对RXD,结果数据发出去对方收不到——因为两边都在等对方说话。
3.4 电平匹配:最容易忽略的坑
好,这是本章最重要的部分。电平匹配,说白了就是电压要对上。
串口通信的电平标准主要有两种:
| 电平标准 | 逻辑1(高电平) | 逻辑0(低电平) | 常见设备 |
|---|---|---|---|
| RS-232 | -3V ~ -15V | +3V ~ +15V | 老式电脑串口、PLC |
| TTL/CMOS | 2.0V ~ 5.5V | 0V ~ 0.8V | 单片机、开发板、传感器 |
咱们用的USB转串口模块,输出的是TTL电平(3.3V或5V)。目标板如果是3.3V系统(比如STM32、ESP32),模块输出5V信号直接怼上去,可能会烧坏目标板的IO口。
为什么会这样?因为3.3V的IO口耐压通常只有3.6V,5V信号已经超出安全范围了。
解决办法:
- 方法一: 买支持跳线切换电压的模块。好的CH340/FT232模块上有3.3V/5V跳线帽,拨到对应档位就行。
- 方法二: 用电阻分压。在TXD和RXD线上各串一个1kΩ电阻,再并一个2kΩ电阻到地,把5V降到3.3V。
- 方法三: 用电平转换模块。淘宝上几块钱一个,四路或八路,专门干这个的。
3.5 知识体系总览
下面这张图把本章的核心逻辑串起来了。从电脑到目标板,每一层都有坑,每一层都有对应的工具和方法。
3.6 实战检查清单
每次做串口烧录前,我都会过一遍这个清单。你也试试:
- 模块选对了没? CH340还是FT232?电压跳线拨对了没?
- 驱动装好了没? 设备管理器里能看到COM口吗?自环测试过了吗?
- 线接对了没? TXD接RXD,RXD接TXD,GND共地了吗?
- 电平匹配了没? 目标板是3.3V还是5V?模块输出是多少?
- 供电正常吗? 目标板是自己供电还是模块供电?电流够不够?