简介:这份资源是CH340G USB转TTL模块的完整硬件设计包,面向嵌入式开发者、电子爱好者及需要为Cortex-M3等MCU搭建调试下载链路的工程师。它解决的是从USB协议到TTL串口电平转换的电路实现问题,可直接用于打板制作实物。压缩包共7个文件,约11.23MB,包含Altium Designer原理图与PCB源文件(SchDoc、PcbDoc)及其预览文件,另附历史版本压缩包和一份htm说明,方便对照查看元件连接关系与板级布局。目前已有6661人学习下载,热度较高。读者可从中获得经过验证的CH340G外围电路设计,包括电源、USB差分线、TTL串口接线及ESD保护等关键环节的参考布局,理解最高115200波特率下的信号完整性处理思路,并直接导出Gerber文件进行PCB打样,省去从零绘制原理图的时间,适合作为串口调试工具或MCU下载器的硬件基础。
1. 从一块打板就翻车的串口板说起:CH340G USB转TTL方案到底该怎么落地
画一块 USB 转 TTL 板子,看起来是硬件入门里最没门槛的事,但真正打过板的人都清楚,翻车率一点不低。我见过太多人第一版回来,插上电脑要么设备管理器里蹦出个带感叹号的未知设备,要么能识别但一发数据就丢包,还有的干脆连供电都不稳,芯片摸上去发烫。问题往往不在 CH340G 本身,而在这颗芯片的外围电路——晶振、退耦、USB 端匹配电阻、V3 引脚接法,任何一处想当然,板子就得重来。这份 CH340G USB 转 TTL 原理图方案,就是给需要一块能直接打板、焊完就能用的串口转换板的人准备的:不管你是做单片机课设要接调试口,还是给某个嵌入式项目配下载线,照着这套原理图走,能省掉至少一轮打板试错的钱和时间。
2. 需求拆解与器件选型:为什么是 CH340G 而不是别的方案
2.1 先明确这块板子要解决什么问题
USB 转 TTL 的本质,是把电脑的 USB 差分信号翻译成单片机能读的 UART 电平。这个需求听起来简单,但落到具体场景,要求差别很大。做课设的同学,可能只需要一块能稳定收发、波特率到 115200 就够的板子;做工业调试的,会关心电平兼容性、ESD 防护、能不能在 3.3V 和 5V 系统之间切换。CH340G 这颗芯片之所以在国产方案里被大量采用,核心原因是它把 USB 收发器、晶振电路、UART 控制器都集成进去了,外围只需要加几个电容电阻就能工作,成本压得很低,而且官方驱动覆盖 Windows、Linux、macOS,免去了自己写固件的麻烦。
选型阶段我一般会先列一张需求对照表,把「必须满足」和「最好满足」分开。必须满足的是:支持 5V 和 3.3V 两种供电输出、波特率覆盖 300 到 2M、有收发指示灯、板子尺寸能塞进常见外壳。最好满足的是:带 ESD 保护、预留 RTS/CTS 硬件流控引脚、VCC 和 V3 可跳线选择。这张表定下来,后面画原理图就不会东一榔头西一棒子。
2.2 CH340G 关键引脚的功能与接法
CH340G 是 SOP-16 封装,引脚不多,但每一个都有讲究。下面这张表是我整理的核心引脚功能对照,画图时对着看能少踩很多坑。
| 引脚 | 名称 | 功能说明 | 典型接法 |
|---|---|---|---|
| 1 | GND | 地 | 接系统地 |
| 2 | TXD | 串口发送 | 接单片机 RXD |
| 3 | RXD | 串口接收 | 接单片机 TXD |
| 4 | V3 | 3.3V 参考 | 接 0.1uF 到地,5V 供电时此脚输出 3.3V |
| 5 | UD+ | USB D+ | 经 22Ω 电阻接 USB 座 D+ |
| 6 | UD- | USB D- | 经 22Ω 电阻接 USB 座 D- |
| 7 | XI | 晶振输入 | 接 12MHz 晶振一端 |
| 8 | XO | 晶振输出 | 接 12MHz 晶振另一端 |
| 9 | CTS | 清除发送 | 不用时悬空或接 GND |
| 10 | DSR | 数据装置就绪 | 不用时悬空 |
| 11 | RI | 振铃指示 | 不用时悬空 |
| 12 | DCD | 载波检测 | 不用时悬空 |
| 13 | DTR | 数据终端就绪 | 可接复位电路 |
| 14 | RTS | 请求发送 | 可接下载控制 |
| 15 | R232 | 辅助 | 一般悬空 |
| 16 | VCC | 电源 | 接 5V,同时并 0.1uF 退耦 |
这张表里最容易出问题的是 V3 引脚。很多人看到 V3 以为是输入,直接接 3.3V 电源,结果芯片不工作。实际上 V3 是内部 3.3V 稳压器的输出,5V 供电时它自己会输出 3.3V,只需要外接一个 0.1uF 电容到地做退耦就行。如果你要用 3.3V 给外部单片机供电,可以从这个脚取电,但电流有限,带不动大负载。
2.3 晶振与 USB 端电路的参数选择
CH340G 需要一颗 12MHz 晶振,配合两个 22pF 的负载电容。这里有个血泪经验:晶振的负载电容不是随便选的,要跟晶振规格书里的负载电容匹配。常见 12MHz 晶振标称负载电容是 20pF,那你就用两个 22pF 左右,实际起振后频率偏差在可接受范围内。如果电容选太大,起振慢甚至不起振;选太小,频率偏高,USB 枚举可能失败。
USB 端的 D+ 和 D- 线上各串一个 22Ω 电阻,这是 USB 规范里要求的阻抗匹配电阻,不能省。有人图省事直接短接,结果就是电脑识别时好时坏,换个 USB 口就翻车。另外 D+ 线上通常还会加一个 1.5kΩ 上拉电阻到 3.3V,用来告诉主机这是一个全速设备。CH340G 内部已经集成了这个上拉,所以外部不需要再加,但如果你用的是某些兼容芯片,就要确认一下。
# 打板前的原理图自检清单,我一般会跑一遍 # 1. 检查 V3 是否只接了退耦电容,没有外接电源 # 2. 检查晶振两脚是否各接了一个负载电容到地 # 3. 检查 USB D+/D- 是否各串了 22Ω 电阻 # 4. 检查 VCC 是否有 0.1uF 退耦电容靠近芯片引脚 # 5. 检查 TXD/RXD 是否与单片机交叉连接上面这几条是我在投板前必查的,尤其是第 5 条,TXD 接 TXD、RXD 接 RXD 这种错误,画图时脑子一抽就画反了,板子回来只能飞线。
3. 总体原理图设计:从 USB 座到排针的完整信号链
3.1 电源部分:5V 输入与 3.3V 输出的处理
整块板子的电源来自 USB 的 VBUS,标准是 5V。CH340G 的 VCC 接 5V,同时在靠近引脚的位置放一个 0.1uF 和一个 10uF 电容并联退耦。0.1uF 滤高频,10uF 滤低频,两个搭配是常规做法。V3 引脚输出 3.3V,除了给芯片内部用,还可以引到排针上,给外部 3.3V 单片机供电。但要注意,这个 3.3V 的输出电流能力有限,通常只有几十毫安,带个传感器还行,带整块开发板就吃力了。
如果你想让板子支持 3.3V 和 5V 两种电平输出,可以在 VCC 和 V3 之间加一个跳线帽或者拨动开关。跳线接 VCC 时,排针上的 VCC 输出 5V;接 V3 时输出 3.3V。这个设计在调试不同电压的单片机时特别实用,不用换板子。
3.2 信号部分:TXD/RXD 与流控引脚的引出
CH340G 的 TXD 和 RXD 直接引到排针,同时旁边并一个 LED 做收发指示。TXD 上接一个 LED 到 VCC,RXD 上接一个 LED 到 VCC,这样有数据时 LED 会闪烁。限流电阻用 1kΩ 到 2kΩ 都行,太小了 LED 太亮费电,太大了亮度不够看不清。
流控引脚 RTS 和 DTR 我一般也会引出来,虽然很多场景用不到,但做 STM32 或 ESP32 下载电路时,这两个脚配合三极管能实现自动复位和进入下载模式。原理图里预留出来,用不用是后面的事,不预留的话想用就得飞线。
# 排针定义建议(从上到下) # 1. VCC - 5V 或 3.3V 可选 # 2. GND - 地 # 3. TXD - 接单片机 RXD # 4. RXD - 接单片机 TXD # 5. RTS - 流控/下载控制 # 6. DTR - 流控/下载控制 # 7. 3V3 - 3.3V 输出这个排针顺序是我习惯用的,和市面上大多数模块兼容,接线时不容易搞混。
3.3 保护与滤波:ESD 防护和退耦电容的布局
USB 接口是热插拔的,人体静电很容易从 D+ 和 D- 打进芯片。虽然 CH340G 内部有一定的 ESD 能力,但加一颗 USBLC6-2SC6 这类专用 ESD 保护芯片会更稳妥。这颗芯片放在 USB 座和 22Ω 电阻之间,走线要短,地线要粗。
退耦电容的布局比选值更重要。0.1uF 电容必须紧贴 CH340G 的 VCC 和 GND 引脚,走线越短越好。我见过有人把电容放在板子另一头,结果芯片工作不稳定,查了半天以为是晶振问题,其实是退耦没做好。晶振的两个负载电容也要靠近晶振和芯片的 XI/XO 引脚,走线尽量对称。
提示:画 PCB 时,晶振下方不要走任何信号线,最好铺地隔离。晶振是敏感器件,旁边有高速信号线容易引入干扰,导致 USB 枚举失败或数据出错。
4. 打板与焊接落地:从 Gerber 文件到实物验证
4.1 Gerber 导出与打板参数确认
原理图画完、PCB 布好之后,导出 Gerber 文件是打板前的最后一步。我一般会导出两层板的标准 Gerber,包含顶层铜、底层铜、顶层阻焊、底层阻焊、顶层丝印、底层丝印、钻孔文件和板框。导出后用 Gerber 查看器过一遍,确认没有丢层、没有重叠的丝印、钻孔位置对得上。
打板参数方面,板厚选 1.6mm 是通用选择,铜厚 1oz 够用,表面处理选 HASL 有铅或无锡都行,喷锡的焊接性好,适合手工焊。阻焊颜色看个人喜好,绿色最便宜,黑色和蓝色略贵一点但好看。尺寸方面,这块板子我一般控制在 30mm x 20mm 以内,刚好能塞进常见的 USB 外壳。
# 打板前 Gerber 自检命令(用 gerbv 查看) gerbv --export=png --output=check.png top_copper.gbr bottom_copper.gbr \ top_silk.gbr bottom_silk.gbr drill.drl outline.gbr # 打开 check.png 确认各层对齐、无缺失4.2 焊接顺序与关键器件的注意事项
板子回来之后,焊接顺序有讲究。先焊矮的、难焊的,再焊高的、好焊的。CH340G 是 SOP-16,引脚间距 1.27mm,手工焊不难,但要注意别连锡。我一般先用烙铁固定对角两个脚,然后拖焊,最后用吸锡带清理多余的锡。
晶振是圆柱形的,焊的时候注意别烫太久,内部晶体怕高温。USB 座如果是贴片的,四个固定脚要先焊牢,再焊信号脚。LED 和电阻电容这些,注意极性,LED 长脚是正极,电解电容长脚是正极,虽然这块板子上我一般不用电解电容。
焊完之后,先别急着插电脑。用万用表量一下 VCC 和 GND 之间的电阻,确认没有短路。再量一下 V3 对地电阻,正常应该是几百欧到几千欧,如果接近零,说明芯片可能焊反了或者内部击穿。
4.3 上电测试与常见故障定位
插上电脑后,设备管理器里应该出现一个 USB-SERIAL CH340 的设备。如果出现未知设备,先检查晶振有没有起振,用示波器看 XI 脚有没有 12MHz 正弦波。如果没有起振,检查负载电容和晶振焊接。如果设备识别了但发数据丢包,检查波特率设置和 TXD/RXD 是否接反。
# Linux 下查看 CH340 是否识别 lsusb | grep -i ch340 # 查看串口设备节点 ls /dev/ttyUSB* # 用 minicom 或 screen 测试收发 screen /dev/ttyUSB0 115200 # 按 Ctrl+A 再按 K 退出Windows 下如果驱动装不上,去设备管理器里手动指定驱动目录,选 CH341SER 那个文件夹。有时候系统自动装的驱动版本太老,会出各种玄学问题,手动更新到最新版能解决大部分识别异常。
5. 避坑与常见问题排查:那些年打板踩过的雷
5.1 设备识别不稳定,时好时坏
现象:插上电脑能识别,但动一下 USB 线就掉线,或者换个 USB 口就不认。
原因:九成是 USB D+ 和 D- 的 22Ω 匹配电阻没接,或者接了但阻值不对。另一个可能是 USB 座的质量太差,弹片接触不良。
解决:确认 D+ 和 D- 上各有一个 22Ω 电阻,用万用表量一下阻值。USB 座选质量好一点的,别贪便宜买那种几毛钱的。如果还不行,在 D+ 和 D- 上各并一个 15pF 的电容到地,改善信号完整性。
5.2 芯片发烫,电流异常
现象:插上 USB 后 CH340G 很快发烫,电脑提示 USB 端口过流。
原因:V3 引脚外接了 3.3V 电源,导致内部稳压器冲突。或者 VCC 和 GND 焊接短路。
解决:断开 V3 上的外部电源,只保留退耦电容。用万用表量 VCC 和 GND 之间的电阻,正常应该在几百欧以上。如果短路,重新焊接芯片,检查有没有连锡。
5.3 能识别但发不出数据
现象:设备管理器里正常,串口助手打开也正常,但发数据单片机没反应。
原因:TXD 和 RXD 接反了,或者波特率不匹配。还有一种可能是单片机那边的电平不兼容,比如 3.3V 单片机接了 5V 的 TTL 电平。
解决:交换 TXD 和 RXD 的接线。确认两边波特率一致。如果是电平问题,把板子上的 VCC 输出切换到 3.3V,或者加电平转换电路。
5.4 晶振不起振
现象:设备完全识别不到,XI 脚没有波形。
原因:负载电容选错,或者晶振焊接时烫坏了。也有可能是晶振本身质量有问题。
解决:换两个 22pF 电容试试,如果还不行,换一颗晶振。焊接时用低温焊锡,烙铁停留时间不要超过 3 秒。
5.5 驱动装不上,设备带感叹号
现象:Windows 下设备管理器显示未知设备,手动装驱动也失败。
原因:系统里已经有旧版 CH340 驱动,版本冲突。或者 USB 线只有充电功能,没有数据线。
解决:先在设备管理器里卸载旧驱动,勾选删除驱动软件,然后重新插拔,再装新版驱动。换一根确认能传数据的 USB 线。
6. 验收与答辩:怎么证明这块板子真的能用
验收这块板子,不能只看「电脑认了」就完事。我一般会走一套完整的测试流程,从电气参数到实际通信,每一步都有明确的通过标准。这套流程不管是交课设还是给项目组交付,都能拿得出手。
第一步是静态测试。不插电脑,用万用表量 VCC 和 GND 之间的电阻,大于 500Ω 算通过。量 V3 对地电阻,在 1kΩ 到 10kΩ 之间算正常。量 TXD 和 RXD 对地电阻,应该都是高阻。这一步能筛掉大部分焊接短路的问题。
第二步是上电测试。插上电脑,不接任何外部设备,量 VCC 排针输出,5V 档应该在 4.8V 到 5.2V 之间。如果跳线到 3.3V 档,量 3V3 排针,应该在 3.2V 到 3.4V 之间。同时摸一下 CH340G 的温度,微温正常,烫手就不对。
第三步是回环测试。用一根杜邦线把 TXD 和 RXD 短接,打开串口助手,发送任意数据,看能不能原样收回来。这个测试能验证芯片的收发通道是否正常。波特率从 9600 到 115200 各测一遍,丢包率应该是零。
第四步是实际通信测试。接一块单片机,比如 STM32 或 ESP32,烧一个串口打印的程序,看电脑能不能收到数据。再发数据给单片机,看单片机能不能正确响应。这一步通过,说明整块板子的信号链没问题。
| 测试项 | 测试方法 | 通过标准 |
|---|---|---|
| 静态电阻 | 万用表量 VCC-GND | >500Ω |
| 静态电阻 | 万用表量 V3-GND | 1kΩ~10kΩ |
| 输出电压 | 万用表量 VCC 排针 | 4.8V~5.2V |
| 输出电压 | 万用表量 3V3 排针 | 3.2V~3.4V |
| 回环测试 | TXD-RXD 短接,串口助手收发 | 零丢包 |
| 实际通信 | 接单片机收发数据 | 数据正确 |
答辩的时候,评委老师一般会问三个问题:为什么选 CH340G 不选 CP2102?晶振为什么用 12MHz?V3 引脚能不能接 3.3V 电源?第一个问题从成本和驱动兼容性答,第二个从 USB 全速设备的时钟要求答,第三个从内部稳压器的工作原理答。把这三个问题准备清楚,基本就稳了。
注意:答辩时如果被问到 ESD 防护,不要只说「加了保护芯片」,要能说出保护芯片的型号、放在哪个位置、为什么放在那个位置。细节能体现你是不是真的动手做过。
从那以后我每次打板前,都会把原理图打印出来,拿红笔把电源、晶振、USB 这三块圈出来,逐个引脚对一遍。这个习惯帮我省了至少三次重打板的钱。希望帮到你。
本文还有配套的精品资源,点击获取