刚做完一个项目的硬件设计,将硬件设计流程总结了一下,整理自己的经验和教训,希望大家指出其中的不足,提供更好的方法和建议。
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
硬件设计流程
1. 需求分析及准备工作
a) 文档先行,项目一开始,就建立一个文档,命名类似090104MyPrj日志_xm.doc,日期放在前面,可以很容易按文件产生的先后顺序进行排列,便于查找;MyPrj为项目名称,可以写的更详细一些;xm为自己的姓名,在团队设计中很有用。可以将与本项目相关的任何内容按日期记录在本文档中,必要的时候将部分专题内容分离出来形成相应的文档;
b) 需求分析,划分功能块;
c) 为每个功能块选择实现电路,尽量选择成本低、元件容易购买、可靠性高的成熟电路;
d) 对自己不熟悉的电路进行仿真,并搭面包板进行调试;
e) 调试时要预先制定书面方案,按照预定方案进行调试;如果需要对方案进行更改,也要落实到书面,然后再按照更改后的方案进行调试;对试验过程和结果进行详细的记录。这样做的好处,一是在试验过程中不会漫无目的,也不会重复无用的试验,所有试验都是在思考分析的基础上进行的最有效的试验;二是书面记录的试验过程和结果可以作为强烈的客观依据,任何时候说给任何人都可以作为参考。我们也许有过这样的经验:对一个试验结果的描述使用“可能”、“也许”等字眼,原因是我们已经记不清试验的过程和结果了;
f) 单纯硬件电路仿真一般使用multisim;需要用到cpu的可以用protues;
g) 用面包板搭建电路时,注意走线规范、清晰,搭完电路要仔细检查,确认无误后再开始调试;有条件的话,电源用红线,地线用黑色,输入、输出和中间连线分别使用不同的颜色;如果需要改变输入信号,则输入信号需要布置在容易操作的地方;
h) 然后就可以开始画原理图了;
2. 画原理图
a) 文档先行。按功能块确认各部分的电路,选用的元件,为什么选择这种元件,注意事项,参考电路,信号流经的通路等,这些都写清楚了,再开始画原理图。画图的过程中,如果有什么需要修改的,在这里写清楚了,再开始修改;
b) 如果有cpu,需要先分配好cpu的管脚,再开始画原理图,分配的管脚也要有书面记录,说明分配的位置、功能、分配原则和这样分配的原因(如c<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />8051f的中断引脚只能放到P0口)等;
c) 在原理图上画出各功能块的原理图,不同部分之间使用网络标号进行连接,这样做的好处:容易划分各功能块,方便查看,便于移植。
d) 原理图上使用虚线对不同功能块进行分隔,并进行必要的注释,如功能、注意事项、跳线的默认设置等;
e) 画完原理图后要注意检查,确保没有任何错误。常见的错误有:VCC写成VDD;+5V写成5V;gnd和GND同时出现;网络标号没有与相应的导线连接到一起;不同地虽然使用不同的形状,但网络标号一样,实际上不会起到隔离作用。为了避免出现这些错误,可以使用一些简单的方法,如:放置一个网络标号时,如果已经有了这个网络标号,就不要再重新输入了,而是直接从已有的标号中选择;对于电源、地等,可以复制现有的网络标号而不是重新设置一个;
f) 关于元件的顺序号(designator):如果有30个电容,其中2个为15pF,15个为0.1uF,5个为1uF,其余为10uF,可以将15pF命名为CA?,0.1uF命名为CB?,1uF命名为CC?,10uF命名为 CD?,焊接时很容易找到对应值的电容。对于结构类似的接插件,也可以命名为JUSB、JCAN、JPW等,而不是J1、J2、J3等;
g) 原理图检查无误后,开始为每个元器件确定封装。确定封装时,首先得买到需要封装的元器件,如果买不到,就需要调整封装。
3. 画PCB图
a) 将原理图中的元器件封装导入到PCB中,检查设计的PCB大小是否可以足够放下所有的元器件并进行布线,如果有困难,最好重新设计PCB形状或大小;
b) 简单排列一下元器件,不要互相重叠,并且可以用一张纸打印出来。打印吧,检查每个元器件的封装是否和实际器件相符;检查PCB形状或大小是否跟你设计的盒体相适应;
c) 有的元器件封装,贴片和直插的管脚数目相同,但管脚定义不一样,需要仔细确认;同样的封装有的宽窄不一样,需要确认;有的贴片封装引脚伸出太短,焊接完后无法检查焊接质量,所以事先要将引脚外扩一些;焊盘大小也需要检查;
d) 开始布局:需要打孔的位置先放上焊盘,定好位置,然后锁止,打孔焊盘我一般从模板中抄袭,比如PC104模板;如果是插槽式的,就在内部再画一个KeepoutLayer层的内框来放置元器件,以避免元器件的放置位置干涉安装;
e) 先放置需要机械定位的元器件,如电源插头、USB接口、指示灯等;
f) 将每个功能块的元器件放到一块,然后根据连线方便的原理进行布局;
g) 在pcb板上布置各功能块的位置,进行细节调整,如相邻的电阻位置对齐;
h) 将网络标号进行分类,主要依据是布线的宽度;
i) 根据上面制定的NetClass制定布线规范;
j) 手动布置关键部分,如:晶振;去耦电容;同一芯片内的星形接地;等等;
k) 不希望走线的部分可以在KeepoutLayer层画一个多边形,待其他部分走线完毕后,将这个多边形删除;
l) 自动布线时,好多时候会布不通,这时最简单的办法是调整布局,将元器件布置在容易布线的位置,而不是首先考虑美观。像武术一样,先实用,再美观,可以称之为功夫,如果倒置,就是花架子了。当然,在满足功能和容易布线的前提下,板子布置的美观一些是完全必要的;
m) 自动布线完成后,使用DRC检查,没有错误之后,逐个网络检查布线,调整影响功能和美观的布线;
n) 检查完成后,修改元器件标号的位置,便于查看;元器件标号的字体一般设置为线宽1mil,字高40mil;
o) 在测试口上标注标号,如40脚测试点,在旁边间隔标注P00、P04、P10、P14等,主要是便于调试时查找管脚,否则每次都得从头数起,既麻烦又容易出错;
p) 一般在下部标上“XmPrj090104”字样,这样在同一功能的电路板进行修改时,很容易定位到是哪一个版本;
q) 双面板的话,在顶层和底层要进行覆铜,并连接到地线,(可能)可以提高抗干扰能力;
r) 可以送出制板了;
s) 完成之后,一件重要的工作是将制板的PCB文件和原理图文件进行备份,并清楚的注释为某年月日的制板文件,便于调试时查看。这个文件就是以后修改的基线,所有的修改都需要在副本中进行,这两个文件就不要再动了,当然,设置为“只读”属性是一个好办法。
文章评论(0条评论)
登录后参与讨论