硬件工程师工作流程

硬件工程师通常的工作流程是:看元器件规格书,画原理图,画PCB图,出各种资料,测试各种信号和性能,修各种故障板。

顾名思义,标识原理的图纸。不管学过没学过电子的,应该很少有人不知道原理图是什么。但是原理图有什么用?为什么需要原理图?

硬件电路原理图SCH

电路的基本构成是元器件,元器件上又有一些引脚,每个引脚实现一定的功能。用线把这些引脚连起来,就形成了电路。可以直接用导线把这些引脚焊接起来,也可以通过PCB上的线路把引脚连起来。但是硬件工程师需要怎么接线,不能只靠嘴说,要画出来才行。因此原理图就是实物的简化,把实物用线条在文档中描绘出来:元器件用逻辑符号标识,引脚用线段表示,每个引脚之间通过网络线连起来。

原理图的英文叫“schematic”,字面意思是“示意图”。
原理图上的网络线,叫做“net”。网络。把元器件连成网。
芯片上的引脚,叫做“pin”。有时候也叫“管脚”。Pin的字面意思是“针”,好奇怪的感觉吧?现在的元器件看起来都不像针了,但是老式的元器件,像带色环的电阻器,电子管,插针式的晶体,这些都带有尖尖几根脚,pin的意思就是由此而来。现在没有外露的引脚的元器件的引脚,也按照惯例叫做了“pin”。
原理图和实物,是一一对应的。原理图上的元器件,在实物中都是存在的,原理图上的线路,在实物中也是存在的。如果对应不上,就出错了。

理论基础之PCB和FPC

PCB,Printed Circuit Board。如其字面意思,一块板子,上面有电路,印刷上去的。就是印刷电路板。也叫硬板。

FPC板

FPC,Flexible Printed Circuit。如字面所述,这是一个电路,也是印刷上去的,并且是柔性的。就是柔性电路板。也叫软板。一般是黄色的。
还有一种电路板,一部分是硬的,一部分是软的,一般叫做软硬结合板,或者刚挠板。(刚性和挠性)
电路板的工作原理:一块板子,上面有电路。用来搭载和联通各种元器件。将元器件焊接到电路板上以后,元器件的管脚之间通过电路板上的电路连接起来,互相传递电信号。就像家里的电灯和开关之间用电线连接起来一样,把灯泡、开关、电路缩小了放在一块板子上,就是电路板了。

FPC和PCB

PCB、电路板、主板、板子,这些常用的说法通常都是表示电路板,后续文章不对这些概念做具体的区分。
FPC和PCB最大的区别在于一个是软的,一个是硬的。软板可以卷曲弯折。但注意软板不是任意弯曲的,毕竟有厚度,折的次数太多了,或者弯折半径太小了,也会折断。以前翻盖手机用久了容易出现花屏现象,就是因为连接屏幕和主板的FPC弯折次数多了断掉了。
PCB和FPC,是由硬件工程师手工画出来的。从原理图输出网表netlist,结构工程师给出板框图纸,然后导入到PCB文件中。将一大堆元器件,逐个摆好,根据网络把实际的线路画出来,一块PCB就设计完成了。
PCB图纸,和PCB的实物是完全对应的,图纸上怎么画的,拿到手的PCB就是什么样子的。
有些多层电路板产品,例如8-12层的电脑、手机等,因为PCB图画起来太复杂了,往往会设有专门的PCB工程师的岗位,专门负责画图。也叫Layout工程师。
这里我们抛砖引玉的提几个问题:
如果线路太多了,一面画不下,怎么办?那就用两面。两面也画不下怎么办?可以再加两面,变成4层的。这就是多层线路板的概念。注意,层是Layer,不是floor,别闹笑话了。4层不够再继续往上加,几十层的都可以。像电脑主板,因为尺寸大,一般都是4层或6层。像手机主板,因为尺寸紧凑,一般都是8层到12层。很多军工的主板,对信号隔离度要求很高,经常做到二十多层。
空间思维不够强,可能想象不出来为什么需要走多层板。在单层电路上,两条不同的电路是不能交叉的,直接交叉就短路了。不交叉又要穿过去,也可以绕过去呀?不错,两根线交叉了可以绕过去,如果再来一根线,就绕不过去了。必须从空间上跨过去。于是就需要增加一层。所以对于多层板,每一层线路的绘制的方向一般是统一的,某一层都是横向的,另一层都是纵向的,这样总有办法能够通过空间交错开。
这么多层电路,怎么连接起来了?这个就通过过孔(via)来实现了。过孔,通过(电信号)的孔。类似于楼层中的楼梯,从一层楼下到另一层楼,需要通过楼梯。从一层电路连接到另一层电路,需要过孔。
为什么是4,6,8层电路板?没有3,5,7层?其实要做也能做,多层板的制作工艺是,先做里面的2层,再在外面贴2层,做完了再贴2层。如果先做完了里面的2层,再在外面贴1层,技术上可行,但工序和贴2层没什么区别,同样的价格下,肯定选择加2层,而不是加1层。
“手工画的”?现在汽车都自动驾驶了,alpha Go都打的人类抬不起头了,怎么画线路板这么“简单”的事情还要手工画?的确这个大问题。PCB发明的这几十年来,绘图软件公司都很想做自动布线。但是元器件种类太多太多了,每个元器件对线路的要求都有不同,每个信号对线路的要求也不同,使用者光建模就要花很久的时间。每根线的走线方法,是存放在硬件工程师脑子里的,很难把所有的规则都录入进去,遇到随机应变的地方,电脑程序根本比不过人脑。所以,简单的电路板用人手工画更快,复杂的电路板用程序很难画出来人想要的东西,自动布线普及率非常低,几乎没有人用。

