ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

STM32F407ZGT6最小系统设计实战:从原理图到PCB全流程

STM32F407ZGT6最小系统设计实战:从原理图到PCB全流程 做嵌入式这几年我没少画STM32的板子。要说最该认真做、也最能锻炼人的一个项目STM32F407ZGT6最小系统绝对算一个。这颗料基于Cortex-M4内核最高168MHz主频带FPU和DSP指令1MB Flash、192KB SRAMLQFP144封装几乎把中高端MCU该有的外设都集齐了USB OTG、以太网MAC、FSMC、SDIO、DCMI一个不少。但也正因为外设多、引脚密、电源域复杂这颗料在最小系统环节特别容易翻车VCAP忘接、晶振不起振、SWD连不上、复位被拉死……这些坑我基本都踩过一遍。这篇文章适合正在做课程设计、毕业设计或者刚接触ARM硬件设计想自己画板子的朋友。我会从方案选型、原理图设计、PCB布局布线到打样调试把整套流程和实战中的坑一次性讲透。你可以直接照着抄也可以拿它当检查清单来避坑。1. 方案定位与器件选型为什么是F407ZGT61.1 F407ZGT6到底强在哪先把这个芯片的家底摸清楚。STM32F407ZGT6名字里的每个字母都有含义Z代表144引脚封装G代表1MB FlashT代表LQFP封装6代表工业级温度范围-40℃到85℃。整个F407系列里ZGT6属于“满配”型号144个引脚基本把所有外设都引出来了后续做各种扩展板、驱动板、采集板几乎不用换主控。性能上有几个关键指标值得关注168MHz主频下能跑到210 DMIPS内部集成单精度FPU做浮点运算不用再软件模拟192KB SRAM在当时的MCU里算非常大的跑复杂状态机、大缓冲区、图形点阵都没太大压力。外设方面3个12位ADC、2个DAC、6个USART/UART、3个SPI、3个I2C、2个CAN、1个USB OTG FS/HS、1个以太网MAC——这些在最小系统板上全部引出基本就是一颗“小处理器”了。对比常见的F103C8T6F407ZGT6在性能上完全是另一个量级。F103是Cortex-M372MHz64KB Flash20KB SRAMF407是Cortex-M4F168MHz1MB Flash192KB SRAM。如果你只是点个灯、转个舵机F103确实够用但只要涉及音频处理、图像采集、复杂算法、大容量存储F407的优势就彻底体现出来了。所以我个人建议如果预算允许、引脚需求不低直接上用ZGT6做最小系统后面做项目能少换好几次主控。1.2 最小系统的“最小”到底是什么很多新手容易有个误区以为最小系统就是“芯片加个晶振加个电源”。真正工程意义上的最小系统必须满足芯片正常工作的全部基本条件缺一个都可能让芯片彻底罢工。以STM32F407ZGT6为例一个可靠的最小系统必须包含以下六大模块模块核心电路常见失误点电源5V转3.3V LDO输入输出滤波电容压差不够、电容ESR不合适时钟8MHz HSE晶振 负载电容负载电容匹配错误导致不起振复位NRST上拉电阻 滤波电容 复位按键可选上拉电阻阻值过大、电容过大导致复位不释放启动配置BOOT0/BOOT1引脚电平设置BOOT0悬空启动模式随机调试接口SWD四针接口SWDIO/SWCLK/GND/3V3引脚被复用、上下拉接错电源去耦每个VDD引脚就近放100nF电容VCAP接2.2μFVCAP漏接芯片直接不工作这个表格可以说是最小系统的“宪法”设计时逐项打勾基本就不会有大问题。其中最关键、也最容易被忽略的是VCAP引脚。F407内部有一个1.2V电压调节器VCAP1和VCAP2就是它的输出引脚必须各接一个2.2μF电容到地。如果这两个电容不接或值不对内部内核电压域就不稳定芯片的表现是上电后电流正常、晶振也正常的但就是连不上调试器、程序不跑。我见过太多人在这上面耗了两三天最后发现罪魁祸首就是VCAP电容没焊。1.3 核心器件选型清单给出我实际验证过的BOM清单都是通用料嘉立创都能买到主控STM32F407ZGT6LQFP144封装LDOAMS1117-3.3简单便宜但压差大、效率低或ME6211/RT9013低压差500mA适合电池供电场景电源电容100nF 0603陶瓷电容×15个左右、10μF 0805×2个、1μF 0603×2个VCAP电容2.2μF 0603×2个必须外部晶振8MHz无源晶振×1并联22pF电容×2RTC晶振可选32.768kHz×1并联15pF电容×2复位电路10kΩ电阻×1、100nF电容×1、轻触按键×1BOOT配置10kΩ电阻×2BOOT0、BOOT1下拉调试接口4针排针×1VCC/SWDIO/SWCLK/GND指示灯LED×1、220Ω限流电阻×1这个清单做出来的最小系统板总成本控制在30元以内不含PCB性价比非常香。如果你想做USB供电加一个Micro-USB座或Type-C座如果要做串口调试再加一颗CH340C和相应的接口电路这些都是后话最小系统本身不需要。2. 原理图设计每个引脚背后的设计逻辑2.1 电源树设计从5V到3.3V再到内部1.2VF407ZGT6的工作电压范围是1.8V至3.6V典型值是3.3V。最小系统板的电源输入一般来自USB的5V或外部稳压源所以第一步是完成5V到3.3V的转换。电源方案主流就两种LDO和DC-DC。最小系统板我强烈推荐用LDO理由很简单噪声小、电路简单、元件少而且F407本身功耗不算激进168MHz全速跑加外设也就100mA左右AMS1117-3.3的1A输出能力绰绰有余。DC-DC比如MP2315、TPS54302效率是高但开关噪声对ADC采样精度和晶振稳定性都有潜在负面影响如果是为了学最小系统设计没必要一上来就上难度。AMS1117-3.3的输入输出电容一定要按手册来输入端放10μF100nF输出端放10μF100nF。注意AMS1117对输出电容的ESR有要求不能用ESR太低的陶瓷电容实际上AMS1117是LDO不是DC-DC用陶瓷电容没问题但输出端那个10μF尽量用X5R或X7R材质不要用Y5VY5V容量随温度漂移得很厉害。还有一个细节LDO输入端的5V入口最好串一个肖特基二极管如SS14做防反接保护。反向电压接错直接烧LDO和芯片的案例我见太多了一颗几毛钱的二极管能救回整块板子。如果你用USB供电可以不加但电源输入端一定要放一个100μF电解电容或钽电容吸收热插拔时的浪涌。3.3V生成之后就是电源分配的问题。F407ZGT6有多个VDD引脚、一个VDDA引脚和一个VREF引脚。数字电源VDD统一接3.3V网络每个引脚旁边放100nF去耦电容。模拟电源VDDA和基准VREF的处理要讲究些VDDA建议通过磁珠600Ω100MHz从3.3V隔离出来磁珠后端再接100nF和10μF电容到地。如果只做数字电路、不用ADCVDDA直接接3.3V也能跑但既然画了最小系统板留一个磁珠的位置成本几乎为零后续做模拟采集时直接补上就行。2.2 时钟电路负载电容不是随便选的F407ZGT6的时钟源有三个选项内部HSI16MHz、外部HSE晶振、外部时钟信号。HSI精度只有1%左右USB通信、CAN通信、以太网这些对时序敏感的外设必须用HSE所以一个可靠的外部8MHz晶振是必须的。晶振电路看起来就三个元件但坑全在电容选值上。无源晶振有一个关键参数叫负载电容CL常见值是12pF、18pF、20pF。设计时焊在板上的两个电容C1、C2并不是简单等于CL而是要满足CL (C1 × C2) / (C1 C2) Cstray其中Cstray是PCB走线和引脚寄生电容通常估算3pF到5pF。假设你买的晶振规格是CL20pFCstray取4pF且C1C2C那么CL C/2 4 C 2 × (20 - 4) 32pF所以理论上两个匹配电容应该是33pF最接近的标称值。但实际工程里8MHz晶振配22pF电容也能起振只是频率可能略有偏差。我的建议是优先查看晶振数据手册的CL值按上面的公式计算再在33pF、27pF、22pF之间微调。如果手头没有数据手册、纯属“盲配”8MHz晶振配两个22pF电容是经过大量开发板验证的稳妥方案基本都能起振。提示晶振电路还有一个容易被忽略的点——晶振和两个负载电容必须尽可能靠近MCU的OSC_IN和OSC_OUT引脚走线要短且不要从晶振电路底下穿过其他数字信号线。晶振下面保持地平面完整不要走线这个习惯能帮你省掉很多EMI问题。LSE32.768kHz低速晶振不是最小系统的必须项只有用RTC实时时钟时才需要。如果板子上没放RTC电池座LSE可以先不画等需要时再加上。2.3 复位与BOOT配置启动顺序决定一切F407的复位引脚NRST是低电平有效内部有上拉但外部必须再接一个上拉电阻10kΩ到3.3V保证默认高电平。同时并在NRST和地之间放一个100nF电容滤除高频噪声防止误复位。这两个元件缺一个都不行上拉电阻丢了会导致系统随机复位电容丢了可能在电磁环境差的地方频繁死机。复位按键是可选的。如果板上空间允许建议放一个轻触按键一端接NRST、另一端接地按下时拉低复位。调试阶段这个按键非常有用程序跑飞了按一下就能复位不用反复插拔电源。BOOT0和BOOT1决定了芯片上电后从哪段存储区启动。F407有三种启动方式BOOT0BOOT1启动区域0x主闪存Flash正常模式10系统存储器串口ISP下载用11内部SRAM调试用正常运行时必须从主Flash启动所以BOOT0和BOOT1都要拉低。直接用10kΩ电阻下拉到地是最保险的做法不要悬空。悬空的引脚电平是不确定的如果恰好被外部噪声拉高上电后芯片进入ISP模式你的程序就“神秘失踪”了。BOOT0这个引脚我建议引出到排针上。日常用跳线帽接地正常模式需要串口升级固件时把跳线帽拔掉、接到3.3V复位一下就能进入ISP模式。这个设计在前期调试和后期维护时特别实用刷Bootloader都不用接调试器。2.4 调试接口SWD与JTAG学会做减法F407ZGT6支持SWD和JTAG两种调试方式。JTAG需要5根线而且占用引脚多SWD只要2根数据线加电源和地就能完成下载调试。现在市面上的ST-Link/V2、J-Link、DAP-Link全都支持SWD所以最小系统板完全没有必要做JTAG接口只留SWD四针即可。SWD接口的引脚定义是3V3、SWDIO、SWCLK、GND。SWDIO对应PA13SWCLK对应PA14。这两个引脚在原理图设计时要加上下拉电阻SWDIO上拉10kΩSWCLK下拉10kΩ。这是参考手册推荐的接法能防止调试器连接瞬间的电平抖动导致通信失败。实际工程里两个都接上拉也能用但不规范没必要赌这个运气。注意PA13、PA14、PA15、PB3、PB4这五个引脚在F407上默认是调试功能。如果你在程序里把它们配置成普通GPIO那么恭喜你下一次连接调试器大概率会报“No target connected”。解决办法是按住复位键再连接调试器趁芯片不运行的时候擦除Flash或者用BOOT0拉高进入ISP把Flash清了再连。这不是硬件设计错误但每个新手都会遇到提前打个预防针。另外SWD接口的GND不要只连一根细线最好在PCB上单独铺一小块铜皮给调试接口保证地电位一致。调试器连接不稳定很多时候不是程序问题而是地线接触不良。2.5 去耦电容与VCAP最少但最容易出错的部分去耦电容的原理我就不展开了直接说结论。F407ZGT6的LQFP144封装上有十几个VDD/VSS引脚对每个VDD引脚旁边必须放一个100nF陶瓷电容电容一端接VDD、另一端接最近的VSS过孔。这一排电容的作用是在高频状态下为芯片内部逻辑门的开关动作提供瞬态能量没有它们芯片在高速运行时电源电压会产生明显跌落轻则运行不稳定重则直接死机。去耦电容的摆放有讲究电容必须紧贴对应的VDD引脚走线尽可能短、尽可能宽最好从电容焊盘直接打过孔到地平面形成最短的回流路径。你可以在PCB布局时先把所有电容放在MCU四周的引脚旁边再逐个检查间距和走线。这个环节比较耗费耐心但直接决定电源质量。VCAP1和VCAP2是F407内部1.2V稳压器的输出引脚各接一个2.2μF电容到地。这里有个细节2.2μF不是随便选的太小会导致稳压器环路不稳定太大会延长上电建立时间。电容材质用X5R或X7R陶瓷电容耐压6.3V或10V就够。我见过有人用100nF代替芯片能工作但偶尔出现诡异死机也有人用10μF上电后芯片能跑但功耗异常偏高。所以老老实实按手册来2.2μF就是2.2μF。3. PCB布局布线LQFP144扇出与信号完整性实战3.1 双层板还是四层板别拍脑袋决定F407ZGT6是LQFP144封装20mm×20mm引脚间距0.5mm。这个封装的扇出密度很大但并非一定要四层板才能搞定。我做过的项目里纯数字逻辑的最小系统板用双层板跑168MHz也完全没问题关键看你外接了什么高速外设。我的建议分两种情况如果最小系统板只做核心板引出排针让用户扩展双层板完全够用。因为绝大多数引脚走的是低速信号只要保证地平面尽量完整、关键信号走线短、电源线加粗两层板完全可以稳定运行。如果你打算在板上集成USB高速、以太网PHY、SDRAM、DCMI摄像头接口这些东西那就老老实实上四层板。四层板的层叠结构是TOP信号层、GND完整地平面、3V3电源层、BOTTOM信号/铺铜。完整的参考平面能极大降低信号回流面积减少EMI辐射也让叠层间的阻抗更容易控制。四层板比双层板的成本高30元左右以嘉立创常规打样为例但对调试时间来说这点成本微不足道。如果你想一版成功我推荐直接上四层板在GND层挖空、电源层分割这些操作都更方便。3.2 布局顺序从电源入口到MCUPCB布局就像装修房子先定大件再填细节。我的习惯顺序是第一步固定接口位置。电源输入USB座或排针、SWD调试口、复位按键全部放在板边方便插拔和操作。SWD口尽量靠近MCU减少调试走线长度。第二步固定MCU位置。主控芯片放在板子中心偏上位置四周留出至少5mm空间给去耦电容和走线。LQFP144的体积大如果旁边有排针要预留排针焊接位置避免冲突。第三步布置电源电路。LDO靠近电源输入接口输入电容紧贴LDO输入引脚输出电容紧贴输出引脚。3.3V走线尽量短并且优先从LDO输出端向MCU方向走一条粗的主干道至少20mil建议35milMCU的每个电源引脚再通过去耦电容就近接入此主干道。第四步处理晶振电路。8MHz晶振和两个22pF电容放在MCU的OSC_INPH0和OSC_OUTPH1引脚旁边尽量减少走线长度。晶振下方不要有地平面被信号线切断这是确保起振稳定性的关键。32.768kHz晶振如果放了同理放在对应LSE引脚附近但优先级低于HSE晶振。第五步放置去耦电容。把MCU周围所有100nF电容逐个放到对应VDD引脚的正前方确保从MCU引脚出来先到电容再到地过孔。这个顺序很重要——如果电容在远处引线上串入了更多寄生电感去耦效果大打折扣。3.3 LQFP144的扇出策略LQFP144的四个边各有36个引脚间距0.5mm这个间距对PCB工艺来说并不恐怖设0.15mm的线宽和线距就能做真正考验的是扇出走线的规划。我的经验是0.5mm间距下焊盘宽度约0.27mm嘉立创封装库标准焊盘间隙只有0.23mm左右。如果用0.15mm6mil线宽从焊盘引出时线刚好能从两个焊盘之间穿过但你需要考虑过孔的位置。我的做法是内圈引脚直接向芯片外侧走线到附近的过孔外圈引脚可以向外直接打孔或走一小段再到过孔。过孔尽量放在引脚之间而不是焊盘正上方这样方便后续检查和返修。过孔尺寸选外径0.5mm、内径0.25mm比较平衡既能可靠过电流又不大到影响周围走线。信号过孔的电流容量足够。如果引脚扇出后与过孔太近导致焊盘被破坏可以将芯片方向旋转45度让引脚斜向扇出这是LQFP封装布线常用的进阶技巧新手可以先按常规方式来。扇出完成之后所有引出的信号走线尽量走在BOTTOM层或TOP层GND层保持完整。走线的顺序是先走电源和地再走高速信号USB、时钟最后是普通GPIO。GPIO之间没有顺序要求可以怎么顺怎么来这也是LQFP封装比BGA封装友好的地方。3.4 地平面与回流路径信号完整性不至于玄学很多人一听到信号完整性就头大觉得是玄学。其实落到最小系统板上核心就一句话所有信号电流都必须有一个回流路径而且回流的路径要尽量短、尽量贴着信号走线走。在四层板上GND层就是回流的“高速公路”。信号在TOP层走电流从驱动端流经负载后会从最近的GND过孔回到地平面再流回驱动端的GND引脚。如果这个回流路径被挖断或绕远路就形成了一个大环路天线轻则产生EMI辐射干扰周围电路重则信号质量劣化导致功能异常。落实到操作面上有几条硬性规则GND层在MCU芯片下方不要大面积挖空除非万不得已比如天线净空区信号过孔旁边尽量配一个GND过孔让回流电流能迅速切换层晶振、USB、时钟这些敏感信号下方不要走数字信号线双层板不能铺一个连续GND层所以要用“铺铜过孔成群”的方式把顶层和底层的GND区域用大量过孔缝合起来形成一个地网“过孔缝合”是双层板设计的救命稻草。你可以在板子边缘和MCU周围打一圈GND过孔间距约3~5mm把顶层和底层的GND铜皮连接起来减少上下层地电位差也降低环路面积。3.5 特殊信号处理USB与ADC参考如果最小系统板上加了USB-C或Micro-USB座F407的USB OTG FS引脚PA11/DM PA12/DP需要走差分线。虽然USB 2.0全速只有12Mbps频率不高但90Ω±10%的差分阻抗仍然推荐保持。PCB走线时D和D-尽量等长、并排走间距10mil左右长度控制在50mm以内就越短越好。如果板面积紧张稍微不对称问题也不大全速USB对差分偏移不敏感但要避免在走线途中打孔换层。如果板上引出了ADC引脚打算将来做模拟采集那VREF的处理就要上心。VREF是ADC的基准电压建议通过磁珠从3.3V隔离出来后端放100nF和10μF电容。如果追求精度也可以预留一个REF3030这类基准芯片的位置用跳线选择用内置基准还是外部基准。最小系统板不强制做这些但预留焊盘位成本为零后续想扩展就方便了。4. 打样与焊接调试从Gerber到点亮LED的实战记录4.1 Gerber输出与生产文件画完PCB、跑完DRC之后下一步就是输出生产文件。我用过Altium Designer和嘉立创EDA两者都支持RS-274X格式的Gerber文件。输出设置有几个关键点格式选RS-274XGerber X2精度选2:5即0.01mil分辨率绝大多数板厂都支持钻孔文件选Excellon格式单位用公制输出层勾选全部信号层、全部电源/地平面层、丝印层、阻焊层、助焊层、钻孔层如果是四层板GND和3V3层必须输出负片不需要现在的EDA工具都支持正片输出板厂能自动识别我用嘉立创打样比较多直接在“PC端客户端-一键下单”导入Gerber选择板厚1.6mm、铜厚1oz、表面处理选沉金费用几十块、交期2~3天效率很高。如果你是手工焊接表面处理选HASL喷锡就行成本更低但焊盘的平整度不如沉金。如果要贴片或者引脚间距很小0.5mm的LQFP144请直接选沉金喷锡焊盘不平整容易导致虚焊。提示出Gerber前一定把“用圆弧替代圆周插补”等选项设置好否则钻孔文件可能被板厂拒收或者孔位偏移。另外PCB边界的板框线必须在“Keep-Out Layer”层画闭合并且连接成封闭图形这决定了自动报价和开槽的正确性。4.2 焊接LQFP144手工也能焊但要注意节奏LQFP144的0.5mm引脚间距对新手来说有一定挑战但练习几次就能掌握。我最推荐的方法是拖焊法先把芯片对准PCB上的丝印框确保第一脚方向正确丝印上有圆点或斜角标记用烙铁加锡固定芯片对角线的两个引脚先让芯片“站住”然后沿着所有引脚方向用烙铁尖加松香焊锡丝沿着一排引脚快速拖过让焊锡自然润湿每个焊盘拖完再用松香洗板水清洗助焊剂残留用放大镜或手机微距检查有没有桥连如果发现引脚桥连可以用吸锡带配合松香把多余的锡吸走或者继续用烙铁加热加松香让焊锡自然分离。我个人的体会是拖焊时烙铁温度设在350℃左右焊锡丝选0.5mm直径含松香芯的过高的温度会把引脚和焊盘氧化导致焊锡不润湿。焊接前仔细检查一步LQFP144芯片第一脚标志要和PCB丝印一致装反了轻则无法下载重则烧毁芯片。我栽过一次跟头焊接时没看方向焊完连ST-Link直接没反应最后用热风枪拆下来重新焊才对。这一步真的不能省。4.3 上电调试顺序先量电压再烧程序焊接完成别急着上电先目测一遍所有引脚有没有桥连特别是VCAP和电源引脚附近。然后按以下顺序逐项调试第一步空载测电源。不要焊MCU先上电用万用表量LDO输出是否为3.3V。如果LDO输出异常偏高或偏低检查输入电源是否正常、LDO极性是否接反、输出电容是否焊好。这颗料比较容易因为引脚焊盘桥连导致短路上电后会发出明显热特征摸板子能感觉到。第二步焊上MCU后再测。正常上电后量几个关键测试点的电压每个VDD引脚附近的3.3V、VDDA的3.3V、VREF的3.3V以及VCAP1和VCAP2引脚的电压——这个应该在1.2V左右。如果VCAP电压为0优先检查2.2μF电容的封装和焊接如果VCAP电压异常低查一下这两个电容是否漏电或焊错位置。第三步检查晶振。可以用示波器探头点在OSC_OUT引脚上看8MHz波形但更简单的方法是用MCO引脚输出时钟信号。配置PA8为MCO选择HSE时钟输出用示波器看PA8上是否有8MHz波形。如果晶振没起振程序下进去也没反应排查方向是负载电容值、晶振是否虚焊、晶振是否贴反。第四步连接SWD。用ST-Link连接SWDIO、SWCLK、3V3、GND打开STM32CubeProgrammer或Keil MDK点击“Connect”。如果能读到芯片ID0x413说明核心电路基本OK可以开始点灯了。如果提示连接失败按前面说的降低SWD时钟速度到100kHz再试或者按住复位键连接。4.4 常见故障排查速查表汇总这些年做F407板子遇到的高频问题做成速查表方便你排障时对照故障现象可能原因排查方法上电后电流极大500mA电源短路、BGA/LQFP引脚桥连、LDO损坏断开USB用万用表测3.3V与GND间阻抗检查桥连部位3.3V电压为0LDO未工作、输入电源极性反、焊盘虚焊量LDO输入电压换一颗LDO验证VCAP电压为0VCAP电容未接、电容焊错、芯片虚焊补焊检查2.2μF电容位置芯片发热严重引脚桥连、VDDA/VDD接错红外测温找热点检查所有电源引脚晶振不起振负载电容不匹配、晶振虚焊、PCB走线过长换22pF电容补焊晶振用MCO验证SWD连接失败SWD引脚被复用、接线错误、BOOT0悬空拉高BOOT0按住复位连接擦除Flash程序不运行BOOT0为高、复位引脚被拉低、电源不稳检查BOOT0/BOOT1电平量NRST引脚上电正常但一运行就重启内部LDO异常、去耦电容不足、电源跌落检查VCAP电容检查VDD电容是否缺失这个表基本覆盖了新手阶段90%的问题。实在找不到原因时我的土办法是用热风枪把芯片拆下来重新再焊一遍。很多时候“疑难杂症”其实只是某个引脚虚焊重焊一次就解决了。4.5 关于PCB设计的几点补充经验除了常规布局布线这里有几点容易被忽略但影响很大的经验第一电源线和地线别用细线。3.3V主干道至少20milGND尽量不走细线而是直接铺铜。很多双层板跑得不稳定的根因是地线太细地电位在负载变化时产生较大噪声MCU的复位、ADC、通信全部跟着抽风。最小系统板上GND多边形会把所有GND引脚通过过孔连成一张网信号回流自然就通顺了。第二0.5mm引脚间距的LQFP焊盘建议把焊盘宽度设为0.3mm左右。如果焊盘太窄焊接容错率低太宽又容易桥连。嘉立创EDA的封装库参数是经过实际验证的直接用默认就可以不用自己调得太激进。第三把丝印信息写全。板上需要标注的丝印包括3.3V和GND的极性标记、SWD口的Pin1方向、USB座的VCC/GND标记、板号和版本号。等我再次拿到试产回来的板子如果丝印不清晰排障时会浪费很多无意义的时间。第四打过孔时注意过孔不要打在焊盘上除非做盘内置过孔否则焊接时焊锡会从过孔漏走造成空焊。过孔与焊盘的间距建议至少0.3mm。如果做LQFP封装扇出过孔不可避免会离焊盘很近那就把过孔放在焊盘连线外侧0.5mm以上保证安全距离。最后再分享一个小技巧在PCB底层留几个空的测试点Test Point把几个关键电压引出。打样回来后用万用表探针可以直接量测不用把示波器探头怼在芯片引脚上调试方便很多。这个习惯我后来一直保留不管是做最小系统还是复杂的四层板都很有用。F407ZGT6最小系统是我认为最值得焊一块的入门级ARM板。它不复杂但对电源、时钟、启动逻辑的理解要求是实打实的。把这块板子的每一道流程走一遍你基本就掌握了大部分MCU硬件设计的底层套路——后面再画双核处理器、FPGA、高速数模混合板底层逻辑都是相通的。如果你正在做这块板子遇到具体问题可以在评论区把现象和排查过程发出来大家一起看看。
返回列表