您当前的位置:检测资讯 > 科研开发
嘉峪检测网 2021-08-17 09:42
在学习电路设计的时候,不知道你是否有这样的困扰:明明自己学了很多硬件电路理论,也做过了一些基础操作实践,但还是无法设计出自己理想的电路,硬件电路可靠性水平也不高。归根结底,我们缺少的是硬件电路设计的思路,以及可靠性保证实战经验。
设计一款硬件电路,首先要熟悉元器件的基础理论,比如元器件原理、选型及使用,学会绘制原理图,并通过软件完成PCB设计,熟练掌握工具的技巧使用,学会如何优化及调试电路等。
如何完整地设计一套硬件电路设计呢?
1)总体思路
设计硬件电路,大的框架和架构要搞清楚,但要做到这一点还真不容易。有些大框架也许自己的老板、老师已经想好,自己只是把思路具体实现;但也有些要自己设计框架的,那就要搞清楚要实现什么功能,然后找找有否能实现同样或相似功能的参考电路板(要懂得尽量利用他人的成果,越是有经验的工程师越会懂得借鉴他人的成果)。
2)理解电路
如果你找到了的参考设计,那么恭喜你,你可以节约很多时间了(包括前期设计和后期调试)。马上就copy?NO,还是先看懂理解了再说,一方面能提高我们的电路理解能力,而且能避免设计中的错误。
3)找到参考设计
在开始做硬件设计前,根据自己的项目需求,可以去找能够满足硬件功能设计的,有很多相关的参考设计。没有找到?也没关系,先确定大IC芯片,找datasheet,看其关键参数是否符合自己的要求,哪些才是自己需要的关键参数,以及能否看懂这些关键参数,都是硬件工程师的能力的体现,这也需要长期地慢慢地积累。这期间,要善于提问,因为自己不懂的东西,别人往往一句话就能点醒你,尤其是硬件设计。
4)硬件电路设计的三个部分:原理图、PCB和物料清单(BOM)表
原理图设计,其实就是将前面的思路转化为电路原理图,它很像我们教科书上的电路图。pcb涉及到实际的电路板,它根据原理图转化而来的网表(网表是沟通原理图和pcb之间的桥梁),而将具体的元器件的封装放置(布局)在电路板上,然后根据飞线(也叫预拉线))连接其电信号(布线)。完成了pcb布局布线后,要用到哪些元器件应该有所归纳,所以我们将用到BOM表。
5)选择PCB设计工具
Protel,也就是Altium(现在入门的童鞋大多用AD)容易上手,网上的学习教程资料也很全面,在国内也比较流行,应付一般的工作已经足够,适合初入门的设计者使用。
硬件电路设计的大环节必不可少,主要都要经过以下这几个流程:
1)原理图设计
2)PCB设计
3)制作BOM表
具体的设计步骤:
一、原理图建立+网表生成
1. 原理图库建立。要将一个新元件摆放在原理图上,我们必须得建立该元件的库。库中主要定义了该新元件的管脚定义及其属性,并且以具体的图形形式来代表(我们常常看到的是一个矩形(代表其IC BODY),周围许多短线(代表IC管脚)。protel创建库及其简单,而且因为用的人多,许多元件都能找到现成的库,这一点对使用者极为方便。应搞清楚ic body,ic pins,input pin,output pin,analog pin,digital pin,power pin等区别。
2. 有了充足的库之后,就可以在原理图上画图了,按照datasheet和系统设计的要求,通过wire把相关元件连接起来。在相关的地方添加line和text注释。wire和line的区别在于,前者有电气属性,后者没有。wire适用于连接相同网络,line适用于注释图形。这个时候,应搞清一些基本概念,如:wire,line,bus,part,footprint,等等。
3. 做完这一步,我们就可以生成netlist了,这个netlist是原理图与pcb之间的桥梁。原理图是我们能认知的形式,电脑要将其转化为pcb,就必须将原理图转化它认识的形式netlist,然后再处理、转化为pcb。
4. 得到netlist,马上画pcb?别急,先做ERC先。ERC是电气规则检查的缩写。它能对一些原理图基本的设计错误进行排查,如多个output接在一起等问题。(但是一定要仔细检查自己的原理图,不能过分依赖工具,毕竟工具并不能明白你的系统,它只是纯粹地根据一些基本规则排查。)
5. 从netlist得到了pcb,一堆密密麻麻的元件,和数不清的飞线是不是让你吓了一跳?呵呵,别急还得慢慢来。
6. 确定板框大小。在keepout区(或mechanic区)画个板框,这将限制了你布线的区域。需要根据需求好考虑板长,板宽(有时,还得考虑板厚)。当然了,叠层也得考虑好。(叠层的意思就是,板层有几层,怎么应用,比如板总共4层,顶层走信号,中间第一层铺电源,中间第二层铺地,底层走信号)。
二、PCB布局布线
先解释一下前面的术语。post-command,例如我们要拷贝一个object(元件),我们要先选中这个object,然后按ctrl+C,然后按ctrl+V(copy命令发生在选中object之后)。这种操作windows和protel都采用的这种方式。但是concept就是另外一种方式,我们叫做pre-command。同样我们要拷贝一个东西,先按ctrl+C,然后再选中object,再在外面单击(copy命令发生在选中object之前)。
1. 确定完板框之后,就该元件布局(摆放)了,布局这步极为关键。它往往决定了后期布线的难易。哪些元器件该摆正面,哪些元件该摆背面,都要有所考量。但是这些都是一个仁者见仁,智者见智的问题;从不同角度考虑摆放位置都可以不一样。其实自己画了原理图,明白所有元件功能,自然对元件摆放有清楚的认识(如果让一个不是画原理图的人来摆放元件,其结果往往会让你大吃一惊)。对于初入门的,注意模拟元件,数字元件的隔离,以及机械位置的摆放,同时注意电源的拓扑就可以了。
2. 接下来就是布线。这与布局往往是互动的。有经验的人往往在开始就能看出哪些地方能布线成功。如果有些地方难以布线还需要改动布局。对于fpga设计来说往往还要改动原理图来使布线更加顺畅。布线和布局问题涉及的因素很多,对于高速数字部分,因为牵扯到信号完整性问题而变得复杂,但往往这些问题又是难以定量或即使定量也难以计算的。所以,在信号频率不是很高的情况下,应以布通为第一原则。
3. OK了?别急,用DRC检查检查先,这是一定要检查的。DRC对于布线完成覆盖率以及规则违反的地方都会有所标注,按照这个再一一的排查,修正。
4. 有些pcb还要加上敷铜(可能会导致成本增加),将出线部分做成泪滴(工厂也许会帮你加)。最后的pcb文件转成gerber文件就可交付pcb生产了。(有些直接给pcb也成,工厂会帮你转gerber)。
5. 要装配pcb,准备bom表吧,一般能直接从原理图中导出。但是需要注意的是,原理图中哪些部分元件该上,哪些部分元件不该上,要做到心理有数。对于小批量或研究板而言,用excel自己管理倒也方便(大公司往往要专业软件来管理)。而对于新手而言,第一个版本,不建议直接交给装配工厂或焊接工厂将bom的料全部焊上,这样不便于排查问题。最好的方法就是,根据bom表自己准备好元件。等到板来了之后,一步步上元件、调试。
三、电路板调试
1. 拿到板第一步做什么,不要急急忙忙供电看功能,硬件调试不可能一步调试完成的。先拿万用表看看关键网络是否有不正常,主要是看电源与地之间有否短路(尽管生产厂商已经帮你做过测试,这一步还是要自己亲自看看,有时候看起来某些步骤挺繁琐,但是可以节约你后面不少时间!),其实短路与否不光pcb有关,在生产制作的任何一个环节可能导致这个问题,IO短路一般不会造成灾难性的后果,但是电源短路就......
2. 电源网络没短路?那么好,那就看看电源输出是否是自己理想的值,对于初学者,调试的时候最好IC一件件芯片上,第一个要上的就是电源芯片。
3. 电源网络短路了?这个比较麻烦,不过要仔细看看自己原理图是否有可能这样的情况,同时结合割线的方法一步步排查到底是什么地方短路了,是pcb的问题(一般比较烂的pcb厂就可能出现这种情况),还是装配的问题,还是自己设计的问题。
4. 电源芯片没有输出?检查检查你的电源芯片输入是否正常吧,还需要检查的地方有使能信号,分压电阻,反馈网络......
5. 电源芯片输出值不在预料范围?如果超过很离谱,比如到了10%,那么看看分压电阻先,这两个分压电阻一般要用1%的精度,这个你做到了没有,同时看看反馈网络吧,这也会影响你的输出电源的范围。
6. 电源输出正常了,别高兴,如果有条件的话,拿示波器看看吧,看看电源的输出跳变是否正常。也就是抓取开电的瞬间,看看电源从无到有的情况(至于为什么要看这个,嘿嘿......专业人士还是要看的~)
四、电源设计
无疑电源设计是整个电路板最重要的一环。电源不稳定,其他啥都别谈。我想不用balabala述说它究竟有多么重要了。
在电源设计我们用得最多的场合是,从一个稳定的“高”电压得到一个稳定的“低”电压。这也就是经常说的DC/DC,其中用得最多的电源稳压芯片有两种,一种叫LDO(低压差线性稳压器,我们后面说的线性稳压电源,也是指它),另一种叫PWM(脉宽调制开关电源,我们在本文也称它开关电源)。
硬件可靠性设计要考虑哪些?
一般来说,系统总是由多个子系统组成,而子系统又是由更小的子系统组成,直到细分到电阻器、电容器、电感、晶体管、集成电路、机械零件等小元件的复杂组合,其中任何一个元件发生故障都会成为系统出现故障的原因。因此,硬件可靠性设计在保证元器件可靠性的基础上,既要考虑单一控制单元的可靠性设计,更要考虑整个控制系统的可靠性设计。
1.影响硬件可靠性的因素
(1)元件失效。元件失效有三种:一是元件本身的缺陷,如硅裂、漏气等;二是加工过程、环境条件的变化加速了元件、组件的失效;三是工艺问题,如焊接不牢、筛选不严等。
(2)设计不当。在计算机控制系统中,许多元器件发生的故障并不是元件本身的问题,而是系统设计不合理或元器件使用不当所造成。
在设计过程中,如何正确使用各种型号的元器件或集成电路,是提高硬件可靠性不可忽视的重要因素。
(1)电气性能:元器件的电气性能是指元器件所能承受的电压、电流、电容、功率等的能力,在使用时要注意元器件的电气性能,不能超限使用。
(2)环境条件:计算机控制系统的工作环境有时相当恶劣,由于环境因素的影响,不少系统的实验室试验情况虽然良好,但安装到现场并长期运行就频出故障。其原因是多方面的,包括温度、干扰、电源、现场空气等对硬件的影响。因此,设计系统时,应考虑环境条件对硬件参数的影响,元件设备须经老化试验处理。
(3)组装工艺:在硬件设计中,组装工艺直接影响硬件系统的可靠性。由于工艺原因引起的故障很难定位排除,一个焊点的虚焊或似接非接很可能导致整个系统在工作过程中不时地出现工作不正常现象。另外,设计印制电路板时应考虑元器件的布局、引线的走向、引线的分类排序等
2、提高硬件可靠性的一般方法
在计算机控制系统的整体设计中,如何提高系统硬件的可靠性是整个系统设计的关键,系统硬件设计时常需采用必要的可靠性措施:
(1)电路设计。据统计,影响计算机控制系统可靠性的因素约45%来自系统设计。为了保证系统的可靠性,在对其电路设计时应考虑最极端的情况。
各种电子元器件的特性不可能是一个恒定值,总是在其额定(典型)参数的某个范围内;同时,电源、电压也有一个波动范围。最坏的设计方法是考虑所有元件的公差,并取其最不利的数值核算电路每一个规定的特性。如果这一组参数值能保证电路正常工作,那么在公差范围内的其他所有元件值都能使电路可靠地工作。
在设计应用系统电路时,还要根据元器件的失效特征及其使用场所采取相应的措施,对容易产生短路的部件以串联方式复制,对容易产生开路的部分以并联方式复制。
(2)元器件选择。在确定元器件参数之后,还要确定元器件的型号,这主要取决于电路所允许的公差范围。由于制造工艺所限,有些元器件参数的公差范围可能较大,如电容器电容量等。另外,元件或器件的额定工作条件包括多个方面(如电流、电压、频率、机械参数以及环境温度等),设计时要考虑参数裕量,并在运行时尽量保证接近元器件的设计工作温度。
(3)结构设计。结构可靠性设计是硬件可靠性设计的最后阶段。结构设计时,首先应注意元器件及部件的安装方式,其次是控制系统工作环境的条件(如通风、除湿、防尘等)。
(4)噪声抑制。噪声对模拟电路的影响会直接影响系统精度,噪声对数字电路也会造成误动作。因此,在工程设计中必须采用噪声抑制和屏蔽措施。对于模拟应用系统,可在电源端增加一些低通滤波电路来抑制由电源引入的干扰;对于数字系统,通常采用滤波器和接地系统;同时,在整体结构布局时应注意元器件的位置和信号线的走向。对于电磁干扰、电场干扰可采用电磁屏蔽、静电屏蔽来隔离噪声,也可采用接地、去耦电容等措施来减少噪声的影响。
(4)冗余设计。硬件冗余设计可以在元件级、子系统级或系统级上进行,必然增加硬件和成本。因此,设计时应仔细权衡采用硬件冗余的利弊关系。在计算机控制系统中,主要采用控制单元冗余和控制系统冗余来提高系统硬件可靠性。
3、单元可靠性设计
控制与接口单元是指能独立完成某些测控功能的功能模块,其可靠性设计主要包括微处理器系统的冗余设计、输入输出通道干扰的抑制、电源系统干扰的抑制、控制单元运行状态的监视等。
(1)I/O通道干扰的抑制
模拟量输入通道常态干扰的频率通常高于被测信号的频率,因此可考虑采用滤波网络对模拟量输入信号进行滤波。可采用各种形式的金属屏蔽层做好信号传送线路的屏蔽工作,将信号线与外界电磁场有效地隔离开来;在系统既有模拟电路又有数字电路时,数字地与模拟地要分开,最后只在一点相连,以防相互干扰。I/O通道一般应采用光电耦合器进行电气隔离,既可避免构成地环路,还可有效地抑制噪声。另外,在输入输出通道上应采用一定的过压保护电路。
(2)电源系统干扰的抑制
同一电源网路上有较多大功率设备时,在控制单元与供电电源之间可加入三相隔离变压器,以防止电网干扰侵入控制系统。在整机的电源线入口处,可通过增加电源滤波器来防止其他电子设备与本系统之间产生相互干扰。在机内独立的印刷板上应安装小型电源滤波器,以防止板与板之间的相互干扰。
由于开关电源具有较强的抗工频电压波动和频率波动能力,同时能隔离从电源线进入的传导干扰,适当场合可选用开关电源。必要时,系统输入输出通道和其他设备可考虑采用独立的供电电源,实行电源分组供电。另外,逻辑电路板上的直流电源线和接地线要注意合理布线。
(3)控制单元运行状态监视
可使用看门狗定时器(WDT)监视控制单元的运行状态。WDT的输出直接连到CPU的中断请求端或控制单元的复位端,WDT的每次“定时到”溢出脉冲信号均能引起CPU的中断或复位。WDT受CPU控制,可对其重新设置时间常数或刷新。
定时器重新开始计时,只要程序正常运行就不会产生定时中断或系统复位。一旦程序执行出错或发生程序乱飞、死机现象,看门狗定时器就会产生溢出脉冲信号,引起定时中断或复位,从而使控制单元重新启动或进入中断服务程序进行纠错处理。
(4)控制单元的掉电保护
对付电网瞬间断电或电压突然下降的有效方法就是掉电保护,对计算机测控系统可外加不间断电源(UPS),对测控系统中的控制单元可增加掉电保护电路,并慎重设计。掉电信号由硬件电路检测,加到控制单元CPU的外部中断输入端。软件中断将掉电中断规定为高级中断,使控制单元CPU能及时对掉电做出反应。在掉电中断子程序中,首先进行现场保护,保存当时重要的状态参数。当电源恢复正常时,CPU重新复位,恢复现场并继续未完成的工作。
(5)控制单元冗余设计
常用的控制单元冗余设计包括热备份并联冗余和冷备份并联冗余,两者都是以增加成倍的硬件投资来换取系统硬件的可靠性。
(1)热备份并联冗余是将若干功能相同的控制单元并联运行,同步执行相同的处理程序,当并联系统中至少有一个控制单元工作正常时,整个系统即维持正常工作。
为了提高控制单元的可靠性和经济性,常采用双机热备份并联方式。对受控系统而言,双机热备份并联方式只是其中一个控制单元完成测控任务,另一个控制单元处于并行工作的待命状态。但两个控制单元同步执行同样的程序,一旦自检系统发现主控单元有故障时,则待命状态的备控单元自动切换上去,代替主控单元使系统继续正常运行。在设计双机热备份系统时,要解决以下两个主要问题:
1)双机同步。双机同步一般是以事件作为同步令牌,其中事件可由设计者定义。如系统的工作过程为:输入接口采集由传感器送来的数据,在CPU内将采集到的数据和设定值进行比较、处理,最后得到本次的控制量输出。那么,事件可划分为数据采集和数据处理两个事件。
当应用系统启动时,两机同时执行第一事件,即采集状态数据。当第一事件完成后,再将两结果进行比较,如果相同则继续第二事件;若有错误,则主控单元自动切换,用备控单元代替主控单元。只要主控单元工作正常,则备控单元一直处于待命状态。
当事件进行数据处理时,若超出精度范围,则认为其中一个数据可能有错误,这时可以让双机重新转到本事件的首地址再执行一遍。若仍有差错,则再转到故障检测程序。这种软件回卷方法可以消除某些偶然性因素的影响。
2)故障检测。可以利用两机各自的自检程序分别进行自检,找出发生故障的控制单元。如果故障机是主控单元,则可进行自动切换,使程序继续执行下一个事件。为了能及时切换,可以根据任务的特点多设置一些事件,使得双机同步校验次数增多。
所谓切换是指通过输入输出接口相互交换双机状态,一旦某控制单元出错,另一控制单元就可及时知道。当备控单元发现主控单元有故障时,就可以发出控制信号,使主控单元自动退出控制,备控单元代替主控单元使系统继续正常运行。
(2)冷备份并联冗余设计中,备份的控制单元平时不加电工作,只在发现主控单元出故障时才用其代替主控单元。冷备份的控制单元在硬件结构、软件实现上都与主控单元完全一样,各种联机设备都安置到位,处于接通电源即可投入正常工作的冷备份状态。
冷备份并联系统中的冷热切换可以用人工操作转换,也可以自动切换。在设计成自动切换时,主控单元必须设置各路(或关键几路)报警信号。若发现超限现象,则及时输出切换信号去触发冷备份系统的电源触点,使备份单元投入正常运行。
下面会涉及一些理论知识,但是依然非常浅显易懂,如果你不懂,嘿嘿,得检查一下自己的基础了。
一、线性稳压电源的工作原理
如图是线性稳压电源内部结构的简单示意图。我们的目的是从高电压Vs得到低电压Vo。在图中,Vo经过两个分压电阻分压得到V+,V+被送入放大器(我们把这个放大器叫做误差放大器)的正端,而放大器的负端Vref是电源内部的参考电平(这个参考电平是恒定的)。放大器的输出Va连接到MOSFET的栅极来控制MOSFET的阻抗。Va变大时,MOSFET的阻抗变大;Va变小时,MOSFET的阻抗变小。MOSFET上的压降将是Vs-Vo。
现在我们来看Vo是怎么稳定的,假设Vo变小,那么V+将变小,放大器的输出Va也将变小,这将导致MOSFET的阻抗变小,这样经过同样的电流,MOSFET的压差将变小,于是将Vo上抬来抑制Vo的变小。同理,Vo变大,V+变大,Va变大,MOSFET的阻抗变大,经过同样的电流,MOSFET的压差变大,于是抑制Vo变大。
二、开关电源的工作原理
如上图,为了从高电压Vs得到Vo,开关电源采用了用一定占空比的方波Vg1,Vg2推动上下MOS管,Vg1和Vg2是反相的,Vg1为高,Vg2为低;上MOS管打开时,下MOS管关闭;下MOS管打开时,上MOS管关闭。由此在L左端形成了一定占空比的方波电压,电感L和电容C我们可以看作是低通滤波器,因此方波电压经过滤波后就得到了滤波后的稳定电压Vo。Vo经过R1、R2分压后送入第一个放大器(误差放大器——的负端V+,误差放大器的输出Va做为第二个放大器(PWM放大器)的正端,PWM放大器的输出Vpwm是一个有一定占空比的方波,经过门逻辑电路处理得到两个反相的方波Vg1、Vg2来控制MOSFET的开关。
误差放大器的正端Vref是一恒定的电压,而PWM放大器的负端Vt是一个三角波信号,一旦Va比三角波大时,Vpwm为高;Va比三角波小时,Vpwm为低,因此Va与三角波的关系,决定了方波信号Vpwm的占空比;Va高,占空比就低,Va低,占空比就高。经过处理,Vg1与Vpwm同相,Vg2与Vpwm反相;最终L左端的方波电压Vp与Vg1相同。如下图:
当Vo上升时,V+将上升,Va下降,Vpwm占空比下降,经过们逻辑之后,Vg1的占空比下降,Vg2的占空比上升,Vp占空比下降,这又导致Vo降低,于是Vo的上升将被抑制。反之亦然。
三、线性稳压电源和开关电源的比较
懂得了线性稳压电源和开关电源的工作原理之后,我们就可以明白为什么线性稳压电源有较小的噪声,较快的瞬态响应,但是效率差;而开关电源噪声较大,瞬态响应较慢,但效率高了。
线性稳压电源内部结构简单,反馈环路短,因此噪声小,而且瞬态响应快(当输出电压变化时,补偿快)。但是因为输入和输出的压差全部落在了MOSFET上,所以它的效率低。因此,线性稳压一般用在小电流,对电压精度要求高的应用上。
而开关电源,内部结构复杂,影响输出电压噪声性能的因数很多,且其反馈环路长,因此其噪声性能低于线性稳压电源,且瞬态响应慢。但是根据开关电源的结构,MOSFET处于完全开和完全关两种状态,除了驱动MOSFET,和MOSFET自己内阻消耗的能量之外,其他能量被全部用在了输出(理论上L、C是不耗能量的,尽管实际并非如此,但这些消耗的能量很小)。
来源:Internet