
1. 先把要一张图这件事想明白再谈下载STM32F103RCT6 核心板原理图这几个词摆在一起很多人第一反应是搜一下、下下来、照着画。但我见过太多人下完图就直接丢进工程文件夹等到打样回来发现串口不通、下载器连不上、ADC 读数乱跳才开始翻那张 PDF。问题不在于图本身而在于拿到图之前没搞清楚它解决的是什么问题。这张图的价值不是给你一个能抄的线路而是给你一套已经被验证过的供电结构、时钟结构、下载调试结构和引脚引出策略你要做的是读懂这四件事背后的取舍然后决定哪些照搬、哪些要改。这篇内容面向三类人一是刚开始接触 F103 系列、想自己做第一块核心板或者最小系统的朋友二是手上已经有现成板子但想搞清楚为什么这么设计的进阶者三是需要把核心板当成模块插到自己底板上、被引脚复用问题折磨过的人。我会把一张典型 F103RCT6 核心板原理图拆成几个必须看懂的区块讲清楚每个区块里哪些元件是必须有、哪些是可以有、哪些是抄了会出事的。所有具体参数我都会给出推导或者经验依据能直接落到你自己的图上。1.1 核心板和最小系统板差别不在名字上市面上叫核心板的板子通常指把 MCU、晶振、电源、复位、BOOT 选择、下载口这些让芯片能跑起来的最小集合做成一块 2.54mm 或者半孔邮票孔的小板四周引出全部或者大部分 IO用户自己再做底板去接外设。而最小系统板有时候会把 USB 转串口、LED、按键这些也做上去边界比较模糊。这个区别看着是命名问题实际影响你抄图时的判断核心板追求的是引出完整、体积小、供电干净它不会帮你做电平转换、不会帮你做隔离、也不会帮你做多余的滤波因为这些应该在你自己的底板上解决。所以你看一张核心板原理图时如果发现它 IO 口直出、没有任何串阻和 TVS不要觉得它做得糙那是定位决定的。反过来如果你要做的是面向新手的评估板那核心板图里的很多东西你反而要加每个 IO 串 33Ω、USB 加 ESD 阵列、电源加自恢复保险丝。这个判断如果一开始就错了后面全是返工。1.2 一张合格的 F103RCT6 原理图应该有哪些区块我把典型结构列成一张表你可以拿它当检查清单对照手上的图逐个打勾。缺项不一定错但每一项缺失你都要知道后果。区块关键元件缺失后果是否可省电源输入与稳压5V 输入、线性稳压器、输入输出电容芯片不上电或纹波过大不可省数字电源去耦每个 VDD 脚 100nF 总体 4.7~10uF高频噪声、偶发死机不可省模拟电源滤波VDDA 磁珠/电阻 100nF 1uFADC 采样跳动、精度差做 ADC 不可省备份域VBAT 接 3.3V 或纽扣电池RTC 掉电丢失不用 RTC 可省主时钟8MHz 无源晶振 两颗负载电容只能跑内部 RC精度差可省但强烈建议不省低速时钟32.768kHz 晶振RTC 计时不准可省复位10k 上拉 100nF 按键无法手动复位、上电复位不稳按键可省启动选择BOOT0 10k 下拉、跳线或排针无法进入串口下载模式不可省下载调试SWD 四线3.3V/GND/SWDIO/SWCLK只能靠串口 ISP调试极痛苦不可省状态指示电源灯 用户灯无法快速判断上电状态可省这张表里最容易被省略、也最容易出事的是模拟电源滤波和BOOT0 下拉。前者在只用数字功能时确实无所谓但只要你的项目要采一路模拟量VDDA 不干净就等着数据飘。后者更隐蔽BOOT0 悬空时芯片上电采样到的电平不确定有时候能跑有时候上电就进不了用户程序这种偶发问题查起来能耗掉一整天。1.3 下了图却画错板子通常是这三个原因第一个原因是只看连接关系不看参数。原理图上写着 100nF你就放 100nF但没注意它画在芯片的哪一侧、离引脚多远。去耦电容的有效性跟位置强相关原理图是体现不出这一点的需要你在 PCB 阶段自己补上判断。第二个原因是把参考图当成标准答案。很多流传的核心板图是某个人为某个特定用途画的比如他那块板子要用 SDIO就把 PC8~PC12 全给了 SDIO 并且加了上拉你的项目不用 SDIO照着抄就白白占了五个 IO还多了五个电阻。看图要看他为什么这么接而不是他接了我也接。第三个原因是忽略了芯片的版本和封装差异。F103 系列里 C8T6、RCT6、VET6 的引脚数和外设资源是不一样的RCT6 是 64 脚、256KB Flash、48KB RAM带 FSMC 和 SDIO但没有以太网 MAC。网上有些图标着 F103 但其实按 48 脚的 C8T6 画的你拿 RCT6 去对引脚号全错。下载之前先确认图纸标题里写的是不是 RCT6、封装是不是 LQFP64这一步花十秒能省后面十天。2. 电源这一块三条支路各管各的别混着来F103RCT6 的电源引脚分三组VDD 数字电源多组LQFP64 上分布在芯片几个边上、VDDA 模拟电源、VBAT 备份电源。三组最终都接到 3.3V但走法和滤波要求完全不同。很多人图省事把 VDDA 直接和 VDD 短接、VBAT 也短接板子能跑但模拟指标和 RTC 就废了一半。这一章我把这三条支路拆开讲。2.1 从 5V 到 3.3V线性稳压器的压差与发热要算清楚核心板最常见的设计是 5V 输入、3.3V 输出用一颗 SOT-223 或者 SOT-89 封装的线性稳压器比如 1117 系列。选它的理由很简单便宜、外围只要两颗电容、纹波小、不需要电感。但它的代价是压差全部变成热这个必须算。功耗公式很直白P (Vin − Vout) × Iout。假设输入 5V、输出 3.3V、整板电流 150mA那么 P 1.7V × 0.15A 0.255W。SOT-223 封装在普通双层板上的热阻大约 60~100 °C/W取决于铜箔面积温升大约 15~25°C室温 25°C 时壳温 40~50°C手摸上去温热完全正常。但如果你的底板还要从这颗稳压器取电给一堆外设电流到了 500mA功耗就是 0.85W温升可能到 60~85°C这时候就必须加大铜箔、加过孔散热或者干脆换成开关电源。更危险的情况是输入电压。有些人图方便直接拿 12V 进来那 1117 上的压降就是 8.7V同样 150mA 电流下功耗 1.3WSOT-223 基本扛不住会进入热保护然后输出电压塌陷表现出来就是板子跑一会儿就重启。所以核心板的输入标识一定要写清楚我一般会在丝印上直接打5V ONLY并且在文档里注明输入范围 4.5~5.5V。还有两个参数容易被忽略压差Dropout1117 类器件在额定电流下的压差约 1.1~1.3V也就是说输入低于 4.5V 时输出可能稳不住 3.3V。如果你打算用 USB 供电实际到板可能只有 4.6~4.8V勉强够用如果用锂电池3.7~4.2V就必须换低压差器件或者升降压方案。静态电流1117 的静态电流在毫安级电池供电场景下是灾难。低功耗项目要选静态电流几十微安的 LDO。我实际的取舍是核心板用 1117 类器件输入限定 5V输出侧放 10uF 钽电容或者 22uF 陶瓷输入侧放 10uF 加 100nF。如果项目要长时间满载我会在 3.3V 网络上预留一个开关电源的焊盘位置两种方案 Pin-to-Pin 不兼容但可以通过不焊器件、飞线的方式切换验证。2.2 去耦电容不是放几个就行位置和容值组合都有讲究数字电源去耦的核心逻辑是芯片内部每个逻辑门翻转的瞬间都要从电源取一个窄脉冲电流这个电流必须由最近的电容提供否则就会在供电路径的寄生电感上产生压降导致芯片内部电压瞬间跌落。所以原则是离引脚越近越好容值越小越靠里。典型做法是每个 VDD 引脚配一颗 100nF 的 0402 或 0603 陶瓷电容紧贴引脚放置走线最短、过孔最少。LQFP64 的 F103RCT6 有四组 VDD/VSS也就是四颗 100nF 起步。除此之外整板再放一到两颗 4.7uF 或 10uF 的陶瓷电容做总水库负责中低频的补充。这两级的分工是100nF 管 MHz 以上的高频瞬态10uF 管百 kHz 到 MHz 的中频至于几十 kHz 以下的低频靠稳压器的环路响应就够了。容值选择上有个坑别用 Y5V 材质的电容。同样标 100nFY5V 在 3.3V 直流偏压下容量可能掉到 30nF 以下温度特性也差等于白放。选 X7R 或者 X5R看 datasheet 里的直流偏压曲线标称 100nF 在 3.3V 下能保持 80% 以上才算合格。这一点在原理图上看不出来但在 BOM 里必须写死。另外原理图上如果看到某个 VDD 引脚旁边画了 100nF 但位置离得老远别以为排布软件会自动帮你优化PCB 阶段一定要手动挪到引脚外侧从焊盘直接连到电容焊盘再从电容焊盘打过孔到地平面。这个顺序引脚→电容→过孔和引脚→过孔→电容的效果差很多后者等于把过孔电感串进了去耦回路。2.3 VDDA 与 VREF模拟部分的三件套VDDA 是模拟电源给 ADC、DAC、内部参考缓冲供电。它对噪声的敏感度比 VDD 高一个量级所以标准做法是从 3.3V 数字电源经过一个磁珠或者小电阻隔离后接到 VDDA然后在 VDDA 脚旁边放 100nF 加 1uF 两颗电容到模拟地。磁珠的选择要注意它在直流下阻抗接近 0在 100MHz 时阻抗几百欧作用是阻断数字电源上的高频噪声。但磁珠的额定电流要够一般 100~300mA 的型号就足够别用那种 50mA 的小磁珠压降会让你 VDDA 偏低。如果不想用磁珠用 10Ω 电阻也可以代价是 VDDA 会有一点压降ADC 电流很小通常几毫安压降可以忽略。VREF 在 64 脚的 F103RCT6 上是独立引脚部分小封装型号是内部连到 VDDA 的它决定了 ADC 的满量程。如果你的项目对 ADC 精度有要求可以在这里接一颗外部基准比如 2.5V 或者 3.0V 的精密基准源如果不接一般把 VREF 和 VDDA 短接并在旁边加 100nF 加 1uF。模拟地怎么处理是个老话题。我的实际做法是不切地平面。整板用一个完整地平面VDDA 的滤波电容地端直接打在 MCU 下方的地平面上靠电容就近来保证回流路径短而不是靠数字地模拟地分开这种容易做错的方式。单点接地在多层板上的收益很小做不好反而制造出更大的回流环路。这一点在核心板这种小面积板上尤其明显。2.4 VBAT 支路不用 RTC 也别让它悬空VBAT 是备份域电源给 RTC 和备份寄存器供电。如果你不用 RTC最简单的做法是把 VBAT 通过一个 0Ω 电阻或者直接接到 3.3V。如果要用 RTC 并且希望主电源掉电后继续计时就接一颗纽扣电池中间串一个肖特基二极管防止反灌。这里有个细节VBAT 引脚内部有切换电路当 VDD 存在时会自动切到 VDD 供电所以不用担心电池被浪费。但如果 VBAT 完全悬空某些批次的芯片会出现备份域行为异常虽然不影响主程序但属于不确定状态工程上应该避免。我一般直接接 3.3V简单可靠。还有一点VBAT 旁边的 100nF 别省。备份域的电源切换瞬间会有电流突变没有电容会带来毛刺。3. 时钟和复位看起来最简单的部分出错率最高如果说电源部分出错是板子不亮那晶振和复位出错就是板子时好时坏后者排查难度高得多。这一章讲三件事8MHz 主晶振的负载电容怎么算、32.768kHz 为什么经常不起振、复位电路和 BOOT 电路的正确姿势。3.1 8MHz 晶振的负载电容别照抄 22pF无源晶振的负载电容计算有标准公式CL (C1 × C2) / (C1 C2) Cstray其中 CL 是晶振规格书里标的负载电容常见 8pF、10pF、12pF、20pFC1 和 C2 是两侧的匹配电容Cstray 是 PCB 走线和引脚寄生电容一般取 3~5pF。举个例子如果晶振规格是 CL 10pF取 Cstray 4pF那么 (C1×C2)/(C1C2) 6pF当 C1 C2 时C 12pF。也就是说两侧各放 12pF 是理论上正确的值。如果照抄常见的 22pF那么 (22×22)/(2222) 11pF加上 4pF 寄生就是 15pF比规格大了 50%结果是频率偏低虽然多数情况下还能起振但串口波特率误差会变大高速通信容易出现误码。实际取值的经验是在计算值附近选一个标准值然后留一个可调的余量。我会在原理图上把 C1、C2 画成两个焊盘实际焊接 10~15pF用示波器或者频率计测一下实际频率注意探头电容会影响测量最好用高阻探头或者从 MCO 引脚输出时钟来测。如果偏得离谱说明晶振或者走线有问题而不是电容的问题。晶振的外围还有一个可选元件并联在晶振两端的 1MΩ 电阻。它的作用是给内部反相器提供直流偏置帮助起振。现在多数 MCU 内部已经集成了这个电阻外部不加也能工作但如果你用的是低驱动能力的晶振或者走线比较长加上会更稳。我一般不加因为会增加功耗只有在实测起振困难时才补上。PCB 上的要求比元件值更重要晶振尽量靠近芯片走线短且等长两侧电容的地直接连到芯片的 GND晶振下方和周围不要走任何其他信号线最好铺一小块地并打过孔。如果晶振下方是完整地平面那没问题如果下方走了高速线串扰会影响起振稳定性。3.2 32.768kHz 不起振这是 F103 的经典难题32.768kHz 晶振负责 RTC 计时它的驱动能力非常弱内部振荡器跨导很小所以对晶振的参数和布局极其敏感。常见的问题有三个一是晶振的负载电容选大了。32.768kHz 晶振常见 CL 为 6pF、7pF、12.5pF。如果规格是 6pF你放了两颗 22pF那等效负载远超规格起振裕度不足表现出来就是某些板子能起振某些不能或者用手摸一下就起振。二是晶振类型选错。市面上有专门的低功耗型ESR 较大比如 50kΩ 甚至 70kΩ和标准型ESR 30kΩ 左右F103 的振荡器驱动能力有限要选 ESR 较小的型号或者官方推荐的型号。规格书里有一条驱动电平参数超过 1uW 会有老化风险低于最小值可能不起振。三是布局问题。32.768kHz 的走线如果靠近任何周期性信号哪怕是 1MHz 的开关电源纹波都可能造成干扰。我遇到过一块板子32.768k 的走线和 USB 的 D- 平行走了 3mm结果 RTC 每天慢十几秒。改版时把走线拉开、加地包问题消失。实际调试的做法先确认晶振在起振用示波器的高阻探头看 OSCOUT 脚或者直接读 RTC 计数是否在走如果不起振先把电容降到 6~8pF 试再换一颗晶振。如果确实搞不定还有个选择用内部 LSI约 40kHz做 RTC 时钟源精度差一些出厂校准后大约 ±1%但胜在不需要外部器件很多项目就这么将就了。3.3 复位电路10k 加 100nF 是起点不是终点标准的复位电路是 NRST 引脚接一个 10kΩ 上拉到 3.3V再串一个 100nF 到地另外并一个按键到地做手动复位。上电时电容未充电NRST 被拉低随着电容通过 10k 充电电压上升到阈值以上芯片释放复位。时间常数 τ 10k × 100n 1ms实际复位低电平持续时间大约 2~3ms足够芯片内部的复位逻辑完成。看起来很简单但两个细节容易出问题第一内部上拉是 40kΩ 左右外部再并一个 10k等效只有 8k。这不是问题反而让上拉更强。但如果有人为了更可靠把外部上拉改成 1k那么复位电容的充电速度变快低电平时间缩短某些情况下会不足导致复位不彻底。10k 是个合理的值别乱改。第二按键旁边要不要加二极管。经典做法是在按键上串一个二极管阳极接按键阴极接 NRST作用是按键按下时快速放电、松手后通过 10k 慢慢充电避免按键抖动造成多次复位。同时如果板子上还有其他复位源比如看门狗输出、外部监控芯片加个二极管可以防止它们互相灌电流。我的做法是加一个 1N4148 类的小信号二极管成本几分钱能省不少事。还有一个容易被忽略的复位走线要短并且远离干扰源。NRST 是高阻节点长走线容易耦合噪声表现出来就是板子偶尔自己复位。如果核心板上 NRST 引到排针中间串一个 100Ω 电阻会好一些代价是复位电平幅度略微降低但仍在阈值以内。3.4 BOOT0 和 BOOT1决定芯片从哪儿启动F103 的启动模式由 BOOT0 和 BOOT1也就是 PB2在上电复位时刻的电平决定BOOT0BOOT1启动区域用途0x主 Flash正常运行10系统存储器串口 ISP 下载11内置 SRAM调试用极少用关键是上电复位时刻采样也就是说运行中改这两个引脚不会改变启动区域必须复位。所以 BOOT0 必须有确定电平正常跑程序时下拉到地。标准做法是 BOOT0 接一个 10kΩ 下拉电阻到地同时引出一个 2.54mm 排针或者 2pin 跳线帽需要 ISP 下载时用跳线帽短接到 3.3V。有些核心板用 3 脚跳线3.3V、BOOT0、GND这样最灵活。我踩过的坑曾经为了省事BOOT0 只引出一个测试点没有下拉电阻靠芯片内部。结果那批板子里有大约十分之一上电后不跑程序量 BOOT0 电压在 1.5V 左右浮动。加了下拉电阻后全部正常。这个教训很直接BOOT0 下拉必须外部加不能靠内部默认。BOOT1PB2如果不用 SRAM 启动模式正常拉低就可以直接接 10k 下拉。如果你的项目 PB2 要做其他用途那就在启动之后再配置注意启动时它必须是低电平。4. 引脚复用原理图上最该较真的地方拿到一张核心板原理图我第一眼看电源第二眼看的就是引脚引出表。因为电源错了板子不亮引脚错了板子亮但功能做不出来而引脚错误在原理图上往往看起来没问题。4.1 SWD 下载口和 GPIO 的两难F103RCT6 的 SWD 接口占用 PA13SWDIO和 PA14SWCLK这两个脚在复位后默认就是调试功能。很多人做产品时觉得我不用调试了把它当普通 IO 用于是写代码把 PA13、PA14 重映射掉结果下一次想下载程序就连不上了只能靠串口 ISP 救回来。核心板的正确做法是SWD 四根线3.3V、GND、SWDIO、SWCLK必须老老实实引到一个标准排针上四个脚按常见顺序排列方便接调试器。SWDIO 上可以加一个 10kΩ 上拉SWCLK 加一个 10kΩ 下拉这两颗电阻不是必须的但在排线较长、电磁环境复杂时能提高连接成功率。如果你确实要用 PA13、PA14 做 IO那就必须在硬件上留后路在应用代码里加一个上电后延时几秒再重映射的逻辑或者保留一个按键按住上电时不重映射给调试器留出连接窗口。这个技巧很实用我在几个项目里都用过。4.2 特殊功能引脚这五个脚要格外小心PA15、PB3、PB4 这三个脚复位后默认是 JTAG 功能JTDI、JTDO、NJTRST如果你只把调试器配成 SWD 模式这三个脚是可以释放出来做普通 IO 的但需要软件里关闭 JTAG调用相应的复用重映射配置。硬件上没什么特别要求但如果你的原理图把这三个脚直接接到了某个外设比如 SPI 的片选要确保软件里做了释放否则上电后外设会被这三个脚的默认状态干扰。PC13、PC14、PC15 属于备份域附近的引脚它们的驱动能力很弱输出速度限制在 2MHz灌/拉电流只有 3mA 左右。很多核心板在 PC13 上接一个 LED指示灯用途这样用是可以的但如果你要用 PC13 驱动一个需要 10mA 的器件那就带不动。原理图上如果看到 PC13 直接驱动 LED 而没串电阻或者串的电阻只有 100Ω那基本上就是把芯片当驱动器在用长期可靠性存疑。正确做法是串 1kΩ 左右亮度够看就行。4.3 串口、USB、CAN 的引脚冲突要提前规划F103RCT6 的资源在 64 脚封装里算是比较丰富的3 个 USART、2 个 SPI、2 个 I2C、1 个 CAN、1 个 USB 全速、1 个 SDIO、3 个 12 位 ADC、2 个 DAC、FSMC。但引脚是复用的几个常用组合会打架外设默认引脚常见冲突USART1PA9/PA10与 USB 的 PA11/PA12 相邻注意走线USART2PA2/PA3与 ADC 通道 2/3 复用USART3PB10/PB11与 I2C2 复用USBPA11/PA12与 CAN 的 PA11/PA12完全冲突CANPA11/PA12 或 PB8/PB9用 PA 口就没法用 USBSPI1PA5/PA6/PA7与 ADC 通道复用I2C1PB6/PB7与 USART1 重映射冲突最典型的是 USB 和 CAN 二选一默认都在 PA11/PA12如果要两个都用CAN 必须重映射到 PB8/PB9。这个决定要在画原理图时就定下来因为重映射之后 PB8/PB9 就不能再做别的了。核心板的一般策略是把能引的都引出来不做功能绑定让用户在底板上自己选。所以你会看到 PA11、PA12 老老实实引到排针既没接 USB 座子也没接 CAN 收发器。这是合理的但也意味着你插上 USB 线不会有任何反应需要自己在底板上加。4.4 排针引出顺序的讲究一个容易被忽视但影响使用体验的细节IO 引出的排列。有些核心板按端口顺序排PA0~PA15 一排PB0~PB15 一排有些按功能分组排SPI 一组、I2C 一组有些按 PCB 布线方便排乱七八糟。按功能分组的好处是接线方便但会牺牲灵活性按端口顺序排最灵活但飞线时容易数错。我个人的偏好是主排针按端口顺序同时在丝印上把复用功能标出来比如 PA9 旁边标 USART1_TX。这样既有灵活性又不用每次翻手册。还有一个实操细节如果核心板是双排针 2.54mm 间距、两排之间距离 15.24mm600mil那正好可以插进标准面包板这对于快速验证非常重要。有些板子为了缩小体积用 2.0mm 间距或者半孔邮票孔面包板上就用不了必须做转接板。选型时要看你自己的使用场景。5. 图看完了怎么把它变成一块能跑的板子原理图只是设计的开始。从图到实物中间还有封装、BOM、打样、焊接、验证几个环节每个环节都有可能把前面的正确设计毁掉。这一章讲我实际复现时的操作顺序和几个关键判断。5.1 封装核对LQFP64 的焊盘尺寸别随便改F103RCT6 是 LQFP64 封装0.5mm 引脚间距本体 10×10mm含引脚 12×12mm。这个封装的焊盘设计在 IPC 标准里有推荐值常见做法是焊盘长度 1.2~1.5mm比引脚略长形成脚趾外延方便手工焊接和回流检查宽度 0.28~0.3mm相邻焊盘间隙 0.2~0.22mm。为什么强调这个因为我见过有人直接从网上找了一个封装库焊盘宽度 0.25mm、长度 1.0mm打样回来发现引脚根本不吃锡尤其是外侧没有外延烙铁碰不到。还有人把间距搞成 0.65mm那是 LQFP48 的结果整块板报废。我的做法是不管 EDA 工具自带的库有多标准都自己按器件规格书里的推荐焊盘图核对一遍重点看三个尺寸——焊盘宽度、焊盘长度、相邻间隙。另外丝印框要比本体大 0.2~0.3mm方便对位第一脚标记要明显用一个小圆点加一段加粗线不要只用一个小小的缺口。5.2 BOM 里的替代方案能省的地方省不能省的地方别省核心板的 BOM 很短大概二三十个元件但有几个位置的替代需要想清楚稳压器1117 系列有多个厂家、多种固定电压版本引脚兼容可以互换。但要注意有些低价的兼容品压差更大、静态电流更高。批量生产前要实测。晶振8MHz 无源晶振封装常见 5032、3225、2016。小封装便宜但 ESR 高起振裕度小。核心板用 3225 就够别用 2016。电容全部选 X7R/X5R耐压 10V 或 16V3.3V 网络用 10V 就够但 0603 的 10V 和大容值组合可能买不到可以退一步用 16V。绝对不要用 Y5V。复位二极管1N4148 类SOD-323 封装便宜通用。LED0603 或者 0805串 1kΩ 电阻电流 1~2mA足够指示且不刺眼。省钱的边界在哪电阻电容可以换便宜牌子晶振和稳压器不行这两个直接决定稳定性和精度。5.3 打样回来先别焊芯片三步上电验证这是我坚持了很多年的流程能挡掉大部分低级错误第一步不焊 MCU测电源对地电阻。用万用表电阻档测 3.3V 网络对 GND读数应该在几百欧到几千欧取决于板上的 LED 和电阻。如果是几欧或者零说明有短路先查再上电。第二步只焊电源部分上电测电压。焊上稳压器和电容不焊 MCU上电测 3.3V 输出。用万用表看是不是 3.28~3.32V再用示波器看纹波20MHz 带宽限制探头接地弹簧纹波峰峰值应该在几十毫伏以内。如果纹波上百毫伏检查输出电容和负载。第三步焊 MCU 和晶振测静态电流和复位电平。焊上芯片后先不烧程序测 3.3V 网络的电流正常应该在十几毫安到几十毫安内部 RC 运行、外设关闭。然后测 NRST 脚电压应该接近 3.3V测 BOOT0应该接近 0V。这两个电压不对先查电路再连调试器。这三步走完再连接调试器读芯片 ID。SWD 能读到 IDCODECortex-M3 的是 0x1BA01477就说明芯片活着、调试通路正常。这时候烧一个最简单的 GPIO 翻转程序用示波器或者 LED 确认最小系统跑起来了再往下做外设。5.4 常见故障对照表症状、原因、排查顺序症状最可能原因排查顺序上电无反应电源灯不亮稳压器输入反接/虚焊、保险丝断测输入电压→测输出→测短路电源灯亮但连不上调试器NRST 被拉低、BOOT0 悬空、SWDIO 被占用测 NRST/BOOT0 电压→换调试器速度→查复用配置能连上但烧录失败Flash 保护、供电不稳、SWCLK 走线太长全片擦除→降速→缩短排线程序跑飞、偶发重启电源纹波、去耦不足、看门狗误触发示波器看 3.3V→加电容→查看门狗配置串口通信误码晶振频率偏差、波特率误差、地线不良测实际频率→算波特率误差→共地检查ADC 读数跳动大VDDA 无滤波、VREF 不稳、数字干扰加磁珠和电容→分离走线→降低采样率验证RTC 走时不准或停走32.768k 不起振、负载电容错、晶振 ESR 大测起振→换电容→换晶振USB 不识别D 上拉缺失、22Ω 串阻、晶振精度不够查上拉→查串阻→换 8MHz 晶振这张表里的每一条我都实际遇到过其中能连上但烧录失败最常见的原因是调试器速度设太高比如 4MHz 以上配长排线降到 1MHz 以下基本能解决。6. 关于免费下载这四个字说几句实话网上流传的核心板原理图质量参差不齐。有些是厂商官方评估板的精简版画得规范、有注释、有版本号有些是个人练手作品元件标号混乱、网络标号重名、甚至有原理性错误。免费下载这件事本身没问题问题在于你怎么判断拿到手的东西能不能用。6.1 三看快速判断一张图的可信度一看有没有版本和日期。正规的图纸会在标题栏写清楚版本号、修改日期、设计者。没有这些信息的图说明作者自己都没打算维护里面有什么坑你只能自己踩。二看电源和地的网络命名是否统一。好的图纸会用 VDD_3V3、GND、VDDA 这样的明确命名差的图纸会有 VCC、3.3V、3V3、VDD 混用甚至有网络标号拼写错误导致实际没连上。用 EDA 工具的网络检查功能跑一遍能发现不少问题。三看有没有设计说明或者注意事项。比如BOOT0 需外部下拉、VDDA 需独立滤波这类注释。有注释说明作者踩过坑并且愿意分享这种图参考价值最高。6.2 参考图不是抄图改三个地方再用就算是质量很高的参考图直接抄也存在风险因为它的设计目标和你不一样。我一般会做三处修改再落到自己项目里第一处按自己的外设需求重新分配引脚。参考图可能把 PB6/PB7 给了 I2C但你的项目要用 USART1 重映射那就得改。改的时候注意检查有没有其他功能被连带影响。第二处按自己的供电方案调整电源部分。参考图可能是 USB 5V 输入你的底板是 12V 转 5V 再进来那输入端的电容耐压、保险丝规格都要改。第三处加上自己的保护器件。参考的核心板通常很裸你的整机产品可能需要加 TVS、加共模电感、加自恢复保险丝。这些不属于核心板范畴但在你最终的板子上是必须的。说到底一张 F103RCT6 核心板原理图能教给你的东西远不止哪根线连哪根线。它是一份被验证过的工程决策记录为什么这个电容放 100nF 不放 1uF、为什么 BOOT0 要下拉、为什么晶振电容不是 22pF。把这些为什么搞明白你下次换一颗 MCU、换一个封装照样能画出对的图。我自己最早做的一块 F103 板子就是照着网图抄的结果 VDDA 直接短接 VDD、晶振电容用了 22pF、BOOT0 忘了下拉三处全中调了整整两天。后来每次画新板我都会先把这三个地方在纸上单独画一遍确认无误再进 EDA。这个习惯看起来笨但确实让我后面几年没再在这三处翻过车。