看了这个题目,我估计许多人都会有在手边划拉找板儿砖臭鸡蛋的冲动。这年头儿连捡破烂儿的口袋里兴许都揣个手机,难不成还会有谁不会开电源?
别误会,我当然不是问你会不会按开关扳电钮。我是问:作为一个设计师,你了解一个系统的加电过程,和如何保证正确加电吗?
这样问,我估计还会有人撇嘴。“这有什么,不就是保证那些参数:输出电压,负载电流,波纹系数,转换效率,开关噪声 。。。”。
没错,这些都是设计过程中必须考虑到问题,也都很重要 。。。但是,还有吗?
按照上面说的那些参数考察一个电源设计,好象是到一个餐馆点菜吃饭。你按自己的口味点菜,后面厨房按单下锅,服务员端菜上来,你就可以抄起筷子品酸甜苦辣了。可是,如果有人告诉你,刚才服务员上菜时,端着盘子在走廊摔了个跟头,你会有什么反应?还想往下品吗?
随着电子设备复杂程度的提高,对电源的要求也越来越高。前面提到都是电源系统在稳定状态下的指标,当然很重要。但是在很多情况下,电源的动态特性也很重要,甚至可以说更重要。保证不了这个要求,有时就要有麻烦。
不信?我有现成的例子。当然,还是拿我自己说事儿。
C公司,路由器设计。背景还是那些,就不废话了。与前面的故事不同的是,这是我到C公司后的第一个设计,也是到目前为止最大的一个设计。板子的大小几乎相当一块中型的切菜板。10A以上电流容量的电源有好几路。电路图多达一百多页。PCB板层数达到32层,其厚度已经接近一些过孔安装器件的管脚长度所能接受的极限。
这样规模的一个设计,放在刚刚离开的N公司,起码要两到三个人干。可在这儿,就我一个。公司文化及作风的区别由此可见。在这里,工程师被给予了一切可能的物质条件,同时你也必须释放出最大限度的能量。
初次面对这种规模的设计,不免有些手忙脚乱。好在这个设计的很多部分沿用了其他同类产品的相同部分,并不是第一次使用。电源部分更是如此,几乎已经是标准化的设计了。基本上属于照抄照搬。所以这就能让我把注意力都集中在了这个设计中与新的通信协议有关的芯片和电路方面。
不久,一家电源器件生产厂家的销售代理来访,听说了这个项目,立刻向我建议:他们有一款新的DC/DC电源模块,几何尺寸,管脚分布及电路特征都与我现在用的兼容。不但在价格上有一定的优势,一些性能还有增强。而我现在使用的模块,又只有一个供货商,正好可以因此加上做备份。所有这些让我觉得好像没有理由拒绝。而最关键的一点是:我天性不安分,痛恨跟在别人后面亦步亦趋。在设计中总希望有些与众不同的地方。原来的设计照抄照搬本是无奈之举,现在有可能而且有理由作出改变,为什么不呢?
于是我决定使用这家的电源,将其列入了同一器件编号,并在样机装配时就用上了。
样机完成了初始调试及软件合成后,转入了全面测试。但是,刚刚开始测试不久,就传来消息,出事了!
测试结果表明,几台供测试的样机不同程度的出了问题。故障又全部集中在一组静态存储器上。故障特征是:读写结果出现错误,并且没有固定的错误地址及数据模式,完全是随机状态。
听着有点儿耳熟吧?
没错,和以前写的那篇“捉鬼”里面的见到的故障模式几乎一样。但是在时间顺序上,这次的故障在前,“捉鬼”在后。
“你这个人怎么这么背呀!怎么存储器老和你过不去!”
是吗?我倒不这么看。对工程师来说,这其实是件好事。
不过说是好事,那是就事后而言。在当时可是有点儿头大了。存储器故障,首先的措施当然就是换存储器器件,但是无效,故障依然存在。这就有点儿麻烦了。这部分的设计是直接由其他产品上拿过来的,没有任何改变,连布线都几乎相同。已经被验证过的设计怎么会又出问题?怀疑的对象似乎只能还是存储器器件本身。而来自同一厂家同一批号的这种器件现在正同时在几个产品上使用,有的还正处于量产状态。如果真是器件问题,影响可就大了。
为了防止问题扩大,马上通知了有关部门。而有关部门采取的措施也是干脆果断:凡是使用相同批号该型器件而处于生产状态的产品立即停产!
事儿闹大了!
面对这种情况,我倒是没慌,相反还有点得意。如果真是这个批号的器件问题,出了这个故障,不正好给其他项目提了醒儿,避免了问题蔓延吗?
很快,拆下来被认为有问题的芯片被送回了厂家检测。出乎意料的是,厂家重新测试的结果表明,这些芯片没有问题,是好的!同时,为了验证问题,另外一个使用了相同批号器件的产品也被送到测试组测试,结果是,全部测试通过,没有发现类似的问题!
问题转了一圈,又回到了我这儿:相同的设计,相同的芯片,为什么别人的没事,到我这儿出毛病?芯片厂家对此也不敢怠慢,他们建议:将我的这个产品与另一个使用相同芯片通过了测试的产品进行状态比对,重点检查存储器的电源及时钟的初始状态。
所谓初始状态,就是指由开始加电的零时起,一直到电源和时钟都稳定后这中间几十毫秒的过程。这么一比,差别就出来了!
已经通过测试的那个产品,其存储器的电源电压变化,由0V开始一直到额定值,保持了一条直线。用数学语言来精确描述,就是:单调,线性。
而在我的板子上,电源电压上升到一半,突然呈现一段停滞,有两块板子甚至出现电压下跌的状况,看上去几乎呈现出一个反“S”的形态。虽然最终电压上升到了额定值,但是这个升压过程的变化,显然成为最大的疑点。存储器厂家也表示,保持电源电压的线性变化,对保证器件工作的正常很重要。
两个产品,相同的设计,相同的芯片。不同的,就只有我换的那个电源模块了。存储器的电源正是由它供电的。将一台样机上的电源拆下来,换上原来老厂家的模块。再检查电源,电压的上升呈现理想的线性,反“S”的状态不见了!重新对存储器测试,好了!
到此,问题清楚了:新换的这个电源模块的动态特性不满足器件要求,不能用。于是,怎么把它挂牌列入数据库的,还得怎么摘牌拿出来。还得恢复使用原来厂家的东西。
这个故障的出现和排除,使我对现代电子设备设计中电源性能对整个系统的影响有了新的认识。对它的评估,不能仅仅局限在其稳定后的指标,还要包括它开始动作的那个过程。就像一出戏开场,不能等演员站到了台口才算开始。锣鼓家伙一响,演员后台一叫板,这戏就算开了!原因是:现在系统中所用器件对环境的要求越来越高。说白了就是来饭馆吃饭的客人,谱儿大了,嘴刁了。不小心认真伺候,搞不好就出乱子了。
就对电源的动态特性的要求而言,一般地说,数字器件比模拟器件敏感,时序逻辑比组合逻辑敏感。特别是含有存储和记忆功能的器件尤为如此。现在大多数的SoC器件都需要一个以上的电源以提供不同的电压。在这种情况下,除了每一路电源还应保持“单调,线性”(monotonic and linear) 这一基本要求外,各路电源之间的时序也变得重要起来。由于CMOS器件本身的特征,错误的电源电压及次序有可能导致“Latchup” 现象的发生,造成工作不正常,甚至器件失效。这一情况有时甚至连模拟器件都不能幸免。所以若是检查哪些SoC器件或者FPGA的手册,你会发现大多对电源的时序都有严格规定。比如:“器件核心部分必须先于IO部分加电”,或“同时加电”等等。尽管现在的芯片设计已经改进,采取了许多措施避免“Latchup”的现象发生,但是作为设计者,对此仍然不能掉以轻心。
现在许多SoC厂家在推出一款新的芯片同时,还会推出与之相配套的电源管理器件(PMIC)。一些专门的PMIC制造商也会特别说明,那款PMIC适用于那个系列的SoC芯片。这些PMIC除了其输出电压及电流容量会满足那些芯片要求,更重要的是,其各路电源输出的时序是按照其要求设计的,或者是可以通过编程改变以适应其要求。所以,选用这些PMIC,不能只看它的输出电压和负载容量,还必须看其加电及关电的时序是否适合你的芯片。
现在用于各种应用的SoC芯片种类繁多,对电源的要求也不尽相同。下面的几个图代表了几种典型的情况。
综合这些对系统电源的要求,在评价一款电源器件时,你就很难用简单的一句话来概括,它是好还是不好。以前面我用过的那款导致存储器工作不正常的电源模块为例,并不能简单地下结论说它“不好”,而只能说它“不合适”。电源厂家在产品的设计过程中肯定会考虑其应该具有的动态性能。但是面对不同形式不同特征的负载,它的表现就很难一致了。那款电源的情况只是说明,它的动态特性不满足我的设计中特定负载的要求。
这事儿跟婚姻一样,别人说好说坏都没用,关键要自己“合适”。
如此说来,那在电源设计的过程中到底有没有经验可循呢?
当然有。我的经验就是:不要相信任何“经验”,无论是他人的还是自己的。每当你开始一个新设计,都去老老实实地检查你的芯片和系统对电源的要求。即使你曾经用过这款芯片。因为,时过境迁,芯片的版本可能已经更新,要求有了变化。因为,芯片的应用环境不同,导致对电源的要求也会不同。还因为,你永远不知道那块云彩会下雨,那块石头会绊人。危险和意外往往是在你不留意的时候发生的。
有人可能会对此不屑:我的电源没那么多讲究,一样工作,没见出过什么问题。。。 没错,完全有可能这样。我的那个设计在测试时,也不是每个板子都出问题,也不是每次都出问题。但是,一个烂西红柿吃下去,不是每个人都闹肚子,你不能应此而就得出结论:烂西红柿可以吃。电子设备,电源是其基础的基础。直观的电源失效(电压过高或过低)会直截了当地让你的设备趴窝。而那些隐形的问题所带来的结果可能更可怕,因为它造成的后果往往和其他问题混杂在一起,让你难以分辨。你也无法预料它什么时候爆发。没人会愿意一直吃烂西红柿,到了上吐下泻时再找原因。作为设计师,你也不会愿意让你的设计带着个不知什么时候响的**出厂吧?
这件事已经过去了很多年。当初设计的那个产品现在已经停产了。可是,那条在示波器上呈现出的反“S”曲线所带来的影响,我一直没有忘记。它对我后来的工作帮助不小。这就是为什么我在前面说是“好事”的原因。
几年以后,又一个突如其来的存储器故障摆在了我面前。不过这次的事,却是个喜剧结尾。过程嘛,以前写的“捉鬼”已经说过了,在这儿就免了吧。
用户1454308 2015-7-1 08:12
用户1452242 2013-1-10 22:12
用户1061334 2012-10-14 20:39
jians.l08_250913784 2012-9-20 02:30
对整机而言,发现电源的非单调性造成的影响,已经是找到了根本原因。对器件而言,要求电源的单调性不是问题,而是基本要求。设计者在这个问题上只能按此要求做,没有商量的余地。至于为什么器件会有此类要求,根据器件种类不同会有不同解释。随便在网上搜了一下,发现关于对电源的单调性(monotonic)的影响还是有不少分析的。在这里随便贴一篇来自TI的文章。 http://www.ti.com/lit/an/slyt079/slyt079.pdf 这篇文章的分析对象是FPGA。按照他的解释,电源单调性会直接影响上电复位(POR)电路的动作。因为芯片内部复位电路的设计大都以电源电压为阈值决定动作。电源电压在阈值附近的波动会造成复位系统的紊乱,进而导致内部锁相环的频率和相位的错乱(比如对压控振荡器的影响)。 这篇文章虽然是谈的FPGA,但相信对存储器之类的其他器件显然也适用。当然存储器可能还有其特有的特性产生对电源的类似要求。 没能在初始的调机的过程发现这个问题自然是由这件事得到的教训之一。现在,检查每路电源的动态过程已经成了我在每个新设计加电后必做的事情。
用户1406868 2012-9-19 17:10
用户1510143 2012-9-19 11:12
用户1115031 2012-9-17 09:10
jians.l08_250913784 2012-9-16 10:12
用户1510143 2012-9-15 14:05
用户1326533 2012-9-15 10:35