原理图PCB工具

对于非硬件部门,驱动工程师、固件/嵌入式系统工程师,都需要会看原理图和PCB图。主要事项有:缩放、选择元器件和网络、查看元器件属性、查找元器件位置、查看网络这些。
对于硬件部门,如何操作工具有太多的教程了,这里不多讨论。后面会在硬件工程师工作流程部分,讲到工具使用的技巧。
常用的产品级硬件开发工具,Altium Designer用的并不多,主要是Mentor PADS和Cadence两家。AD就是以前的Protel,简单好上手,所以成为了学校首选。几乎所有的电子类高校,学的都是AD。但在正规硬件开发公司,几乎没有用AD的,普遍情况是:

AD:高校、研究所。简单,快速,约束少,但规范度不够。

PADS:简单产品的公司。不复杂,通用性强,但器件库管理不方便。

Cadence:复杂产品的公司。复杂,麻烦,适合复杂电路,元器件库的管理很好,但看线路费劲。

一般情况下,一家公司选定了开发工具,几乎就不会变了。工具虽然是工具,但连着各种库,牵一发东全身。而公司创始人或者硬件负责人决定用什么工具,主要取决于之前待过的公司用什么工具。于是就这么传承下来了,造就了这三家当前的局面。

高校从简单的Protel开始教学,导致了学生和研究所用AD的非常多。电脑公司是整个科技公司的起源,几乎都在用Cadence,部分公司用Cadence+PADS,这些大公司的人出来创业,自然也就沿用了Cadence和PADS。

不过用什么工具,和工程师的能力没什么关系,最多只是个熟练度而已。就像很多软件工程师也会陷入“我只做C不做Java”,“只做Java不做C++”之类的唯工具论,殊不知高手比拼算法和逻辑,新手才天天盯着工具。不管用什么工具,做的好、做的快、不出错,才是王道。所以我们的培养思路,也是重视理念和方法,不把工具做重点。

PADS的工具中,用的最多是PADS logic和PADS pcb,分别用来画原理图和PCB图。Cadence中,用的最多的是Orcad和Allegro,分别用来画原理图和PCB图。

这两个软件,在原理图设计上,最大的差别在Allegro能够和元器件库同步,元器件库改了,原理图也可以刷新过来,而PADS不行。这种情况非常常见,例如一颗电阻从厂家A变成了厂家B,如果是Orcad,跟着器件库刷新一遍,原理图上所有的同一规格的电阻都会改。如果是PADS,就只能手动一个一个改了。至于为什么在原理图库之外还有一个器件库,请见后面关于元器件的概述章节。

Orcad也不是什么都好,最比不上PADS的是查看网络。PADS的原理图,可以一键高亮选择网络,而Orcad需要选中网络再多点几次才能看到其他页面的网络,并且Orcad高亮显示的效果远不如PADS看的清楚。

