1、总体思路
设计硬件电路,大的框架和架构要搞清楚,但要做到这一点还真不容易。有些大框架也许自己的老板、老师已经想好,自己只是把思路具体实现;但也有些要自己设计框架的,那就要搞清楚要实现什么功能,然后找找有否能实现同样或相似功能的参考电路板(要懂得尽量利用他人的成果,越是有经验的工程师越会懂得借鉴他人的成果)。
2、理解电路
如果你找到了的参考设计,那么恭喜你,你可以节约很多时间了(包括前期设计和后期调试)。马上就copy?NO,还是先看懂理解了再说,一方面能提高我们的电路理解能力,而且能避免设计中的错误。
3、没有找到参考设计?
没关系。
先确定大IC芯片,找datasheet,看其关键参数是否符合自己的要求,哪些才是自己需要的关键参数,以及能否看懂这些关键参数,都是硬件工程师的能力的体现,这也需要长期地慢慢地积累。
这期间,要善于提问,因为自己不懂的东西,别人往往一句话就能点醒你,尤其是硬件设计。
4、硬件电路设计主要是三个部分
原理图、PCB、物料清单(BOM)表。
原理图设计就是将前面的思路转化为电路原理图。它很像我们教科书上的电路图。PCB涉及到实际的电路板,它根据原理图转化而来的网表(网表是沟通原理图和PCB之间的桥梁),而将具体的元器件的封装放置(布局)在电路板上,然后根据飞线(也叫预拉线)连接其电信号(布线)。
完成了PCB布局布线后,要用到哪些元器件应该有所归纳,所以我们将用到BOM表。
5、用什么工具?
Prote,也就是altimuml容易上手,在国内也比较流行,应付一般的工作已经足够,适合初入门的设计者使用。
其实无论用简单的protel或者复杂的cadence工具,硬件设计大环节是一样的(protel上的操作类似windwos,是post- command型的;而cadence的产品concept & allegro是pre-command型的,用惯了protel,突然转向cadence的工具,会不习惯就是这个原因)。
设计大环节都要有:
1)原理图设计。
2)PCB设计。
3)制作BOM表。
现在简要谈一下设计流程(步骤)
1)原理图库建立。要将一个新元件摆放在原理图上,我们必须得建立改元件的库。库中主要定义了该新元件的管脚定义及其属性,并且以具体的图形形式来代表(我们常常看到的是一个矩形(代表其IC BODY),周围许多短线(代表IC管脚))。
protel创建库及其简单,而且因为用的人多,许多元件都能找到现成的库,这一点对使用者极为方便。应搞清楚icbody,icpins,inputpin,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层,顶层走信号,中间第一层铺电源,中间第二层铺地,底层走信号)。