【读书分享】 感悟设计-电子设计的经验与哲理

感悟电子设计的经验与哲理

一、模拟,无处不在

数字电路是模拟电路的一个子集,

传递数字信号,比如在远距离和高吞吐量的数字传输方面,也经常用模拟技术来传递平常所说的“数字信号”。RS485可以轻松传递到3~4km外,而RS232不能传递很远,因为它将数字信号转换成了+10V,-10V的电压,用电压通过电缆进行传送。

内存条上面除了内存颗粒,还有很多贴片的电阻,大都靠近连接器的位置,这些基本都是降低振铃和反射等问题用的。

在0~1之间还有很多状态,这就是模拟;

二、上工治未病

发现问题,解决问题的最高境界是什么?就是避免问题的发生。

绣花机的工业控制系统问题:

  1. CPU控制部分和220V的开关电源设计在一个电路板上,这样做的缺点是难以生产。不要试图去重新设计那些市面上已有的零部件。
  2. 用示波器看,CPU电源的纹波很大,达到150mVpp,这个也能降低硬件的可靠性。
  3. CPU电路板和电动机的控制电路板之间采用SPI端口连接,两个电路板之间用一个1.5m的电缆连接。
  4. 电路板上很多输入输出扣上,都没有ESD保护,这样也会大大降低硬件的可靠性,尤其是插拔链接器的时候。
  5. 有一些电机控制的机械部件,总是不能精确定位,虽然加入了一些传感器后,CPU多次调整后可以达到精确定位,但是付出了时间的代价,也降低了机器的生产效率。
  6. ….
  7. 软件没有模块化,就一个文件
  8. 公共变量太多
  9. 注释文档少
  10. 变量命名不规范

三、让你的软件飞起来

代码的运行速度取决于以下几个方面:

算法本身的复杂度

CPU自身的速度和设计架构

CPU的总线带宽

代码的编写方法

RGB转YUV的例子,可以利用查表法会更快

把查表的数据放置在CPU的高速数据CACHE里面,用汇编来编写小函数

四、中庸之道

不偏不倚,不要走极端设计路线;

电路中的各个模块也多多少少会有对外的干扰,要求别的部件都十全十美是比较困难的,所以有时候,把电路的抗不良环境的能力设计得强一些,也同样是把电路做好的一个窍门。

五、搞定故障

统计与观察数据;

望闻问切

几种常见的处理故障的方法:

替换法:从部件的故障率高低来考虑最先替换的部件,故障率搞的部件先进行替换,按先简单后复杂的顺序进行替换。

逐层分割法:

搜索,穷举法:充分使用资料也是搞定故障的一个重要方法,搜索法在拥有完整资料,且资料是电子版的时候最好用,搜索方不仅可以在一堆资料中快速定位到相关的故障关联点,也可以在一堆资料中快速穷举出你所关心的信息点。搜索和穷举法如果用人工来完成,是一个很笨的方法,但是用计算机来完成,却是很轻松很神速的事情。

计算法

找不着北的时候怎么办?

要观察的内容包括:

  1. 故障发生时候的周围环境;
  2. 硬件环境,包括接电压、电流、线缆连接状态等;
  3. 哪怕是很细小的,和平常不一样的东西和迹象,
  4. 积极去了解用户操作的习惯和流程,这些习惯和流程经常和设计者的习惯和流程不一样,所以一些故障不会在设计者手上体现出来,

六、无电路图维修的技巧

20-80定律

容易损坏的部分:会发热的部分,电源部分、模拟信号部分、连接部分

七、设计中的概率论

任何时候,都不要指望会有好运气,

一定按照事务的客观规律办事,否则今天不出事,明天不出事,后天可能就出事了。

小概率、大权重的事情,应该把它当做大概率事件看待和处理。

在设计的过程中,要千万注意每一个可能产生的风险的细节。

要估算各个环节中产生风险的概率及风险产生后的损失,

不要指望一招吃天下,安全源自一大堆细节的完美。

注意设计中“一票否决”的地方:

  1. 整机设计,功能缺乏新意,客户没有购买欲;
  2. 电源的失效。
  3. 复位电路的失效
  4. CPU主振荡器的失效
  5. 电路不能耐受ESD打击,被打击后电路产生不可逆的损伤。
  6. 软件死机后不能自动恢复正常。
  7. 输入单元的失效,比如键盘的失效
  8. 输出单元的失效,比如LCD显示器的失效
  9. 软件指针的错乱
  10. 软件死循环
  11. 足以引起用户感觉异常的故障,这种情况就非常多了