因此有些公司,以Orcad画图,但是会用PADS来辅助看图和检查。比如我们自己。

简单讲一下常用的技巧:

缩放:每个软件都有缩放的按钮,点按钮去缩放太傻了,要用鼠标或快捷键,快速方法比点击按钮的效率高的多。PADS logic可以按住鼠标中间键来缩放,拉出来的框框住的区域,就是要放大的区域。Orcad主要用快捷键I和O,围绕着鼠标的位置放大或缩小。

选择和查看信息:原理图上的信息各种各样的都有,元器件、网络、文本、引脚,多种多样,要用过滤器去选择你要选择什么内容。选中了可以双击或者右键查看属性。

查找元器件:对于PADS画的原理图和PCB,可以连接起来,点了原理图,PCB也会亮,反之亦然。Orcad和Allegro画的图,也可以同步亮起来。看原图会比较方便的查找元器件的位置。不过有些时候不能把原图发出去,就需要Ctrl+F,根据元器件的位号在PDF的位号图上查找了。

有一些要命的问题:

用Orcad画原理图,最重要的是要从元器件库中调取元器件,而不是从图上复制一个类似的再改过来。例如,你要一个1K的电阻,如果是从原理图上copy一个10k的电阻过来,把value改成1K,一旦跟元器件库同步,就会被刷新回去,变回10K。

用Orcad画原理图,因为查看网络连接不太方便,很容易出现网络连接错误,该连的网络没有连起来,且DRC检查查不到。主要集中在电源和地的网络上。

焊接基础知识
通常用的手工焊接工具,是烙铁和热风枪。

热风枪

烙铁大家都很熟悉了,就一个旋钮,调温度的。烙铁手握的部分有一个电热丝,用来加热烙铁头。还有一个热敏电阻,用来检测烙铁头的温度。

用烙铁头紧挨着焊锡,焊锡被加热到熔点以上,就融化了。

这里再讲一个常识:一根长铁丝,一头插到火炉里面烧红了,另一头你敢不敢用手拿着?肯定敢,因为热量还没有传到手上就已经散的差不多了。同样对于烙铁头,在一段加热,另一端在散热,温度肯定是不均匀的。所以烙铁的设定温度,也就只是拿来做个参考,如果不知道烙铁热不热,别用手去摸哈,找根焊锡丝看看能不能被融化掉,就知道了。
烙铁使用最大的差别,在于烙铁头,有尖头、刀头、圆头(马蹄形)三种主要形状。三种各有优劣,分别应用于不同的场景里。(配图)

尖头截面最小,容易插入缝隙里焊接,但是和焊锡以及元器件的接触面积小啊,传热速度就慢了,焊锡融化的速度就要慢一些。圆头烙铁主要依靠头上的平面传热,速度快,焊出来的焊点很平整,但是太粗,不容易下到缝隙里去。这两种烙铁刀头烙铁属于万金油类型的,需要尖的时候可以尖,需要平面的时候也有平面,因此大部分开发实验室里都是刀头烙铁。

烙铁头一般都特殊镀层,能够很好的粘上焊锡,但是要注意保养。不用的时候关掉、少拿烙铁烫塑料,有助于烙铁头用的更久。

烙铁台一般会配有一个吸水海绵,用于擦拭烙铁上的多余的焊锡或者脏污。也可以在烙铁台上甩动或轻敲烙铁头,把焊锡甩下来。(动作不要太大,避免甩到其他地方去了。)

烙铁焊接导线类的东西很容易,但用来焊接电阻电容这些元器件就很困难了,如果用来焊接芯片的话就更加是不可完成的任务。所以有另外一种工具叫热风枪,顾名思义就是一种能够吹出热风的设备,长得像一把枪的样子。热风枪可能大家之前用的会少一些,但是热风枪的优势在于,不需要去接触到东西就可以把焊锡融化。所以应用场景比烙铁要更多。
有一种小的热风枪,看起来跟台式烙铁的形状相近,风力小,吹出来的热风也少一些,主要用来焊接小元器件。其缺点和烙铁也差不多,温度控制不够精确,有时候会因为温度过高把塑料的元器件吹糊了。还有一种手持的大号的热风枪,价格贵,风力足,温度精确。大风枪的风力大,吹小元器件的时候容易吹飞,且把整个电路板都加热了,容易碰掉背面的器件。

