补充一下,其实无论用简单的protel或者复杂的cadence工具,硬件设计大环节是一样的(protel上的操作类似windwos,是post-command型的;而cadence的产品concept & allegro 是pre-command型的,用惯了protel,突然转向cadence的工具,会不习惯就是这个原因)。设计大环节都要有:1)原理图设计。2)pcb设计。3)制作BOM表。现在简要谈一下设计流程(步骤):
1)原理图库建立。要将一个新元件摆放在原理图上,我们必须得建立改元件的库。应搞清楚ic body,ic pins,input pin,output pin, analog pin, digital pin, power pin等区别。
2)有了充足的库之后,就可以在原理图上画图了,按照datasheet和系统设计的要求,通过wire把相关元件连接起来。
3)做完这一步,我们就可以生成netlist了,这个netlist是原理图与pcb之间的桥梁。
4)得到netlist,马上画pcb?别急,先做ERC先。ERC是电气规则检查的缩写。它能对一些原理图基本的设计错误进行排查,如多个output接在一起等问题。
5)从netlist得到了pcb,一堆密密麻麻的元件,和数不清的飞线是不是让你吓了一跳?呵呵,别急还得慢慢来。
6)确定板框大小。在keepout区(或mechanic区)画个板框,这将限制了你布线的区域。需要根据需求好考虑板长,板宽(有时,还得考虑板厚)。
确定完板框之后,就该元件布局(摆放)了,布局这步极为关键。它往往决定了后期布线的难易。哪些元器件该摆正面,哪些元件该摆背面,都要有所考量。
但是这些都是一个仁者见仁,智者见智的问题;从不同角度考虑摆放位置都可以不一样。其实自己画了原理图,明白所有元件功能,自然对元件摆放有清楚的认识(如果让一个不是画原理图的人来摆放元件,其结果往往会让你大吃一惊^_^)。对于初入门的,注意模拟元件,数字元件的隔离,以及机械位置的摆放,同时注意电源的拓扑就可以了。
接下来就是布线。这与布局往往是互动的。有经验的人往往在开始就能看出哪些地方能布线成功。用DRC检查检查先,这是一定要检查的。DRC对于布线完成覆盖率以及规则违反的地方都会有所标注,按照这个再一一的排查,修正。
结下来,要装配pcb,准备bom表吧,一般能直接从原理图中导出。但是需要注意的是,原理图中哪些部分元件该上,哪些部分元件不该上,要做到心理有数。对于小批量或研究板而言,用excel自己管理倒也方便。
而对于新手而言,第一个版本,不建议直接交给装配工厂或焊接工厂将bom的料全部焊上,这样不便于排查问题。最好的方法就是,根据bom表自己准备好元件。等到板来了之后,一步步上元件、调试。
谈谈调试
1)拿到板第一步做什么,不要急急忙忙供电看功能,硬件调试不可能一步调试完成的。先拿万用表看看关键网络是否有不正常,主要是看电源与地之间有否短路(尽管生产厂商已经帮你做过测试,这一步还是要自己亲自看看,有时候看起来某些步骤挺繁琐,但是可以节约你后面不少时间!),其实短路与否不光pcb有关,在生产制作的任何一个环节可能导致这个问题,IO短路一般不会造成灾难性的后果,但是电源短路就。
2)电源网络没短路?那么好,那就看看电源输出是否是自己理想的值,对于初学者,调试的时候最好IC一件件芯片上,第一个要上的就是电源芯片。
3)电源网络短路了?这个比较麻烦,不过要仔细看看自己原理图是否有可能这样的情况,同时结合割线的方法一步步排查倒底是什么地方短路了,是pcb的问题(一般比较烂的pcb厂就可能出现这种情况),还是装配的问题,还是自己设计的问题。关于检查短路还有一些技巧,这在今后登出。
3)电源芯片没有输出?检查检查你的电源芯片输入是否正常吧,还需要检查的地方有使能信号,分压电阻,反馈网络。
4) 电源芯片输出值不在预料范围?如果超过很离谱,比如到了10%,那么看看分压电阻先,这两个分压电阻一般要用1%的精度,这个你做到了没有,同时看看反馈网络吧,这也会影响你的输出电源的范围。
5)电源输出正常了,别高兴,如果有条件的话,拿示波器看看吧,看看电源的输出跳变是否正常。也就是抓取开电的瞬间,看看电源从无到有的情况(至于为什么要看着个,嘿嘿。。.专业人士还是要看的~)
另外,提醒大家的是,高速看的是信号沿,不是时钟频率。
1) 一般而言,时钟频率高的,其信号上升沿快,因此一般我们把它们当成高速信号;但反过来不一定成立,时钟频率低的,如果信号上升沿依然快的,一样要把它当成高速信号来处理。
根据信号理论,信号上升沿包含了高频信息(用傅立叶变换,可以找出定量表达式),因此,一旦信号上升沿很陡,我们应该按高速信号来处理,设计不好,很可能出现上升沿过于缓慢,有过冲,下冲,振铃的现象。比如,I2C信号,在超快速模式下,时钟频率为1MHz,但是其规范要求上升时间或下降时间不超过120ns!确实有很多板I2C就过不了关!
2)因此,我们更应该关注的是信号带宽。根据经验公式,带宽与上升时间(10%~90%)的关系
``