优秀的硬件工程师应该具备

1. 快速学习的能力:

现在的技术,标准和芯片更新的太快了,快到你根本来不及系统的了解它,只能通过特定的项目,需求进行了解;另一方面对于公司来说,需要做的硬件产品也是变化很快, 没有人是什么都懂的,都需要能够结合客户的需求,选择的芯片方案进行详细了解,尤其对于接口协议和电气特性。

2. 对协议和标准的理解:

对于硬件工程师来说,必须要熟悉使用的相关协议和接口标准,尤其对于电气规范,眼图模板,这样在设计验证的时候才能胸有成竹。

如果你做智能家居的,你对蓝牙、WIFI、Zigbee的新标准应该要深入了解吧,各自的优劣势也应该了如指掌吧,最新的标准有啥提升和缺点也可以信手拈来,说不定这样你就能做出符合消费者需求的全新产品呢!也指不定在跳槽的时候,因为你掌握了一个别人还没有了解的技术,而获得成功呢!

3. 写文档的能力:

诚如软件设计一样,好的软件设计需要好的设计文档,明确需求,实现什么功能,达到什么验收标准,随着芯片集成度的增加,接口速率的提高,单板复杂度的提高,硬件设计也越来越复杂以及对应热稳定性,可靠性,电磁兼容,环境保护的要求,已经不是通过小米加步木。仓的游击战可以解决了,每一个硬件项目都是一场战争,都需要好好的规划,好好的分析,这就需要好好做文档。

对于硬件工程师来说,最重要的文档有两个:一个是硬件设计规范(HDS : hardware design specification)和硬件测试报告(一般叫EVT:Engineering Validation& Test report或者DVT: Design Validation & Test report),对于HDS的要求是内容详实,明确,主芯片的选择/硬件初始化,CPU的选择和初始化,接口芯片的选择/初始化/管理,各芯片之间连接关系框图(Block Diagram),DRAM类型/大小/速度,FLASH类型/大小/速度,片选,中断,GPIO的定义,复位逻辑和拓扑图,时钟/晶振选择/拓扑,RTC的使用,内存映射(Memory map)关系, I2C器件选择/拓扑,接口器件/线序定义,LED的大小/颜色/驱动,散热片,风扇,JTAG,电源拓扑/时序/电路等等。

对于DVT来说,要求很简单也很复杂:板卡上有什么接口,芯片,主要器件,电路,就要测试什么,尤其在板卡正常工作的情况下的电源/电压/纹波/时序,业务接口的眼图/模板,内部数据总线的信号完整性和时序(如MII, RGMII, XAUI, PCIe,PCM bus, Telecom Bus, SERDES, UART等等),CPU子系统(如时钟,复位,SDRAM/DDR,FLASH接口)。

好的硬件工程师无论是做的文档还是报道都是令人一目了然,这个硬件系统需要用什么方案和电路,最后验证测试的结果如何。内容详实,不遗漏各种接口/电路;简单名了,不说废话;图文并茂,需要的时候一个时序图,一个示波器抓图就很能说明问题了。

4. 仪表/软件的使用能力:

仪表包括电烙铁,万用表,示波器,逻辑分析仪,误码仪,传输分析仪,以太网测试仪Smartbits/IXIA,热量计,衰减器,光功率计,射频信号强度计等等;软件包括Office(Outlook,Word, Excel, PowerPoint, Project, Visio),PDF,常用原理图软件Pads或者OrCAD,常用PCB软件Pads或者Allegro,Allegro Viewer,电路仿真软件PSPICE,信号仿真软件HyperLynx等等。

无论仪表还是软件,在政治经济学里说都是生产工具,都是促进生产力提高的,作为硬件工程师来说,这些仪表和软件就是手中的木。仓炮,硬件工程师很大一部分能力的体现都在与仪表和软件的使用上,尤其对于原理图软件和示波器的使用,更是十分重要,原理图软件的使用是硬件设计的具体实现,通过一个个器件的摆放,一个个NET的连接,构成了是十分复杂的硬件逻辑软件,是整个硬件设计的核心工作,任何一个原理图上的失误和错误造成的损失都是巨大的,真是“如履薄冰,战战兢兢”。

