原创 硬件设计流程

2009-1-4 14:41 3191 1 1 分类: MCU/ 嵌入式

刚做完一个项目的硬件设计,将硬件设计流程总结了一下,整理自己的经验和教训,希望大家指出其中的不足,提供更好的方法和建议。


<?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写成5VgndGND同时出现;网络标号没有与相应的导线连接到一起;不同地虽然使用不同的形状,但网络标号一样,实际上不会起到隔离作用。为了避免出现这些错误,可以使用一些简单的方法,如:放置一个网络标号时,如果已经有了这个网络标号,就不要再重新输入了,而是直接从已有的标号中选择;对于电源、地等,可以复制现有的网络标号而不是重新设置一个;


f)         关于元件的顺序号(designator):如果有30个电容,其中2个为15pF15个为0.1uF5个为1uF,其余为10uF,可以将15pF命名为CA?0.1uF命名为CB?1uF命名为CC?10uF命名为 CD?,焊接时很容易找到对应值的电容。对于结构类似的接插件,也可以命名为JUSBJCANJPW等,而不是J1J2J3等;


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脚测试点,在旁边间隔标注P00P04P10P14等,主要是便于调试时查找管脚,否则每次都得从头数起,既麻烦又容易出错;


p)        一般在下部标上“XmPrj090104”字样,这样在同一功能的电路板进行修改时,很容易定位到是哪一个版本;


q)        双面板的话,在顶层和底层要进行覆铜,并连接到地线,(可能)可以提高抗干扰能力;


r)         可以送出制板了;


s)         完成之后,一件重要的工作是将制板的PCB文件和原理图文件进行备份,并清楚的注释为某年月日的制板文件,便于调试时查看。这个文件就是以后修改的基线,所有的修改都需要在副本中进行,这两个文件就不要再动了,当然,设置为“只读”属性是一个好办法。

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
1
关闭 站长推荐上一条 /3 下一条