一个硬件的原理图完成后,基本就决定了以下几个方面:

  1. 电路的抗干扰度,至少70%硬件方面的抗干扰不良,都是犹豫原理图上就缺少抗干扰的措施。
  2. 制造成本
  3. 维修成本
  4. 元器件的采购方便与否
  5. 抗异常环境能力

做设计,要时刻关注设计过程中的每一个异常,对异常现象不要有任何侥幸心理,及时解决掉每一个细小的毛病,只要是对设计有益的方式方法,可以一点点去尝试,只要不返工,加上时间的积累,设计就能完成。

计算好概率,远离危险,

计算好概率,用最小的资源消耗达到目的。

八、线缆的学问

据150年的统计,金属部件有80%以上的损坏是犹豫疲劳而引起的。

多股铜丝缠绕的软线,其抗折弯能力也大大好于同等截面积的单根芯线的电线。

九、尽量为后续的工作多遗留一些信息

十、搞定噪声

电火花是一个很强的噪声源,有广泛的频谱分布和很强的能量。

  1. 用马口铁将电子点火器几乎全部封闭起来,只留下2根电源线和2个点火触电,无效。
  2. 将以上电子点火器的屏蔽马口铁接电源地,无效;
  3. 将CPU系统和LCD面板等敏感部件用马口铁屏蔽,无效;
  4. 再将电子开关也屏蔽起来,无效;
  5. 隔离开关,死机的概率大幅度下降,但还是会有死机的可能,可靠性还是一个问题;

在电子点火器前面插入一个绕线磁环,这样处理后,死机的问题居然彻底根治了。

之所以火花干扰,如此难以搞定,是因为在火花中,包含广谱的无线电射频干扰信号,这些干扰信号不仅评语宽广,而且辐射强度非常大。最

十一、搞定电源

如果将人体也当做是一个硬件设备,电源在一个电子系统中的作用,十分类似于人体的循环系统,因为:

  1. 它们都是为系统的每一个模块,每一个最小单元输送能力的,电路里面的最小单元可以是一个三极管或一个电阻,人体的最小单元就是一个个的细胞;
  2. 它们都是封闭的回路,
  3. 循环系统的血管,从心脏出来来,是一级一级逐渐变细,滋润每个细胞,然后再一级一级汇合起来,返回西藏,电路板上的电压也是这样的,首先从正极出来,然后分散到每一个电路里面的最小单元,最后汇总回到电源的负极;
  4. 心脏为血液提供一定的压力,以保证循环的畅通。血压太高太低都会有麻烦,电源也有一定的电压,电压太高太低也同样会有大麻烦;
  5. 电路的功率越大,电流也越大,人体需要的能量越大,血液的流量和流速也越快,
  6. 血压过高或者过低可以让人毙命,二稍微有点高或者稍微有点低,就会有很多稀奇古怪的疾病发生。
  7. 同样的,电源过高可以让电路板立刻冒烟,电压过低可以让电路板立即罢工,而电压稍微有点高或者稍微有点低,也同样会有很多稀奇古怪的故障发生。
  8. 身体供血不稳定,可以造成很多机型或者慢性疾病,比如心绞痛,身体供血不稳定就相当于电源系统的脉动纹波。
  9. 如果人体的某一个企管沾染了有毒的东西,很容易通过循环系统扩散到全身,而这个毒性超过了人体正常的代谢能力,就会有急性或者慢性的中毒症状;
  10. 如果电路上一个模块产生了比较强的噪声,也很容易通过电源回路干扰到电路板上的其他电源,如果其他单元的抗噪声能力比较好,那出现问题的概率就会低一些,否则就极容易体现出故障。

电源一定要留有余量

电源一定要留足余量,一般要比负载的峰值好点至少多20%,这样比较安全,电源余量不足会发生很多意想不到的故障,

  1. CPU无故复位,CPU在不同模式下,其耗电不一样,同样一个CPU,它的耗电上下可以差距100倍之多。如果电源没有满足CPU的峰值消耗,那CPU满负荷工作的时候,就是噩梦的开始,比如死机或电路板上某个单元不工作,这种情况在32位嵌入式系统上发送的比较多,因为那些CPU动辄就要好几瓦,甚至超过10W的峰值功率,而平时也就几十或上百mW.
  2. 一个音频功率放大电路,在重低音输出的时候,声音总是失真,而平时的人声,缺婉约动人,因为重低音输出的时候,是功率放大器最耗电的时候,电源的功率储备不够,就会影响音质;
  3. 一个嵌入式系统,原先都工作的很正常,某一个突然以太网部分失灵,经过检查,是因为电路板上多增加了一个视频编解码芯片,导致主电源好点大增200mA. 这个时候电压从3.3V跌落到2.9V,而CPU依然正常工作,可是以太网芯片却因为这0.4V的电压跌落而罢工,而CPU和食品编解码芯片却可以正常运转,但是和以太网芯片通信的时候,因为以太网芯片已经处于不稳定状态,所以就不正常了,重新处理电源后恢复正常。