一般情况下,小风枪用于快速更换电容、电阻、电感、尺寸小于10mm的芯片等,大风枪主要用来吹大尺寸的元器件、屏蔽盖、结构件等。每个器材都会有一些妙用技巧,后面会慢慢讲述。

焊接基础知识之辅料

辅助材料


焊接工具

焊锡
咱们电子产品上的焊接,没办法像工业上直接把金属和金属加热融合到一起去,而是要通过介质,就是焊锡来连接两块不同的金属。实验室最常用的是焊锡丝,一圈丝状的焊锡,中空,含有助焊剂。SMT工厂加工的时候用的是锡膏,用来通过钢网(模版)涂抹在电路板上。

焊锡丝有有铅和无铅的两种,有铅的熔点低,无铅的熔点高。研发实验室里,用有铅的会比较多一些,更容易焊接。

焊锡丝的规格上,主要差别在粗细,例如0.5mm、0.8mm、1mm直径等。对性能没有影响,用起来也没有特殊差异。

镊子

怎么把元器件放到电路板上去?元器件被吹的东倒西歪的时候怎么扶正?用手指头,恐怕有点烫手。只要是产品开发工程师,不管是硬件还是结构还是软件,镊子都是人手至少一把的。很多人说,镊子我知道,经常用,太简单了。你还真别说简单,镊子里面也有玄机,不多干几年活,还真不一定发现的了。

形状上看,主要是弯头和直头的镊子,不同的形状,握在手上的时候,尖头的方向不同。具体怎么用着顺手,多摸摸就知道了。颜色上有黑色和银色两种,黑色的带有一层绝缘漆,银色的是不锈钢。因此黑色的部分不导电,银色的部分是导电的。还有一种陶瓷镊子,耐高温,用的很少,这里就不讨论了。镊子的头都是尖的,不上锡(就是说一般的焊锡焊不到镊子上去)。

镊子有很多妙用,除了夹着元器件之外,可以夹到万用表上当探针,可以清除短路的锡珠,可以当作跳线来夹在两个元器件之间,还可以用来拆快递:)

有时候会遇到镊子粘元器件的情况。本来打算用镊子把元器件放到电路板上的,但元器件不会掉下来,而是粘到镊子上了。此时需要把镊子尖擦干净。或者粘一点助焊剂,依靠助焊剂的粘性把元器件放在电路板上。

导线

调试主板的时候,需要焊电源线、下载线、测量线、飞线等,都需要用到各种型号的导线。常用的导线,按粗细划分,粗的用来做电源线,中等的用来做调试用,特别细的用来做精密焊接。

导线外表一般都有一层绝缘塑料皮,用来绝缘。内芯有多股的,有单股的,每股也有粗细不同。主要材质是铜或者铝。铜的导电性更好、质地柔软、价格高。铝线价格低,要硬一些。多芯线比单芯线要软一些。需要根据不同的应用场景选择不同的线材。例如家用220v电线、网线,一般都是单根的铜线,弯折好了就不会变形。电路板上焊的线,大多是多芯线或者很细的单芯线,线材柔软,应力小,不容易把电路板上的焊盘扯掉。粗的线通过电流的能力强,细的线通过的电流小,这也是高中物理学的。

导线的颜色有很多种,电源线一般是黑色或红色,信号线一般用其他的五颜六色的。不同颜色的线和性能没什么关系,但使用的时候最好用约定俗成的颜色。例如红色电源黑色地。用反了,容易对其他人造成误解。尤其是电源线,如果你非得把红色当地线,黑色当电源线,别的同事拿到你的电路板,按照经验一加电就会短路烧毁。插个题外话,做设计,自己不犯错误,同时也要杜绝诱导别人犯错误的地方,切莫当“猪队友”

漆包线

外面包了层塑料或橡胶绝缘层的导线,里面一般是纯金属,没有其他绝缘层了,拨开就可以焊接。但有些地方,例如电动机里面的线圈、喇叭的线圈、RFID卡的天线的线圈,这些暗金色的导线,一圈一圈的缠绕在一起,但却不会短路,因为外面刷了一层绝缘漆。这些线,用做电路板上的飞线再好不过了,0.1mm的线径,足够柔软,还不会引起短路。
如果从桌子上捡了一段细线,最好量量到底是铜丝还是漆包线,如果把铜丝当漆包线来用了,很容易引起短路。

