尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

从画板到工程:PCB设计背后的信号完整性与电磁兼容实战

从画板到工程:PCB设计背后的信号完整性与电磁兼容实战 1. 学生眼中的PCB设计和实际完全是两回事1.1 觉得PCB就是“画板子”是最大的认知偏差我在带过的实习生里做过一个小统计问他们PCB设计是什么十个人里有七八个会脱口而出“就是画板子嘛”。剩下两三个会补一句“用AD或者立创EDA把元器件拖进去连上线然后发给工厂打样”。你看问题就出在这儿——如果PCB设计真的只是“拖元件、连线、发板”那它根本撑不起一个岗位也不会有这么多工程师在这个领域里深耕十几年还要不断学新东西。这个认知偏差的根源其实在于大学课程体系。国内大多数电子类专业本科生阶段真正接触PCB的机会少得可怜。数字电路课讲逻辑门模拟电路课讲运放单片机课讲代码电磁场课讲麦克斯韦方程组每一门课都有自己的知识闭环但没有人告诉你这些知识最终是怎么“落”到一块实实在在的板子上的。偶尔有课程设计或者电子设计竞赛学生打开EDA工具照着参考设计连一连板子打回来能跑就觉得很成功了。至于这块板子为什么能跑、为什么某些地方要加宽走线、为什么地要铺成一片而不是拉一根线几乎没人深究。于是学生形成了一种印象PCB设计是个体力活是电路设计里最没有技术含量的一环。真正“厉害”的人应该去写代码、调算法、设计架构PCB嘛随便画画就行。但你真去问那些工作了五年以上的硬件工程师尤其是做过高速数字电路、做过电源、做过射频、做过EMC整改的人他们给你的回答一定是反过来的PCB设计是所有硬件知识的终极汇聚点是原理图到产品之间唯一一座桥。桥没搭好前面所有设计都是废纸。1.2 从“原理图能跑”到“板子能跑”中间隔着一整套工程学问我特别喜欢跟新人举一个例子你在原理图上放一个100nF的去耦电容把它接在芯片电源引脚和地之间在原理图里这就是一根线、一个符号。可是到了PCB上这颗电容不是“接在”电源和地之间而是要通过一段铜箔走线、两个焊盘、两个过孔才真正连到芯片的电源引脚。这段物理路径有多长、宽多少、走了哪一层、旁边有什么东西原理图完全不知道但板子上的芯片知道。一颗开关频率1MHz的DC-DC芯片它的输入电流是脉动的脉动电流流过电源走线走线有寄生电感电感上就会产生压降纹波。走线越长、越细寄生电感越大纹波越大。如果去耦电容离芯片引脚远了3毫米可能就会让纹波从10mV变成50mV。原理图上看不出来仿真也不一定看得出来因为很多仿真模型根本没提取寄生参数但示波器一夹就现原形。所以在真实的工程语境里PCB设计不是一个“把网表变成Gerber文件”的翻译过程而是一个把抽象电路模型还原成物理实体并且在这个还原过程中管理所有非理想因素的过程。铜箔有电阻过孔有电感介质有损耗相邻走线之间有耦合地层不是完美的零电位参考面——这些非理想因素才是PCB设计的真正研究对象。电子专业的学生之所以低估PCB设计本质上是因为他们的课程训练里几乎没有人把这些非理想因素端到台面上来。大家都活在理想器件的世界里电阻就是电阻导线就是导线地就是地。直到某一天你亲手做出来的板子明明原理图检查了无数遍、代码也调通了可上电就是不工作或者工作不稳定你才会第一次意识到原来PCB上的“导线”真的不是一根导线。2. 为什么说PCB设计是个复合难题2.1 电气设计之外热、机械、工艺、成本的多重约束很多学生以为PCB设计只需要考虑“电气上对不对”比如网络有没有连错、间距够不够。但真实的工程场景里电气只是最基础的约束之一甚至很多时候不是最难的那个约束。举一个最简单的例子——散热。一个功率MOS管在开关状态下损耗可能有1到2瓦如果PCB上不给它足够的铜箔面积散热结温直接飙到120度以上器件寿命急剧下降甚至当场烧毁。你原理图上标再大的散热焊盘都没用PCB上没有对应的铜皮和过孔阵列热量就是散不出去。所以PCB设计要懂热设计要知道多少瓦的损耗需要多少平方厘米的铜箔面积什么情况下需要加散热过孔什么情况下需要开窗露铜什么情况下必须上散热器。再说机械结构。板子的外形要能装进外壳连接器的位置要对准结构开孔电源模块的高度不能顶到挡板两侧的定位孔要和结构配合。这些看起来是“画板子”的活儿但实际是跟结构工程师反复拉扯出来的。一个连接器放偏了0.5毫米整块板子就装不进机箱。还有工艺和成本。设计规则里有最小线宽、最小间距、最小孔径这些是工厂生产能力决定的。你画一根4mil的走线工厂能做但它意味着更高的加工成本和更低的良率。4层板能做但6层板是不是更稳成本贵30%是不是值得这些取舍都是在PCB设计阶段就要决断的不是原理图阶段能解决的事更不是写代码的人会替你考虑的事。所以PCB设计是一个典型的“多目标优化”问题。电气性能要达标热要散得掉结构要装得上工艺要造得出成本要控得住。这五个目标很多情况下是互相冲突的你要在它们之间找到平衡点。这种权衡能力恰恰是学生时代最缺训练的地方。2.2 信号完整性高速时代才真正展开的隐藏关卡再说说“信号完整性”这个词很多人听着觉得玄乎其实拆开来看并不难理解。你发过一个快递吧从上海寄到北京包裹从揽收点到中转站再到派送点每一步都有延迟如果中途遇上爆仓包裹还会滞留。高速信号在PCB走线上的传播原理和这个非常像。一个数字信号从驱动端输出沿走线传到接收端它同样会经历延迟、畸变、反射。如果走线阻抗不匹配信号在末端会“弹回来”跟后面的信号叠在一起波形就乱了。这种问题在低频时代根本不存在的。比如你的电路只跑1MHz信号波长300米而PCB走线才几厘米长信号传播过程中的反射效应还没形成就已经稳定了。所以你可以把走线当成一根理想的导线随便拉都行。但是到了现在FPGA动不动跑200MHzDDR3/DDR4的时钟频率是800MHz甚至更高一个信号的上升沿可能只有几百皮秒。这时候走线的长度已经可以和信号的波长相比拟走线不再是一根“导线”而是一个“传输线”。传输线有特性阻抗有延时有串扰信号的完整性会受到阻抗匹配、拓扑结构、回流路径、层叠设计等多方面因素影响。这就是为什么出现了一个专门的岗位叫“SI工程师”也是为什么PCB设计面试题里信号完整性方面的内容是重灾区。我面试过不少应届生能说出“高速信号要走阻抗匹配”的人不少但追问一句“那你板子上的阻抗是多少怎么算的”一大半人就答不上来了。再追问一句“差分线为什么要求等长等长的误差范围是多少不等长会造成什么后果”能答得清楚的人就更少了。这些知识不是靠背定义就能会的它需要你对传输线理论有基本的理解还要结合具体的叠层结构和板材参数去实践。而这些东西几乎不在本科课程体系里。2.3 电磁兼容共模辐射的机理与抑制思路电磁兼容EMC是PCB设计里最折磨人的领域之一也是学生最没有概念的部分。因为EMC问题往往不是“能不能工作”的问题而是“能不能通过认证标准”的问题。板子功能完全正常但辐射超标被测试机构打回来这在真实项目里太常见了打过一次这样的败仗你就再也不敢小看PCB设计。在EMC的诸多课题里共模辐射是个特别典型的例子因为它跟你原理图画得对不对几乎无关纯粹是物理结构搞出来的事。我尽量用大白话讲一下共模辐射的机理。任何一块PCB上都有大量的高速信号在跳变这些信号需要一个“回路”回到源头。在理想模型里回路电流走的是地平面而地平面是零电位的所以外界感受不到电场变化。但在真实板子里地平面不是无限大的理想导体它上面有缝隙、有过孔打断、有分割还有从走线到地的寄生电容。当高速信号的回流电流被迫绕行时地平面上的电压分布就不再均匀整个地系统相对于外部环境就出现了一个高频率的“抖动”电位。问题是板子还要通过线缆跟外部设备相连线缆一端接在这个抖动的“地参考”上另一端接在外部环境的地上于是线缆就变成了一根巨大的天线把高频噪声辐射出去。这个过程里真正的辐射源不是PCB上的信号走线而是“走线回流路径外部线缆”共同形成的环路。所以抑制共模辐射的思路也就清晰了要么减小高频回流路径的阻抗让回流电流走你想让它走的路要么在源头控制信号的频谱能量比如放缓上升沿、加展频要么在线缆入口处加共模扼流圈和滤波电容把噪声在进入线缆之前就截住。这整套分析里用到的概念——回流路径、环路面积、地电位波动、共模电流、辐射天线模型——没有一个是你拉一根线就能自动避开的。它们全部藏在PCB的物理层里你必须主动去设计、去控制、去验证。这就是PCB设计真正体现功力地方你不仅要把电路画对你还要把物理场管理好。3. 一个典型的DCDC电路PCB设计藏着多少坑3.1 寄生参数如何毁掉一个“看起来没问题”的设计前面讲了一些比较宏观的概念现在落到具体案例上。我拿DCDC电路来说因为电源电路几乎是每个电子系统都绕不开的部分而且它的PCB设计踩坑概率极高特别适合用来展示PCB设计的真实复杂度。DCDC电路的核心开关节点上功率管以几十到几百kHz的频率高速开关输入电流是一段一段的脉冲波形。学过傅里叶变换的都知道这种脉冲波形含有丰富的高频谐波频率能达到几十MHz甚至上百MHz。而这一坨高频能量恰恰就走在PCB走线和功率回路上。很多人设计DCDC的PCB时有个误区觉得“电流越大走线越宽就行”。宽走线确实能降低直流电阻但高频下走线的关键参数不是电阻是电感。一条走线的寄生电感大约可以按每毫米1nH来估算这只是个粗略值具体跟走线宽度、铜厚、回流距离都有关。如果你的开关回路走线长50毫米那寄生电感就有50nH当开关电流在几十纳秒内从0跳到2A时这一小段电感上感应的电压尖峰就是VL×di/dt算出来有几十伏甚至上百伏。你的芯片耐压可能只有20V这一下就直接打穿了。我调试过一块板子返修电源芯片烧了三次原理图怎么查都没问题后来用示波器实测开关节点电压波形发现振铃幅度接近芯片绝对最大额定值。把布局改掉把功率回路从“绕一大圈”改成“极小面积闭环”同样的芯片同样的参数振铃直接降到原来的三分之一。从那以后我再也不敢说“电源电路很简单”这种话。3.2 环路面积、过孔、回流路径的实际影响DCDC的PCB设计里有个特别重要的目标功率回路的环路面积要尽量小。为什么因为环路就是天线面积越大辐射越强环路电感也越大电压尖峰越高。具体来说DCDC的高边MOS管导通时电流路径是输入电容→高边管→电感→负载高边管关断时电流路径是电感→负载→续流管或体二极管→电感。这两个电流环路在PCB上会反复切换。设计的目标是让这两条环路在物理上都尽可能短、尽可能窄。那就牵扯到布局的技巧输入电容要尽量贴着功率管的输入侧放中间不要隔过孔去绕一大圈高边管和低边管的源漏极要用短而宽的铜皮连接开关节点这个高频振铃源走线面积也不能铺得太大不然它就是一个大辐射体。再说说过孔。地过孔在高频电路里简直是“隐形杀手”。在学生画的板子里铺了个完整的地平面看似很完美结果回流电流要穿过地平面时被几个过孔硬生生挤到一条窄缝里绕路绕行的面积就是一个新的辐射环路。而这种问题原理图完全看不出来你只看连通性也看不出来必须去看回流路径。我自己有个检查习惯画完板子之后针对每一个高速信号或者功率开关回路把顶层和底层的走线、器件布局都抠出来在脑子里模拟一下电流从源到负载、再从负载回到源的完整路径。尤其是“回去”的路往往比送出去的路更容易埋雷。3.3 DCDC布局的几条实用原则根据我的实际经验给新人几条关于DCDC PCB设计的通用原则这几条放在绝大多数降压型DCDC上都适用哪怕你没有做过仿真先把这几条做到也能避开大部分坑。第一条输入电容必须紧贴芯片的VIN和GND引脚。注意是“紧贴”不是放在附近是尽量让电容焊盘和芯片引脚之间的走线长度不超过2到3毫米。如果放不下可以在同一层排尽量别用过孔换来换去因为过孔的寄生电感对高频纹波抑制是致命的。第二条功率回路的地要采用“开尔文接法”来采样。很多DCDC芯片都有反馈引脚或电流采样引脚这些引脚的地必须单独拉回IC的地焊盘不能直接接在功率地上的大电流路径上。否则负载变化时功率地上的压降会被反馈环路当成纹波放大轻则动态响应变差重则环路振荡。第三条电感底下要不要铺铜要分情况。有人说电感底下不能铺铜因为磁场会在铜箔里感应涡流发热也有人说要铺铜因为可以屏蔽磁场。其实要看是什么电感普通屏蔽电感或功率电感底下铺一块地铜反而有助于散热但要注意不能形成闭合的回路让磁力线切割出涡流开放式绕线电感底下就不要铺铜了让磁场散掉否则涡流既发热又损耗效率。具体可以看数据手册的布局建议。第四条反馈走线要远离开关节点。FB引脚的走线连接的是输出端的采样电阻这个信号很敏感如果从开关节点旁边路过每一帧开关振铃都会耦合到FB上输出电压就会出现小毛刺。布局时让FB走线走远离电感、远离SW节点的一侧并且用地铜或者GND走线在旁边做个保护。这四条每一条看着都不复杂但是把它们同时做到一块板子上需要你对整个电路的工作时序、电流路径、敏感信号分布有完整的理解。而这恰恰就是PCB设计真正的门槛所在。4. PCB设计注意事项那些只有动过手才懂的经验4.1 器件选型与封装细节一步错、步步错PCB设计不止是画线还牵扯到你选择的封装形式、焊盘尺寸、引脚间距这些看似机械的细节但它们对你的设计成败影响巨大。比如贴片电阻电容的封装从0402、0603到0805、1206不仅是尺寸差异还对应不同的额定功率和耐压。有些学生习惯一股脑全用0603结果大电流采样电阻发热严重焊盘都能融化锡膏也有学生选0402的高速信号串阻结果焊接困难贴片机良率也差。还有一个特别常见的坑是焊盘封装画错。学校里画原理图元件符号不对顶多是被老师扣分但PCB封装入库要是错了板子打回来器件的引脚跟焊盘对不上整批报废。这个问题在真实项目里出现过不止一次解决方案只有一个画封装时老老实实对着数据手册的推荐焊盘尺寸去画别凭感觉估。尤其是那些引脚密集的QFP、BGA差0.1毫米可能就歪了方向。在布局阶段还要考虑器件的可维护性。你所有的器件都贴到板子正面没问题但测试点如果全部堆在芯片底下调试的时候探针根本下不去。连接器如果放在板子边缘就要留出插拔操作的空间很多新人画的板子连接器离外壳边太近结果插头插不进去又得重新改版。这些经验听起来都不深奥但你要一个人把所有器件的数据手册翻一遍、把所有引脚尺寸核对一遍、把每个测试点都留好位置这个工作量本身就很大而且这些全是PCB设计分内的事。4.2 规则设置与仿真验证别让EDA工具背锅很多人觉得EDA工具是自动的规则设置了就能保证不出错仿真过了一遍就等于验证过了。实际上工具只是把你的约束翻译成图形它不会替你做工程决策。PCB设计里的设计规则Design Rules设定是个很讲究的事。线宽设多少、间距设多少不是越大越好也不是越小越好。设得太宽很多走线绕不开板子尺寸变大设得太小生产良率降低而且电气性能未必改善。在设计规则表里你要针对不同类型的网络设不同的规则电源网络可以宽一点信号网络按芯片的I/O标准来决定差分网络还需要单独设置等长约束。仿真这一块很多初学者更是一头雾水。有人以为仿真就是拿软件跑一遍就完事了其实电源完整性仿真、信号完整性仿真、EMC仿真各有各的建模方式各有各的边界条件设置。做PI仿真你要确定去耦网络的频段覆盖做SI仿真你要先确立驱动模型和接收模型的IBIS文件。这些前置工作没做好仿出来的东西参考价值非常有限。我自己给新人的建议是仿真要做但不要迷信仿真结果要把仿真当成“排查风险”的手段而不是“证明设计正确”的手段。仿真的意义在于提前暴露问题帮你缩小风险范围最终还是要以实测为准。调试时是示波器说话的地方。4.3 从学生思维到工程思维的转变聊到这里我觉得有必要总结一下电子专业学生低估PCB设计本质上是一种“学生思维”和“工程思维”的差异。学生思维里正确性是第一位的——电路原理正确、逻辑正确、代码正确然后“就应该能工作”。一旦不能工作就认为是“硬件问题”是别人PCB的问题。工程思维里没有哪个环节是“别人”的问题。原理图是你画的是吧那PCB布局就是你的问题PCB是你布的是吧那EMC过不了就是你的问题板子是你调试的是吧那找不出问题更是你的问题。这种“全链路责任”的意识恰恰是工程项目得以顺利推进的基础。我在工作中接触过很多学生和刚入职的新人他们往往对PCB设计有一种居高临下的轻视觉得这些“画板子的活”交给外包就行自己专注“高大上”的算法和架构才是正道。但真正做过完整项目的人都知道PCB设计是所有技术方案的物理载体是连接理论世界和物理世界的桥梁。你算法再巧妙、代码再优雅最终都得落到一块板上而这块板的设计质量直接决定了你的算法和代码能发挥出什么程度。很多公司招硬件工程师面试时特别爱问PCB相关的问题不是因为他们缺画板的人而是因为从PCB设计的思路能看出一个人对系统的理解深度。一个能把布局约束、回流路径、热设计、EMC这些维度统筹考虑的人他对电路系统的理解一定比那个只会照着参考设计连线的人高出几个层次。最后分享一点我个人的体会从我自己的经历来说我是从大三开始接触PCB的当时也跟大多数同学一样觉得这是一个没有什么技术含量的“体力活”。转折点是研究生阶段做的一块高速采集板那块板子第一次打样回来高速ADC的采样数据全是乱的。当时我怀疑代码、怀疑时钟、怀疑电源就是没怀疑PCB。折腾了两周最后用近场探头扫了一遍才发现根本原因是ADC模拟输入走线和数字时钟走线挨得太近串扰直接灌进了采样信号。那次经历彻底改变了我对PCB设计的看法。后来工作里做过电源、做过DDR、做过射频前端、也做过EMC整改每一个领域都让我更加确认一件事PCB设计不是一个孤立的技术领域它是几乎所有硬件技术知识的汇聚地。你今天掌握的每一条电路知识、每一个器件特性、每一段信号理论最终都要通过PCB设计这个环节变成实际产品。如果你现在还是学生我想跟你说的是别把PCB设计当成一件“需要的时候再学”的事。它值得你像对待数学、电路、信号系统一样认真去学。多画几块板子多调试几个问题多在示波器和频谱仪前面蹲几个晚上你收获的远远不止是“会画板子”这个技能而是一整套完整的硬件工程思维。换个角度说你现在越早正视PCB设计将来在硬件这条路上就会走得越稳、越远。
返回列表