通常电源余量不足,电源会工作在极限状态,电源的纹波会剧烈上升,达到几百mV甚至几V。同时电压也会下跌。有些开关电源更加恶劣,达到了它的极限功率,他就关闭所有输出,让负载彻底断电,然后等待重启这个电源。

TIPS:

  1. 如何有效评估一个系统的电源需求。

对于一个实际的电子系统,要认真分析它的电源需求。不仅仅是关系输入电压,输出电压和电流,还要仔细考虑总功耗,电压实现的效率,电压部分对负载变化的瞬态响应能力,关键器件对电压波动的容忍范围以及相应允许的电源纹波,还有散热问题等鞥。工号和效率密切相关,效率高了,在负载功耗相同的情况下总功耗就少。

至于负载瞬态响应能力,对于一些高性能的CPU应用会有严格的要求,因为当CPU突然开始运行繁重的任务时,需要的启动电流很大,如果电源电路响应速度不够,会造成瞬间电压下降过多,过低,造成CPU运行出错。

散热问题对于那些大电流电源和LD0来说比较重要,通过计算可以评估是否合适,不过,如果是大电流应用,最好不要用LD0之类的线性稳压器。

2. 如何选择合适的电源实现电路;

LD0设计最易实现,输出纹波小,但缺点是效率有可能不高,发热量大,可提供的电流相较于开关电源不大等等。而开关电源电路设计灵活,效率高,但纹波大,实现比较复杂,调试比较麻烦等等。

3. 关于电源部分的布线,要注意如下几个方面:

两条线环路过大,

电器店的线路过长,

功率线路的铜箔宽度宽一些,连接电缆也尽量粗一些;

功率器件及干扰源器件要注意拜访的位置和方向,否则也会使电路板上的敏感部位受到干扰;

退藕电容的容量不足,或者在电路板上安排的位置不合理。

理想的直流电源输出的电源应该是纯正的直流,没有一丝一毫的杂波,在现实生活中是不存在的。现实的直流电源,无论其种类,总会有内阻,所以它在给各种负载供电的时候,负载的电流变化,就会在电源上以纹波噪声的形式体现出来,而且有些电源本身就会有输出的脉动,这同样也是纹波。

所谓纹波就是叠加在直流电源上的小幅度的交流信号,纯正的直流,输出电压等于一个常数C,而有纹波的电压。

在设计工作中发现,电源纹波会导致很多故障的发生,故障一般比较隐蔽和随机,多以难处理的软故障形式出现。

使用LDO可以有效地降低纹波,因为LDO工作于完全的负反馈方式,所以它的电源抑制比较开关电源要优秀得多。

频率高,其纹波的频率也就高,这样的纹波也更容易滤除。

频率高,就可以选低感值的电感,这样就有更强的负载能力。

频率高,在负载不是很大的情况下,可以实现用小的电容实现理想的滤波效果。

频率高的缺点是自损耗电流大。

十四、物以类聚,信号以群分

TIPS

物以类聚,信号以群分的主体思想就是要使个体具有接近整个小群体均值的特征。

各个相邻的群体也最好有类似的特性,如果做不到这一点,就必须强制隔离;

只有均值接近了,内部才容易匹配,不容易引起相互之间的牵扯和冲突,才能具有稳定的结构;

十五、选择元器件,也有诀窍

检查库存,用库存的器件来设计d

绝大多数航空公司在管理中,也遵循这个原理。一般一家航空公司都只会用一个公司生产的飞机,统一成一个公司的飞机后,所有的飞机都知识少数几个型号,这样可以节约员工的培训成本,维修技师的经验也可以完全分享,管理流程更容易单一化,程序化,最重要的是还能降低维修配件的储备数量,

尽量选择供应商量产的产品和经典的型号;

十六、优秀设计的10大要点

  1. 具有优秀的实用性, 经得起用户挑剔的眼光
  2. 有很好的稳定性,能够抗住很多恶劣的条件,静电,温湿度
  3. 好的电路通常都有很好的噪声抑制性,对噪声有必要的免疫力,在关键位置增加了元器件,增加了焊点之间间距以及增加了抵御漏电的电路;
  4. 好的电路对输入条件有良好的适应性,即使有异常的输入,也能得到稳定的输出;
  5. 好的电路灵敏度很好,信号哪怕再微弱也纤毫毕现;
  6. 好的马儿跑得快,吃草少;电子产品的低功耗很重要;
  7. 好的电路可以衍生出更多好的设计;
  8. 好的电路朴实无华,并不一定要用昂贵的IC
  9. 好的电路需要由优秀的工程师来开发

