HW职责 (Hardware Engineer)
硬件设计就是根据产品经理的需求PRS(Product Requirement Specification),在COGS(Cost of Goods Sale)的要求下,利用目前业界成熟的芯片方案或者技术,在规定时间内完成符合PRS功能(Function),性能(Performance),电源设计(Power Supply), 功耗(Power Consumption),散热(Thermal/Cooling),噪音(Noise),信号完整性(Signal Integrity), 电磁辐射(EMC/EMI),安规(Safety),器件采购(Component Sourcing),可靠性(Reliability),可测试性(DFT: design for test),可生产性(DFM:design for manufacture)等要求的硬件产品(注意:是产品不是开发板)。
可以看到,一个成功的硬件设计,主要功能的实现只是所有环节中的一小部分,而且基本来说,主要功能的实现主要是依靠芯片厂商提供的套片方案,一般来说为了降低风险,主要是参考套片方案的参考设计完成,芯片厂商也会提供包括器件封装,参考设计,仿真模型,PCB参考等等全部资料,在芯片功能越来越复杂的今天,一个片子动不动就几百上千个PIN,对于一个新项目来说,是没有时间一页页去吃透每个PIN,每个输入输出的具体功能,电气参数的,尤其是对于高速设计,比如DDR3接口,XAUI接口等等。 一般来说芯片厂商提供的参考设计就是他们经过开发,验证,测试的最佳方案了,很多情况就是你必须按照参考设计来做,否则硬件可能就有问题,一般来说就是信号完整性问题或者EMC问题。
芯片厂商提供越来越周到的服务,看起来硬件工程师HW(Hardware Engineer)的价值越来越低了,毕竟一个产品的核心功能或者技术一般都在ASIC或者FPGA里面了,HW一般没有能力进行核心逻辑设计IC design, 毕竟这是跟HW设计并行的另一项工作,另一项也很复杂的工作。 对于这个问题,我也曾经困惑过,总是感觉硬件设计没有什么好搞的了,不就是抄抄参考设计,就跟组装一台电脑一样组装一个单板嘛。
当然随着项目经验的增多,尤其从事现在硬件系统级设计的角色,感觉原来自己考虑更多是从一名原理图设计工程师的角度考虑问题。 就像开始说的,一个成功的硬件设计,功能Function只是一小部分,至于其他的因素和能力,一个HW的能力取决于能考虑因素越多,越深入,就越是一个优秀的HW工程师。
1.成本Cost任何一个卖硬件产品的公司的主要盈利一般来说就是销售价格-COGS,而COGS90%取决于设计,剩下就是生产成本了,这个价格一般来说比较透明,代工厂也很多,竞争激烈。虽然说设计成本60%也取决于主要芯片的价格(这个主要要靠公司高层跟芯片厂商谈判的结果了,HW的作用有限,更多是系统工程师做决策用什么芯片能符合产品需求和软件功能需求),但是剩下的电阻,电容,电感,二极管,三极管,保护器件,接口器件,逻辑芯片,逻辑功能,小芯片,电源电路全都是HW做主了,当然有参考设计,不过一般来说参考设计为了更好体现芯片的良好性能,一般会选用比较贵的,性能更好的器件,这就要结合公司的器件库进行取舍了。 我的经验是多看看公司的同类产品设计,看看大家主流是用什么器件,毕竟对于元器件来说,价格跟购买量有很大关系,不同的采购量导致的价格可能相差几倍。
2.2信号完整性Signal Integrity主要影响两方面:EMC和时序Timing,不好的SI设计会有很强的过冲over/undershoot,尖峰Spike,这会造成对应频率N谐振频率的发射;不好的SI设计会导致High/low不稳定,或者上升时间/下降时间Rising Time/Falling Time占数据周期过长,或者时钟不稳定,都会导致在接收端采样Sample时出现误判断,实际上,接收端不会出错,出错的只是信号。 SI设计在原理图设计来说,主要从阻抗匹配(串行电阻)上来解决,辅以适当的退耦滤波电容;跟主要是在PCB上,一般来说PCB层数越多,SI会更好,当然这里要跟Cost 进行一个取舍了。
3.3电源设计Power Supply虽然一般大些的公司都有专门的电源设计工程师,不过对于HW来说,基本的Power设计能力还是很重要的,从道理上来说,任何电路都是一种电源,任何电路问题都可以归结于一种电源问题,只有对于电源电路理解深入了,才能对于电路板理解跟深入,尤其是对于模拟电路问题,才能想到用模拟电路来设计一些简单电路,而不是费力用逻辑电路来搭。
4.4安规Safety对于接口电路来说,主要成本都在与安规器件,这个接口究竟要抗多大的电压,电流打击?这就要好好考虑用什么器件了,fuse? PTC? TVS?高压电容?
5.5电磁兼容EMC/EMI主要是针对各个国家的相应规范(安规也是),对于各种可能产生辐射的信号都充分考虑好退耦,滤波,对于欧盟来说一般是EN55022/EN55024,对于美国一般是FCC Part 15, 欧盟和美国的辐射标准略有不同,欧盟的标准稍微严格一些。
6.6功耗(Power Consumption)现在都提倡环保,运营商也是,HW也必须考虑省电,比如用效率更高的电源电路,用PWM替代LDO,效率更高的转换拓扑。
7.7散热(Thermal/Cooling)芯片集成度越来越高,单芯片的功耗从几瓦到现在的几十瓦,散热就是一个大问题,而且伴随着接口的速率提高,接口芯片的功耗也在提高,造成整个系统就是:热!这就需要好好考虑散热问题,从PCB的布局,到散热片Heatsink的使用,到风扇的使用,都有很多考虑。
8.8噪音(Noise)风扇是散热最好的办法,但是带来的问题就是噪声,ITU对于通信设备的噪声也有明确的规范,这就需要平衡风扇数量,转速,风向,控制等因素。
9.9器件采购(Component Sourcing)HW选用的器件必须得是Sourcing部门能够采购到的,而且一般也要考虑second source的问题,和lead time的问题,不能说选用一个只有一个小公司生产的稀有器件,万一这个器件EoL了,你是怎么办?只能修改设计了,这就损失大了!
10.10可靠性(Reliability)整个系统MTBF的数值多少?风险最大的器件是什么?每个器件的工作Margin是百分之多少?
11.11可测试性(DFT: design for test)/可生产性(DFM:design for manufacture)主要针对于工厂的考虑,必须考虑到方便工厂的生产测试,方便生产,如果你的测试很复杂,会大大降低生产线的产能和良率,进而影响供货以及生产成品。 对于参考设计,我感觉最有用的地方主要是供电电路,退耦滤波电路以及Layout设计,至于总线连接,复位电路,时钟电路,接口电路等等,一般来说都需要根据公司器件库,设计案例以及业界主流器件/方案进行修改。所以千万不要迷信参考电路,那只是参考,过分迷信参考设计,自己还没搞清楚芯片具体功能/参数呢,就COPY过来,即使能够工作,肯定在成本方面,生产方面有很多问题。
HW职责 (Hardware Engineer)的更多相关文章
- 【转】高通平台android 环境配置编译及开发经验总结
原文网址:http://blog.csdn.net/dongwuming/article/details/12784535 1.高通平台android开发总结 1.1 搭建高通平台环境开发环境 在高通 ...
- FPGA学习网站
1. OPENCORES.ORG这里提供非常多,非常好的PLD了内核,8051内核就可以在里面找到.进入后,选择project或者由 http//www.opencores.org/browse.c ...
- 32个最热CPLD-FPGA论坛
1. OPENCORES.ORG这里提供非常多,非常好的PLD了内核,8051内核就可以在里面找到.进入后,选择project或者由http//www.opencores.org/browse.cgi ...
- IT业常见职位英语缩写全攻略及详解
现在中国人流行起英文名字,连职位也跟着作秀,什么CEO.COO.CFO.CTO.CIO啦,那CEO.COO.CFO.CTO.CIO到底是什么意思呢?总被这些概念搞晕,这可不是搞IT的应该犯的错误哦,好 ...
- words2
餐具:coffee pot 咖啡壶coffee cup 咖啡杯paper towel 纸巾napkin 餐巾table cloth 桌布tea -pot 茶壶tea set 茶具tea tray 茶盘 ...
- Guest Speaker on 2015 WinHEC Shenzhen 秋季大会
继今年3月份的WinHEC春季大会,秋季大会于11月10日-11日深圳如期举行.此次大会的主题是Windows 10 IoT和Microsoft Azure,云和端的无缝连接是微软物联网解决方案的典型 ...
- liunx作业一
一.linux发行版 linux发行版是以linux为内核,包含了系统软件和应用软件.简化系统安装的工具.软件安装升级的集成管理器. 典型的linux发行版包括:linux内核,一些GNU程序库和工具 ...
- Android驱动入门-LED--HAL硬件抽象层程序设计①
硬件平台: FriendlyARM Tiny4412 Cortex-A9 操作系统: UBUNTU 14.04 LTS 时间:2016-09-21 16:15:26 设计HAL硬件抽象层程序,则需要 ...
- grub paramiter & menu.list
在Linux中,给kernel传递参数以控制其行为总共有三种方法: 1.build kernel之时的各个configuration选项. 2.当kernel启动之时,可以参数在kernel被GRUB ...
随机推荐
- SQL SERVER与SSIS 数据类型对应关系
- git 使用 总结
比较好的教程 http://backlogtool.com/git-guide/cn/intro/intro1_2.html 1.git流程图 2.git 新建仓库 git init git clon ...
- Sudoku 数独游戏
#include<iostream> using namespace std; bool heng(int **sudo, int a, int b, int value) { bool ...
- 使用requestAnimationFrame做动画效果二
3月是个好日子,渐渐地开始忙起来了,我做事还是不够细心,加上感冒,没精神,今天差点又出事了,做过的事情还是要检查一遍才行,哎呀. 使用requestAnimationFrame做动画,我做了很久,终于 ...
- [HTML/HTML5]3 页面结构
在HTML5之前,主要的容器元素是div元素,但在HTML5中提供了数种其它容器元素供我们使用. 因此,当组织Web页面结构时,首先使用HTML将内容分成多部分,然后在对其使用CSS应用样式和格式. ...
- html/css 钢琴黑白格布局
效果图:
- Spring——jar包详解(转)
Spring——jar包详解 org.springframework.aop ——Spring的面向切面编程,提供AOP(面向切面编程)的实现 org.springframework.asm——spr ...
- python【6】-函数式编程
一.高阶函数 map,reduce 1.map() 函数接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回. def f(x): retur ...
- javascript和jquey的自定义事件小结
“通过事件机制,可以将类设计为独立的模块,通过事件对外通信,提高了程序的开发效率.” 可以把多个关联但逻辑复杂的操作利用自定义事件的机制灵活地控制好 对象之间通过直接方法调用来交互 1)对象A直接调用 ...
- Windows Store App JavaScript 开发:文件选取器
正如前面章节C#语言中所介绍的,文件选取器是应用与系统进行交互的一个接口,通过文件选取器可以在应用中直接与文件系统进行交互,访问不同位置的文件或文件夹,或者将文件存储在指定位置.文件选取器分为对文件进 ...