1.9 电路设计机理
1.9.1 电子工程数学应用机理
掌握了基本的数学公式,但它如何与电子电路的具体实践相结合,如何应用于电子电路设计的工程实践呢?也就是如何定量化设计。总结起来有三个途径,即数学计算、仿真、波形测试及诊断。
在工作中,几乎每位工程师都曾遇到过电子产品在用户现场偶尔发生故障,如死机、复位、数据传输错误等状况。维修工程师在现场跟踪排查时,故障不会再现,拿回实验室,怎么试验都是好的,使人陷入一种无从下手的窘境。找到通用方法作为此类问题的解决思路,成了电子设计行业共同考虑的问题。
面对偶发故障的问题,一个解决它的方法或许就是类聚原理。
在日常生活中,有一种说法是“物以类聚,人以群分”,意思是指不是一类人不进一家门。如果一个人很上进,那么他朋友圈里的亲密朋友基本也都是上进类型的。因此推断一个陌生人是否上进,看他周围亲密朋友的状态就可以了。如果他周围的亲密朋友都很成功,那他即使现在不成功,离成功也不远了,起码他的成功潜质很大,绝对是“潜力股”。
当然,根据一个人的历史推断他的将来,也是有迹可循的,古人讲“三岁看大,七岁看老”,从现在看过去,从现在看未来,都是有一定道理的。虽然不敢肯定全对,但也差不到哪儿去。
同理,一个电子产品,它偶尔会发生故障,那么它不发生故障时,就会完全正常吗?正如一个说谎的人,表面装得再若无其事,测谎器根据其生理状态的波动,也是能够发现异常的蛛丝马迹的。测谎仪的测量指标是人的生理参数,那针对一台曾经发生过故障但现在正常的设备,“测谎”的指标则是波形。一是这台设备正常工作时的波形质量会有信号隐患的特征;二是同类设备也很可能会有信号波形或数据隐患被测量和分析出来。
有隐患的机器,即使从性能上看暂时没事,但其波形也一定会有所偏差,或波动或异常,只不过波形变异暂未超出导致设备工作异常的参数范围而已。我们去测隐患机器未发生故障时的工作波形,分析波形里隐藏的信息密码,即波形与芯片元器件工作限值的差异,就可以发现存在的隐患和问题的缘由。数学计算的目的也在于此,即通过元器件选型工程计算,确保电路确定后的工作电压不超出芯片允许的电压容限范围。
在介绍波形异常及隐患分析之前,需要先说清楚一个专业名词——电压容限,这是信号异常与否的关键。
对于数字电路(见图1-23),输出元器件的信号分别为高电平(用UoH表示)和低电平(用UoL表示),这两个电平的电压都是一个允许的电压范围。只要在UoH范围内的输出电平,都认为是合理可接受的高电平;只要在UoL范围内的输出电平,都认为是合理可接受的低电平。同理,接收端能接受的高、低电平也是一个范围,分别为UIH和UIL,不同的是,UoH和UIH、UoL和UIL并不是相等的电平,而是有一个电位差Δ,这里的Δ就是电压容限。
图1-23
在数字电路里,我们所研究的元器件参数选型计算、EMC、SI等技术措施,都是为了让从输出端发送出的电平信号,在经历一系列的传输线缆衰减、空间辐射干扰耦合叠加、传输线信号反射、外界环境导致的元器件参数漂移、电源地线波动引起的相对电平变化等问题后,接收端所接到的信号电平,相对于输出端电平,不超过Δ的允许波动范围。满足了这点,即使有些外来干扰破坏,电路仍能照常工作。
对于模拟电路,也有一个电路精度要求,即电压容限值±Δ%(见图1-24),设计中所要控制的,就是在任何的波动干扰下,模拟输出量都不能超出±Δ%的范围。
图1-24
基于以上的理论基础,下面列举的是几种常见的信号波动和作用机理。
1.电源或地线的电平波动严重
Ucc波动低时,大部分时候并没有超出Ucc的允差范围Uccmin,但在现场条件组合应力严重的时候,如果超出了范围就可能造成误触发,如刷寄存器或触发不期望的功能。这时通过测量Ucc波形,就可能发现如图1-25所示的波形,即使没低到足以触发问题的地步,但只要有类似的“症状”,就有隐患,就必须在电源的稳定性上做文章了,必须确保电源的最大波动范围距离临界值很远才有把握。
图1-25
地线波动同理,可以通过测量地线上任意两点之间的波形,正常情况应该是一条基本接近于0 V的平直线(见图1-26中直线),如果出现了向上的尖峰(见图1-26圆圈),则可能带来风险,因为地线上升,带来的就是片选信号、reset信号等敏感信号的电位差下降, Vreset-Vgnd小于了某个临界值,芯片就会当成一个复位低电平输入信号了。较常见的是给设备接+6000 V静电接触放电时,低电平上被耦合或传导进去,极易引起复位就是类似的道理。
图1-26
2.数据传输速率与传输线元器件特性参数匹配不良导致波形变异
正常情况下,因为数据线过长、线间电容、接收端输入电容较大、导线上串入电阻较大、接收端输入端口防护元器件结电容等的影响,会导致形成如图1-27所示的黑色波形。在速率比较低的时候,数据传输的正确率是能保证的。但当软件工程师不管不顾地加快数据传输速率时,会导致上升沿还未到达接收端的电压容限值下端UHmin时,就不得不因为周期问题而走下坡路了,形成如图1-27所示的类似三角波数据波形,上升沿、下降沿均带有一定弧度,最高点低于UHmin值时,接收端自然就读不到数据了。如果数据波形远离高电平临界点,数据传输表现不正常,反而容易查找出现的问题,最担心的是处于导致波形在正常与不正常之间的传输速率临界点,就可能在现场偶发传输数据错误了。把导线剪短点,或者换个阻值小点的电阻,或者拆掉一个电容,或者减少一个终端,数据传输就会正常了。
图1-27
3.波形出现回勾
回勾的波形如图1-28所示,它的形成是因为导线有高频特性,可理解为小电感和小电阻的串联,而数字电路输入端口,又可以理解成一个引脚-地(Pin-Gnd)的对地电容,以及一个输入跟随器特性。走线的特性和元器件的输入等效特性合并在一起,就会形成如图1-28所示的电路特性图。V4给出10 MHz方波信号,图1-28(a)中点5就可以测得接收图1-28 (b)中回勾变异波形。
本实例虽然有回勾,但回勾部分在上升沿时并未穿越VHmin限值,下降沿时也未触发VLmax限值,因此不至于引起信号质量问题。但如果导线特性参数和元器件输入特征参数有变,导致回勾特性的上升沿上移了,或下降沿的回勾下降了,故障就在所难免了。
图1-28
4.波形出现台阶(见图1-29)
有时,我们会测量到如图1-29或图1-30(b)所示的波形,这是由容性负载与布线联合作用引起的。这种波形的危害在于,在接收到信号后,有的接收元器件判别上升沿的方式是通过对上升沿做微分,然后根据微分后的尖峰阈值判别是否上升沿。如果中间出现了平台,则会导致微分电路出现两个有一点时间间隔的尖峰。如果两个尖峰都很高,则会导致出现重复误触发;如果两上尖峰都很低,则会无触发;这两种情况都会导致错误发生。
图1-29
图1-30(a)为源端输出波形,是标准的方波;图1-30(c)为导致图1-30(b)所示平台波形的电路结构,该图为仿真效果。
5.波形有过冲
波形里常有过冲现象,如图1-31所示。如果振荡幅度不够大,不会超过VHmin和VLmax的限值,则一切正常;但如果振荡的幅度超出了VHmin和VLmax的临界值,则可能会产生误触发,因为很多芯片是以上升沿中过VHmin的电平跃变作为上升沿触发信号的,如果越界了,则有造成两次上升沿触发的风险。
导致这条曲线特征的是信号线或地线的走线感性特性与线间电容、元器件输入电容、PN结电容等相互作用的结果。地线上的类似衰减性振荡波动的术语称为“地弹”。
图1-30
图1-31
6.电压跌落
电源线主供电线上串入电感或大的容性负载时,在电源启动或负载突然启停的瞬间,由于电感的反向电动势或者容性负载电流变化较大,就会有电源瞬间跌落的风险,如图1-32所示。这个波形在负载突然启动或突然掉电马上又上电的时候可能会发生。如果幅度大了,掉电的时间长了,极可能就有复位、刷E2PROM存储器、误触发等风险了。
图1-32
以上描述了几种常见的可能导致电路工作异常的变异波形,理解其故障作用机理仅仅是改善的第一步,下一步还需要理解导致这些波形产生的问题,是哪些特性参数影响到了变异波形?通过设计改善哪一点才能使这些变异不再发生或不至于导致显性故障?这些都是本书中讨论的问题,即通过参数的计算,确保电路中的波形不会发生本节所描述的类似异常波形。
简单总结一下,在遇到偶发故障问题产品时,即使手头没有该故障产品,或者有故障产品但激发不出问题时,可以找设计完全相同的产品,查找怀疑元器件的信号波形。如果都是标准波形,那就先暂时放过;如果稍有异常,就把异常记录下来。随后仔细分析这些异常有没有可能触发现场的偶发故障,如果有可能,那就针对这个异常波形进行改进设计,让波形远离激发故障的电平临界值,这样的偶发故障基本上就可以被根除。这种分析和计算方法就是波形诊断法。
1.9.2 工程设计判据
电路设计的判据是“单一故障下,输出必须保证是安全的”。
单一故障指的是根源性单一的故障,比如元器件损坏、短路、过流、过热、非阻燃材料起火等,这里的后续故障都是由短路引发的,因此,本节就研究元器件短路发生后,可能产生的后果和防护措施。
系统输出指的是三个方面:功能输出、信息输出、报警输出。
安全也包括三个方面:人的安全(操作者、被作用对象及旁边的闲杂人等),设备自身的安全,互连设备的安全(周边相连或不相连的设备)。
通俗的解释就是故障发生了,系统必须有必要的设计措施,保证继续工作时的功能、工作状态显示或者报警信息;必须能及时切断危险、转化危险、防护危险,以保证人、设备自身、周边互连设备都不会产生任何恶性后果。
案例1 某款热水器,测水温的传感器用的是负温度系数的热敏电阻,温度上升时阻值下降,经过放大器放大后,量化数据进入MCU,软件读到的温度T≤75℃时,就输出控制信号,让继电器开关K导通,通过交流电220 V给电热丝加热,如图1-33所示。
图1-33
如果系统所有的元器件都处于理想状态,那什么问题都不会发生,余下的讨论也就没有必要了。但是,元器件不可能不会坏,如果热敏电阻(NTC)损坏了,系统会怎样呢?首先要确认NTC损坏后的症状,如果是开路,则NTC表现为很高的阻值,电阻值变得很大,表示被测温度很低,MCU认为此温度很低,低于75℃,势必就会让继电器导通并持续加热,在加热过程中不断地检查温度,测到的总是低温,然后继续加热,直到将水加热成水蒸气,最终压强过大导致热水器爆裂。
按照SFC OUTPUT SAFE的判据标准,在“NTC坏掉开路”故障下,“加热功能”的输出,就不能保证加热器自身的安全。
如果换成PTC电阻,开路后,等效为电阻值变得很大,其含义表征为被测温度很高,系统是不是就可以将加热继电器断电关上呢?
或者在MCU里,增加对加热过程中的温度变化检测,判断Δ T/Δ t,如果在加热过程中,温度一直没有升高,则自动判为系统故障,停机、报警后,是否可避免此类事故?
当然,如果有的传感器在损坏后的故障特征是短路的话,大家可自行分析。
案例2 导线断开或脱落是常见的故障现象之一,尤其是在工作中,有振动(振动疲劳导致断裂)或拉伸应力时,更容易出现断开。那么针对断开的单一故障,就需要有具体的系统分析设计措施。
如图1-34所示,主机与从机按照一般的上/下位机连接方式安装,主机的工作程序流程如图1-35所示。当电缆连接都正常时,主机的程序流程执行是没有问题的,但当Tx断开时,从机将接收不到握手信号,自然也就不会回传握手成功的“OK”信号,主机Rx≠OK,则返回继续执行“Tx发握手信号”,此时主机程序会陷入死循环。
图1-34
图1-35
单一故障下(如导线脱落),输出(主程序功能输出)安全(死循环)就保证不了。
本章总结了电路及嵌入式软件设计中会用到的一些数学基础知识,涉及的数学知识较为庞杂,而且写法上做了高度概括,主要是为了阐明数学与电子工程的结合点,如果未能清晰理解,请翻阅大学的课本自行补充。古人赵普半部《论语》治天下,今天的电子工程师用“半本数学”知识亦可纵横电子江湖。
掌握数学知识不是什么难题,电路设计也不是什么难题,如何把数学运用于电路设计,用哪些参数计算,怎么计算,计算什么内容,才是本书要解决的关键问题。