ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

两个月从抄板到四层板:嵌入式硬件自学与PCB设计实战

两个月从抄板到四层板:嵌入式硬件自学与PCB设计实战 大一暑假我把自己关在宿舍里整整两个月从连原理图符号都认不全的状态硬生生啃到可以独立画一块带盲埋孔的四层板。全过程绕不开三件事嵌入式硬件学习的路线规划、一块块廉价开发板的“抄板”练习以及那个让我终于把PCB设计每个环节都看明白的宝藏UP主。这篇文章不写鸡汤把我这六十天的实操路径、工具清单、踩坑记录全摊开讲尤其是最后找到的那位UP主他讲的PCB设计是我目前在B站见过最透彻的没有之一。现在的大学圈子里一说到嵌入式就默认是写代码STM32点灯、FreeRTOS跑任务、Linux驱动移植硬件顶多拿现成的核心板插一插。可一旦要把东西做成能用的产品你就会发现硬件才是兜底的那条命。信号一抖、电源纹波一大、板子一发热代码写得再花哨都是白搭。所以这个暑假我决定反着来先跳进硬件这个“脏水池”用最笨的抄板方法起步在拆解、描图、仿制的循环里把PCB设计的底层逻辑摸透。1. 动手之前先搭框架嵌入式硬件到底怎么学1.1 被绝大多数教程忽略的硬件学习路线网上一搜嵌入式硬件学习路线跳出来的基本都是“数电模电→单片机→PCB设计→EMC”看起来特别对但执行起来完全不是那么回事。数电模电随便一本教材就七八百页等你看完暑假早结束了而且你还是不知道一块板子上的电阻电容到底该选多大。我走了完全不同的路线从最小系统板抄起。所谓最小系统板就是一个单片机芯片加上复位电路、晶振、电源滤波、Boot配置电阻这已经覆盖了嵌入式硬件最核心的电源、时钟、复位三大基本功。我直接买了几块十几块的STM32F103C8T6核心板和一块USB转串口小板不看书先拿万用表量、拿放大镜看、照着描原理图。这条路线才是真正的高效路径因为你看的是别人已经调通、能跑的实际设计而不是教材里理想化的原理图。1.2 抄板不是抄袭是逆向拆解很多人一听“抄板”就觉得是恶心事这完全是误解。学生阶段的抄板本质是“测绘反向学习法”——拿着实物反向推导设计意图和读书时抄写经典范文练文笔一样是学习手段不是商业目的。我做抄板练习的时候目标非常明确看懂每一颗料为什么在这里、每一个过孔为什么这么打、每一寸走线为什么这么绕。等我自己画PCB的时候才发现只有亲手描过十来块不同的板子才会形成“这个位置该放退耦电容”这种肌肉记忆般的直觉。抄板学习的三个层次我总结下来是第一层抄外观照着原板的位置摆放器件连丝印都一比一复制这是最浅的层次只能练软件操作。第二层抄网络把每个网络的连接关系捋清楚知道U1的第3脚为什么连到R2的一端这时候你开始懂电路了。第三层抄思想看懂分层、分区、阻抗、环路、热设计这些看不见的东西这才是抄板真正的价值。大多数人卡在第一层和第二层之间因为PCB设计背后那套物理和电磁的玩意儿不点破根本看不到。1.3 硬件工程师的“看图识字”阶段必备工具刚开始抄板别一上来就买几万块的示波器先用最基础的工具把“识字”阶段过了再说。我的全套装备加起来不到三百块便携式数字万用表一块用来量通断、测电阻电容值。带LED灯珠的放大镜PCB上丝印小字全靠它。手机微距镜头拍照记录器件丝印和走线方向。游标卡尺量封装尺寸、定位孔坐标、板子外形。一台装了立创EDA和Allegro的电脑前者画原理图快后者用来进阶。这套装备已经足够支撑你抄完十块板子。抄板的核心产出不是PCB文件本身而是你脑子里建立起来的那个“器件-封装-网络-布局”的映射关系。2. 抄板实操全记录从一块USB转串口小板开始2.1 我选的第一块抄板对象为什么是它抄板最怕一上来就拆手机主板通孔、盲孔、埋孔、BGA、射频走线全搅在一起神仙也看不明白。我挑的第一块板子是CH340G方案的USB转串口小板网上十几块钱包邮特点极其鲜明芯片是SOP-16封装引脚间距大用放大镜和万用表就能理清全部网络。外围器件少只有晶振、去耦电容、几个限流电阻和一个自恢复保险丝。电源简单USB的5V直接进芯片内部LDO稳压到3.3V。这种板子原理图两三页就画完了但麻雀虽小五脏俱全。你把它的电源路径、时钟路径、信号路径都摸透了再去抄ESP32模组底板那种稍复杂的板思路就会清晰得多。2.2 完整抄板流程拍照、描网络、画原理图、画PCB整套流程我跑了好几遍才稳定下来步骤是这样的拿到板子先整体拍照正反两面各一张尽量垂直拍减少透视变形。用放大镜从电源入口开始顺着走线找到每一个器件用万用表的蜂鸣档逐个确认网络连接关系。打开立创EDA先画原理图。这一步最关键不是照着原板连线而是要把原板每个器件的连接关系抽象成标准的原理图符号和网络标号。原理图画完对照原板实物逐脚核对一遍确认无误后开始画PCB。PCB布局尽量还原原板然后把走线按原板方向重新连一遍遇到原板走线绕得不明不白的地方停下来思考这是为了过孔间距、阻抗匹配还是其他考虑。这五步走完一块小板子大概需要一天时间。第一次做的时候最痛苦因为CH340G每个引脚的作用你得去翻数据手册但这个过程本身就是极大的收获。2.3 抄板时最容易忽略的三个细节第一个细节是晶振下面那一片地。原板在晶振正下方挖空了所有层的铜皮我第一版抄板没注意直接把地铜皮铺满了结果串口通信偶尔丢包。后来反复对比原板才发现晶振下方的覆铜会引入寄生电容改变振荡频率的稳定性。第二个细节是USB信号线的等长处理。虽然USB Full Speed对等长要求没那么苛刻但原板在D和D-上做了轻微的蛇形绕线补偿高速信号设计的基本原则从低速率板卡就开始养成习惯了。第三个细节是去耦电容的位置。抄板的几次经历让我总结出一个规律每个电源引脚旁边的0.1uF电容一定紧贴着引脚放置过孔打在电容外侧而不是电容和芯片之间。这个摆放逻辑我在后面学到PDN电源分配网络理论时才算真正理解。2.4 从两层板到四层板抄板难度逐级跳变USB转串口板抄完之后我开始挑战四层板。这里要特别说一句两层板的抄板思路和四层板完全不是一个物种。两层板所有网络都在表面走线你用万用表慢慢量就能全部摸清但四层板中间有完整的电源层和地层大量网络通过过孔直接打在焊盘上连接到内层你根本没法用万用表直接量出连接路径。这个阶段你必须学会看叠层。四层板最常见的叠层方案是顶层信号、地层、电源层、底层信号信号走线参考相邻平面层回流。抄板的时候我做的事情变成先确认哪一层是地、哪一层是电源再有意识地观察哪些高速信号线下方是连续的地平面哪些地方被分割了。看懂这些后我意识到自己已经从“照着画线”升级到了“对着平面层思考回路”的阶段这个转变是我整个暑假最重要的分水岭。3. 那位宝藏UP主把PCB设计讲透到底意味着什么3.1 我是怎么找到他的抄完几块板子后我陷入了一个瓶颈两层板能抄四层板能抄但脑子里全是“别人怎么画我就怎么画”的惯性遇到没人可抄的高密度板时我完全不知道从何下手。当时我开始频繁搜PCB设计相关的关键词想搞清楚过孔怎么选、叠层怎么定、BGA怎么出线。然后我在一次搜索铝合金PCB设计教程的时候刷到了一个UP主标题大概是“从叠层到制造手把手告诉你一块四层板是怎么诞生的”。点进去之后整整看了两个小时没停下来。这位UP主不是那种念PPT的学院派他应该是真正在PCB工厂和设计端都干过的人能把制造工艺、信号完整性和软件操作融在一起讲。3.2 他讲透的第一件事叠层设计不是选个模板就完事网上大部分PCB教程讲到叠层就是一句话四层板用GND-POWER六层板用SIG-GND-PWR-SIG。这位UP主的讲法完全不一样他从“参考平面”和“回流路径”的物理本质讲起把叠层掰开揉碎讲清楚了。他用了一个特别好的类比信号走线不是孤立的电流管道而是和它下方的参考平面共同构成的一条传输线。信号电流从驱动端流出沿走线到达接收端再从接收端通过参考平面回流到驱动端。如果参考平面不完整——比如中间被一条电源分割槽切断——回流电流就得绕道环路面积变大辐射和串扰随之而来。这句话我记到现在。它解释了我抄板时看到的几乎所有怪现象为什么地平面要尽量完整、为什么不允许走线跨分割、为什么电源层和地层要紧耦合。在B站能有人把这种级别的知识讲明白真的不多见。3.3 他讲透的第二件事盲埋孔不是用来炫技的当时我对盲埋孔的理解仅限于“高密度板才会用”直到看他的视频才意识到盲埋孔的本质是解决“信号换层”时的过孔残桩问题。他给了一个非常直观的解释普通的通孔从顶层贯穿到底层对于连接内层走线的信号来说通孔剩下的那一段没有连接任何东西的孔壁铜皮就是一根“残桩”。频率高了之后残桩会变成一个谐振天线严重影响信号质量。盲孔只连接相邻层埋孔藏在板子内部两者都能显著降低残桩长度这个设计方法在Allegro PCB设计中被大量用于高层数、高密度板的信号换层。当时我看到他操作Allegro里设置盲埋孔的那一段一口气把工具里的盲埋孔配置、Drill Pair、物理约束全弄明白了。顺带说一句他推荐的学习路径也对我帮助特别大先用两层板把所有基础功练扎实再上四层板学叠层和阻抗最后才碰盲埋孔和HDI设计。这个路径和我暑假的抄板路线完美吻合强烈建议新手按这个顺序走。3.4 他讲透的第三件事电源设计才是板子的心脏另一个让我醍醐灌顶的系列是他讲的电源PCB设计指南。他说的一句话我原样抄在了本子上数字电路算的是时序裕量电源电路算的是噪声预算。很多刚学PCB设计的人包括当时我拿到一块板子就急着摆逻辑芯片电源部分随手找个LDO或者DC-DC芯片按数据手册抄个典型电路就完事。这位UP主花了整整三期视频讲一个Buck电路在PCB上的布局布线输入电容要靠近芯片的VIN和GND引脚电感走线要短而粗反馈走线要远离电感下方的开关节点输出电容的地要单独回流到芯片地。他提到的每一个点我都在自己的抄板对象上找到了对应的例子有的板子电源输入端的电容离芯片很远纹波就大有的板子反馈线贴着电感走输出电压就漂。看完视频再回看那些板子我像是戴上了一副新的眼镜。3.5 关于这位UP主的定位我说点客观评价先说清楚我不是在打广告也没有恰饭纯粹是一个自学的学生视角的评价。这位UP主的内容确实适合有基础的人在需要进阶的时候看那种零基础连电阻色环都认不全的观众看他视频大概率会睡过去。他的视频节奏偏快几乎没有废话每一句话都是知识点建议像我一样倍速循环播放一次没听懂就再听一次。评论区也有很多资深工程师在讨论能从他们的讨论里捡到不少书本上没有的经验。4. 进阶实践Allegro盲埋孔设计与高速信号要点4.1 用Allegro做盲埋孔设计的上手体验前面说了我一开始用的工具是立创EDA非常适合创客和初学者。但当你开始做四层以上、带BGA的高密度板时就会发现立创EDA的心有余而力不足。暑假后半段我花了一周时间切到Allegro。Allegro PCB Designer是目前行业内高速板和复杂板设计的主流工具它的约束管理器是我见过最强的。但从立创EDA切过来学习曲线极其陡峭界面老、命令繁琐、快捷键全靠记忆。我上手盲埋孔设计时步骤是这样的在约束管理器里新建物理规则和间距规则分别命名为BLIND_VIA和BURIED_VIA。在Setup下的Constraint Modes里启用Blind/Buried Vias选项。定义Drill Pair以8层板为例常见组合是L1-L2盲孔、L2-L7埋孔、L7-L8盲孔还有L1-L8通孔。布局布线时按ShiftF5切换走线层按实际需要在焊盘上打相应的盲埋孔。盲埋孔的设置看一遍视频自己再操作几遍基本就能上手但真正的难点在于设计层的规划你要预先决定哪些网络穿越哪些层再反推钻孔组合这个能力只能靠经验积累。4.2 盲埋孔选型的参数逻辑盲埋孔不是随便选的它和PCB制造商的工艺能力强相关。大部分普通板厂的机械钻孔极限是0.2mm激光钻孔可以做到0.1mm甚至更低但价格也翻几倍。我做设计时通常按这个逻辑来选常规信号换层用通孔成本最低工艺最成熟。需要从BGA焊盘下方出线时优先用L1-L2的盲孔把表层走线释放到内层。内层走线之间的换层用埋孔避免占用外层空间。所有盲埋孔都用来降低残桩长度、释放布线通道而不是为了“显得高级”。电源板或者低速控制板我反而建议老老实实全部用通孔盲埋孔除了增加成本外毫无意义。4.3 阻抗设计与信号完整性的早期介入刚开始学PCB设计的人很容易忽略阻抗觉得只要线连上就行。等你开始跑高速接口比如USB 2.0以上的差分信号、DDR内存总线、千兆以太网阻抗不匹配会让波形反射到完全没法看。Allegro里做阻抗设计主要靠叠层设置和线宽控制。UP主在视频里给过一个非常实用的工程参考FR4板材常规1.6mm板厚四层板叠层表层单端50欧姆走线一般在6到7mil线宽但具体值强烈依赖板材参数和叠层厚度必须用计算工具或找板厂要阻抗模板。我做DDR布线练习的时候他的一句话点醒了我DDR等长不是线长等长是延迟等长。因为内层走线的传播速度比表层慢同物理长度的内层走线延迟反而更大在做绕线补偿时要根据走线所在层换算。4.4 为什么要防抄板从抄板到反抄板的换位思考抄板抄了两个多月我突然想到一个问题厂商做了那么复杂的布局难道不怕被人抄吗查了一圈资料才明白低速板上抄板确实容易但到了高速复杂板单纯的抄板只能抄到表面连接关系抄不到叠层、阻抗、材料参数这些核心设计。这也是为什么很多产品在硬件设计之外还会加防抄板加密芯片比如SMEC98SP这种。它本质上是一个带密钥存储和认证算法的安全芯片主控MCU在启动时通过I2C或单总线与它通信如果认证不通过固件就不往下执行。站在学习者角度我觉得反而不该把钻研方向放在怎么破解别人的加密上而是应该把抄板当作理解设计思想的手段把精力花在真正掌握原理、能做正向设计上。能画出自己的四层板、处理好信号完整性比模仿一百块板子都管用。5. 遇到过的坑与排查实录5.1 抄板时丝印方向和实物不一致连错网络第二块抄的板子是个温湿度传感器模块原板上有几个电阻的丝印方向和其他板子不一样我按丝印方向去对应实物结果把两个电阻的位置搞反了。后来养成一个习惯抄板时以实物网络关系为准丝印只作为参考除非你能确认丝印方向代表器件的1脚方位。这个经验在返修二手板时特别有用很多批量产品在后期改版时丝印没更新但实际电路已经改了完全按丝印抄必翻车。5.2 去耦电容摆放不佳导致的随机复位我自己画的第一块可以跑STM32最小系统的两层板在外部中断频繁触发时出现随机复位。用万用表查了半天没有任何网络错误后来发现芯片本身的VDD和VDDA引脚离得太远我没在整个供电路径上放足够多的去耦电容导致电源噪声在高速翻转时触发掉电复位。加了两颗100nF电容分别靠近VDD和VDDA之后问题消失。从那以后画任何板子我先把电源引脚的电容摆好再考虑信号走线。5.3 忽略过孔载流能力导致电源发热这是抄一块电机驱动板时发现的。原板电源通路上的过孔特别多我开始以为是冗余设计后来一查过孔载流能力取决于孔壁铜厚和孔径周长一个0.3mm孔径的过孔大概只能通过1A不到的电流。驱动板大电流路径上用多个过孔并联是为了让电流分摊避免单个过孔过载发热。我自己的板子后来在电源路径上用了3个0.5mm的过孔并联实测发热明显好于单孔方案。5.4 常见问题速查表现象可能原因排查方向板子能上电但MCU不跑复位电路异常、晶振负载电容不匹配量NRST电平换晶振电容串口乱码晶振频率不对、信号回流路径过长检查晶振参数USB差分线等长电压跌落严重去耦不足、走线过细、过孔太少加电容、加宽走线、并联过孔高速信号眼图闭合阻抗不连续、参考平面断裂检查叠层设置避免跨分割板子局部发热严重过孔载流不足、铜皮宽度不够核算电流密度加过孔和铜皮电磁干扰测试不过环路面积大、屏蔽接地不良优化回流路径加屏蔽和滤波6. 给同样在暑假自学硬件的人几条建议6.1 抄板起步可以但必须做正向设计收尾我的核心观点是抄板只是入门的拐杖绝不能当成终点。抄完十块板子你掌握了足够的“词汇量”接下来必须做正向设计哪怕是个最简单的单片机系统也从头自己选型、自己画原理图、自己布局布线、自己打样焊接。只有当你真正为一个需求选择芯片、计算电源余量、确定叠层方案的时候那些抄板积累的感性认识才会转化成一个嵌入式硬件工程师的理性能力。6.2 找准一位讲得透的人跟着吃透一个工具网上各种“10分钟学会PCB设计”的视频多如牛毛但它们教的只是按钮在哪不是设计方法。与其东一榔头西一棒子不如找一位真正吃透原理的UP主或老师把他的系列视频从头到尾反复看。工具上我建议新手先从立创EDA或KiCad起步把PADS转接线的时间省下来等进入四层板和高速信号阶段再切Allegro或Cadence系列工具选型和PCB设计能力是两码事但核心原理一通则百通。6.3 硬件学习没有捷径但有加速器这个加速器就是手里始终有一块真实的板子。如果我当时只在软件里画原理图从不拿去打样焊接我可能到现在还分不清虚焊和冷焊的区别。只有把你的设计变成实物的那一刻错误才会以焦糊味、乱码、发热的形式向你呈现。每次失败都是最值钱的教学我暑假烧掉的那块电机驱动板、被我反复焊接焊盘脱落的传感器小板它们教的比任何教程都多。最后再分享一个小技巧。抄板的时候我习惯给每块板子建一个文件夹里面放原板照片、原理图、PCB文件、走线笔记和心得。两个月下来积累了十多个这样的文件夹它们成了我最宝贵的个人设计案例库。遇到不熟悉的电路先翻自己的案例库比去网上漫无目的搜效率高得多。这个习惯我从暑假一直用到现在越积越厚越用越顺。
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进