- 软件是个坑,硬件是大坑。
对于刚刚毕业的学生们来说,选硬件还是写软件,可能一直是个比较纠结的问题。硬件工程师似乎从来不像软件工程师那么风光。大家一想到搞硬件的,可能马上出现的形象是,一个不修边幅的老兄,笨手笨脚地手捏电烙铁,在电路板上一阵乱戳,表达他的热爱。而这热爱的对象有时候并不那么领情,时不时在通电后滋滋怪响,然后冒出一缕青烟,作为对这种单相思的轻蔑。
嗯,每次新板子做好,上电瞬间,可以祈祷的就是千万别冒烟。这可不是杜撰,看一看群里兄弟们,谁没碰到过呢?
其实软件也有很囧的时候,下面是我一个程序猿朋友的亲身经历:
我是个程序猿,一天我坐在路边一边喝水一边苦苦检查bug。这时一个乞丐在我边上坐下了,开始要饭,我觉得可怜,就给了他1块钱,然后接着调试程序。他可能生意不好,就无聊的看看我在干什么,然后过了一会,他幽幽的说,这里,少了个分号。。。分号。。。分号。。。
嗯,此笑话来源于网络。开完玩笑,还得聊点儿正事儿。作为一个硬件工程师,怎样才能设计出好的产品。
- 硬件工程师,不容易
有一个看法是现在芯片厂家,或者方案商都会提供比较完整的参考设计,硬件工程师只要比照着抄一下就可以了。持这种看法的人,一定是没做过硬件的吧?就拿最简单的点个LED灯来说,咱们长时间观察,能长期稳定运行的真不多。拿LED做栗子的好处,是它容易暴露问题,而且这种产品出问题也没什么大不了的,最多赔点钱了事儿。无图无真相,上图:
(https://mmbiz.qpic.cn/mmbiz_jpg/NsFXGkXyWyuiaCL2NC2dv1PIc0d4kGicApbwWgcWEHcS8j6Pf0qXJdp4kiajOEvTzkYPk4ZMUwxDicOnfPrxyGibrtw/640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1)
还有一些产品,不像这样能一眼看出来,有的在运行几年后出问题,或者某种不常见的条件下,才会触发,这种就更难处理了。如何能设计出性价比高,又长期运行可靠的产品,对硬件工程师确实是一大挑战。
- 硬件工程师之7种武器
除了数电,模电,C语言,C++,计算机原理,操作系统,数据结构,算法,画原理图,布PCB板,焊接,调试这些基本技能,硬件工程师还要从多角度考虑问题,下面我们从7个方面聊一下。
需求分析
这个不太受重视,实际上是非常重要的第一步。从项目管理的角度,第一个任务就是要跟客户深入沟通,需要哪些功能,要比客户考虑的更多。往往客户只会提出主要功能,而忽视很多细节,等产品交到用户手里,才发现很多要改,这是特别不希望发生,然而经常发生的事情。所以要重视这第一步,比如要卖到哪些地方,哪些国家?当地气候条件怎么样,要通过哪些测试?有没有强制认证要求?最后形成文档。才能开始设计,越到后面,更改起来越费劲儿,代价越大。
功耗设计
如今设备的节能特性越来越受重视,一般每种产品都有节能标准。我们在设计产品时,要从整体考虑,不能看单一指标,要看待机功耗,运行功耗,然后根据待机时间和运行时间,计算出总的平均功耗。这样对于电池供电的设备,可以增加电池使用寿命。对于交流供电设备,虽然不像电池供电设备那么敏感,但是如果省电,产品卖得贵一些也,从电费上可以节省更多。另外功耗降低,板子的热量也会变低,元器件的寿命会增长。
EMC性能
EMC是个永远绕不过去的话题。有很多设备在实验室怎么测试都是好的,一到现场就出问题,EMC不过关是一个重要的因素。设计产品的每一个环节,都要考虑在内。很多技巧,做项目的时候没准儿就忘掉了。拿单片机来说,并不是跑得越快越好,速度跑太快,EMI会比较严重。在完成功能的同时,我们要尽量降低MCU的频率。GPIO引脚也是如此,翻转频率越慢越好,有的单片机引脚可以设置不同的上升速率,设置成比较低的上升沿,可以有效降低电磁辐射。有条件的可以在布PCB之前完成电路完整性仿真,EMC仿真。
成本控制
这个不用强调,特别是对于大批量生产的。我们需要考虑的就是不能单看物料成本。还要考虑设计成本,制造成本,测试时间成本。所以也不能埋头设计,需要跟其他部门多沟通才行。比如,尽量减少引入新元件种类,我们需要知道公司产品已经使用的元件种类。举例来说,如果要用到少量20K的电阻,公司从来没用过,那是不是可以用两个已有的10K的,串联起来用呢?哪些电阻可以用接近的阻值?可以动脑筋的地方挺多的,再比如哪些功能可以用软件实现,串口,IIC,SPI是不是可以用GPIOvwin ?DAC是不是可以用PWM替代?
产品稳定性
玩过硬件的兄弟姐们们都知道,在测试的时候死机不会死人,设备安装到现场后,出问题才会要命。而影响稳定性的因素,可以说是五花八门。比如高低温,震动,盐雾,雷击,防水,灰尘的积累等等,所以在设计时也要有对应的考虑。选择元器件要降额使用,如果功率比较高要和结构一起做散热设计,PCB打样阶段用红外测温仪,或可以贴到PCB的温度传感器,看有没有温度过高的地方。高低温,震动,浪涌,防水这些一定要实际测试,不能抱有侥幸心理。
可制造性,可维修性
在做产品设计时,充分考虑工厂的加工能力。比如拿PCB来说,最大尺寸可以多大,多厚,线宽和线间距最小能做多小,过孔的标准尺寸,最小孔径。元件布局合理吗,对回流焊接有哪些影响,是否能方便地装配?举个小例子,很多IC底部都有一个散热焊盘,这个焊盘是做成一个整体好呢,还是分割成小块儿比较好?这个问题就有专门的文章分析讨论。
美观,方便操作
直男们的最大弱点,却是用户最直接的体验。
以上每个方面都很重要,但往往又是相互冲突的,这就是对每一个工程师的最大挑战,需要我们做出平衡取舍,在较短的时间内和合理的成本控制下,把产品设计做到接近完美。最后,作为硬件工程师,不能纸上谈兵,看文章有用,但还要在实践中多磨炼,多交流学习。
-
电路板
+关注
关注
140文章
4951浏览量
97687 -
硬件
+关注
关注
11文章
3312浏览量
66200 -
BUG
+关注
关注
0文章
155浏览量
15665
发布评论请先 登录
相关推荐
评论