从最初画第一块电路板,到现在才算真正懂工程师这个职业!
扫描二维码
随时随地手机看文章
时光飞逝,离俺最初画第一块电路已有3年。刚刚开始接触电路板的时候,与大家一样,俺充满了疑惑同时又带着些兴奋。
在网上许多关于硬件电路的经验、知识让人目不暇接。像信号完整性、EMI、PS设计准会把你搞晕。
别急,一切要慢慢来。一个硬件工程师到底需要做什么,读完这篇文章,相信你就懂了。
其实搞硬件主要体现在这几方面,当然这是俺的总结,供大家参考:
1)总体思路。设计硬件电路,大的框架和架构要搞清楚,但要做到这一点还真不容易。有些大框架也许自己的老板、老师已经想好,自己只是把思路具体实现;但也有些要自己设计框架的,那就要搞清楚要实现什么功能,然后找找有否能实现同样或相似功能的参考电路板。
2)理解电路。如果你找到了的参考设计,那么恭喜你,你可以节约很多时间了(包括前期设计和后期调试)。马上就copy?NO,还是先看懂理解了再说,一方面能提高我们的电路理解能力,而且能避免设计中的错误。
3)没有找到参考设计?没关系。先确定大IC芯片,找datasheet,看其关键参数是否符合自己的要求,哪些才是自己需要的关键参数,以及能否看懂这些关键参数,都是硬件工程师的能力的体现,这也需要长期地慢慢地积累。这期间,要善于提问,因为自己不懂的东西,别人往往一句话就能点醒你,尤其是硬件设计。
4)硬件电路设计主要是三个部分,原理图、pcb 、物料清单(BOM)表。原理图设计就是将前面的思路转化为电路原理图。
pcb涉及到实际的电路板,它根据原理图转化而来的网表(网表是沟通原理图和pcb之间的桥梁),而将具体的元器件的封装放置在电路板上,然后根据飞线连接其电信号。完成了pcb布局布线后,要用到哪些元器件应该有所归纳,所以我们将用到BOM表。
5)用什么工具?Protel,也就是altium容易上手,在国内也比较流行,应付一般的工作已经足够,适合初入门的设计者使用。
补充一下,其实无论用简单的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%)的关系