数字硬件工程师能力框架

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

数字硬件工程师应该具备哪些能力和基本素质?本文大致总结了一些笔者从业十几年来的心得体会,可以为在校生和初入行的硬件工程师提供一定的指导。这里提出的能力框架适用于:

  1. 单位:具备一定研发规模的企业或机构;
  2. 产品:具有较高的硬件自研比重,如通信设备、仪器仪表、汽车电子、半导体测试等。不适用于具有非常成熟硬件设计方案的产品,如手机、平板等消费类产品;
  3. 工程师:对自己的综合能力和素质上升空间有一定要求(即:不满足做一颗大厂的螺丝钉)。

一、能力框架概述

如下图。
在这里插入图片描述

二、能力框架解析

2.1 技术类

2.1.1 基础课程

电路分析基础、模电、数电(必修):这三门课所教授的内容是数字硬件工程师的核心知识基础。其中模电容易被数字硬件工程师所忽视,但模电中很多基础内容是数字电路设计中所必须用到的,例如:三极管和MOSFET,是组成数字电路的最基本单元;谐振的原理,是指导时钟设计和硬件开发中常见EMC故障排查的常用理论;集成运放的应用,虽然不是数字电路设计,但也经常在数字单板中出现。

复变函数(必修):傅里叶变换是最通用的时频域变换工具,对于理解时域、频域的概念至关重要;拉普拉斯变换是涉及自控类设计的重要分析工具,包括锁相环设计、开关电源设计、运放设计等;Z变换则在数字信号处理中起重要作用。

概率论(必修):理解随机过程分析和随机变量估计的理论基础。同时对概率和分布的理解有利于树立产品意识(参考6sigma),有助于自己成长为一名真正的做产品的工程师。

自控原理(可选):锁相环设计、开关电源设计、运放设计等涉及反馈控制的电路的基础分析工具,如果打算在这些细分领域深耕则必须掌握。

信号与系统(可选):理解信道、滤波器设计的理论基础,也涉及时频域转换的理解。

通信原理(可选):通信类课程涵盖较广泛,大的来说包括数字通信、无线通信、光通信等,小的来看又包括调制解调、编码解码、各种通信协议等方方面面的知识,无论做什么产品都避不开,建议做好通信类的知识储备。

数字信号处理(可选):与纯硬件设计关联度较弱,但一些涉及在FPGA或软件中实现的数字信号处理算法的工作岗位需要掌握,最基础的数字滤波器设计(FIR/IIR)、快速傅里叶变换(FFT)的概念要理解。

单片机/微机原理(可选):所涉单板包含主控的必须掌握相关知识,包括处理器最小系统、常用外设和接口等。如今的数字硬件单板很多都具有主控,不论是X86、ARM、RISC-V或简单的单片机,其架构和工作原理都遵循基本的冯诺依曼结构,举一反三,一通百通。

2.1.2 专业基础

2.1.2.1 常用数字电平逻辑及互连

数字信号的互连是数字电路设计的最基础内容。这里面要掌握的要点较多,绝不是简单的连线这么简单:

  1. 单端、差分的概念,差分走线的优点
  2. 常用电平逻辑:LVDS、LVPECL、CML、SSTL、LVTTL、LVCMOS、OC/OD等
  3. 互连的电平兼容性考虑
2.1.2.2 处理器系统

了解处理器系统的工作原理和启动过程,具备调试处理器及其外设的能力。具体包括:

  1. 处理器最小系统及启动过程
  2. 常用外设和总线,如存储器、Local Bus、SPI、I2C、以太网、USB、PCIe等
  3. DDR相关硬件设计
2.1.2.3 FPGA/CPLD相关硬件设计

在一些规模稍大、分工较明确的公司,可编程逻辑设计一般由专门的FPGA工程师承担。但硬件工程师要了解FPGA/CPLD的可编程原理,利用可编程逻辑器件IO的可编程属性将硬件设计最优化,并掌握FPGA加载的方法和流程、对可编程逻辑器件的供电和散热进行设计。对于单板负责人,最好能独立承担板上CPLD的逻辑设计,因此Verilog的语法需要掌握。

2.1.2.4 高速数字设计

当今的数字电路发展趋势是高度集成化和高速化,典型的高速数字电路如USB 3.0,PCIe,DDR等。高速数字设计需要理解集总电路和分布电路的区别,了解信号完整性(SI)和电源完整性(PI),掌握传输线设计、阻抗匹配设计、串扰预防和定位分析等。

2.1.2.5 时钟电路设计

时钟是数字电路的脉搏,时钟设计的可靠性对于数字电路来说至关重要。一般的数字电路采用高可靠性的晶振或晶体即可,但还有一些对时钟质量要求较高的场合,如数据采集系统,要求具有高质量低抖动的采样时钟,这里就可能涉及锁相环设计,并且要有对抖动/相噪概念的基本理解。同时从EMC角度看,时钟信号非常容易成为干扰源,因此在对EMC要求较高的场合,需要对时钟路径进行专门处理。

2.1.2.6 单板电源设计/热设计

对于单板负责人来说,一般还要承担板上电源的设计工作,因此应用DC-DC电源的能力必不可少,包括LDO、开关电源(包括降压、升压、反压、隔离等)的应用。另外还包括一些电源相关的系统级设计,包括上电顺序控制、电源监控、保护、EMI、单板电源树设计等。

