☰
USB2.0 Type-C 16Pin母座与STM32F103C8T6最小系统板AD设计全流程
2026/10/29 6:37:36 网站建设 项目流程

简介:这是一份面向嵌入式初学者与硬件工程师的STM32F103C8T6最小系统板设计资料,采用USB2.0 Type-C 16Pin母座供电与通信,基于Altium Designer完成2层板硬件设计,板卡尺寸仅20x5mm,适合作为产品开发前的参考模板或教学练手项目。压缩包共240个文件、约11.21MB,包含完整的原理图与PCB工程文件(schdoc、pcbdoc、prjpcb、schlib),以及配套的STM32 HAL库源码(c、h文件)、Keil工程(uvprojx、uvoptx)、编译输出(hex、axf、map)和STM32CubeMX配置文件(ioc),覆盖从硬件设计到固件编译的完整链路。主要器件涵盖C8T6主控、20Pin排针、4P平躺下载口、贴片LED与电阻、2路编码开关、按键、XC6206线性稳压器及2脚/4脚无源晶振,方便读者直接复用或裁剪。目前已有1236人学习下载,可作为USB Type-C接口单片机最小系统的硬件设计与固件工程参考。

1. 从一根 Type-C 线说起:这块 16Pin 母座最小系统板到底解决什么问题

很多人第一次画 STM32F103C8T6 最小系统板,卡住的地方不是单片机本身,而是供电和下载口。用 Micro-USB 座子吧,正反插要试两次;用排针引出 SWD 吧,手里只有一根 Type-C 数据线。于是「USB2.0 Type-C 母座 16Pin + STM32F103C8T6」这个组合就成了很多自用板、教学板、小批量工控板的首选:一根 C 口线同时干三件事——5V 供电、USB 转串口下载、预留 USB 设备功能。

这块板子的定位很明确:它不是开发板,没有屏幕没有按键,就是把 STM32F103C8T6 跑起来所需的最小电路(电源、晶振、复位、BOOT、SWD、串口)全部画齐,再挂一个 16Pin 的 Type-C 母座做入口。适合谁?适合已经会点灯、想自己画一块能反复用的核心板的人;也适合带学生做 AD 设计流程练习的人。难点集中在两处:Type-C 16Pin 的 CC 引脚和电源处理,以及 STM32 的 VBAT、BOOT、NRST 这几个容易被忽略的脚。下面按 AD 设计流程,从原理图到 PCB 一步步拆。

2. 原理图先立住:Type-C 16Pin 与 STM32F103C8T6 的电路怎么接

2.1 16Pin Type-C 母座的引脚定义与 CC 处理

先明确一件事:16Pin 的 Type-C 母座是「USB2.0 专用」的简化座子,它没有 USB3.0 的高速差分对,只有 VBUS、GND、D+、D-、CC1、CC2 这几组关键信号,剩下的脚位是外壳地和冗余。常见 16Pin 座子的引脚分布是上下两排各 8 个,A 面 B 面镜像对称,所以正反插都能通。

关键在 CC 引脚。如果这块板子只做「设备端」(也就是被电脑供电、被电脑识别为串口),那么 CC1 和 CC2 各接一个 5.1kΩ 下拉电阻到 GND 就够了。这个下拉电阻是告诉 Type-C 主机「我是一个设备,请给我供电」。很多人翻车就翻在这里:CC 不接下拉,插到某些 Type-C 充电器或电脑 C 口上,VBUS 根本不出电,板子像死了一样。

VBUS ──┬── 5V 输入 └── 0.1uF + 10uF 去耦到 GND CC1 ── 5.1kΩ ── GND CC2 ── 5.1kΩ ── GND D+ ── 串口芯片 D+ 或直接到 MCU PA12 D- ── 串口芯片 D- 或直接到 MCU PA11 GND ── 与板级 GND 单点相连

参数说明:5.1kΩ 是 USB Type-C 规范里设备端 Rd 的标准值,别用 10kΩ 凑合,部分主机识别会不稳定。VBUS 上的 10uF 是储能,0.1uF 是高频去耦,两个都要放,位置尽量靠近座子。

2.2 STM32F103C8T6 最小系统的六个必接电路

STM32F103C8T6 是 LQFP48 封装,48 个脚里真正决定「能不能跑起来」的就那么几组。我一般按下面顺序画:

第一,电源。VDD 和 VSS 各有 3 组(VDD1/2/3、VSS1/2/3),每组配一个 0.1uF,再在整板放一个 10uF。VDDA 单独走一个磁珠或 0Ω 电阻从 3.3V 过来,配 0.1uF + 1uF。这里有个热词里常被搜的点——STM32F103C8T6 VBAT 引脚:VBAT 接 3.3V 或接纽扣电池,如果不接,内部 RTC 和备份寄存器不工作,但芯片本身能跑。做最小系统板时,我一般直接 VBAT 接 3.3V,省事。

