讲句实在的,干硬件这行,没烧过几块板子都不好意思说自己入行了。我画PCB八年,从两层板一路做到16层HDI,经手的板子少说上百款。回头看看,那些让我半夜惊醒、被老板骂、被客户怼的时刻,全都是可以提前避免的。今天我不跟你讲理论,就把我这些年烧过的板子、赔过的钱、熬过的夜,掰开了揉碎了讲一遍。看完你至少能少花一万块冤枉钱,少熬两周没必要加的班。
第一坑:叠层没算就出Gerber,板厂电话把我骂醒
我第一次画四层板,年轻气盛。原理图导进来,拉完线,DRC跑一遍没报错,直接导出Gerber就丢给板厂了。
第二天板厂工程师打电话过来,语气相当客气:“卢工,你这个叠层结构不对,顶层到第二层的介质厚度只有3mil,我们压合不了。要么改叠层,要么加钱做特殊工艺。”
我当时就懵了。什么叫叠层?什么叫介质厚度?我照着网上教程画了半天,教程里压根没提这茬。
最后整板重新调整叠层,把信号层和地层之间拉开到4mil以上,重新走了一遍线。第一版打样费2000多块全部报废,交期延误了一周,被项目经理怼得脸都绿了。
从那以后我长了记性。画多层板之前,先发邮件问板厂要他们的叠层模板。正规板厂都会给你一个表格,每层用什么芯板、PP厚度多少、铜厚多少、介电常数多少,清清楚楚。你照着这个参数在PCB软件里设规则,再做阻抗计算。这一步省不得。
第二坑:DDR没做等长,样机跑起来随机死机
这个坑让我记忆犹新,因为查问题查了整整三天。
一块带DDR3的工控板,原理图对着原厂参考设计画的,自我感觉良好。Layout的时候知道要差分走线,但等长这件事,当时真心没重视。觉得线长差个几十mil能有什么影响?又不是跑几个G的信号。
样机贴回来,系统能启动,但随机死机。有时候十分钟就蓝屏,有时候撑半小时,有时候反复重启。一开始怀疑电源纹波,量了各路电压都正常。又怀疑软件驱动有问题,软件同事熬了两个通宵没找出bug。最后搬出示波器,一个一个脚量时序,才发现DDR3的时钟和数据线之间延时差了将近200ps,建立时间根本满足不了。
找到问题那一刻,既释然又想扇自己。就因为没有在PCB软件里设等长约束,让软件同事白加了两天班,自己查了三天,第一版样板费全打水漂。
后来改版,DDR走线全部设了±10mil的等长规则,差分时钟线单独包地,蛇形绕线严格等长。第二版回来一次点亮,跑了两周压力测试稳稳当当。
这里一定要记牢:DDR、LVDS、USB3.0、MIPI这些高速接口,先把等长、等距、阻抗的约束设好再拉线。你省的那点拉线时间,后面查问题会加倍还回来。
第三坑:去耦电容放太远,模拟采样跳得一塌糊涂
这个坑说大不大,说小不小,但最能体现PCB设计的细节功夫。
一个数据采集板,24位ADC,采传感器信号。原理图没问题,Layout也没报错,样机回来一测,ADC采出来的数据跳得跟心电图似的,最低位一直在抖。按理说这个ADC的噪声性能不至于这么差。
我先把电源换了,怀疑是开关电源纹波大,换成线性电源测,照样抖。又把输入信号短接到地,想看看是不是传感器那边带进来的噪声,结果短接到地了还在抖。最后用示波器探头点在ADC的电源引脚上,看到上面有一个明显的噪声尖峰,频率跟板子上的数字电路时钟一致。
顺着电源走线往回查,发现给ADC供电的去耦电容,被我在Layout的时候放在了芯片旁边大概两厘米的位置,中间还隔了两个过孔。两厘米听起来不长,但对于高频噪声来说,这段走线的寄生电感足够让去耦电容形同虚设。
后来改了Layout,把100nF的贴片电容紧贴着ADC电源引脚放,走线直接打孔到电源层,中间不超过2mm。改完再测,噪声直接降了将近20dB,数据稳如老狗。
所以这条一定要刻进脑子里:去耦电容离芯片引脚越近越好,走线越短越粗越好。别跟我当初一样,画板子图方便,电容随便摆,调起来生不如死。
第四坑:贴片厂钢网没对好,BGA连焊一大片
这个坑直接让我赔了三千多块。
一块用BGA封装的FPGA板,打样贴片的时候,我把Gerber和BOM丢给贴片厂,没多交代一句就等着收货。结果板子拿回来,上电短路,一摸FPGA附近烫得能煎鸡蛋。
X光一照,好家伙,BGA下面锡球连焊一大片,短路得结结实实。问题出在哪?我没给贴片厂钢网开孔要求。厂里按默认工艺开的钢网,孔径偏大,锡膏量太多,BGA一过回流焊就塌连了。
那批样板全废,返工重做又花了三千多。后来跟贴片厂老工程师聊,人家说BGA间距小于0.8mm的,钢网厚度要减到0.1mm以下,开孔要做成方形倒圆角,而且开孔面积要缩到焊盘面积的80%左右。这些参数你不提,没人替你操心。
从那以后,特殊封装的板子,我一定提前跟贴片厂对一遍DFM。钢网多厚、开孔尺寸、要不要阶梯钢网,白纸黑字确认。别嫌麻烦,这几分钟沟通能省你好几千。
第五坑:认证做到一半发现布局不行,整板重来
最后说个最贵的坑。给客户做一款出口欧洲的消费电子品,需要过CE认证,里面有无线模块。
我做Layout的时候把无线模块放得离电源模块很近,觉得板子面积小,紧凑点挺好。样机功能跑通了,送去做CE的辐射发射测试。结果30MHz到200MHz这一段,超标将近10dB,怎么整改都压不下去。加了屏蔽罩、绕了磁环、换了各种共模电感,勉强降了5dB,还是超标。
最后请了一位EMC老专家来看,人家扫了一眼板子就说:“你把无线模块和DC-DC电源面对面放着,开关噪声直接耦合到天线上,什么屏蔽都没用。”
改板。无线模块挪到板子另一边,中间用地平面隔开,DC-DC区域单独包地加屏蔽罩。第二版送测,辐射发射降了15dB,一次性通过。
这一趟折腾下来,改板费、打样费、重新认证费,加上延误的上市时间,前前后后损失将近十万块。从那以后,Layout之前我一定先规划好分区:高速区、电源区、模拟区、射频区,每个区域之间用地隔离,互不侵犯。
新手避坑总结,记住这五句话
上面这些坑,每个都是我用真金白银换来的。总结成五句话,你画板子之前默念一遍:
去耦电容紧贴芯片引脚放,走线越短越好。
高速信号等长约束先设好再拉线,别指望回来再调。
多层板叠层结构先跟板厂确认,别自己瞎蒙。
特殊封装提前跟贴片厂对DFM,钢网参数写清楚。
Layout之前规划好功能分区,高速、电源、模拟、射频各归各位。
从哪开始学,我走过的最短路
经常有新人问我怎么学PCB设计。说实话,培训班教的那点东西,离真正干活差得远。我自己走过最有效的路就三步:
第一步,挑一款软件死磕。推荐立创EDA,免费好用,元件库也全。把画原理图、建库、Layout、出Gerber这整套流程跑通。
第二步,抄板。去网上找开源硬件的PCB文件,树莓派、Arduino这些,下载下来一层一层看人家怎么布局、怎么走线。看懂了不算会,自己重新画一遍,发去打样,回来自己焊、自己调,跑通了才算真会。
第三步,边做项目边补理论。信号完整性那本《高速数字设计》是经典,但别指望通读一遍就懂。做一个高速板,遇到问题了翻书查,理解比硬啃深十倍。
画过的板子越多,踩的坑越多,手越稳。这句话我跟很多人都说过,今天再说一遍。PCB设计没有捷径,但有弯路可以避开。希望你看完这篇文章,能比我少烧几块板子,少加几宿班。
其他相关文章:

全部评论