
1. 为什么搞硬件的迟早都要啃下信号完整性这本硬骨头先说个我自己的经历。早年做嵌入式画个STM32核心板、跑个SPI外设觉得PCB设计不过就是拉线、铺铜、打过孔只要连通性没错板子回来就能跑。直到有一次做一块带LAN8720的以太网板RMII接口的时钟频率其实只有50MHz按我当时的理解这种速度根本不用操心什么阻抗匹配、走线等长。结果板子回来之后通信时好时坏ping包丢得离谱用示波器一抓时钟信号边沿全是过冲和振铃数据线之间的串扰直接把接收端搞懵了。那次排错排了整整三天最后发现罪魁祸首就是两个地方一是RX_CLK走线绕了远路和TX_EN平行走了将近4厘米二是底层参考平面被一条电源走线拦腰截断导致信号回流路径被迫绕了一个大圈。这事之后我才真正意识到所谓低速数字电路不用关心信号完整性根本是个伪命题问题不在频率高低而在信号边沿的上升时间。从那以后我就养成了一个习惯但凡画板子不管主板还是小板都会被《电路设计、仿真与PCB设计——从模拟电路、数字电路、射频电路、控制电路到信号完整性分析》这本书里提过的问题过一遍脑子回流路径是否连续、阻抗是否匹配、串扰是否可控。这本书第2版我翻了很多遍几乎每个章节都能对应上一次踩坑的经历。今天想借这篇内容把我在实际项目里验证过的电路设计、仿真流程和PCB设计经验串起来聊聊。重点不是复述书里的目录而是把我用过、踩过、改过的东西拿出来说透尤其是从模拟、数字、射频到信号完整性这条完整链路为什么仿真工具不能省、SI仿真到底在看什么、以及那些文档里不会写的工程细节。适合正在画板子但总觉得心里没底的朋友也适合想系统补一遍硬件基本功的嵌入式工程师。2. 从一块板子看电路设计的闭环原理、仿真、PCB、验证缺一不可2.1 电路设计不是画原理图连网线这么简单很多初学者有个误解觉得电路设计就是打开OrCAD或者KiCad从库里拖几个元件把引脚连起来然后一键生成网表事情就结束了。真正到了项目里你会发现原理图只是设计意图的载体真正的设计工作发生在画原理图之前你要先搞明白每个器件的工作条件、接口电平、时序关系、功耗预算、去耦策略然后才谈得上怎么连线。举个最简单的例子MCU的电源引脚去耦电容。教科书上说每个电源引脚放一个0.1uF电容很多人就这么照做了。但实际高速设计里0.1uF电容的谐振频率大约在十几MHz到几十MHz之间对更高频的噪声根本不起作用。所以我在实际项目里通常按照大小搭配、跨数量级去耦的原则来做每个电源引脚放一个0.1uF陶瓷电容芯片周围再均匀布置几个1uF甚至10uF的电容必要时还要在PCB板级入口处放一个钽电容或者聚合物电容稳住低频波动。这个思路在书里关于电源完整性的章节有很系统的阐述核心就是电容不是放得越多越好而是要在目标阻抗的约束下放到该放的位置。再说一个常见问题数字芯片的I/O引脚直接驱动LED或者小继电器很多人图省事不做限流或者不加续流二极管。继电器是感性负载断开瞬间会产生很高的反向电动势如果不加续流二极管轻则复位重启重则直接打坏驱动管。这种问题用仿真软件很难完全模拟出来因为模型里不会自动包含寄生参数所以你必须在原理图设计阶段就有意识地预留保护器件的位置。这也是为什么我一直强调电路设计的第一步永远是理解器件和数据手册其次才是工具操作。2.2 仿真不是可有可无的加分项而是帮你把隐患提前引爆我见过不少工程师画完原理图直接就开始画PCB觉得仿真浪费时间。但如果你做的电路涉及开关电源、RF前端、高速接口或者要求比较严格的模拟前端不做仿真基本等于盲人摸象。以开关电源为例Buck电路的环路稳定性是出了名的难调。你当然可以在板子回来之后反复换补偿网络的电阻电容一边调一边用示波器看负载阶跃响应但这样做耗时费力不说还容易在调试过程中把MOS管烧掉。如果在设计阶段就搭一个环路仿真把功率级、补偿网络、PWM调制器的传递函数跑一遍看相位裕度和增益裕度是否达标那板子回来之后基本就是一次通过。我自己常用的仿真路径是这样的模拟小信号电路用LTspice胜在免费、模型全、收敛性好射频电路用ADS或者Qucs-S做S参数和匹配网络仿真数字信号完整性和电源完整性则用HyperLynx或者SiSoft如果只是做原理验证LTspice加Qucs的组合基本够用。对于书里重点讲解的电路仿真部分我的体会是仿真最重要的价值不是预测绝对精度而是让你在设计早期发现拓扑选错了偏置点不对环路不稳定这类方向性问题。方向对了剩下的就是参数微调。2.3 从仿真结果到PCB Layout之间的翻译能力仿真做完了拿到了波形、相位裕度、S参数下一步怎么把这些结论转化成PCB设计规则这一步是很多人断层的环节也是我强烈建议看《电路设计、仿真与PCB设计——从模拟电路、数字电路、射频电路、控制电路到信号完整性分析第2版》的重要原因。书里不是只讲理论公式而是把仿真发现了什么和Layout应该怎么改之间的关系解释得很清楚。举一个具体例子你在仿真里发现某条高速信号线的反射比较严重回波损耗在某个频点掉得很难看。仿真软件会告诉你这条线需要做阻抗控制目标阻抗50欧姆。但是到了PCB Layout阶段你要做的事情就变成了通过叠层计算工具确定走线宽度、计算介质厚度、选择参考平面、控制走线长度、避免跨分割。这中间涉及的计算和权衡就是翻译能力。我习惯的做法是在开始Layout之前先把整块板子的叠层定下来。四层板还是两层板信号层和参考平面怎么分配介质用FR4还是高端的Megtron板材的介电常数、损耗角正切直接决定了阻抗控制的精度和高速信号的传输损耗。对于1Gbps以下的信号FR4加常规公差就够了到了PCIe Gen3或者10Gbps以太网就必须考虑损耗、玻纤编织效应这些更细的问题。这些问题仿真工具会在后台帮你算但你必须理解背后的物理意义才能在Layout阶段做出正确取舍。3. 四类电路的仿真工具选型与实操流程照着做就能跑通3.1 模拟电路LTspice入门到实战的几个关键设置模拟电路仿真我始终推荐LTspice原因很直白免费、跨平台、文档全、模型多而且收敛性比很多商业软件都稳定。你不需要花几万块买许可就能完成绝大多数运放、晶体管、二极管、无源网络的仿真任务。第一次用LTspice的人最容易栽在两个地方。一个是模型路径设置LTspice默认不去读你自定义的库文件你得在Control Panel里面把Lib路径加进去否则一跑就报Unknown subcircuit。另一个是仿真速度设置很多人直接点Run结果波形窗口里什么都没有或者波形怪异其实是步长和停止时间设置不合理。我常用的做法是先点Simulation - Edit Simulation Cmd把Stop Time设为合适值再勾选Start external DC solve帮助收敛如果还报错就适当增大Gmin或者减小Reltol但注意精度会损失。做运放电路仿真时一定要把直流工作点先看清楚。很多人在交流扫频之前不看Operating Point结果运放根本不在线性区扫出来的幅频特性完全是错的。我的习惯是每次仿真先跑一遍.op查看各个节点的直流电压和支路电流确认晶体管或者运放工作点正常再跑.ac或者.tran。这个习惯在《电路设计、仿真与PCB设计》的模拟电路章节里被反复强调我自己的经验是仿真结果不对的时候90%的可能是工作点不对而不是模型或者参数不对。3.2 数字电路与逻辑仿真功能正确只是起点时序才是命门数字电路的仿真分两个层次功能仿真和时序仿真。功能仿真只关心逻辑对不对比如一个计数器能不能按照预期翻转一个状态机能不能正确跳转。这个层次用Verilog或者VHDL的仿真器就能搞定比如ModelSim、Vivado自带的仿真器甚至开源的Icarus Verilog都能胜任。但到了工程实际真正让你睡不着觉的是时序问题。建立时间和保持时间是否满足时钟偏斜会不会导致采样错误异步信号跨时钟域时会不会出现亚稳态这些问题在纯功能仿真里是看不见的必须做带时序信息的门级仿真或者用STA静态时序分析工具去检查。书里数字电路部分讲得很到位的一点是数字电路不只是0和1的逻辑它归根结底是在时间约束下的模拟电路。这个认知转换非常重要能帮你把数字设计的重心从写代码转向约束和时序收敛。我实际做FPGA或者MCU外围逻辑时时序分析的思路是先确定时钟频率和关键路径的时序预算然后在综合约束文件里明确输入延迟、输出延迟、时钟不确定性跑完综合和布局布线之后再去看时序报告。如果出现时序违例优先检查是不是组合逻辑层级太深或者扇出太大导致走线延迟增加然后再考虑插入流水线寄存器或者优化关键路径逻辑结构。这些内容看起来是数字设计的范畴但最终都要落到PCB的时钟走线、终端匹配和信号完整性上环环相扣。3.3 射频电路S参数、Smith圆图和匹配网络是三大支柱射频电路是很多人一看就头大的领域因为它的分析手段和低频电路完全不同。低频电路你看电压和电流射频电路你主要看功率、S参数和反射系数。核心问题变成信号从端口A进去有多少从端口B出来又有多少反射回端口A这就要用S参数来描述。做射频匹配的时候Smith圆图几乎是绕不开的工具。你可以在纸上画也可以借助ADS、Qucs-S或者Smith Chart工具软件。我的经验是新手不需要一开始就深刻理解Smith圆图的每一个刻度先把串电感沿等电阻圆顺时针移动并电容沿等电导圆逆时针移动这些基本操作练熟然后对照S11参数反复调试很快就能建立直觉。举一个我在2.4GHz无线模块调试中经常用到的例子天线端口的阻抗如果偏离50欧姆反射就会变大发射功率得不到有效辐射。要解决这个问题先测量天线在实际环境中的输入阻抗然后在Smith圆图上规划匹配网络。如果阻抗偏容性就串联一个电感往上拉如果偏感性就并联一个电容往下调。每加一个元件仿真一次S11直到在目标频段内S11低于-10dB甚至-15dB以下。这个过程看起来繁琐但熟练之后十几分钟就能完成而且比盲目的抄参考设计可靠得多。书里射频章节最值得反复读的是它对为什么50欧姆这个问题的解释以及对传输线、微带线、共面波导等结构特性的梳理。理解了这些基础你才看得懂为何射频PCB的走线宽度、参考平面、过孔位置都那么讲究也才能做出真正可用的射频电路而不是仅仅画了个样子。3.4 控制电路从传递函数到PID参数的仿真闭环控制电路这块我的理解是它横跨模拟和数字采样、调理、驱动属于模拟层面PID算法、状态观测、逻辑保护属于数字层面。仿真在这个领域的价值不只是验证某个电路能不能工作而是帮你整定控制参数避免在真实系统上反复试错。举一个温控系统的例子。热电偶或者NTC采集温度经过运放放大、ADC采样MCU跑PID算法然后输出PWM驱动加热器。这个系统你如果直接上实物调PID一次实验可能要等十几分钟才能看到温度稳定效率极低。但如果你用MATLAB/Simulink或者Python控制库先建立一个被控对象模型把温箱或者加热块的热惯性、时间常数、滞后特性都建模进去然后在仿真环境里整定PID参数看阶跃响应的超调量、调节时间和稳态误差那到了实机调试阶段基本只需要微调就能收敛。我在实际项目里仿真控制系统的流程是第一步建立被控对象的简化模型通常是一阶惯性加纯延迟第二步在Simulink或者Python中搭闭环用Ziegler-Nichols方法或者基于仿真优化的方式获取初始PID参数第三步把仿真中获得的参数烧进MCU实测响应曲线再根据实测结果反过来修正模型参数。如此迭代两三轮模型和实物就能对齐得很好。这套方法论在书里的控制电路章节有相当详细的展开核心思想就是先建模、后仿真、再实调而不是跳过前两步直接上设备瞎试。4. 信号完整性分析那些把板子逼疯的隐性问题怎么用仿真提前揪出来4.1 反射、串扰、地弹SI问题的三大元凶你必须搞懂的物理本质信号完整性Signal IntegritySI说白了就是研究信号在传输过程中是否保持了应有的质量。板子上的互连线、过孔、连接器、封装引脚在高速下不再是理想的零电阻导线而是一段段具有特征阻抗的传输线。当传输线的特征阻抗和源端、负载端的阻抗不一致时信号就会发生反射。反射的直观表现就是波形上的过冲、下冲、振铃严重时会让接收端误判逻辑电平。串扰则更隐蔽。两条走线靠得足够近时一条线上的信号变化会通过互容和互感耦合到另一条线上。受害线上可能本身走得好好的却被旁边的 aggressor 线硬生生带出了噪声毛刺。我调试LAN8720丢包问题时数据线之间的串扰就是元凶之一好在通过拉大间距、加入地线隔离才解决。地弹Ground Bounce发生在大量IO同时翻转时电流突变在电源和地回路上产生电压波动。你可能会在GND网络测到峰峰值几百毫伏甚至更高的噪声而这部分噪声会直接叠加到所有以GND为参考的信号上。要解决地弹核心手段是减小回流电感多用过孔连接地层、增大电源和地的平面面积、在芯片电源引脚附近放足够的去耦电容。这些手段用一句话概括就是给高频回流电流提供一条低阻抗的回家路理解了这句话很多SI问题都能迎刃而解。4.2 传输线理论落地阻抗控制、端接匹配和拓扑结构仿真SI问题第一步永远是建立正确的传输线模型。你需要知道这段走线的特征阻抗是多少这取决于线宽、铜厚、介质厚度和介电常数。线宽越宽阻抗越低介质越厚阻抗越高铜厚越厚阻抗越低。四层板的典型层叠结构里表层50欧姆微带线在FR4、1.6mm板厚、1oz铜的情况下线宽大概在8到10mil之间内层带状线的线宽要更窄一些。具体数值最好用阻抗计算工具如Polar SI9000或Saturn PCB Toolkit来算不要拍脑袋。阻抗不连续的地方就是反射源。过孔因为焊盘、反焊盘和stub的存在特征阻抗和走线不一致连接器的引脚也有寄生效应的突变走线宽度变化的拐角也会有轻微的不连续。所以做高速布线时基本原则是保持阻抗连续、减少不必要的结构突变。如果必须换层就在过孔旁边加一个回流地过孔给信号电流提供连续的回流路径。如果确有必要跨分割也要在跨越处加缝合电容或者允许信号在参考平面之间耦合。端接匹配有三种常见方式源端串联匹配、接收端并联匹配、以及AC端接。源端串联匹配最省电在驱动器输出端串一个和传输线阻抗等值的电阻可以吸收一次反射接收端并联匹配匹配效果最彻底但直流功耗大AC端接则通过在并联电阻基础上串电容来阻断直流。具体选哪种要看驱动能力、功耗预算和信号速率。在仿真里你可以把三种方式都试一遍观察接收端波形再做取舍这是仿真最有价值的地方之一。4.3 用HyperLynx跑一遍DDR或以太网信号的实际操作步骤我在实际项目中用得最多的SI仿真工具是HyperLynx兼顾原理图前仿真和PCB后仿真。以DDR3或者以太网PHY的信号为例具体流程大致是这样的第一步导入PCB文件设定层叠和材料参数包括每层的厚度、介电常数、损耗角正切。层叠设错后面全错。第二步选中要仿真的网络提取传输线模型。工具会根据实际走线长度、宽度、间距自动生成分布式模型你不需要手动画传输线。第三步给驱动器分配IBIS模型给接收端分配对应的IBIS模型。IBIS模型可以从芯片厂商官网下载实在找不到也可以用软件自带的generic模型代替但精度会打折扣。第四步设置仿真参数比如激励信号的上升时间、频率、端接方式。这里要特别注意上升时间它比时钟频率更能决定SI问题严重程度。一个上升沿1ns的信号即使频率只有50MHz也可能因为走线过长而产生明显的反射。第五步运行仿真查看接收端波形、眼图和S参数。如果波形振铃超过逻辑门限眼图裕量不足就要回头调整走线参数或者端接方案。这套流程我跑过很多遍每次都能发现至少一到两个肉眼根本看不出来的问题。尤其是DDR这类总线几十根信号同时翻转地弹和串扰叠加后的波形惨不忍睹不仿真纯靠经验布线大概率要返工。4.4 电源完整性PI为什么和信号完整性强绑定很多人以为SI是SIPI是PI各管各的。但实际上它们强耦合。芯片供电电压的波动会直接影响IO驱动器的输出电平从而恶化信号质量。高速翻转时芯片在瞬间抽取大电流如果电源路径的阻抗过高就会产生明显的电压跌落这就是目标阻抗Target Impedance理论的由来。目标阻抗的计算公式是目标阻抗 允许的纹波电压 / 瞬态电流。举个例子如果芯片供电是3.3V允许5%的纹波也就是165mV瞬态电流是1A那目标阻抗就是165毫欧。你的电源分配网络PDN在全频段内的阻抗都要尽量低于这个值。PDN阻抗仿真可以借助HyperLynx PI或者PowerSI把电源/地平面的叠层、过孔、去耦电容模型导入计算谐振频率和阻抗曲线。如果某个频点出现阻抗尖峰就要通过添加合理容值的去耦电容来压低该频点阻抗。每次画板子之前先跑一遍PDN阻抗曲线然后在对应谐振频点布置电容是我做高速板的一个固定动作。电容的容值不是越大越好因为实际电容还有等效串联电感ESL大容量电容的谐振频率往往更低。所以去耦电容的选型原则是小电容贴芯片近、大电容分布在板上更外围对应不同的去耦频段。书里关于电源完整性和信号完整性相互关系的分析我强烈建议大家多读几遍真正能帮你把板子的可靠性提升一个级别。5. PCB Layout实操经验从叠层设计到布线的完整避坑记录5.1 叠层设计四层板还是六层板怎么选才不后悔叠层是整个PCB设计的根基。层数选少了布线空间不够信号完整性和电磁兼容都难保证层数选多了成本上去了板厚和加工难度也变大。我的选择思路通常是这样的如果信号最高速率在100MHz以下、板子面积适中、布线密度不算高四层板足够层叠方案是信号-地-电源-信号或者地-信号-信号-电源关键是让每个信号层都有一个完整的参考平面相邻。如果板上存在DDR3/DDR4、千兆以太网、PCIe这类接口我基本直接选六层板层叠方案常用信号-地-信号-电源-地-信号核心信号层都紧邻地层保证回流路径最短也方便控制阻抗。这里有个细节电源层和信号层之间最好隔一个地层否则信号回流电流可能被迫在电源层和地层之间选择导致回路面积增大。对于做射频的板子层叠设计还要额外考虑介质损耗、铜箔粗糙度、阻焊层对阻抗的影响。高频板材如Rogers系列和FR4混压时要注意两种材料的热膨胀系数差异避免板子过回流焊后变形或者分层。这些问题在设计初期就要和PCB板厂沟通清楚不要等投板前才想起来。5.2 布局和布线时钟线、差分对、高速信号线该怎么伺候布局布线是PCB设计里最耗时也最见功力的部分。我的核心原则是先布局后布线先高速后低速先时钟后数据。高速信号的器件要尽量靠近连接器或者CPU走线要短、直、少打过孔。时钟信号要远离模拟电路和复位电路并且最好用地线包住减少对外辐射和受扰。差分对的布线是另一个高频考点。以太网的TX±、USB的D/D-、RS485的A/B都是差分信号。差分对的两条线必须等长、等宽、间距恒定这样才能保证差分阻抗稳定共模噪声才能被有效抑制。实际布线时我会在差分对周围留出足够的间距避免和其他信号平行走线同时在换层处放置地过孔保证回流连续。等长补偿通常采用在远端弯曲蛇形线的方式但蛇形线的间距至少要大于3倍线宽否则线间耦合反而会恶化信号。高速单端信号比如DDR的地址线、控制线除了做阻抗控制还要注意走线长度匹配。DDR总线要求地址线和时钟线保持一定的时序关系所以通常要做等长处理。等长不是简单的长度一样而是要考虑电气长度——走线经过过孔和不同层时信号速度略有差异所以有时还要对过孔长度和层间介质做补偿。这一步在仿真软件里可以直接计算但手工布线时也需要有个基本概念表层走线的信号传播速度大约是内层的1.2倍左右差得多了就会产生时序偏移。5.3 回流路径被无数人忽略却最容易翻车的隐形杀手回流路径是我最想强调的一个概念几乎每个SI问题的背后都能追溯到回流路径不连续。信号向前流动时必然有一个等量反向的电流沿回流路径流回驱动器。这个回流电流最喜欢沿着信号走线的正下方参考平面流动因为那里回路面积最小、电感最低。如果你把参考平面切开了一条缝回流电流就不得不绕道而行回路面积成倍增大辐射和串扰立刻恶化。我见过一个很典型的案例有人画了一块板为了节省空间把一条电源走线直接从地层中间穿过结果地层被分成了两半。表面上电源是通了但所有穿越这条缝隙的信号线都成了受害者。之前那块LAN8720板子丢包的原因之一正在于此。所以每次布局前我都会先检查一遍地平面有没有被切得支离破碎电源走线尽量放在表层不要为了省事直接在中层开槽。如果实在无法避免跨分割一定要在跨越点旁边加一个缝合电容stitching capacitor提供一个高频回流通道。缝合电容一般用0.1uF或者0.01uF的陶瓷电容紧贴跨分割处放置。虽然不如完整的参考平面好但至少比没有强。这个方法在书里的信号完整性章节也有提到可以作为正式设计中的补救措施。5.4 投板前的检查清单我每次都要过一遍的10个细节每次投板前我都会把下面这份清单过一遍看起来琐碎但几乎每次都帮我逮到过问题。检查所有IC的去耦电容是否就近放置在电源引脚旁边走线先到电容再到IC引脚而不是先从电源走线拉一条细线到电容再绕回去。检查每个电源域是否都有足够多的过孔连接电源层和表层电源引脚过孔数量至少两个以上避免单过孔电流瓶颈。检查高速信号的参考平面是否完整有没有被过孔、开槽、其他走线切碎。检查差分对是否等长、等距换层处是否有回流地过孔。检查时钟信号是否包裹地线是否远离敏感模拟区域。检查晶振底下的地平面是否挖空避免晶振信号耦合到地层形成天线效应同时晶振周围要加地孔包围。检查所有散热焊盘如LDO、MOS管的散热PAD是否打了足够多的过孔过孔是否开窗露铜以辅助散热。检查丝印是否清晰可读不会遮住焊盘和走线版本号是否正确。检查定位孔和拼板V割是否预留和结构壳体的干涉是否确认过。最后再跑一遍DRC确认没有间距违例、未连接引脚、孤岛铜皮。这些细节每一条都是拿真实返工换来的教训。尤其是第一条很多初学者把去耦电容放在离引脚很远的地方效果大打折扣甚至在仿真里能看出明显的电源纹波恶化。6. 书中方法论和实战经验的衔接怎么把一本书读成一套设计习惯6.1 从仿真到实物的一致性为什么仿真说好实物还会翻车很多人仿真跑得很好一到实物就翻车然后得出结论仿真没用。其实绝大多数情况是仿真模型和实物环境不一致而不是仿真这个方法本身有问题。比如你在仿真里用了理想的电源模型而实物里电源本身带了很大的输出纹波或者你在仿真里没有建模连接器、线束、排针的寄生参数再或者你仿真时用的IBIS模型版本不对。我现在的习惯是每一项仿真至少做一次模型可信度验证。比如用LTspice仿真一个分压电路就先把直流工作点算出来和万用表实测值对比误差在5%以内才继续下一步。对于SI仿真也会先用TDR或者示波器测量实际走线的阻抗和波形和仿真结果做对照确认模型参数和真实板材一致。这样一轮下来你对仿真结果的信心就会高很多也更能信任工具给出的优化方向。书里第2版在很多章节末尾都加入了工程经验提示这类内容把仿真和实物的差异点得很透。我当时读到仿真精度受限于模型准确性而不是求解器能力这句话时深有感触。模型不好再高级的求解器也是垃圾进垃圾出。6.2 常见电路设计错误Top 5每一个我都真实栽过这几类设计错误我基本都在项目里遇到过列出来给大家避坑。第一类是电源去耦不足或者位置不对。表现为芯片附近纹波超标或者系统偶尔莫名复位。解决思路在前面说过多容值组合、就近放置、注意回流路径。第二类是IO引脚直接驱动感性负载比如继电器、电机、电磁阀没有续流保护。表现为系统复位、IO损坏甚至板子烧穿。解决方法是加续流二极管或者TVS管并在驱动管附近放吸收电容。第三类是高速信号的源端和终端不匹配导致振铃严重。表现为通信偶尔出错、误码率偏高。解决方法是加串阻或者端接电阻并在仿真里通过眼图验证。第四类是热设计不足。表现为MOS管或者LDO温度飙升性能漂移甚至烧毁。解决方法是扩大散热铜箔面积、打过孔阵列、加散热片或风扇以及预留温度监控。第五类是地线处理不当比如把模拟地数字地一刀切分开又在某处单点相连结果回流路径被破坏。解决方法是先保证完整的参考平面再在需要隔离的地方用磁珠或0欧电阻桥接而不是盲目分割。这五类错误在书里都有对应的案例分析我在读的时候很有代入感因为这些案例几乎就是我自己的踩坑过程。建议大家读的时候不要跳着看案例每个案例都值得对号入座。6.3 端口、滤波和防护电路模拟与数字交界处的几手绝活模拟和数字交界处的设计最考验基本功。ADC前端调理电路、比较器输入保护、通信接口的EMC防护这些接口处理好了系统就稳定处理不好就是疑难杂症。我给自己的接口设计定了几条默认规则。模拟信号进入ADC之前先经过RC低通滤波器滤除带外噪声和高频干扰同时用运放做阻抗变换和电平搬移保证ADC输入在最佳共模范围。数字接口比如RS485、CAN一定加TVS管和共模电感TVS管放在连接器入口处把浪涌和ESD掐在第一道关口。电源入口则是一级TVS加保险丝再加共模电感然后才是DC-DC或者LDO这样的三级防护架构在很多工业产品上都是标配。这些内容不止是电路设计问题也直接关系到PCB布局接口防护器件要尽量靠近连接器滤波器件要靠近被保护芯片。信号从连接器进入先过防护再滤波然后才是芯片顺序不能搞反。如果你把TVS放在芯片旁边那浪涌电流会先流过长长的PCB走线走线上的寄生电感会形成很高的尖峰电压TVS反而起不到最好的保护作用。6.4 不断进化才能不掉队从动手做项目开始这本书第2版相对第1版增加了很多关于高速设计、射频仿真和信号完整性实战的内容但书只能给你地图路还是要自己走。我的建议是看完一章就做一个与之对应的小项目。比如看完模拟电路章节就自己搭一个运放放大电路一边仿真一边实测看完信号完整性章节就找一块DDR或者以太网板子把仿真流程完整跑一遍看完射频章节就做一个2.4G天线匹配实验。项目不需要很大但一定要完整走完设计-仿真-Layout-制板-调试这个闭环。只有亲手做过一遍你才会明白为什么阻抗控制那么重要为什么回流路径不能断为什么去耦电容要贴着芯片放。这些体会是靠看书看不出来的必须在项目里被实际教训过才能长记性。而当你重新翻开这本书时那些之前似懂非懂的文字就会变成你脑子里一套清晰的设计直觉。