用烙铁头粘一些焊锡,把漆包线线头插进去,烫几秒钟,闻到漆皮烧焦了的味道,然后拿出来,就可以看到线头变成银色了,已经被镀上了一层焊锡,此时就可以焊接了。如果拿出来还是暗金色的,说明油漆没有被烫掉,此时是无法用来焊接的。

吸锡线

顾名思义,把焊锡吸走。为什么要吸走呢?有时候给电路板上的焊盘上锡的时候,一不小心弄了一大块锡上去,或者一排密密麻麻的元器件或焊盘短路了,这时候就需要用到吸锡线了。吸锡线是用铜丝编织起来的一根带子,焊锡碰到了铜丝编成的网,就像一滴水滴到了棉线编织成的布一样,很快就浸进去了。就像用抹布擦水一样,用铜网擦融化了的焊锡也是一样的。

使用的时候,烙铁是压在吸锡线上,吸锡线再压到电路板上的焊锡上的。而焊锡要加热之后才会变成“水”,而铜网和电路板也都要达到焊锡融化的温度才能够让焊锡流动起来。因此使用吸锡线的关键是,要能够有足够的多的热量从烙铁传递过去,让焊锡融化并流动起来。说起来简单,但实际操作需要技巧,因为烙铁头和吸锡线的接触面积不大,吸锡线是铜丝做的散热很快,还需要隔着吸锡线把下面的焊锡融化了。所以一般都是用刀头烙铁,用侧面平整区域压着吸锡线用来传热。这里还有个小窍门,把用完的吸锡线剪掉,这样热量只朝一个方向散,另一个方向的热不会散出去,升温就更容易一些了。

像QFN封装的元器件焊接的时候,中间接地焊盘一定要用吸锡线弄平整了。BGA芯片焊接的时候,也需要用吸锡线把每一个pin脚上的锡都抹平了,才能够保证焊接质量。(如果是读者是从头开始读的,到这里会发现QFN、BGA、封装、接地、pin脚这些单词之前都没有听说过,就会导致看不懂这段话。怎么办呢?去网上搜搜呗。)

热熔胶

热熔胶=热了就熔化了的胶。一般是以胶棒的形状存在的。有点像焊锡,冷却的时候没有粘性,加热熔化了就有粘性了。熔点不高,100度上下即可熔化。用于固定线缆、固定电路板、修补外壳等。只要是干净的、没有油污或液体表面的,几乎都可以用热熔胶来粘起来,实在粘不上的,也可以用一大坨热熔胶包裹起来。总之就是用来固定用。

正统的使用方法,是用胶枪,把胶棒插到胶枪里面,胶枪通电加热,捏一下,就把熔化的胶水挤出来了。但是传统胶枪功率都不大,插上电要等好几分钟才能热起来,断了电之后,余热还会继续加热胶棒,枪头会有胶水滴下来。用起来效率低、不方便,只适合不间断的使用。

但咱们做产品,用到热熔胶的时间并不连续,于是我们丢弃了热熔胶枪,转而用热风枪。热风枪的升温速度快,几十秒钟就能出来两三百度的温度,拿来吹胶棒,很快就会熔化,效率非常高。

烙铁也有几百度,但一般情况下不要用烙铁去烫热熔胶,传热效果不好,并且烙铁头上沾满了热熔胶,很难清理,也影响寿命。

焊接支架

实际工作中,很多电路板都是双面放置元器件的。如果放在桌面上,电路板背面也会受力,就经常会出现吹熔化了这一面的焊锡,另一面的元器件就被碰掉下来了的情况。因此需要用一个架子夹住电路板,并悬空起来。这样就不会碰到背面的元器件。或者有些电路板很小,用风枪一吹就吹跑了,也需要用架子固定住。这个就是焊接支架。也有叫维修支架、维修台、焊接夹具等。

这些支架一般都是金属的,带有弹簧固定位,夹持力度不能太大了,太大了容易把电路板挤变形。用热风枪吹元器件的时候,支架的局部温度也比较高,要小心不要被烫到了。