产品要实现产品的功能外,还要考虑一下问题

  • 较低的成本
  • 易于生产
  • 较快的设计周期,
  • 元器件易于采购,不会因为某个期间的供货终端二终止生产。
  • 易于发现运行中出现的问题;
  • 用户使用的便利性和易于理解性。
  • 产品在恶劣环境下发送故障的能力
  • 设计文档在后续的设计中,尽可能的能够被再利用。

十七、由数组非法操作想到的

数组及指针越界

感悟设计:电子设计的经验与哲理-王玮-微信读书 (qq.com)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/576572.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python脚本实现PC端大麦网自动购票(Selenium自动化测试工具)

文章目录 Selenium 简介Selenium webdriver 文档chromedriver(谷歌浏览器驱动)chromedriver 下载配置环境变量 大麦网购票脚本网页 dom 元素 启用远程调试(操作已打开的窗口) Selenium 简介 Selenium 是一个用于自动化测试的工具…

目标检测与追踪AI算法模型及边缘计算智能分析网关V4的算法应用

目标检测与追踪是计算机视觉领域中的一个重要任务,主要用于识别图像或视频中的目标,并跟踪它们的运动轨迹。针对这一任务,有许多先进的AI算法模型,例如: YOLO(You Only Look Once):…

linux 设备树-of_address_to_resource

