|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
在学习电路设计的时候,不知道你是否有这样的困扰:明明自己学了很多硬件电路理论,也做过了一些基础操作实践,但还是无法设计出自己理想的电路。归根结底,我们缺少的是硬件电路设计的思路,以及项目实战经验。4 x" a& ?: k8 q7 d
设计一款硬件电路,要熟悉元器件的基础理论,比如元器件原理、选型及使用,学会绘制原理图,并通过软件完成PCB设计,熟练掌握工具的技巧使用,学会如何优化及调试电路等。要如何完整地设计一套硬件电路设计,下面为大家分享我的几点个人经验:& b9 ]( x9 w; p) H1 [3 ^: \7 e2 f
& F0 D( K/ o4 |5 V" y8 n
1)总体思路& @5 E5 ^* H/ x1 K z! Z6 Q( h. w
- X$ D8 C/ n7 n7 [2 A9 A6 Q+ O 设计硬件电路,大的框架和架构要搞清楚,但要做到这一点还真不容易。有些大框架也许自己的老板、老师已经想好,自己只是把思路具体实现;但也有些要自己设计框架的,那就要搞清楚要实现什么功能,然后找找有否能实现同样或相似功能的参考电路板(要懂得尽量利用他人的成果,越是有经验的工程师越会懂得借鉴他人的成果)。
5 e- ?9 R& A% J9 t' @" S* _
4 z# M8 a7 }7 ]0 @ 2)理解电路+ t; D; }# y/ L# j
! I/ z* X# E5 e E* j5 t
如果你找到了的参考设计,那么恭喜你,你可以节约很多时间了(包括前期设计和后期调试)。马上就copy?NO,还是先看懂理解了再说,一方面能提高我们的电路理解能力,而且能避免设计中的错误。8 C1 W- o1 m1 l T3 V
# @: {! v& l) U9 h K, z( B: ]% b, p3 L 3)找到参考设计: H' H+ Z, w9 r% U X' e
" ^! u# n1 v' o# b, ~
在开始做硬件设计前,根据自己的项目需求,可以去找能够满足硬件功能设计的,有很多相关的参考设计。没有找到?也没关系,先确定大IC芯片,找datasheet,看其关键参数是否符合自己的要求,哪些才是自己需要的关键参数,以及能否看懂这些关键参数,都是硬件工程师的能力的体现,这也需要长期地慢慢地积累。这期间,要善于提问,因为自己不懂的东西,别人往往一句话就能点醒你,尤其是硬件设计。
4 V# q2 }/ w2 a* R- b9 a& _8 l - f3 u- I1 |- E) Q/ }/ E$ ]
4)硬件电路设计的三个部分:原理图、PCB和物料清单(BOM)表
$ b Z: x& \8 u4 ?/ \4 Y2 y" @+ i
6 j" ^5 s1 M3 V, h$ `7 l 原理图设计,其实就是将前面的思路转化为电路原理图,它很像我们教科书上的电路图。pcb涉及到实际的电路板,它根据原理图转化而来的网表(网表是沟通原理图和pcb之间的桥梁),而将具体的元器件的封装放置(布局)在电路板上,然后根据飞线(也叫预拉线)连接其电信号(布线)。完成了pcb布局布线后,要用到哪些元器件应该有所归纳,所以我们将用到BOM表。
5 W. ]3 B0 e5 e/ H) }: o
# ]2 e( k- p! k$ B. ` 5)选择PCB设计工具6 X% B$ a2 _7 n' @9 ~
9 V, x# A5 r/ G- y protel,也就是altium(现在入门的童鞋大多用AD)容易上手,网上的学习教程资料也很全面,在国内也比较流行,应付一般的工作已经足够,适合初入门的设计者使用。0 l8 {% N- |+ S! V, L* E5 h6 F$ Z/ m9 C
b1 j. ^/ c H8 k 硬件电路设计的大环节必不可少,主要都要经过以下这几个流程:2 o5 {) D& J( d6 i4 m. G
1)原理图设计
& m# n2 F" s1 e, q, I5 D 2)PCB设计
" ~1 j; {& F, `, Q 3)制作BOM表
8 h, x8 v% j0 s8 C3 \- Q3 _
4 n: y4 k( @$ f0 ^( H1 p3 P! z 现在再谈一下具体的设计步骤; K! D& v2 _7 V% {! S- ~
9 e1 U$ g8 M) @1 f# z 原理图建立+网表生成
8 R2 V& r& y- j* `. b6 M) r
; l1 j. F8 J0 Y( q6 P, J 1. 原理图库建立。要将一个新元件摆放在原理图上,我们必须得建立改元件的库。库中主要定义了该新元件的管脚定义及其属性,并且以具体的图形形式来代表(我们常常看到的是一个矩形(代表其IC BODY),周围许多短线(代表IC管脚))。protel创建库及其简单,而且因为用的人多,许多元件都能找到现成的库,这一点对使用者极为方便。应搞清楚ic body,ic pins,input pin,output pin,analog pin,digital pin,power pin等区别。
8 I4 V" r, m. B0 W2 Y* v ) L! f, K' E: a+ X5 A. Y3 Z
2. 有了充足的库之后,就可以在原理图上画图了,按照datasheet和系统设计的要求,通过wire把相关元件连接起来。在相关的地方添加line和text注释。wire和line的区别在于,前者有电气属性,后者没有。wire适用于连接相同网络,line适用于注释图形。这个时候,应搞清一些基本概念,如:wire,line,bus,part,footprint,等等。
0 j& Y- W6 e# b/ ?+ Y4 M
4 V# U/ [; ?$ R5 t* J 3. 做完这一步,我们就可以生成netlist了,这个netlist是原理图与pcb之间的桥梁。原理图是我们能认知的形式,电脑要将其转化为pcb,就必须将原理图转化它认识的形式netlist,然后再处理、转化为pcb。
" ^ v7 ~! j N8 b# x g: H G! W & x2 B3 x K3 _; _* Z6 V
4. 得到netlist,马上画pcb?别急,先做ERC先。ERC是电气规则检查的缩写。它能对一些原理图基本的设计错误进行排查,如多个output接在一起等问题。(但是一定要仔细检查自己的原理图,不能过分依赖工具,毕竟工具并不能明白你的系统,它只是纯粹地根据一些基本规则排查。)% n2 Y1 t B" }; z1 h. K) B
4 R5 k/ e2 Z2 l Y0 U 5. 从netlist得到了pcb,一堆密密麻麻的元件,和数不清的飞线是不是让你吓了一跳?呵呵,别急还得慢慢来。+ ~8 t1 r! s5 a% Y4 z8 ?
9 v1 s T* x! d! \9 C 6. 确定板框大小。在keepout区(或mechanic区)画个板框,这将限制了你布线的区域。需要根据需求好考虑板长,板宽(有时,还得考虑板厚)。当然了,叠层也得考虑好。(叠层的意思就是,板层有几层,怎么应用,比如板总共4层,顶层走信号,中间第一层铺电源,中间第二层铺地,底层走信号)。2 }) ^9 i$ ^/ r! B/ _
* I# D6 K T) @2 U2 P
PCB布局布线
$ c1 M; F4 @ i2 Q. M, \/ a8 c
& x' B Q- r# H) W 先解释一下前面的术语。post-command,例如我们要拷贝一个object(元件),我们要先选中这个object,然后按ctrl+C,然后按ctrl+V(copy命令发生在选中object之后)。这种操作windows和protel都采用的这种方式。但是concept就是另外一种方式,我们叫做pre-command。同样我们要拷贝一个东西,先按ctrl+C,然后再选中object,再在外面单击(copy命令发生在选中object之前)。
8 F0 r7 Y: p& K: h) { 8 ^ V9 q; G" q& O! z
1. 确定完板框之后,就该元件布局(摆放)了,布局这步极为关键。它往往决定了后期布线的难易。哪些元器件该摆正面,哪些元件该摆背面,都要有所考量。但是这些都是一个仁者见仁,智者见智的问题;从不同角度考虑摆放位置都可以不一样。其实自己画了原理图,明白所有元件功能,自然对元件摆放有清楚的认识(如果让一个不是画原理图的人来摆放元件,其结果往往会让你大吃一惊。对于初入门的,注意模拟元件,数字元件的隔离,以及机械位置的摆放,同时注意电源的拓扑就可以了。
* N: _0 v" r' K- Y, m4 A $ u. u9 m: w) z: t
2. 接下来就是布线。这与布局往往是互动的。有经验的人往往在开始就能看出哪些地方能布线成功。如果有些地方难以布线还需要改动布局。对于FPGA设计来说往往还要改动原理图来使布线更加顺畅。布线和布局问题涉及的因素很多,对于高速数字部分,因为牵扯到信号完整性问题而变得复杂,但往往这些问题又是难以定量或即使定量也难以计算的。所以,在信号频率不是很高的情况下,应以布通为第一原则。
4 c, _- c: g1 O1 v% {) U
7 T Y1 U$ P1 G. }+ R' ~ 3. OK了?别急,用DRC检查检查先,这是一定要检查的。DRC对于布线完成覆盖率以及规则违反的地方都会有所标注,按照这个再一一的排查,修正。: b4 f. ^: O+ ]) n3 H
- Q7 W% L& A( N3 K$ D T- d( K
4. 有些pcb还要加上敷铜(可能会导致成本增加),将出线部分做成泪滴(工厂也许会帮你加)。最后的pcb文件转成gerber文件就可交付pcb生产了。(有些直接给pcb也成,工厂会帮你转gerber)。' m# {4 H) a' l. M o
# L9 l0 r t0 B" q# T8 K
5. 要装配pcb,准备bom表吧,一般能直接从原理图中导出。但是需要注意的是,原理图中哪些部分元件该上,哪些部分元件不该上,要做到心理有数。对于小批量或研究板而言,用excel自己管理倒也方便(大公司往往要专业软件来管理)。而对于新手而言,第一个版本,不建议直接交给装配工厂或焊接工厂将bom的料全部焊上,这样不便于排查问题。最好的方法就是,根据bom表自己准备好元件。等到板来了之后,一步步上元件、调试。0 L6 \# [7 N+ \- G1 ]
# t3 W* |" w0 C4 C1 H 电路板调试
/ L7 i" x' `" ^/ K+ ]
% X/ b. K5 ?6 U+ N, m 1. 拿到板第一步做什么,不要急急忙忙供电看功能,硬件调试不可能一步调试完成的。先拿万用表看看关键网络是否有不正常,主要是看电源与地之间有否短路(尽管生产厂商已经帮你做过测试,这一步还是要自己亲自看看,有时候看起来某些步骤挺繁琐,但是可以节约你后面不少时间!),其实短路与否不光pcb有关,在生产制作的任何一个环节可能导致这个问题,IO短路一般不会造成灾难性的后果,但是电源短路就......
6 u s% q- o* ]* B 2. 电源网络没短路?那么好,那就看看电源输出是否是自己理想的值,对于初学者,调试的时候最好IC一件件芯片上,第一个要上的就是电源芯片。
" g6 m1 a% V6 e5 w 3. 电源网络短路了?这个比较麻烦,不过要仔细看看自己原理图是否有可能这样的情况,同时结合割线的方法一步步排查倒底是什么地方短路了,是pcb的问题(一般比较烂的pcb厂就可能出现这种情况),还是装配的问题,还是自己设计的问题。关于检查短路还有一些技巧,这在今后登出......9 m! S; U( k( v Z$ Q8 L X& O" N
4. 电源芯片没有输出?检查检查你的电源芯片输入是否正常吧,还需要检查的地方有使能信号,分压电阻,反馈网络......
' }2 p9 c7 X$ G1 k- _: t 5. 电源芯片输出值不在预料范围?如果超过很离谱,比如到了10%,那么看看分压电阻先,这两个分压电阻一般要用1%的精度,这个你做到了没有,同时看看反馈网络吧,这也会影响你的输出电源的范围。
/ H) i2 a3 e% O0 D; K 6. 电源输出正常了,别高兴,如果有条件的话,拿示波器看看吧,看看电源的输出跳变是否正常。也就是抓取开电的瞬间,看看电源从无到有的情况(至于为什么要看着个,嘿嘿......专业人士还是要看的~)
, p7 U0 e) u `( k& k& q
4 D6 o0 @" l+ s* t p2 z 电源设计
# e9 O5 K% s# Y& ~$ W ~8 m
- |* k, o. \. H 无疑电源设计是整个电路板最重要的一环。电源不稳定,其他啥都别谈。我想不用balabala述说它究竟有多么重要了。
! I; {3 Y4 K5 M+ A' T
& Y1 L2 h$ s `( n2 Y5 O" r 在电源设计我们用得最多的场合是,从一个稳定的“高”电压得到一个稳定的“低”电压。这也就是经常说的DC/DC,其中用得最多的电源稳压芯片有两种,一种叫LDO(低压差线性稳压器,我们后面说的线性稳压电源,也是指它),另一种叫PWM(脉宽调制开关电源,我们在本文也称它开关电源)。我们常常听到PWM的效率高,但是LDO的响应快,这是为什么呢?别着急,先让我们看看它们的原理。
! X" ]! N. u& [* s. |- \ 2 s0 V$ [. r& {$ [
下面会涉及一些理论知识,但是依然非常浅显易懂,如果你不懂,嘿嘿,得检查一下自己的基础了。
U* Z( g4 F. n" u; Z+ S0 j
* o. M l0 F) j3 P/ c5 \& n 一、线性稳压电源的工作原理* c( ~/ e6 M* L, }$ M- j
& N1 B$ v% Q* i. f' H% d& n1 _$ M
/ V! C0 f( L$ w& J4 }
如图是线性稳压电源内部结构的简单示意图。我们的目的是从高电压Vs得到低电压Vo。在图中,Vo经过两个分压电阻分压得到V+,V+被送入放大器(我们把这个放大器叫做误差放大器)的正端,而放大器的负端Vref是电源内部的参考电平(这个参考电平是恒定的)。放大器的输出Va连接到MOSFET的栅极来控制MOSFET的阻抗。Va变大时,MOSFET的阻抗变大;Va变小时,MOSFET的阻抗变小。MOSFET上的压降将是Vs-Vo。8 U, n2 u3 ?, j
. T" D) \# _! n% v 4 c% }' L% _/ l3 J, S; b2 M
现在我们来看Vo是怎么稳定的,假设Vo变小,那么V+将变小,放大器的输出Va也将变小,这将导致MOSFET的阻抗变小,这样经过同样的电流,MOSFET的压差将变小,于是将Vo上抬来抑制Vo的变小。同理,Vo变大,V+变大,Va变大,MOSFET的阻抗变大,经过同样的电流,MOSFET的压差变大,于是抑制Vo变大。
w/ j, h/ @, U+ u + |' {9 k# n2 W2 x$ \7 Z/ H
二、开关电源的工作原理
% U% M& z( o7 L# I; i
3 W( Z9 R0 l0 F) T+ [4 K2 M! v
如上图,为了从高电压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的开关。! T" E& x- M% A3 N; N
9 w6 m$ R5 N7 l o 误差放大器的正端Vref是一恒定的电压,而PWM放大器的负端Vt是一个三角波信号,一旦Va比三角波大时,Vpwm为高;Va比三角波小时,Vpwm为低,因此Va与三角波的关系,决定了方波信号Vpwm的占空比;Va高,占空比就低,Va低,占空比就高。经过处理,Vg1与Vpwm同相,Vg2与Vpwm反相;最终L左端的方波电压Vp与Vg1相同。如下图5 W1 C! q% ^( }7 d* @; W
- O8 K( s- J: O' H6 B
+ [5 \/ ?/ l$ z- U0 W. Z) W
) ~8 y. a1 N S* I; A! W( o 当Vo上升时,V+将上升,Va下降,Vpwm占空比下降,经过们逻辑之后,Vg1的占空比下降,Vg2的占空比上升,Vp占空比下降,这又导致Vo降低,于是Vo的上升将被抑制。反之亦然。: L( y% Q. J! ]7 J3 _; ^
9 b" {3 R) c7 |) M; u3 Z3 @- d1 r 三、线性稳压电源和开关电源的比较. ?% W5 T$ l+ i8 J8 F
! V+ c- G" D/ ]* I- ]
懂得了线性稳压电源和开关电源的工作原理之后,我们就可以明白为什么线性稳压电源有较小的噪声,较快的瞬态响应,但是效率差;而开关电源噪声较大,瞬态响应较慢,但效率高了。
& R" t( P5 ^9 R/ q: |: |. e0 m6 { v* o8 I/ q/ Z0 n5 a+ o% _
线性稳压电源内部结构简单,反馈环路短,因此噪声小,而且瞬态响应快(当输出电压变化时,补偿快)。但是因为输入和输出的压差全部落在了MOSFET上,所以它的效率低。因此,线性稳压一般用在小电流,对电压精度要求高的应用上。
- [5 P# ]# ~: s) a: R7 I" {
; k; E* Q5 b& j. c5 i 而开关电源,内部结构复杂,影响输出电压噪声性能的因数很多,且其反馈环路长,因此其噪声性能低于线性稳压电源,且瞬态响应慢。但是根据开关电源的结构,MOSFET处于完全开和完全关两种状态,除了驱动MOSFET,和MOSFET自己内阻消耗的能量之外,其他能量被全部用在了输出(理论上L、C是不耗能量的,尽管实际并非如此,但这些消耗的能量很小)。: }; j' I- N2 R& B
7 f8 s5 _8 a! `/ M# N+ X 总而言之,要学好硬件电路设计,首先要弄清楚项目需求,根据功能设计硬件框架,结合参考设计,多借鉴别人的设计成果,复用到自己的硬件项目上面来。
V: x- w1 G \; d) H$ O6 w4 L
|
|