豆大王zz
硬件工程师所具备的能力 1 充分了解各方的设计需求,确定合适的解决方案 启动一个硬件开发项目,原始的推动力会来自于很多方面,比如市场的需要,基于整个系统架构的需要,应用软件部门的功能实现需要,提高系统某方面能力的需要等等,所以作为一个硬件系统的设计者,要主动的去了解各个方面的需求,并且综合起来,提出最合适的硬件解决方案。比如A项目的原始推动力来自于公司内部的一个高层软件小组,他们在实际当中发现原有的处理器板IP转发能力不能满足要求,从而对于系统的配置和使用都会造成很大的不便,所以他们提出了对新硬件的需求。根据这个目标,硬件方案中就针对性的选用了两个高性能网络处理器,然后还需要深入的和软件设计者交流,以确定内存大小,内部结构,对外接口和调试接口的数量及类型等等细节,比如软件人员喜欢将控制信令通路和数据通路完全分开来,这样在确定内部数据走向的时候要慎重考虑。项目开始之初是需要召开很多的讨论会议的,应该尽量邀请所有相关部门来参与,好处有三个,第一可以充分了解大家的需要,以免在系统设计上遗漏重要的功能,第二是可以让各个部门了解这个项目的情况,提早做好时间和人员上协作的准备,第三是从感情方面讲,在设计之初各个部门就参与了进来,这个项目就变成了大家共同的一个心血结晶,会得到大家的呵护和良好合作,对完成工作是 很有帮助的。 2 原理图设计中要注意的问题 原理图设计中要有“拿来主义”,现在的芯片厂家一般都可以提供参考设计的原理图,所以要尽量的借助这些资源,在充分理解参考设计的基础上,做一些自己的发挥。当主要的芯片 选定以后,最关键的外围设计包括了电源,时钟和芯片间的互连。 电源是保证硬件系统正常工作的基础,设计中要详细的分析:系统能够提供的电源输入;单板需要产生的电源输出;各个电源需要提供的电流大小;电源电路效率;各个电源能够允许的波动范围;整个电源系统需要的上电顺序等等。比如A项目中的网络处理器需要作为核心电压,要求精度在+5%- -3%之间,电流需要12A左右,根据这些要求,设计中采用5V的电源输入,利用Linear的开关电源控制器和IR的MOSFET搭建了合适的电源供应电路,精度要求决定了输出电容的ESR选择,并且为防止电流过大造成的电压跌落,加入了远 端反馈的功能。 时钟电路的实现要考虑到目标电路的抖动等要求,A项目中用到了GE的PHY器件,刚开始的时候使用一个内部带锁相环的零延时时钟分配芯片提供100MHz时钟,结果GE链路上出现了丢包,后来换成简单的时钟Buffer器件就解决了丢包问题,分析起来就是内部的锁相环引入了抖动。 芯片之间的互连要保证数据的无误传输,在这方面,高速的差分信号线具有速率高,好布线,信号完整性好等特点,A项目中的多芯片间互连均采用了高速差分信号线,在调试和测试中 没有出现问题。 3 PCB设计中要注意的问题 PCB设计中要做到目的明确,对于重要的信号线要非常严格的要求布线的长度和处理地环路,而对于低速和不重要的信号线就可以放在稍低的布线优先级上。重要的部分包括:电源的分 割;内存的时钟线,控制线和数据线的长度要求;高速差分线的布线等等。 A项目中使用内存芯片实现了1G大小的DDR memory,针对这个部分的`布线是非常关键的,要考虑到控制线和地址线的拓扑分布,数据线和时钟线的长度差别控制等方面,在实现的过程中,根据芯片的数据手册和实际的工作频率可以得出具体的布线规则要求,比如同一组内的数据线长度相差不能超过多少个mil,每个通路之间的长度相差不能超过多少个mil等等。当这些要求确定后就可以明确要求PCB设计人员来实现了,如果设计中所有的重要布线要求都明确了,可以转换成整体的布线约束,利用CAD中的自动布线工具软件来实现PCB设计,这也是在高速PCB设计中的一个发展趋势。 4 检查和调试 当准备调试一块板的时候,一定要先认真的做好目视检查,检查在焊接的过程中是否有可见的短路和管脚搭锡等故障,检查是否有元器件型号放置错误,第一脚放置错误,漏装配等问题,然后用万用表测量各个电源到地的电阻,以检查是否有短路,这个好习惯可以避免贸然上电后损坏单板。调试的过程中要有平和的心态,遇见问题是非常正常的,要做的就是多做比较和分析,逐步的排除可能的原因,要坚信“凡事都是有办法解决的”和“问题出现一定有它的原因”,这样最后一定能调试成功。 5 一些总结的话 现在从技术的角度来说,每个设计最终都可以做出来,但是一个项目的成功与否,不仅仅取决于技术上的实现,还与完成的时间,产品的质量,团队的配合密切相关,所以良好的团队协作,透明坦诚的项目沟通,精细周密的研发安排,充裕的物料和人员安排,这样才能保证一个项目的成功。 一个好的硬件工程师实际上就是一个项目经理,他/她需要从外界交流获取对自己设计的需求,然后汇总,分析成具体的硬件实现。还要跟众多的芯片和方案供应商联系,从中挑选出合适的方案,当原理图完成后,他/她要组织同事来进行配合评审和检查,还要和CAD工程师一起工作来完成PCB的设计。与此同时,还要准备好BOM清单,开始采购和准备物料,联系加工厂家完成板的贴装。在调试的过程中他/她要组织好软件工程师来一起攻关调试,配合测试工程师一起解决测试中发现的问题,等到产品推出到现场,如果出现问题,还需要做到及时的支持。所以做一个硬件设计人员要锻炼出良好的沟通能力,面对压力的调节能力, 同一时间处理多个事务的协调和决断能力和良好平和的心态等等。 还有细心和认真,因为硬件设计上的一个小疏忽往往就会造成非常大的经济损失,比如以前碰到一块板在PCB设计完备出制造文件的时候误操作造成了电源层和地层连在了一起,PCB板制造完毕后又没有检查直接上生产线贴装,到测试的时候才发现短路问题,但是元器件已经都焊接到板上了,结果造成了几十万的损失。所以细心和认真的检查,负责任的测试,不懈的学习和积累,才能使得一个硬件设计人员持续不断的进步,而后术业有所小成。 ;
就爱装修
硬件工程师需要学习电路、模拟电子技术、数字电子、C语言、嵌入式、电磁场、单片机、微机原理、电子线路设计、数据结构、高数等知识。主要包括以下:1、分立器件的应用;
主要包括电阻、电容、电感、磁珠、二极管、三极管、MOS管、变压器、光耦、继电器、连接器、RJ45、光模块(1*9、SFP、SFF、XFP等)以及防护器件TVS管、压敏电阻、放电管、保险管、热敏电阻等。
2、逻辑器件使用、硬件编程、语言、软件的使用、逻辑电平的应用以及匹配等;3、电源的设计和应用;主要包括DC/DC、LDO电源芯片设计的原理,设计时各元器件的选型以及电源指标参数;4、时序分析与设计;主要包括逻辑器件中时序分析与设计、存储器中时序分析与设计等;5、复位和时钟的知识;主要包括复位电路的设计、晶体和晶振的原理、设计和起振问题分析、时钟的主要参数指标等;6、存储器的应用;主要包括eeprom、flash、SDRAM、DDR\2\3等知识原理、选型、电路设计以及调试等知识;
7、CPU最小系统知识;
了解ARM、POWERPC、MIPS的CPU架构、主要是掌握其最小系统的电路设计。
8、总线的知识;
包括各种高速总线--PCI、PCIE、USB还有一些交换之间总线SGMII、GMII、RGMII等,低速总线uart、I2C、SPI、GPIO、LocalBus、JTAG等;
9、EMC、安规知识;包括各种测试、指标等,各种防护器件应用,问题解决的方法等。
10、热设计、降额设计;
11、PCB工艺、布局、可制造性、可测试性设计;12、交换知识;
包括MAC、PHY的的芯片知识、工作原理、电路设计和调试以及各种交换接口,这里还可以包括软件的一些知识例如VLAN、生成树协议、广播、组播、端口聚合等交换机功能。
13、PoE供电知识;包括PoE原理、电路设计、测试、调试等知识。
14、1588和同步以太网;包括同步对时原理、电路设计、测试、调试等知识。15、PI、SI知识;16、测试知识、示波器使用等。
硬件工程师是指从事维护硬件运行,修理硬件故障的专业技术人员。
硬件工程师要求熟悉计算机市场行情;制定计算机组装计划;能够选购组装需要的硬件设备,并能合理配置、安装计算机和外围设备;安装和配置计算机软件系统;保养硬件和外围设备和清晰描述出现的计算机软硬件故障。
1、电脑软硬件安装、调试工作;
2、基于TCP/IP协议的网络安装调试工作;
3、周边产品的安装调试工作。
学会并掌握系统的微型计算机硬件基础知识和PC机组装技术,熟悉市场上各类产品的性能,理解各种硬件术语的内涵,能够根据客户的需要制定配置表,并独立完成组装和系统的安装工作。
2.硬件维护工程师课程
学会并掌握系统的微型计算机硬件基础知识和PC机组装维护技术,熟悉各种硬件故障的表现形式和判断方法,熟悉各种PC机操作系统和常用软件,具有问题分析能力,能够制定详尽的日常保养和技术支持技术书,跟踪实施所受理的维护项目。
3.硬件维修工程师系列课程
学会并掌握较为深入的微型计算机硬件结构及数码产品的电气知识,部件维修的操作规程,熟练使用各种检测和维修工具,具有问题分析能力,能够对硬件故障进行定位和排除。硬件维修培训分模块进行,包括主板、显示器、外存储器、打印机、笔记本电脑维修课程。
4.硬件测试工程师
学会并掌握硬件产品的硬件结构、应用技术及产品性能,熟练使用各种测试的软硬件测试工具,能够独立搭建软硬件测试平台,并评价产品、写出产品的测试报告。
5.硬件设计工程师
学会并掌握IC设计、电路设计和PCB布线标准规范,熟练使用各种模拟器和PCB布线软件,达到具有分析和调试操作水平。
参考资料:硬件工程师_百度百科
优质工程师考试问答知识库