另外,原理图软件的使用还体现在原理图的美观上,好的设计,简单明了,注释明确,无论是谁,顺着思路就能很快搞清楚设计意图,需要特别注意之处,不好的设计,东一个器件,西一个器件,没有逻辑,命名怪异,难以理解,日后维护起来相当麻烦;示波器在所有测试仪表之中,对于硬件工程师是最重要的,无论原理图还是PCB都是设计工作,但是任何设计都需要仔细的验证测试,尤其在信号方面,都需要大量的示波器工作,不会正确的使用示波器根本谈不上正确的验证,接地有没有接好,测试点的选择,触发的选择,延时的选择,幅度、时间的选择,都决定着测试的结果。如果错误的使用示波器必然带来错误的测试结果,这种情况下,有可能本来是错误的设计被误认为是正确的,带来巨大的隐患;本来是正确的设计被误认为是错误的,带来大量的时间精力浪费。

5. 电路设计的能力:

随着芯片集成度的提高,硬件设计似乎变简单了。首先是逻辑连接,其次考虑信号完整性需要的串行电阻选择和并行电容选择,电源滤波,退耦。不过对于好的硬件工程师来说,简单的逻辑连接(这个芯片的同样总线的输出接另一个芯片的输入,等等),只是硬件设计的最基本技能,电路是芯片功能,通信协议和各种软件的载体,没有对电路的深入理解,根本谈不上对硬件设计的深入理解,尤其对于芯片后面列的电气性能参数或者离散器件各种参数的理解,胡乱乱接,可能在3.3V的总线上可以工作,但是现在工作电压已经降到1V了,什么概念,信号线上的噪声都已经大到可以使采样出现误判了,随着信号速率的提高和工作电压的降低,数字信号已经越来越模拟化了,这就需要对于PCB的阻抗,容抗,感抗,离散器件(电阻,电容,电感,二极管,三极管,MOSFET,变压器等),ASIC的接口电气参数深入了解,这都需要对电路原理,模拟电路甚至电磁场理论深入学习,电路可以说是电磁场理论的子集,没有电磁场理论的理解,根本谈不上对于电容,电感,串扰,电磁辐射的理解。

尤其对于电源电路设计上,现在芯片电压多样化,电压越来越低,电流越来越大,运营商对于通信设备功耗的严格要求,散热要求,对于电源设计的挑战越来越大。可以说,对于一个硬件设计来说,40%的工作都是在于电源电路的原理图/PCB设计和后期测试验证,电源电路设计是硬件工程师电路能力的集中体现,各种被动器件、半导体器件、保护器件、DC/DC转换典型拓扑,都有很多参数,公式需要考虑到,计算到。

6. 沟通和全局控制的能力:

硬件工程师在一个硬件项目中,一般处于Team leader的作用,要对这个硬件项目全权负责,需要协调好PCB工程师,结构工程师,信号完整性工程师,电磁兼容工程师等各种资源,并与产品经理,项目经理,软件工程师,生产工程师,采购工程师紧密配合,确保各个环节按部就班,需要对整个项目计划了然于胸,各个子任务的发布时间,对于可能出现的技术难题和风险的估计,控制。

对于外部来说,硬件工程师还要与芯片的分销商,FAE处理好关系,争取获得更大的技术支持和帮助;与EMC实验室,外部实验室打好交道,获得更灵活的测试时间和更多的整改意见。