洗板水

助焊剂并不是完全没有残留的,焊接台也不是绝对干净的,锡珠也可能会飞溅到电路板上。脏兮兮的电路板,要处理干净了才能交付给下一个环节。怎么办?用水洗么?其实用水洗也没什么问题,手机掉到水里去,捞出来晒干了,几乎都可以正常开机使用。只不过用纯净水来洗电路板,晾干的速度慢,清理污渍的能力也比较弱。一般大家都用洗板水。可以用刷子沾一些洗板水来刷电路板,或者用超声波设备,像洗眼镜一样的洗电路板。

早期的时候有些实验室会用天拿水,毒性比较大,后来大多改成了环保洗板水。有些时候使用纯酒精。总之,能够把脏污和残留助焊剂冲洗掉,本身不导电,又能够快速挥发,就可以了。

这些易挥发品,通常都是易燃液体,务必要保证通风良好,以及防火安全。

这里补充一个常识,水,到底会对硬件设备造成什么影响?纯净水是不导电的,只要你愿意,把电路板泡在纯净水里,照样可以工作。不过日常中泡水了的设备,一般都不是泡在纯净水里面的,日常的水都是可以导电的,导电了就短路了,短路了就烧毁了。这种常见的观点不完全正确,肯定会短路,但不一定会烧毁,并且绝大部分情况下不会烧毁。把手机丢到水里面,电池是最先短路的,但是电池有短路保护的芯片,能让电路板上的芯片不会被烧毁。即便没有短路保护,电池的电也会绕过芯片,优先通过水来传递。芯片被旁路掉了,自身就没有大的电流通过,自然就不会被烧毁。

电路板泡水,最大的危害不是在烧毁芯片,而是在腐蚀。电路板受潮,也是一样的情况,水蒸气+氧气+金属=生锈=导电性下降或断路。会严重影响电路板的寿命。所以在产品可靠性测试的时候,会测“高温高湿”,产品在“蒸笼”里蒸上百个小时,如果还能安然无恙,说明防潮措施做的到位了。

如果在海里游泳的时候,手机掉到海水里了,恭喜你,有机会换新机了。海水盐分含量很高,导电性强,电化学腐蚀能力极强,即使用清水冲洗干净了,手机也没几天寿命了。

水对很多外围设备的影响在结构。例如水浸到LCD屏幕里去了,往往会把导管片打湿,产生屏幕上的水印。如果浸到摄像头中去了,拍照的时候就会模糊。

高温胶带

黄色半透明的胶布,粘性不强、不易变形、绝缘、能够耐高温。因其导热性不佳,可用于在用热风枪吹元器件的时候,遮挡热风,减少非焊接区域的受热。常用语遮挡塑料结构件,如卡座、连接器等。也可以用来在焊接的时候固定电路板,尤其是柔性电路板,将电路板贴在焊接台架上,使其不会被吹跑。

实验室里用普通的透明胶带的比较少,一是不耐高温,受热即熔化,二是很容易脱胶,一加热或者时间久了,胶就会掉下来,难以清理。

安全第一

看了这么多,要动手了。摆好姿势先。在硬件实验室里,虽然没有生命安危问题,但是还是有各种让你痛不欲生的办法。安全第一。

使用镊子的时候,首先不要扎到自己了,也不要扎到别人了。锋利的还带着助焊剂和细小的锡珠的镊子尖,捅到手上,定会感受到“十指连心”的酸爽。因此递镊子给别人的时候,别用尖头冲着别人,很不礼貌也危险。

用烙铁或风枪的时候,用完就放回支架上,避免一不小心摸上去了被烫到了。

对于被长期加热的其他部件,也要尽量远离操作区域。作者曾经干过这么一件事:把一块刚被吹下来的屏蔽盖(两三百度的一块铁片)丢在了实验台上,然后用胳膊压了上去。只听一声惨叫,“深深的烙印”就是这么来了。

被烫一下,还不算严重的,被烫了一下,人体自然会避开。但有些事情是避都避不掉的。锡珠滴到手上,甩是可以甩的掉的,热熔胶烧化了滴到手上,就是甩也甩不掉了,只有默默的等它凝固了再抠下来。

原文来自“燚智能硬件开发网”“燚智能周教授开讲智能硬件开发实战派”