第二,晶振。8MHz 主晶振接 PD0/PD1(OSC_IN/OSC_OUT),两个 20pF 负载电容,再并一个 1MΩ 反馈电阻。32.768kHz 的 RTC 晶振接 PC14/PC15,做最小系统可以省,但建议留焊盘。

第三,复位。NRST 接 10kΩ 上拉到 3.3V,并一个 100nF 到 GND,再引出一个复位按键。NRST 内部已有上拉,外部这个 10kΩ 是冗余但稳妥。

第四,BOOT。BOOT0 接 10kΩ 下拉到 GND,BOOT1(PB2)也下拉。BOOT0 要引出一个跳线或按键,方便进串口下载模式。

第五,SWD。PA13(SWDIO)、PA14(SWCLK)引出 4Pin 排针,加上 3.3V 和 GND。这是最可靠的下载和调试口。

第六,串口。PA9(TX)、PA10(RX)接到 USB 转串口芯片,或者直接引排针。如果板上要集成下载功能,就放一颗 CH340C 或 CP2102。

2.3 USB 转串口与供电的取舍

这里要做一个决策:Type-C 口是只供电,还是供电+串口下载二合一?如果二合一,D+/D- 要接到 USB 转串口芯片,芯片的 TX/RX 再交叉接到 PA10/PA9。注意 CH340C 的 V3 脚要接 0.1uF 到 GND,这是它内部 3.3V 稳压的输出,不接会枚举失败。

如果只供电,D+/D- 可以悬空或引到 MCU 的 PA11/PA12 做 USB 设备实验。但要注意:STM32F103 的 USB 和 CAN 共用引脚,做 USB 时 PA11/PA12 不能再做 CAN。

提示:Type-C 座子的外壳地(SHIELD)不要直接和信号 GND 大面积连,用 0Ω 或 1nF 单点连接,避免插拔时的静电直接打进 MCU。

3. 从原理图到 PCB:AD 设计流程里的布局与布线要点

3.1 元件布局的优先级

AD 设计流程里,布局决定了一半的成败。这块板子的布局顺序我一般这样排:

  1. Type-C 座子放板边,开口朝外,方便插线。
  2. USB 转串口芯片紧靠座子,D+/D- 走线越短越好。
  3. 3.3V 稳压芯片(AMS1117-3.3 或 RT9013)放在电源入口附近,输入输出电容贴着芯片。
  4. STM32F103C8T6 放板子中间,晶振紧贴 OSC 引脚。
  5. SWD 排针、BOOT 跳线放板边,方便操作。

AMS1117-3.3 的压差约 1.1V,5V 输入输出 3.3V 没问题,但要注意它的静态电流和发热。如果板上还有别的 3.3V 负载,算一下总电流,超过 500mA 就换 DC-DC。

3.2 电源与地的处理

这块板子是典型的混合信号小系统,地处理不能马虎。我的做法是:

  • 整板用两层板即可,顶层走信号,底层做完整地平面。
  • 3.3V 走线宽度至少 20mil,5V 至少 25mil,VBUS 至少 30mil。
  • 晶振下方挖空,不要走任何线,包括地线也不要穿过晶振焊盘之间。
  • 模拟部分(VDDA、晶振)和数字部分的地在芯片下方单点汇合。
推荐叠层(两层板): Top Layer : 信号 + 电源走线 + 元件 Bottom Layer: 完整 GND 平面(尽量不分割)

参数说明:20mil 对应约 0.5mm,1oz 铜厚下过 1A 没问题。VBUS 峰值电流按 500mA 算,30mil 足够。

3.3 差分线与晶振布线

USB2.0 的 D+/D- 是 90Ω 差分对,虽然全速模式(12Mbps)对阻抗要求不严,但养成习惯:等长、平行、尽量短、少过孔。AD 里可以用 Interactive Diff Pair Routing,线宽和间距按板厂工艺算,普通两层板 6/6mil 工艺下,线宽 10mil、间距 6mil 大致接近 90Ω。

晶振布线是另一个重点。8MHz 晶振的两根线要尽量短、尽量对称,负载电容的 GND 就近打孔到底层地平面。晶振下面不要走任何其他信号,这是血泪经验——曾经有一块板子晶振下面走了根 PWM,结果串口时不时丢数据,查了两天才发现是晶振被干扰。

3.4 丝印与可制造性

丝印不是装饰。Type-C 座子的方向、BOOT 跳线的 0/1 位置、SWD 的引脚顺序、电源指示灯的正负,都要标清楚。我一般还会在板子背面丝印上版本号和日期,方便以后迭代。

可制造性方面,最小线宽/线距按 6/6mil,最小孔径 0.3mm,过孔盖油。这些参数在下单前和板厂确认一遍,不同厂能力不一样。

