内容简介
本书从设计实践的角度出发,重点围绕电源电路设计、信号完整性设计、DDRx SDRAM存储器应用与设计等几个方面,详细介绍在工作过程中需要掌握的各项技术,并结合具体案例,强化了设计要点。本书避开纯理论的讲述和复杂公式的推导,结合设计实例,用通俗易懂的语言将复杂的高速电路设计介绍给读者。本书在写作方式上,采用了很多自问自答式的分析,坚持了从原理出发分析问题的理念,并结合案例,希望以浅显易懂的语言,使读者知其然并知其所以然。
目录
第1章 电路设计概述 1
1.1 对信号链路的理解 1
1.1.1 对正确建立信号传输链路的理解 1
【案例1.1】 信息传输的过程,以及该过程对信号的要求 1
1.1.2 对信号是否可能产生明显波形畸变的理解 4
【案例1.2】 比较两个周期频率相同的信号 4
【案例1.3】 信号边沿是影响信号传输的唯一重要的参数吗? 8
【案例1.4】 USB 2.0差分对是否一定需要阻抗控制 12
【案例1.5】 周期频率对信号质量没有任何影响吗? 12
1.2 为什么时钟信号比数据信号更重要 13
1.3 关注温度、湿度等因素对电路特性的影响 15
1.3.1 湿度的影响及其实例 15
【案例1.6】 在电子产品测试中与湿度有关的问题 15
【案例1.7】 存储环境潮湿导致元器件失效 18
1.3.2 温度的影响及其实例 19
【案例1.8】 低温下电子设备启动异常 19
1.4 关注元器件参数偏差对电路设计的影响 25
1.4.1 元器件参数值的偏差 25
1.4.2 正态分布 25
1.4.3 评估参数偏差对电路设计的影响 26
..................
第3章 信号完整性设计 198
【案例3.1】 仅依赖信号时域信息,导致故障调试方向错误 198
3.1 低速电路高速化 198
【案例3.2】 带有多个从设备的SPI总线遇到的传输故障 199
3.2 对高速信号传输有影响的因素 200
3.3 时钟是最重要的 201
3.4 噪声对电路的影响 201
3.5 DC(直流)耦合和AC(交流)耦合 203
3.5.1 DC耦合和AC耦合的对比 203
3.5.2 AC耦合只能用于直流平衡的场合 204
3.5.3 对AC耦合电路中接收端直流偏置的处理 204
3.5.4 对高速链路上AC耦合电容的处理 205
3.5.5 AC耦合电容摆放的位置 205
3.5.6 电容的寄生感性分析及其对AC耦合电容工作特性的影响 207
【案例3.3】 对电容滤波能力的错误理解 207
3.6 阻抗 208
3.6.1 传输线阻抗参数的影响因素 209
3.6.2 过孔阻抗参数的影响因素 209
【案例3.4】 高速差分对换层过孔处存在的阻抗突变问题 209
3.6.3 阻抗设计需充分考虑生产的影响和要求 210
3.6.4 阻抗设计需充分考虑设计的具体情况和要求 211
3.6.5 阻抗设计需充分考虑连接器的影响 212
3.6.6 总结 213
3.7 PCB板材 213
3.7.1 PCB板材的Dk和Df参数 213
3.7.2 PCB和信号损耗 215
【案例3.5】 PCB损耗参数是连接芯片损耗裕量和PCB走线长度要求的桥梁 215
【案例3.6】 高速电路PCB设计中铜箔粗糙度的确定 216
3.7.3 PCB板材的玻纤效应 217
3.7.4 PCB板材的玻璃转化温度Tg 218
3.7.5 高速电路PCB板材的选择 218
3.7.6 新PCB板材的验证 219
3.8 串扰 220
3.8.1 理解串扰 220
3.8.2 减小串扰 223
【案例3.7】 由连接器导致的差分对信号串扰 224
3.9 一个发送端、多个接收端的设计 226
3.9.1 两个案例 226
【案例3.8】 JTAG接口无法访问的问题 226
【案例3.9】 电路板无法启动的故障分析 227
3.9.2 菊花链拓扑结构 228
【案例3.10】 在菊花链拓扑结构中,哪个位置的负载芯片信号质量最好? 230
3.9.3 T型拓扑结构 231
【案例3.11】 对DDR3 SDRAM T型拓扑结构的分析 232
3.9.4 基于案例分析菊花链拓扑结构和T型拓扑结构 235
【案例3.12】 对高速差分对信号一驱二的设计分析 235
3.10 5Gbps及以上速率的高速电路设计 238
3.10.1 高速串行差分传输技术 239
3.10.2 高速串行接口的均衡技术与案例分析 242
【案例3.13】 通过改善FFE参数值解决链路传输问题 245
【案例3.14】 10Gbps信号眼图的优化与分析 245
【案例3.15】 高速接口低温测试出错的故障解决与分析 246
【案例3.16】 动态配置的CTLE,还是固定的CTLE? 247
【案例3.17】 比较两种应用场景下的DFE参数值 249
3.10.3 5Gbps以上高速电路调试技巧 251
【案例3.18】 25Gbps差分对抖动偏大的故障调试 253
3.10.4 5Gbps以上高速电路的验证 257
3.11 眼图和眼图测量 258
【案例3.19】 信号眼图分析 260
3.12 关于仿真 260
【案例3.20】 盲目套用设计指南导致的设计问题 264
【案例3.21】 时序仿真和实测结果存在较大偏差 266
【案例3.22】 对比仿真时芯片参数的设置和电路工作时芯片参数的设置 268
【案例3.23】 一个仿真通过而实测不通过的例子 271
................
【案例5.6】 五片DRAM芯片采用T型拓扑布线应注意的问题 347
【案例5.7】 若干片DRAM芯片采用Fly By拓扑布线应注意的问题 349
5.3.4 CLK差分对的信号质量优化 352
【案例5.8】 分析两个设计中CCOMP电容的不同处理方式 353
5.3.5 DDR3、DDR4 SDRAM布线设计要求 353
【案例5.9】 DDR4 SDRAM无法以最高设计速率运行的原因 357
【案例5.10】 电路长时间运行时遇到的偶发性错误 357
【案例5.11】 设计评审时发现的关于绕线等长的问题 359
【案例5.12】 DRAM的PCB设计中出现的过孔阵列问题 360
5.3.6 等长和等延时 361
5.4 信号质量、时序分析及其实例解析 361
5.4.1 地址控制信号的时序和信号质量分析 362
【案例5.13】 2400Mbps速率的DDR4 SDRAM的地址信号时序测量 363
5.4.2 差分对时钟信号的信号质量分析 367
5.4.3 数据信号的信号质量分析(眼图分析) 369
参考文献
前言/序言
《高速电路设计进阶》是我写作的第二本书,距离我写作第一本书《高速电路设计实践》已有15年了。得益于这15年间从事大量高复杂度产品设计获得的经验,得益于在产品设计中对大量故障问题的深度复盘与思考,得益于最近若干年与众多企业、研究所进行的技术评审合作和技术交流,我对产品设计中常见的故障、工程师在设计中容易出现的错误有了更广泛的了解。这些经历为写作本书提供了巨大的帮助。
在内容上,本书与《高速电路设计实践》没有任何重复,也没有前后接续关系。
本书秉承用浅显易懂的方式,把复杂的问题讲清楚的写作原则,不罗列设计指南,着重讲述问题的原理和分析。无论信号完整性设计,还是电源电路设计,它们最核心的技术原理,都可以用工程师容易理解的方式来阐述。
在从事技术工作的过程中,我深刻地体会到,以知其然并知其所以然的研究态度,从原理出发,才能在设计、调试、测试的过程中,少走弯路,高效成功。
举一个故障调试的例子。
某数据通信设备,在通信机房工作的过程中遇到了接口芯片损坏的问题。该芯片损坏的引脚能够承受的最高电压为20V。令人疑惑的是,测试团队构造了多种冲击,均无法在该引脚上测得超过20V的冲击电压;另一个令人疑惑的是,在用户接口和接口芯片之间,已经放有钳位电压低于20V的TVS,而从现场故障上看,接口芯片被打坏,而TVS仍旧是好的。
对这个问题,我们若是仅从表面现象上看,是很难找到突破口的,但若从芯片损伤原理、TVS保护原理、测试原理、电压冲击的产生原理这几个角度看,则会发现不少值得深入研究的线索。
第一,从芯片损伤原理看,可以根据失效分析报告推测芯片损伤的原因。芯片损伤的原因主要有几种:静电打击、电压应力过大、电流应力过大。本例中,失效分析报告指出的是电压应力过大。
第二,从电压应力损伤的原理看,该芯片的损伤的原因应该是引脚上承受了超过20V的电压冲击。
第三,从测试原理看,为什么在实验室构造了多种冲击,却测不到超过20V的电压尖峰?原因有可能是,在测试中采用了前端容性过大的无源探头,将实际存在的电压尖峰进行了高频滤波。值得注意的是,厂家标配的探头,大多都是前端容性较大的无源探头。
第四,从TVS的保护原理看,虽然钳位电压低于20V,但是在承受冲击时,由于响应延时而会残留一定的冲击前沿,该冲击前沿振荡虽然持续时间非常短,但若被保护芯片端口的防护能力比较弱,仍然可能会受到一定的影响。
第五,从电压冲击产生的原理看,有两个方面值得研究:一个方面是,实验室构造出来的冲击波形,边沿是否足够地快,若边沿较慢,则不一定能反映在真实工作场景中电压快速突变对芯片造成的压力;另一个方面是,该电压冲击可能并非由外部产生,而产生于TVS之后,是与接口芯片共用供电路径的其他负载在工作时产生的负载突变,进而造成了电压冲击,对接口芯片造成影响。
基于以上五点原理分析,我们可以对故障调试进行优化:
第一,采用低输入电容的探头进行测试;
第二,在实验室测试时,构造边沿更快的外部冲击;
第三,对与接口芯片共用供电路径的其他负载进行电压监测,查看是否存在负载突变造成的电压冲击振荡。
以上这个例子,我们从原理出发,发现了更多的线索,调试也有了方向。
学而不思则罔,思而不学则殆。如果仅仅依靠死记硬背设计要点,则在设计中会经常迷惘。这方面的例子也不胜枚举。
例如,对于晶体振荡电路的XIN和XOUT的两根时钟信号线的处理,从不同角度出发,可以看到两种完全不同的处理方式:一种方式是将信号线加粗、包地;另一种方式是避免将信号线加粗、包地。表面上看这两种处理方式互相矛盾,不可能同时成立,但实则都有道理,只是看问题的角度不同而已。第一种处理方式着眼于提高设计的抗干扰能力。第二种处理方式则着眼于减小走线电容对晶体负载容性的影响,降低容性负载过重导致晶体停振问题发生的可能性。
又如,长距离电源走线的寄生电感和寄生电容会产生谐振峰问题,有时在电源能量突变瞬间产生较大的过冲和振荡,对负载芯片造成电压应力。这个问题有很多解决方案,其中,增大电容和减小电容都可以成为解决这个问题的方案。表面上看这两种解决方案是矛盾的,实则仍然只是处理问题的角度和方式不同而已。增大电容有助于降低谐振峰的增益,减小电容则有助于提高谐振峰出现的频段。很显然,只是记住这两个解决方案,对问题是没有帮助的。比如,原设计中电容容值为10?F,难道增大电容容值为11?F或减小电容容值为9?F,都同时可以减小电压的冲击振荡?并非如此。所以,仅靠牢记设计要点,而不理解设计要点背后的原理,不仅无法达到期望的效果,而且经常会令工程师自己迷惘。
再如,对电感工作特性的理解。我们一般会在电源电路、滤波电路、能量补偿电路这几个环节与电感打交道。显而易见的是,在这些环节,对于电感类型选择、电感感值计算、额定参数的确定,需考虑的因素是不一样的。举一个电源电路的例子,我曾经接到过两个公司对两种电源电路的咨询,故障表现都是电源输出端电压波动过于剧烈。从诊断结果来看,一个电源电路可以通过将电感感值增大来减小波动,而另一个电源电路则通过将电感感值减小来达到同样的目的。对于这类问题,不深入分析问题的原理,就很难找到正确的问题解决方案。
如何培养并加强自己对技术原理的理解?一个对我帮助很大的方法是,坚持对技术问题的深入复盘。本书列举的不少工程案例就来自这些复盘。
每个工程师在工作中都会遇到技术难题,集中一段时间进行技术攻关,找到解决办法,这项工作就结束了。但事实上,对技术能力提升最有贡献的阶段,恰恰是在找到解决办法之后才开始的。在找到故障解决方案后,应立即进行技术复盘,理清楚问题出现的原因、整理调试的过程,分析是在哪个环节找到的故障线索,深入挖掘故障产生的本质原因,以及解决方法的原理。这个过程不断升华,持之以恒,就能逐步地实现对技术原理的深刻理解。
工作20多年来,我写下的技术复盘相关文档,已经超过一千万字。在这些技术复盘中,有的问题来自我自己负责的设计,有的问题来自技术评审,有的问题来自同事的疑问,有的问题来自与各行各业工程师的技术交流。我的体会是,这些复盘工作,虽然花费了不少时间,但比起技术问题调试所花费的时间,相对而言还是不值一提的。
关于复盘的一个典型例子,是本书第2章的案例2.16。该案例来自某位工程师和我的技术讨论。在该工程师咨询我之前,他已经知道,只要将电源中的电感感值从1.5?H增大到4.7?H,就可以将问题解决。从问题解决的角度看,这个问题到此已经结束了。但该工程师尚不清楚问题的原因,所以特地咨询我,并非常详细地将问题的相关信息做了介绍,配合我做了非常多波形的捕捉。我们的一些发现,经该工程师同意,在案例2.16进行了描述。通过对这个问题的复盘,在原理上,我们可以有不少收获,比如:理解振荡产生的原理;理解为什么增大电感感值,振荡会消失;以及更深刻地理解电源电路中电感的计算公式,而不仅仅只是懂得数学推导过程。
不断的技术复盘,带来的好处是,可以不断深入研究技术问题的本质原因,进而发现各类问题之间的关联,从而增强对技术问题的理解并加快解决速度。这种技术复盘过程,不是简单的经验积累,而是可以有效帮助自己实现技术能力上质的提升。该过程的核心是持之以恒地打破砂锅问到底,不弄明白不罢休。
在20多年的工作中,我在技术复盘的过程中,对很多底层技术原理有了全新的、深刻的认识,受益匪浅。
在一直从事通信设备研发工作的基础上,我还和汽车电子、医疗电子、家用电子等单位有密切的技术交流与合作。我体会到,不同类型产品所遇到的问题,表面上看各式各样,但从底层逻辑和原理来看,绝大多数是相通的。例如,医疗产品中的某个MOSFET问题,很可能和电视机中遇到的某个问题,原理与解决方案是完全相同的;某强电设备在承受浪涌冲击时功能失效的问题,很可能和手机在EMC测试过程中遇到的问题有类似的原因;飞机上某产品遇到的供电时偶尔无法启动的问题,很可能和手扶电梯中的某个瞬时故障,在实质上是同一问题。基于从原理出发分析问题的习惯,可以大幅度提高疑难故障的解决效率。
在技术复盘的过程中,两个关键点是:在时间上要“立刻”,在地点上要“随意”。“立刻”指,复盘开始的时间,距离故障调试这项工作结束的时间越近越好。因为时间上越接近,测试环境保留得越完整,记忆也越不会有缺失。“随意”指复盘记录这项工作,无须在计算机前正襟危坐,吃晚餐时随手拿张纸做些涂写也可以,在手机上写两行提示性的句子也可以,只要最终记得存档即可。关键不在形式,而在把原理弄清楚,并最好能向别人说明白。
对于大多数比较复杂的问题,以为自己理解了,和真正理解了问题的核心,又能给别人讲清楚每个细节并经得起推敲,是完全不同的层次。有一次在天津滨海机场,一位研发工程师打电话咨询我一个技术问题,该问题是我熟知的,所以当即给他做了分析,但该工程师就某一细节的疑问,是我从来没考虑过的,这个问题伴随了我一路旅程,在到达目的地后,我立刻打电话和这位工程师进一步交流,并商量了不少测试方案,最终在我俩的共同努力下,成功地在原理上解释了该细节。所以,多交流,多把自己对技术问题的分析分享给同行,也是提升技术水平的一种重要方式。本书不少技术细节的挖掘,不少自问自答式的分析,正出自我在给同行讲解技术时得到的同行们的提问。这些来自同行们的提问,使我受益良多。
衷心希望本书在技术问题的原理分析上,对读者有所帮助。在最初的构思上,我是希望将本书写成一本覆盖电路设计更多方面的书籍,但落笔后发现这在有限的篇幅上是不现实的,所以本书选择了与高速电路设计紧密结合的三个方面:电源电路、信号完整性和DDRx SDRAM存储器,进行了一些讨论,以抛砖引玉,使读者可以做更深一步的研究。在写作方式上,坚持了从原理出发分析问题的理念,并结合案例,希望以浅显易懂的语言,使读者知其然并知其所以然。我的水平有限,衷心希望得到读者的反馈与指正。
王剑宇
2024年6月