李洪超 硬件工程师_做一个优秀硬件工程师相关推荐

  1. 听说你想做一个汽车软件工程师?(下)

    在这个系列的第一篇文章 木城:听说你想做一个汽车软件工程师?(上)里,我们讨论了汽车软件工程师都有哪些职位.但是,就算是同样一个职位,比如"诊断工程师"吧!你给ADAS系统做诊断, ...

  2. 一个form 如何做两次提交_如何做一个优秀的家长

    如何做一个优秀的家长 文|潍坊坊子崇文中学 父母对待孩子无外乎三种情况:一是事事管.时时管,做了很多事,效果却不好:二是什么都不管,什么都不做,放任自流,不闻不问,结果更不好:三是也管但不全管,做得不 ...

  3. IT外企那点儿事(7):做一个优秀的基层 (转)

    转自:http://topic.csdn.net/u/20100524/09/635885a9-e075-4eac-b63a-2f75015d0c39.html?69859 1-7在博客中的链接如下, ...

  4. 如何做一个优秀的销售代表

    如何做一个优秀的销售代表 销售代表的首要任务是销售,如果没有销售,产品就没有希望,企业也没有希望.同时,销售代表的工作还有拓展,只有销售也是没有希望的,因为你销售出去的是产品或服务,而只有不断拓展市场 ...

  5. 如何做一个优秀的数据分析项目?

    上一篇我们普及了[数据分析项目,是什么?为什么我没做过?].今天我们系统讲解一下:如何做一个优秀的数据分析项目.首先大家要明白,并不是所有的项目,都需要找一个万人大会堂,拉着横幅,董事长总经理轮流上台 ...

  6. Q新闻丨Go 语言排行飙升至前十;GitHub 已切换到 Kubernetes;陆奇最新内部演讲:如何成为一个优秀的工程师?...

    审校丨 Gary 编辑|小智 本周要闻:编程语言排行榜,Go 语言飚升至前十,Java 暴跌 6.03%:GitHub 已切换到 Kubernetes:默默维护 30 年,glibc 创始人兼维护者辞 ...

  7. 教你做一个优秀的项目经理

    教你做一个优秀的项目经理 如何做个好的项目经理?项目经理应该做什么?不应该做什么?这个问题涉及的范围很广,我只能就以前的一些项目经验谈谈个人的体会.难免有以偏盖全的地方,还请大家多提意见. 1.项目经 ...

  8. 如何在shell单元建立washer_如何成为一个优秀的工程师

    如何成为一个优秀的工程师: 1.普通工程师: 项目压力大.业绩一般.需要频繁加班 BUG不断事故不断 焦头烂额,秃头 2.优秀工程师: 更多机会 更多锻炼(很多知识光靠理论学习是没法学会的) 马太效应 ...

  9. 如何做一个优秀的团队成员

    如何做一个优秀的团队成员 团队是由基层和管理层人员组成的一个共同体,它合理利用每一个成员的知识和技能协同工作,解决问题,达到共同的目标. 1. 具备自我管理的能力:作为团队成员应该清楚 了解自己的定位 ...

最新文章

  1. nullptr和NULL
  2. 新思科技助力IBM将AI计算性能提升1000倍
  3. Qt窗口、控件、文本等的一些常用操作
  4. 【黑马程序员 C++教程从0到1入门编程】【笔记4】C++核心编程(类和对象——封装、权限、对象的初始化和清理、构造函数、析构函数、深拷贝、浅拷贝、初始化列表、友元friend、运算符重载)
  5. 一文搞懂RSA算法原理及简单实现
  6. 解锁一个新技巧,让你舒服到不想起床
  7. lua菜鸟教程_Lua语言学习
  8. web窗体的内置对象
  9. mysql的数据备份问题_mysql数据库备份的问题
  10. java 从m个数中均匀找出n个数_M个数里面找出最大的N个数
  11. vue表单中批量导入功能_Vue 编辑 新建表单复用的一些思考
  12. 【路径规划】基于matlab蚁群和粒子群算法双机器人协调路径规划【含Matlab源码 045期】
  13. 计算机视觉--图像导数-图像梯度向量
  14. nginx动静分离和资源隔离的网站搭建
  15. 【调剂】中科院上海微系统与信息技术研究所2023年高校联培项目招收调剂生的通知...
  16. 大数据分析:数字化企业转型的关键
  17. python三原色组合白色_为何色光三原色三三相加得到白色,这其中加色原理是如何起作用的?...
  18. ppi 各代iphone_从iPhone 6到iPhone X:居然隐藏了这么多秘密
  19. 【海南赛区】​2022高教社杯全国大学生数学建模竞赛获奖人员名单公示
  20. 【组合数学】卡特兰数 / 大施罗德数 相关

热门文章

  1. 从轻测到上线,WeTest与《一起来捉妖》测试方案大公开
  2. php com操作word,php 操作word 的使用com组件的总结
  3. WIN32 2048游戏
  4. 推荐一个强大的开源的录制、直播软件(obs-studio)
  5. 操作系统之页面置换算法(FIFO、LFU、LRU、OPT算法)
  6. php-5.3.3.tat.gz,GitHub - phpcws/WeChatDeveloper: 【新】微信服务号+微信小程序+微信支付+支付宝支付...
  7. 基于javaweb的房屋租赁系统(前端+后端)
  8. CF 1253D-Harmonious Graph-并查集+贪心
  9. ansys怎么批量输入点坐标_CAD大批量输入坐标点的方法
  10. 新彩虹世界密码系统是多少_希望最近的世界密码日是我们需要的最后一个