此外热设计也是硬件设计中必须考虑的因素,对于单板开发工程师来说关注板上的热关键器件的功耗和散热即可,对于系统工程师来说还需要关注整个系统的散热设计。

2.1.2.7 ADC/DAC设计

涉及数据采集的单板通常都包含ADC/DAC,此时单板变成了模数混合电路。硬件工程师需要小心避免模拟电路和数字电路间的相互耦合,熟悉ADC/DAC的关键指标(如带宽、采样率、信噪比、SFDR、HD、ENOB等),并精通如何通过设计将以上指标最优化。

此外,很多高速ADC/DAC都采用JESD204B/C协议来传输数字信号,对该接口的理解和掌握在高速数采系统中必不可少。

2.1.3 EDA设计

2.1.3.1 原理图设计工具

原理图设计的过程并不是硬件设计的过程,它仅仅是硬件设计的实现。工具本身的学习和使用并不难,关键是按规范来画原理图,通过一些方法技巧尽量减少出错的概率,确保原理图的可维护性和可读性。

2.1.3.2 Layout设计工具

稍具规模的公司都有专职的Layout工程师,但硬件工程师要能够使用Layout工具阅读PCB设计,并具备基本的Layout指导和Layout review的能力,这些能力都是Layout工具使用之外的。如果条件允许,我们不鼓励硬件工程师亲自下场设计每一个PCB,专业的人做专业的事,但是我们鼓励硬件工程师在学生时代或入职初期亲手设计1~2块PCB,这样有助于加深对电路设计的理解。

2.1.3.3 仿真工具

SI/PI仿真、Spice电路仿真等,如果有条件尽量自己做。从产品开发的角度看能从早期暴露和发现问题,缩短开发周期,从个人发展角度看是非常宝贵的理论结合实践的机会,对技术的理解有很大帮助。

2.1.4 产品转化

2.1.4.1 质量与可靠性、可生产性、可维护性、可测试性

可靠性设计和产品质量直接相关,涵盖的内容较多,包括降额、防静电、抗浪涌、防雷、EMC、抗震动、热设计等,需要有相关的专业知识,一般需要配合专职的可靠性专家来完成,也需要硬件工程师投入做相关的可靠性测试。

可生产性、可维护性、可测试性设计是产品能成功量产的前提保证。

产品质量和批量化设计的重要性无需赘述,但工程师树立起良好的产品意识难能可贵,只有良好的产品意识才能驱动工程师在上述设计中下功夫,而不是流于形式。

2.1.4.2 成本、物料

设计初期在物料的选型时就要考虑物料的成本、交期和可交付性等关键因素,确保能达到产品的成本目标,并且在交期上和可交付性上满足项目开发和产品生命周期需求。

2.2 素质类

2.2.1 文档

文档类工作主要包括设计文档、调试测试报告等。对于研发工程师来说,文档的输出是非常重要的,一方面是形成工作记录,便于自己和别人后续查看、学习、评审或工作交接,另一方面文档是项目和公司的技术积累,有利于传承。

前面提到原理图设计的过程并不是硬件设计的过程,它仅仅是硬件设计的实现。其实硬件设计的过程更多地体现在设计文档的编写过程中,例如单板的框图、关键器件选型、内外部接口的定义、关键电路或技术的考虑等,这些设计的核心要素都体现在设计文档中。

2.2.2 职业素质

2.2.2.1 时间管理和任务管理

研发工程师极少是单线程工作的,大多数人都是同时背着多个任务,这就需要我们具备基本的时间和任务管理的能力。一方面本着要事优先的原则,在任务冲突时按优先级来处理工作;另一方面要具备多线程处理任务的能力。

2.2.2.2 技术文章检索与阅读

学无止境。在工作中我们会接触到大量的新知识,而要理解和掌握这些新知识就需要我们不断地学习。一些学习资料我们可能直接从企业的资源池中获得,但还有一些需要自己去检索相关的技术文献,包括应用文档、期刊论文、专利等。此外,文档的阅读能力也非常重要,尤其是英文技术文档,需要具备一定的专业英语基础。

2.2.2.3 产品研发流程/项目管理

规范的产品研发流程是保证项目顺利推进的重要手段,而系统产品的研发又往往是以硬件开发流程为主线的,因此硬件工程师往往同时在承担着隐形的项目经理的作用。这里一方面需要硬件工程师本身具有高度的责任心和项目管理的概念,严格按计划推进硬件开发、及时备料等;另一方面涉及和项目中多个角色的沟通合作,包括及时给Layout工程师、FPGA工程师、软件工程师提供上游文档、与之联合开发调试,和采购/计划工程师沟通物料采购和生产制造的排单等,需要硬件工程师具备较强的沟通协调能力,能够在团队中起到穿针引线的作用。

2.2.2.4 专利

对新技术来说,如果能输出专利最好,对个人和企业都有好处。专利不一定和自己的设计相关,只要能想到的好点子,都可以尝试申请。


总结

受限于所在领域,可能还有不少没涵盖到的内容。此文章会不断更新,欢迎交流、批评指正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值