查看: 5170|回复: 2

【纯干货】十年磨一剑!硬件工程师设计思路是这样炼成的

[复制链接] qrcode

38

主题

120

帖子

145

积分

注册会员

Rank: 2

积分
145
发表于 2016-4-22 09:40 AM | 显示全部楼层 |阅读模式
一个好的硬件工程师实际上就是一个项目经理,你需要从外界交流获取对自己设计的需求,然后汇总,分析成具体的硬件实现。还要跟众多的芯片和方案供应商联系,从中挑选出合适的方案,当原理图完成后,你需要组织同事来进行配合评审和检查,还要和CAD工程师一起工作来完成PCB的设计。与此同时,要准备好BOM清单,开始采购和准备物料,联系加工厂家完成板的贴装...... 1、掌握成为合格的硬件工程师的最基本知识 1) 基本设计规范 2) CPU基本知识、架构、性能及选型指导 3) MOTOROLA公司的PowerPC系列基本知识、性能详解及选型指导 4) 网络处理器(INTEL、MOTOROLA、IBM)的基本知识、架构、性能及选型 5) 常用总线的基本知识、性能详解 6) 各种存储器的详细性能介绍、设计要点及选型 7) Datacom、Telecom领域常用物理层接口芯片基本知识,性能、设计要点及选型 8) 常用器件选型要点与精华 9) FPGA、CPLD、EPLD的详细性能介绍、设计要点及选型指导 10) VHDL和Verilog HDL介绍 11) 网络基础 12) 国内大型通信设备公司硬件研究开发流程 2、最流行的EDA工具指导 熟练掌握并使用业界最新、最流行的专业设计工具 1) Innoveda公司的ViewDraw,PowerPCB,Cam350 2) CADENCE公司的OrCad, Allegro,Spectra 3) Altera公司的MAX+PLUS II 4) 学习熟练使用VIEWDRAW、ORCAD、POWERPCB、SPECCTRA、ALLEGRO、CAM350、MAX+PLUS II、ISE、FOUNDATION等工具; 5) XILINX公司的FOUNDATION、ISE。 一、硬件总体设计 启动一个硬件开发项目,原始的推动力会来自于很多方面,比如市场的需要,基于整个系统架构的需要,应用软件部门的功能实现需要,提高系统某方面能力的需要等等,所以作为一个硬件系统的设计者,要主动的去了解各个方面的需求,并且综合起来,提出最合适的硬件解决方案。 比如A项目的原始推动力来自于公司内部的一个高层软件小组,他们在实际当中发现原有的处理器板IP转发能力不能满足要求,从而对于系统的配置和使用都会造成很大的不便,所以他们提出了对新硬件的需求。根据这个目标,硬件方案中就针对性的选用了两个高性能网络处理器,然后还需要深入的和软件设计者交流,以确定内存大小,内部结构,对外接口和调试接口的数量及类型等等细节,比如软件人员喜欢将控制信令通路和数据通路完全分开来,这样在确定内部数据走向的时候要慎重考虑。 项目开始之初是需要召开很多的讨论会议的,应该尽量邀请所有相关部门来参与,好处有三个,第一可以充分了解大家的需要,以免在系统设计上遗漏重要的功能,第二是可以让各个部门了解这个项目的情况,提早做好时间和人员上协作的准备,第三是从感情方面讲,在设计之初各个部门就参与了进来,这个项目就变成了大家共同的一个心血结晶,会得到大家的呵护和良好合作,对完成工作是很有帮助的。 掌握硬件总体设计所必须具备的硬件设计经验与设计思路 1) 产品需求分析 2) 开发可行性分析 3) 系统方案调研 4) 总体架构,CPU选型,总线类型 5) 数据通信与电信领域主流CPU:M68k系列, PowerPC860,PowerPC8240,8260体系结构,性能及对比 6) 总体硬件结构设计及应注意的问题 7) 通信接口类型选择 8) 任务分解 9) 最小系统设计 10) PCI总线知识与规范 11) 如何在总体设计阶段避免出现致命性错误 12) 如何合理地进行任务分解以达到事半功倍的效果? 13) 项目案例:中、低端路由器等 二. 硬件原理图设计技术 目的:通过具体的项目案例,详细进行原理图设计全部经验,设计要点与精髓揭密。 1) 电信与数据通信领域主流CPU(M68k,PowerPC860,8240,8260等)的原理设计经验与精华 2) Intel公司PC主板的原理图设计精髓 3) 网络处理器的原理设计经验与精华 4) 总线结构原理设计经验与精华 5) 内存系统原理设计经验与精华 6) 数据通信与电信领域通用物理层接口的原理设计经验与精华 7) 电信与数据通信设备常用的WATCHDOG的原理设计经验与精华 8) 电信与数据通信设备系统带电插拔原理设计经验与精华 9) 晶振与时钟系统原理设计经验与精华 10) PCI总线的原理图设计经验与精华 11) 项目案例:中、低端路由器等 原理图设计中要注意的问题: 原理图设计中要有“拿来主义”,现在的芯片厂家一般都可以提供参考设计的原理图,所以要尽量的借助这些资源,在充分理解参考设计的基础上,做一些自己的发挥。当主要的芯片选定以后,最关键的外围设计包括了电源,时钟和芯片间的互连。 电源是保证硬件系统正常工作的基础,设计中要详细的分析:系统能够提供的电源输入;单板需要产生的电源输出;各个电源需要提供的电流大小;电源电路效率;各个电源能够允许的波动范围;整个电源系统需要的上电顺序等等。比如A项目中的网络处理器需要1.25V作为核心电压,要求精度在+5%- -3%之间,电流需要12A左右,根据这些要求,设计中采用5V的电源输入,利用Linear的开关电源控制器和IR的MOSFET搭建了合适的电源供应电路,精度要求决定了输出电容的ESR选择,并且为防止电流过大造成的电压跌落,加入了远端反馈的功能。 时钟电路的实现要考虑到目标电路的抖动等要求,A项目中用到了GE的PHY器件,刚开始的时候使用一个内部带锁相环的零延时时钟分配芯片提供100MHz时钟,结果GE链路上出现了丢包,后来换成简单的时钟Buffer器件就解决了丢包问题,分析起来就是内部的锁相环引入了抖动。 芯片之间的互连要保证数据的无误传输,在这方面,高速的差分信号线具有速率高,好布线,信号完整性好等特点,A项目中的多芯片间互连均采用了高速差分信号线,在调试和测试中没有出现问题。 三.硬件PCB图设计 目的:通过具体的项目案例,进行PCB设计全部经验揭密,使你迅速成长为优秀的硬件工程师 1) 高速CPU板PCB设计经验与精华 2) 普通PCB的设计要点与精华 3) MOTOROLA公司的PowerPC系列的PCB设计精华 4) Intel公司PC主板的PCB设计精华 5) PC主板、工控机主板、电信设备用主板的PCB设计经验精华 6) 国内著名通信公司PCB设计规范与工作流程 7) PCB设计中生产、加工工艺的相关要求 8) 高速PCB设计中的传输线问题 9) 电信与数据通信领域主流CPU(PowerPC系列)的PCB设计经验与精华 10) 电信与数据通信领域通用物理层接口(百兆、千兆以太网,ATM等)的PCB设计经验与精华 11) 网络处理器的PCB设计经验与精华 12) PCB步线的拓扑结构极其重要性 13) PCI步线的PCB设计经验与精华 14) SDRAM、DDR SDRAM(125/133MHz)的PCB设计经验与精华 15) 项目案例:中端路由器PCB设计 PCB设计中要注意的问题: PCB设计中要做到目的明确,对于重要的信号线要非常严格的要求布线的长度和处理地环路,而对于低速和不重要的信号线就可以放在稍低的布线优先级上。重要的部分包括:电源的分割;内存的时钟线,控制线和数据线的长度要求;高速差分线的布线等等。 A项目中使用内存芯片实现了1G大小的DDR memory,针对这个部分的布线是非常关键的,要考虑到控制线和地址线的拓扑分布,数据线和时钟线的长度差别控制等方面,在实现的过程中,根据芯片的数据手册和实际的工作频率可以得出具体的布线规则要求,比如同一组内的数据线长度相差不能超过多少个mil,每个通路之间的长度相差不能超过多少个mil等等。当这些要求确定后就可以明确要求PCB设计人员来实现了,如果设计中所有的重要布线要求都明确了,可以转换成整体的布线约束,利用CAD中的自动布线工具软件来实现PCB设计,这也是在高速PCB设计中的一个发展趋势。 四.硬件调试 目的:以具体的项目案例,传授硬件调试、测试经验与要点 1) 硬件调试等同于黑箱调试,如何快速分析、解决问题? 2) 大量调试经验的传授; 3) 如何加速硬件调试过程; 4) 如何迅速解决硬件调试问题; 5) DATACOM终端设备的CE测试要求。 当准备调试一块板的时候,一定要先认真的做好目视检查,检查在焊接的过程中是否有可见的短路和管脚搭锡等故障,检查是否有元器件型号放置错误,第一脚放置错误,漏装配等问题,然后用万用表测量各个电源到地的电阻,以检查是否有短路,这个好习惯可以避免贸然上电后损坏单板。调试的过程中要有平和的心态,遇见问题是非常正常的,要做的就是多做比较和分析,逐步的排除可能的原因,要坚信“凡事都是有办法解决的”和“问题出现一定有它的原因”,这样最后一定能调试成功。 五.软硬件联合调试 1) 如何判别是软件的错? 2) 如何与软件进行联合调试? 3) 大量的联合调试经验的传授。 总结: 现在从技术的角度来说,每个设计最终都可以做出来,但是一个项目的成功与否,不仅仅取决于技术上的实现,还与完成的时间,产品的质量,团队的配合密切相关,所以良好的团队协作,透明坦诚的项目沟通,精细周密的研发安排,充裕的物料和人员安排,这样才能保证一个项目的成功。 一个好的硬件工程师实际上就是一个项目经理,他/她需要从外界交流获取对自己设计的需求,然后汇总,分析成具体的硬件实现。还要跟众多的芯片和方案供应商联系,从中挑选出合适的方案,当原理图完成后,他/她要组织同事来进行配合评审和检查,还要和CAD工程师一起工作来完成PCB的设计。与此同时,还要准备好BOM清单,开始采购和准备物料,联系加工厂家完成板的贴装。在调试的过程中他/她要组织好软件工程师来一起攻关调试,配合测试工程师一起解决测试中发现的问题,等到产品推出到现场,如果出现问题,还需要做到及时的支持。所以做一个硬件设计人员要锻炼出良好的沟通能力,面对压力的调节能力,同一时间处理多个事务的协调和决断能力和良好平和的心态等等。 还有细心和认真,因为硬件设计上的一个小疏忽往往就会造成非常大的经济损失,比如以前碰到一块板在PCB设计完备出制造文件的时候误操作造成了电源层和地层连在了一起,PCB板制造完毕后又没有检查直接上生产线贴装,到测试的时候才发现短路问题,但是元器件已经都焊接到板上了,结果造成了几十万的损失。所以细心和认真的检查,负责任的测试,不懈的学习和积累,才能使得一个硬件设计人员持续不断的进步,而后术业有所小成。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

0

主题

134

帖子

160

积分

注册会员

Rank: 2

积分
160
发表于 2016-4-26 06:08 AM | 显示全部楼层
转载要注明出处喔,要不然不给你转载了                                                                                                                                                                       
回复 支持 反对

使用道具 举报

0

主题

75

帖子

158

积分

注册会员

Rank: 2

积分
158
发表于 2016-4-26 07:19 AM | 显示全部楼层
这都啥年月了,怎么还“Altera公司的MAX+PLUS II”。                                                                                                                                                                       
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表