第2章 系统设计通用计算技术
实际电路中的波动和干扰无处不在,也不可能根除。就好像日常生活中喝的水一样,一瓶矿泉水,放在高倍显微镜下,蠕动的细菌将会让人大为反胃,但实际上是可以饮用的,是有国家颁发的安全生产许可证的。水里有病菌(类比于干扰电压/电流),人体也有一定的抗菌能力,只要细菌的负面致病作用没有超过普通人(类比于被干扰电路)的抗菌能力的程度(类比于电路的允许偏差范围),这瓶水就算是合格的。但是一杯野外的水坑里的脏水,人喝了就可能会生病,这就让人不能接受。但长期生活在野外的动物(类比于对波动不敏感的电路)喝了就没事,对它们来说就是可以接受的。
电路设计同理。什么样的电路是好的?一个0.5 V的波动是否有问题?要看接收端的容差范围,如果接收端容许±1V的波动,那这个设计下的波动就是可接受的;如果接收端的允许误差范围为±0.1V,那么这个设计就是不可以接受的。脱离开导致误差的源偏差电压幅度和接收端允许波动的偏差电压幅度这两个指标来谈电路工程计算,是没有意义的。而在电路设计中,干扰源和抗波动能力这两个指标的差值就是第1章中讲到的电压容限。
电路参数容差计算中最常用的方法是最坏电路情况分析(Worst Circuit Condition Analysis,WCCA)。顾名思义,就是将电路中元器件参数的偏移量,按照对结果可能会产生最坏影响的偏移考虑而进行参数计算,如果各种最坏的组合都不会导致电路的最终结果超标,那在范围以内的各种元器件参数组合就会更为稳妥可靠。
例如,两个等值电阻并联分流,按照标称值计算,应该各分1/2的电流,但实际上选用的两个电阻的值会是R+Δ和R-Δ之间随机的一个随机值(Δ是R的偏移),当一个支路的阻值最大,而另一个支路的阻值恰恰最小时,小电阻的支路上被分来的电流就会大于1/2,因此电阻的耐流能力就需要按照这个最坏的情况来进行确定。这个计算方式就是最坏电路情况分析。
另外一种方法就是偏微分法。一个电路的波动结果,会受到多个参数的偏差影响,要确定所有元器件的综合影响,就可以用到偏微分法。一个系统的输出结果F(x1,x2,x3…)是一个受多变量变动影响的函数,当其中某一个变量xi变化时,其他参数看成稳态参数Ki,可以求出该函数随该单一变量变化波动而波动的变化量Ki ×ΔFi,将所有变量的单一波动(将其他参数看成稳态参数)影响函数的结果累加求和,则可得出系统总偏差量与各分量的关系式(详见本章2.4节)。
对于较大的系统,影响因素比较多,如果按照最坏电路情况分析的做法,会对元器件的参数提出很高的要求,这时候可以利用参数的正态分布特性来分析。用一个生活中的例子来类比说明,我们都有赶飞机的经历,假如乘坐出租车去机场,从出发到登机需要经历叫车等待、路上用时、安检用时三个阶段的耗时,如果三部分我们都按照最坏情况预留时间,假设在用车高峰期叫车时间预留1小时、路上拥堵预留2小时、机场安检预留1小时,每个环节都留出最大的时间裕量,三部分时间求和,则要提前4小时出发。这类似于最坏电路情况分析法。
事实上,按照常规经验,提前20分钟能叫到车的概率为80%,路上花1.5小时赶到机场的概率为70%, 20分钟完成机场安检的概率为60%,这样提前130分钟出发,赶到机场不会误机的概率就可以计算出来。如果这个概率可以接受,那么提前130分钟出发,就比上面最坏情况分析所得出的4小时的预留时间要实用。这种做法就是蒙特卡罗分析法,实际上现实生活中,我们也在有意无意地应用这种方法做着一些生活中的一些决策。
因此,设计绝不是跟着感觉走,一个是元器件的参数会随着环境条件的波动而波动,而且元器件参数的一致性也没那么好。以上三种方法就是针对的这些问题的解决思路。
虽然因为元器件特性并不够理想,会导致“理论计算上行得通的,工程实践上未必行得通”;但是,“理论计算上行不通的,工程实践上一定行不通”,所以容差分析还是必要的,一是在焊接电路之前预知问题,二是可以轻松排除掉肯定有问题和有潜在问题的元器件参数。
在日本,可靠性技术专家把一个系统的设计划分成了三个部分,系统设计、功能和参数设计、容差设计。容差设计在嵌入式硬件系统里可理解为最坏电路情况分析(Worst Circuit Condition Analysis,WCCA),是指将电路中元器件参数精度误差和漂移后的最坏情况组合出来,通过工程计算的方式,审查在极端边缘参数值的情况下,设计是否能满足要求。并且这部分问题是无法通过后期的模拟测试发现的,在批量生产的时候还具有随机性,只能通过容差分析的方法发现和解决。容差计算是发现电路设计问题的一个重要而基础的手段。
而系统设计计算,则是在进行整机设计模块与模块匹配时所需要做的一些工程计算内容,它不单纯局限于某个具体的元器件或传感器的选型参数计算,而是主要研究部件、组件之间的相互关联影响。
影响系统及计算的关键因素是环境应力、各部件之间相互作用的影响应力。
需要进行计算的主要内容有:
● 环境应力的作用,如温度、大气压等;
● 模块-模块互连的阻抗匹配;
● 误差累积评估。
过渡过程及突发应力,如上电过程的冲击电流和冲击电压,负载快速启动时克服惯性所需要的较大驱动电流,非阻性负载突然断开或闭合带来的电流或电压冲击等。
电路设计中的计算需要考虑两部分因素,一是电压,二是电流。对于后端被驱动电路,电平不够不足以完成激发动作,电流不够动作起来力不从心。如图2-1所示,Vcc电压需求为3.3 V,经过R130和R131电压分压后,Vcc的电压理论值为
但实际上,芯片的Vcc端不可能没有输入电流,也即有一个对地的等效输入阻抗Rin,Rin与R131并联后的阻值会小于3.3kΩ,所以Vcc的实际工作电压是达不到所期望的3.3V的。本书所有章节的计算都要同时考虑这两部分因素。
图2-1
在所有电路里面通用的工程计算项目,包括过渡过程应力、降额、热设计、热计算、精度分配、阻抗匹配、统计分析、导线衰减等,都是本章的核心内容。逐项讲解后,算是一个铺垫,为后面章节中实际元器件的选型计算和电路分析打好基础。如果做个定义,第1章属于理论基础课,第2章属于专业基础课,后面的章节就属于专业课了。