4. 避坑与排查:这块板子最容易翻车的五个地方

4.1 插上 Type-C 没反应,VBUS 没电

现象:板子插到电脑或充电器上,电源指示灯不亮,万用表量 VBUS 是 0V。

原因:CC1/CC2 没有接 5.1kΩ 下拉电阻,或者电阻虚焊。Type-C 主机检测不到设备端 Rd,就不输出 VBUS。

解决:补上两个 5.1kΩ 下拉,用万用表确认 CC 对地阻值约 5.1kΩ。如果用的是 C 口充电器,还要确认充电器支持 5V 标准输出。

4.2 电脑识别不到串口

现象:VBUS 正常,3.3V 正常,但设备管理器里没有串口。

原因:USB 转串口芯片的 D+/D- 接反,或者 CH340C 的 V3 脚没接电容,或者晶振没起振。

解决:先量芯片的 12MHz 晶振有没有起振(示波器看波形),再确认 V3 脚有 0.1uF 到 GND,最后检查 D+/D- 有没有和 Type-C 座子对应正确。注意 Type-C 是双面镜像,A6/A7 和 B6/B7 要短接在一起再接到芯片。

4.3 能下载一次,第二次就连不上

现象:第一次用串口下载成功,第二次怎么都不进 Bootloader。

原因:BOOT0 跳线没拨到 1,或者下载完没拨回 0 就复位了。另外,如果 PA9/PA10 同时被其他电路占用,也会冲突。

解决:下载时 BOOT0=1、BOOT1=0,点下载后复位;下载完 BOOT0 拨回 0 再复位。养成习惯:BOOT0 用跳线帽,别用焊盘。

4.4 晶振不起振

现象:程序不跑,或者跑起来但串口波特率不对。

原因:负载电容选错、晶振下面走了信号线、或者晶振本身是坏的。

解决:8MHz 晶振配 20pF 是常见值,但具体要看晶振规格书。用示波器探头(10x)碰 OSC_OUT 看有没有波形,注意探头电容会影响起振,最好用有源探头或频率计。晶振下方挖空,不要走线。

4.5 板子发热严重

现象:上电后 AMS1117 或 MCU 发烫。

原因:3.3V 对地短路、芯片焊反、或者 AMS1117 输入输出接反。

解决:先断电,用万用表量 3.3V 对地阻值,正常应该几百欧以上。如果接近 0,查短路点。AMS1117 的 1 脚是 GND、2 脚是 VOUT、3 脚是 VIN,别接错。LQFP48 的 1 脚位置也要确认,焊反了必发热。

5. 进阶:把这块板子变成能反复用的核心板

5.1 预留扩展与版本迭代

第一版做完,你大概率会发现几个想改的地方:SWD 排针想换成 1.27mm 的、想加一个用户 LED、想把串口下载和 USB 设备功能做成跳线可选。我的习惯是,第一版就把这些扩展焊盘留出来,哪怕不焊,成本几乎为零。

具体做法:PA11/PA12 除了接 USB,再引到一个 2.54mm 排针;PA13/PA14 的 SWD 旁边留一个 4Pin 的 1.27mm 焊盘;3.3V 和 5V 各留一组排针。这样这块板子既能当下载器目标板,也能当 USB 设备实验板。

5.2 用丝印和测试点做验证

板子回来之后,别急着焊 MCU。先焊电源部分,上电量 3.3V;再焊 Type-C 和串口芯片,插电脑看能不能识别;最后焊 MCU 和晶振。每一步都有测试点,我一般会在 3.3V、5V、GND、SWDIO、SWCLK 这几个位置留 1mm 的裸铜测试点,方便表笔戳。

5.3 一个具体技巧:用 AD 的规则检查提前发现 Type-C 座子问题

AD 里可以自定义 Design Rule,针对 Type-C 座子的 CC 和 VBUS 网络设最小线宽和间距。更实用的是,用「Component Clearance」规则检查座子和外壳的干涉,用「Short-Circuit」规则确认 CC1/CC2 没有和 VBUS 短路。出 Gerber 之前,跑一遍 DRC,把 Warning 也看一遍,很多翻车都是 Warning 被忽略导致的。

检查项规则设置目的
CC 线宽最小 8mil保证识别稳定
VBUS 线宽最小 30mil承载 500mA
晶振区域禁止布线层防干扰
Type-C 外壳与信号 GND 间距 20mil防静电
过孔盖油,孔径 0.3mm可制造性

我自己的习惯是,每次投板前把 DRC 报告导出成 PDF,对着看一遍,尤其是那些「已忽略」的项。这块 STM32F103C8T6 最小系统板我前后改了四版,前两版的问题全在 Type-C 的 CC 和晶振布局上,第三版才稳定。希望帮到你。

本文还有配套的精品资源,点击获取

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询