感悟电子设计的经验与哲理
一、模拟,无处不在
数字电路是模拟电路的一个子集,
传递数字信号,比如在远距离和高吞吐量的数字传输方面,也经常用模拟技术来传递平常所说的“数字信号”。RS485可以轻松传递到3~4km外,而RS232不能传递很远,因为它将数字信号转换成了+10V,-10V的电压,用电压通过电缆进行传送。
内存条上面除了内存颗粒,还有很多贴片的电阻,大都靠近连接器的位置,这些基本都是降低振铃和反射等问题用的。
在0~1之间还有很多状态,这就是模拟;
二、上工治未病
发现问题,解决问题的最高境界是什么?就是避免问题的发生。
绣花机的工业控制系统问题:
- CPU控制部分和220V的开关电源设计在一个电路板上,这样做的缺点是难以生产。不要试图去重新设计那些市面上已有的零部件。
- 用示波器看,CPU电源的纹波很大,达到150mVpp,这个也能降低硬件的可靠性。
- CPU电路板和电动机的控制电路板之间采用SPI端口连接,两个电路板之间用一个1.5m的电缆连接。
- 电路板上很多输入输出扣上,都没有ESD保护,这样也会大大降低硬件的可靠性,尤其是插拔链接器的时候。
- 有一些电机控制的机械部件,总是不能精确定位,虽然加入了一些传感器后,CPU多次调整后可以达到精确定位,但是付出了时间的代价,也降低了机器的生产效率。
- ….
- 软件没有模块化,就一个文件
- 公共变量太多
- 注释文档少
- 变量命名不规范
三、让你的软件飞起来
代码的运行速度取决于以下几个方面:
算法本身的复杂度
CPU自身的速度和设计架构
CPU的总线带宽
代码的编写方法
RGB转YUV的例子,可以利用查表法会更快
把查表的数据放置在CPU的高速数据CACHE里面,用汇编来编写小函数
四、中庸之道
不偏不倚,不要走极端设计路线;
电路中的各个模块也多多少少会有对外的干扰,要求别的部件都十全十美是比较困难的,所以有时候,把电路的抗不良环境的能力设计得强一些,也同样是把电路做好的一个窍门。
五、搞定故障
统计与观察数据;
望闻问切
几种常见的处理故障的方法:
替换法:从部件的故障率高低来考虑最先替换的部件,故障率搞的部件先进行替换,按先简单后复杂的顺序进行替换。
逐层分割法:
搜索,穷举法:充分使用资料也是搞定故障的一个重要方法,搜索法在拥有完整资料,且资料是电子版的时候最好用,搜索方不仅可以在一堆资料中快速定位到相关的故障关联点,也可以在一堆资料中快速穷举出你所关心的信息点。搜索和穷举法如果用人工来完成,是一个很笨的方法,但是用计算机来完成,却是很轻松很神速的事情。
计算法:
找不着北的时候怎么办?
要观察的内容包括:
- 故障发生时候的周围环境;
- 硬件环境,包括接电压、电流、线缆连接状态等;
- 哪怕是很细小的,和平常不一样的东西和迹象,
- 积极去了解用户操作的习惯和流程,这些习惯和流程经常和设计者的习惯和流程不一样,所以一些故障不会在设计者手上体现出来,
六、无电路图维修的技巧
20-80定律
容易损坏的部分:会发热的部分,电源部分、模拟信号部分、连接部分
七、设计中的概率论
任何时候,都不要指望会有好运气,
一定按照事务的客观规律办事,否则今天不出事,明天不出事,后天可能就出事了。
小概率、大权重的事情,应该把它当做大概率事件看待和处理。
在设计的过程中,要千万注意每一个可能产生的风险的细节。
要估算各个环节中产生风险的概率及风险产生后的损失,
不要指望一招吃天下,安全源自一大堆细节的完美。
注意设计中“一票否决”的地方:
- 整机设计,功能缺乏新意,客户没有购买欲;
- 电源的失效。
- 复位电路的失效
- CPU主振荡器的失效
- 电路不能耐受ESD打击,被打击后电路产生不可逆的损伤。
- 软件死机后不能自动恢复正常。
- 输入单元的失效,比如键盘的失效
- 输出单元的失效,比如LCD显示器的失效
- 软件指针的错乱
- 软件死循环
- 足以引起用户感觉异常的故障,这种情况就非常多了
一个硬件的原理图完成后,基本就决定了以下几个方面:
- 电路的抗干扰度,至少70%硬件方面的抗干扰不良,都是犹豫原理图上就缺少抗干扰的措施。
- 制造成本
- 维修成本
- 元器件的采购方便与否
- 抗异常环境能力
做设计,要时刻关注设计过程中的每一个异常,对异常现象不要有任何侥幸心理,及时解决掉每一个细小的毛病,只要是对设计有益的方式方法,可以一点点去尝试,只要不返工,加上时间的积累,设计就能完成。
计算好概率,远离危险,
计算好概率,用最小的资源消耗达到目的。
八、线缆的学问
据150年的统计,金属部件有80%以上的损坏是犹豫疲劳而引起的。
多股铜丝缠绕的软线,其抗折弯能力也大大好于同等截面积的单根芯线的电线。
九、尽量为后续的工作多遗留一些信息
十、搞定噪声
电火花是一个很强的噪声源,有广泛的频谱分布和很强的能量。
- 用马口铁将电子点火器几乎全部封闭起来,只留下2根电源线和2个点火触电,无效。
- 将以上电子点火器的屏蔽马口铁接电源地,无效;
- 将CPU系统和LCD面板等敏感部件用马口铁屏蔽,无效;
- 再将电子开关也屏蔽起来,无效;
- 隔离开关,死机的概率大幅度下降,但还是会有死机的可能,可靠性还是一个问题;
在电子点火器前面插入一个绕线磁环,这样处理后,死机的问题居然彻底根治了。
之所以火花干扰,如此难以搞定,是因为在火花中,包含广谱的无线电射频干扰信号,这些干扰信号不仅评语宽广,而且辐射强度非常大。最
十一、搞定电源
如果将人体也当做是一个硬件设备,电源在一个电子系统中的作用,十分类似于人体的循环系统,因为:
- 它们都是为系统的每一个模块,每一个最小单元输送能力的,电路里面的最小单元可以是一个三极管或一个电阻,人体的最小单元就是一个个的细胞;
- 它们都是封闭的回路,
- 循环系统的血管,从心脏出来来,是一级一级逐渐变细,滋润每个细胞,然后再一级一级汇合起来,返回西藏,电路板上的电压也是这样的,首先从正极出来,然后分散到每一个电路里面的最小单元,最后汇总回到电源的负极;
- 心脏为血液提供一定的压力,以保证循环的畅通。血压太高太低都会有麻烦,电源也有一定的电压,电压太高太低也同样会有大麻烦;
- 电路的功率越大,电流也越大,人体需要的能量越大,血液的流量和流速也越快,
- 血压过高或者过低可以让人毙命,二稍微有点高或者稍微有点低,就会有很多稀奇古怪的疾病发生。
- 同样的,电源过高可以让电路板立刻冒烟,电压过低可以让电路板立即罢工,而电压稍微有点高或者稍微有点低,也同样会有很多稀奇古怪的故障发生。
- 身体供血不稳定,可以造成很多机型或者慢性疾病,比如心绞痛,身体供血不稳定就相当于电源系统的脉动纹波。
- 如果人体的某一个企管沾染了有毒的东西,很容易通过循环系统扩散到全身,而这个毒性超过了人体正常的代谢能力,就会有急性或者慢性的中毒症状;
- 如果电路上一个模块产生了比较强的噪声,也很容易通过电源回路干扰到电路板上的其他电源,如果其他单元的抗噪声能力比较好,那出现问题的概率就会低一些,否则就极容易体现出故障。
电源一定要留有余量
电源一定要留足余量,一般要比负载的峰值好点至少多20%,这样比较安全,电源余量不足会发生很多意想不到的故障,
- CPU无故复位,CPU在不同模式下,其耗电不一样,同样一个CPU,它的耗电上下可以差距100倍之多。如果电源没有满足CPU的峰值消耗,那CPU满负荷工作的时候,就是噩梦的开始,比如死机或电路板上某个单元不工作,这种情况在32位嵌入式系统上发送的比较多,因为那些CPU动辄就要好几瓦,甚至超过10W的峰值功率,而平时也就几十或上百mW.
- 一个音频功率放大电路,在重低音输出的时候,声音总是失真,而平时的人声,缺婉约动人,因为重低音输出的时候,是功率放大器最耗电的时候,电源的功率储备不够,就会影响音质;
- 一个嵌入式系统,原先都工作的很正常,某一个突然以太网部分失灵,经过检查,是因为电路板上多增加了一个视频编解码芯片,导致主电源好点大增200mA. 这个时候电压从3.3V跌落到2.9V,而CPU依然正常工作,可是以太网芯片却因为这0.4V的电压跌落而罢工,而CPU和食品编解码芯片却可以正常运转,但是和以太网芯片通信的时候,因为以太网芯片已经处于不稳定状态,所以就不正常了,重新处理电源后恢复正常。
通常电源余量不足,电源会工作在极限状态,电源的纹波会剧烈上升,达到几百mV甚至几V。同时电压也会下跌。有些开关电源更加恶劣,达到了它的极限功率,他就关闭所有输出,让负载彻底断电,然后等待重启这个电源。
TIPS:
- 如何有效评估一个系统的电源需求。
对于一个实际的电子系统,要认真分析它的电源需求。不仅仅是关系输入电压,输出电压和电流,还要仔细考虑总功耗,电压实现的效率,电压部分对负载变化的瞬态响应能力,关键器件对电压波动的容忍范围以及相应允许的电源纹波,还有散热问题等鞥。工号和效率密切相关,效率高了,在负载功耗相同的情况下总功耗就少。
至于负载瞬态响应能力,对于一些高性能的CPU应用会有严格的要求,因为当CPU突然开始运行繁重的任务时,需要的启动电流很大,如果电源电路响应速度不够,会造成瞬间电压下降过多,过低,造成CPU运行出错。
散热问题对于那些大电流电源和LD0来说比较重要,通过计算可以评估是否合适,不过,如果是大电流应用,最好不要用LD0之类的线性稳压器。
2. 如何选择合适的电源实现电路;
LD0设计最易实现,输出纹波小,但缺点是效率有可能不高,发热量大,可提供的电流相较于开关电源不大等等。而开关电源电路设计灵活,效率高,但纹波大,实现比较复杂,调试比较麻烦等等。
3. 关于电源部分的布线,要注意如下几个方面:
两条线环路过大,
电器店的线路过长,
功率线路的铜箔宽度宽一些,连接电缆也尽量粗一些;
功率器件及干扰源器件要注意拜访的位置和方向,否则也会使电路板上的敏感部位受到干扰;
退藕电容的容量不足,或者在电路板上安排的位置不合理。
理想的直流电源输出的电源应该是纯正的直流,没有一丝一毫的杂波,在现实生活中是不存在的。现实的直流电源,无论其种类,总会有内阻,所以它在给各种负载供电的时候,负载的电流变化,就会在电源上以纹波噪声的形式体现出来,而且有些电源本身就会有输出的脉动,这同样也是纹波。
所谓纹波就是叠加在直流电源上的小幅度的交流信号,纯正的直流,输出电压等于一个常数C,而有纹波的电压。
在设计工作中发现,电源纹波会导致很多故障的发生,故障一般比较隐蔽和随机,多以难处理的软故障形式出现。
使用LDO可以有效地降低纹波,因为LDO工作于完全的负反馈方式,所以它的电源抑制比较开关电源要优秀得多。
频率高,其纹波的频率也就高,这样的纹波也更容易滤除。
频率高,就可以选低感值的电感,这样就有更强的负载能力。
频率高,在负载不是很大的情况下,可以实现用小的电容实现理想的滤波效果。
频率高的缺点是自损耗电流大。
十四、物以类聚,信号以群分
TIPS
物以类聚,信号以群分的主体思想就是要使个体具有接近整个小群体均值的特征。
各个相邻的群体也最好有类似的特性,如果做不到这一点,就必须强制隔离;
只有均值接近了,内部才容易匹配,不容易引起相互之间的牵扯和冲突,才能具有稳定的结构;
十五、选择元器件,也有诀窍
检查库存,用库存的器件来设计d
绝大多数航空公司在管理中,也遵循这个原理。一般一家航空公司都只会用一个公司生产的飞机,统一成一个公司的飞机后,所有的飞机都知识少数几个型号,这样可以节约员工的培训成本,维修技师的经验也可以完全分享,管理流程更容易单一化,程序化,最重要的是还能降低维修配件的储备数量,
尽量选择供应商量产的产品和经典的型号;
十六、优秀设计的10大要点
- 具有优秀的实用性, 经得起用户挑剔的眼光
- 有很好的稳定性,能够抗住很多恶劣的条件,静电,温湿度
- 好的电路通常都有很好的噪声抑制性,对噪声有必要的免疫力,在关键位置增加了元器件,增加了焊点之间间距以及增加了抵御漏电的电路;
- 好的电路对输入条件有良好的适应性,即使有异常的输入,也能得到稳定的输出;
- 好的电路灵敏度很好,信号哪怕再微弱也纤毫毕现;
- 好的马儿跑得快,吃草少;电子产品的低功耗很重要;
- 好的电路可以衍生出更多好的设计;
- 好的电路朴实无华,并不一定要用昂贵的IC
- 好的电路需要由优秀的工程师来开发
产品要实现产品的功能外,还要考虑一下问题
- 较低的成本
- 易于生产
- 较快的设计周期,
- 元器件易于采购,不会因为某个期间的供货终端二终止生产。
- 易于发现运行中出现的问题;
- 用户使用的便利性和易于理解性。
- 产品在恶劣环境下发送故障的能力
- 设计文档在后续的设计中,尽可能的能够被再利用。
十七、由数组非法操作想到的
数组及指针越界
感悟设计:电子设计的经验与哲理-王玮-微信读书 (qq.com)