实例分析-reg 属性解析(基于ranges属性) /{#address-cells <0x01>;#size-cells <0x01>;soc {compatible "simple-bus";#address-cells <0x01>;#size-cells <0x01>;ranges <0x7e000000 0x3f000000 0x1000000 0x40000000 0x40000000…

怎么把图片转换为二维码?3个步骤轻松制作图片二维码

图片的二维码是怎么做成的呢&#xff1f;现在很多场景下的二维码&#xff0c;用手机扫码可以展现出对应的图片信息。通过这种方式来传递图片对于用户体验与很好的效果&#xff0c;而且也方便制作者通过这种方式来快速完成图片信息的传递&#xff0c;与传统方式相比成本更低&…

客服专用的宝藏快捷回复软件

提起客服&#xff0c;很多人会觉得现在智能机器人的自动回复功能就可以将其替代。我始终不是这么认为的。人工客服始终能为一家店铺乃至一个企业起着非常关键重要的作用。今天就来给大家推荐一个客服专用的宝藏软件——客服宝聊天助手。感兴趣的话&#xff0c;可以发给你的客服…

面向对象开发技术(第三周)

回顾 上一堂课主要学习了面向对象编程与非面向对象编程&#xff08;面向功能、过程编程&#xff09;&#xff0c;本节课就重点来看看面向对象编程中的一个具体思想——抽象 面向对象编程的特性&#xff1a;1、封装性 2、继承性 3、多态性 封装&#xff1a;意味着提供服务接口…

异常风云:解码 Java 异常机制

哈喽&#xff0c;各位小伙伴们&#xff0c;你们好呀&#xff0c;我是喵手。 今天我要给大家分享一些自己日常学习到的一些知识点&#xff0c;并以文字的形式跟大家一起交流&#xff0c;互相学习&#xff0c;一个人虽可以走的更快&#xff0c;但一群人可以走的更远。 我是一名后…

【论文阅读】《Octopus v2: On-device language model for super agent》,端侧大模型的应用案例

今年LLM的发展趋势之一&#xff0c;就是端侧LLM快速发展&#xff0c;超级APP入口之争异常激烈。不过&#xff0c;端侧LLM如何应用&#xff0c;不知道细节就很难理解。正好&#xff0c;《Octopus v2: On-device language model for super agent》这篇文章可以解惑。 对比部署在…

JTAG访问xilinx FPGA的IDCODE

之前调试过xilinx的XVC&#xff08;Xilinx virtual cable&#xff09;&#xff0c;突然看到有人搞wifi-JTAG&#xff08;感兴趣可以参考https://github.com/kholia/xvc-esp8266&#xff09;&#xff0c;也挺有趣的。就突然想了解一下JTAG是如何运作的&#xff0c;例如器件识别&…

普通话水平测试用朗读作品60篇-(练习版)

普通话考试题型有读单音节字词、读多音节字词、朗读作品和命题说话。 具体分值如下&#xff1a; 1、读单音节字词100个&#xff0c;占10分&#xff1b;目的考查应试人普通话声母、韵母和声调的发音。 2、读双音节词语50个&#xff0c;占20分&#xff1b;目的是除了考查应试人声…

骨传导耳机怎么选?精心挑选热销排行前五的骨传导耳机推荐!

近几年&#xff0c;骨传导耳机作为新型蓝牙耳机款式&#xff0c;已经得到大家有效认可&#xff0c;可以说已经适用于日常中的各种场景中&#xff0c;比如运动场景&#xff0c;凭借舒适的佩戴体验和保护运动安全的特点深受到运动爱好者的欢迎&#xff0c;作为一个经验丰富的数码…

Linux网络—DNS域名解析服务

目录 一、BIND域名服务基础 1、DNS系统的作用及类型 DNS系统的作用 DNS系统类型 DNS域名解析工作原理&#xff1a; DNS域名解析查询方式&#xff1a; 2、BIND服务 二、使用BIND构建域名服务器 1、构建主、从域名服务器 1&#xff09;主服务器配置&#xff1a; 2&…

Windows主机入侵检测与防御内核技术深入解析

第2章 模块防御的设计思想 2.1 执行与模块执行 本章内容为介绍模块执行防御。在此我将先介绍“执行”分类&#xff0c;以及“模块执行”在“执行”中的位置和重要性。 2.1.1 初次执行 恶意代码&#xff08;或者行为&#xff09;要在被攻击的机器上执行起来&#xff0c;看起…

C语言----单链表的实现

前面向大家介绍了顺序表以及它的实现&#xff0c;今天我们再来向大家介绍链表中的单链表。 1.链表的概念和结构 1.1 链表的概念 链表是一种在物理结构上非连续&#xff0c;非顺序的一种存储结构。链表中的数据的逻辑结构是由链表中的指针链接起来的。 1.2 链表的结构 链表…

茴香豆:搭建你的RAG智能助理-笔记三

本次课程由书生浦语社区贡献者【北辰】老师讲解【茴香豆&#xff1a;搭建你的 RAG 智能助理】课程 课程视频&#xff1a;https://www.bilibili.com/video/BV1QA4m1F7t4/ 课程文档&#xff1a;Tutorial/huixiangdou/readme.md at camp2 InternLM/Tutorial GitHub 该课程&…

江苏开放大学2024年春《会计基础 050266》第二次任务:第二次过程性考核参考答案

电大搜题 多的用不完的题库&#xff0c;支持文字、图片搜题&#xff0c;包含国家开放大学、广东开放大学、超星等等多个平台题库&#xff0c;考试作业必备神器。 公众号 答案&#xff1a;更多答案&#xff0c;请关注【电大搜题】微信公众号 答案&#xff1a;更多答案&#…

记账本React案例(Redux管理状态)

文章目录 整体架构流程 环境搭建 创建项目 技术细节 一、别名路径配置 1.路径解析配置&#xff08;webpack&#xff09; &#xff0c;将/解析为src/ 2.路径联想配置&#xff08;vsCode&#xff09;&#xff0c;使用vscode编辑器时&#xff0c;自动联想出来src文件夹下的…

【java数据结构-优先级队列向下调整Topk问题,堆的常用的接口详解】

&#x1f308;个人主页&#xff1a;努力学编程’ ⛅个人推荐&#xff1a;基于java提供的ArrayList实现的扑克牌游戏 |C贪吃蛇详解 ⚡学好数据结构&#xff0c;刷题刻不容缓&#xff1a;点击一起刷题 &#x1f319;心灵鸡汤&#xff1a;总有人要赢&#xff0c;为什么不能是我呢 …

SCI一区级 | Matlab实现BES-CNN-GRU-Mutilhead-Attention多变量时间序列预测

SCI一区级 | Matlab实现BES-CNN-GRU-Mutilhead-Attention秃鹰算法优化卷积门控循环单元融合多头注意力机制多变量时间序列预测 目录 SCI一区级 | Matlab实现BES-CNN-GRU-Mutilhead-Attention秃鹰算法优化卷积门控循环单元融合多头注意力机制多变量时间序列预测预测效果基本介绍…

【C++杂货铺】多态

目录 &#x1f308;前言&#x1f308; &#x1f4c1;多态的概念 &#x1f4c1; 多态的定义及实现 &#x1f4c2; 多态的构成条件 &#x1f4c2; 虚函数 &#x1f4c2; 虚函数重写 &#x1f4c2; C11 override 和 final &#x1f4c2; 重载&#xff0c;覆盖&#xff08;重写…