EDA365电子工程师网

标题: 硬件工程师必杀技 [打印本页]

作者: rhymebus    时间: 2008-5-16 12:51
标题: 硬件工程师必杀技
1 、充分了解各方的设计需求,确定合适的解决方案
$ C. W/ A! M4 u' d0 [6 k' R7 Z    启动一个硬件开发项目,原始的推动力会来自于很多方面,比如市场的需要,基于整个系统架构的需要,应用软件部门的功能实现需要,提高系统某方面能力的需要等等,所以作为一个硬件系统的设计者,要主动的去了解各个方面的需求,并且综合起来,提出最合适的硬件解决方案。比如A项目的原始推动力来自于公司内部的一个高层软件小组,他们在实际当中发现原有的处理器板IP转发能力不能满足要求,从而对于系统的配置和使用都会造成很大的不便,所以他们提出了对新硬件的需求。根据这个目标,硬件方案中就针对性的选用了两个高性能网络处理器,然后还需要深入的和软件设计者交流,以确定内存大小,内部结构,对外接口和调试接口的数量及类型等等细节,比如软件人员喜欢将控制信令通路和数据通路完全分开来,这样在确定内部数据走向的时候要慎重考虑。项目开始之初是需要召开很多的讨论会议的,应该尽量邀请所有相关部门来参与,好处有三个,第一可以充分了解大家的需要,以免在系统设计上遗漏重要的功能,第二是可以让各个部门了解这个项目的情况,提早做好时间和人员上协作的准备,第三是从感情方面讲,在设计之初各个部门就参与了进来,这个项目就变成了大家共同的一个心血结晶,会得到大家的呵护和良好合作,对完成工作是很有帮助的。 . x* w9 N4 Y7 _& J6 i& ?
2、 原理图设计中要注意的问题 8 x3 y# E9 l+ N5 j1 p
    原理图设计中要有“拿来主义”,现在的芯片厂家一般都可以提供参考设计的原理图,所以要尽量的借助这些资源,在充分理解参考设计的基础上,做一些自己的发挥。当主要的芯片选定以后,最关键的外围设计包括了电源,时钟和芯片间的互连。 + w% |* l2 J2 d( T0 W8 ?2 R
   电源是保证硬件系统正常工作的基础,设计中要详细的分析:系统能够提供的电源输入;单板需要产生的电源输出;各个电源需要提供的电流大小;电源电路效率;各个电源能够允许的波动范围;整个电源系统需要的上电顺序等等。比如A项目中的网络处理器需要1.25V作为核心电压,要求精度在+5%- -3%之间,电流需要12A左右,根据这些要求,设计中采用5V的电源输入,利用Linear的开关电源控制器和IR的MOSFET搭建了合适的电源供应电路,精度要求决定了输出电容的ESR选择,并且为防止电流过大造成的电压跌落,加入了远端反馈的功能。
+ f2 x7 o- ?0 e: b   时钟电路的实现要考虑到目标电路的抖动等要求,A项目中用到了GE的PHY器件,刚开始的时候使用一个内部带锁相环的零延时时钟分配芯片提供100MHz时钟,结果GE链路上出现了丢包,后来换成简单的时钟Buffer器件就解决了丢包问题,分析起来就是内部的锁相环引入了抖动。
+ Z+ ?, Y/ m7 e; |4 o# L6 D  I8 U   芯片之间的互连要保证数据的无误传输,在这方面,高速的差分信号线具有速率高,好布线,信号完整性好等特点,A项目中的多芯片间互连均采用了高速差分信号线,在调试和测试中没有出现问题。
+ M- Q! Y( j2 P" s+ _7 S" K0 U3、 PCB设计中要注意的问题
8 K7 v/ W& {6 \) ^* e! R0 Y) Y    PCB设计中要做到目的明确,对于重要的信号线要非常严格的要求布线的长度和处理地环路,而对于低速和不重要的信号线就可以放在稍低的布线优先级上。重要的部分包括:电源的分割;内存的时钟线,控制线和数据线的长度要求;高速差分线的布线等等。 # j: h0 z4 t; E9 `
    A项目中使用内存芯片实现了1G大小的DDR memory,针对这个部分的布线是非常关键的,要考虑到控制线和地址线的拓扑分布,数据线和时钟线的长度差别控制等方面,在实现的过程中,根据芯片的数据手册和实际的工作频率可以得出具体的布线规则要求,比如同一组内的数据线长度相差不能超过多少个mil,每个通路之间的长度相差不能超过多少个mil等等。当这些要求确定后就可以明确要求PCB设计人员来实现了,如果设计中所有的重要布线要求都明确了,可以转换成整体的布线约束,利用CAD中的自动布线工具软件来实现PCB设计,这也是在高速PCB设计中的一个发展趋势。 / w9 ~5 O( n# x( e! q
4、 检查和调试
% q9 G; G' q. a% E# f    当准备调试一块板的时候,一定要先认真的做好目视检查,检查在焊接的过程中是否有可见的短路和管脚搭锡等故障,检查是否有元器件型号放置错误,第一脚放置错误,漏装配等问题,然后用万用表测量各个电源到地的电阻,以检查是否有短路,这个好习惯可以避免贸然上电后损坏单板。调试的过程中要有平和的心态,遇见问题是非常正常的,要做的就是多做比较和分析,逐步的排除可能的原因,要坚信“凡事都是有办法解决的”和“问题出现一定有它的原因”,这样最后一定能调试成功。
2 _0 C3 w7 L* F5 、一些总结的话 - a" [% g& F3 ^5 a' ^
     现在从技术的角度来说,每个设计最终都可以做出来,但是一个项目的成功与否,不仅仅取决于技术上的实现,还与完成的时间,产品的质量,团队的配合密切相关,所以良好的团队协作,透明坦诚的项目沟通,精细周密的研发安排,充裕的物料和人员安排,这样才能保证一个项目的成功。 6 A  P/ E4 |" n$ }
     一个好的硬件工程师实际上就是一个项目经理,他/她需要从外界交流获取对自己设计的需求,然后汇总,分析成具体的硬件实现。还要跟众多的芯片和方案供应商联系,从中挑选出合适的方案,当原理图完成后,他/她要组织同事来进行配合评审和检查,还要和CAD工程师一起工作来完成PCB的设计。与此同时,还要准备好BOM清单,开始采购和准备物料,联系加工厂家完成板的贴装。在调试的过程中他/她要组织好软件工程师来一起攻关调试,配合测试工程师一起解决测试中发现的问题,等到产品推出到现场,如果出现问题,还需要做到及时的支持。所以做一个硬件设计人员要锻炼出良好的沟通能力,面对压力的调节能力,同一时间处理多个事务的协调和决断能力和良好平和的心态等等。
0 ^. e; s  t' O2 w2 Y! x4 f# C- [     还有细心和认真,因为硬件设计上的一个小疏忽往往就会造成非常大的经济损失,比如以前碰到一块板在PCB设计完备出制造文件的时候误操作造成了电源层和地层连在了一起,PCB板制造完毕后又没有检查直接上生产线贴装,到测试的时候才发现短路问题,但是元器件已经都焊接到板上了,结果造成了几十万的损失。所以细心和认真的检查,负责任的测试,不懈的学习和积累,才能使得一个硬件设计人员持续不断的进步,而后术业有所小成。
作者: someone_sl    时间: 2008-5-16 15:13
硬件工程师责任重大啊!谢谢楼主的分享
作者: wuxiaotao    时间: 2008-6-5 12:25
硬件工程师需要小心谨慎阿
作者: 极品宇少    时间: 2008-7-3 19:42
互勉~
4 S- n1 S0 v4 x5 s# y6 l成功,源於思考!重於行動!貴於堅持!
作者: yaoxinhua007    时间: 2008-7-12 11:53
我是老学习的~~~~~~~~~~~~~~~~~~~~
作者: lkj427    时间: 2008-7-22 23:19
不错 学习中~~~~~~~~
作者: _hhh_    时间: 2008-7-24 13:51
very good
作者: asus0929    时间: 2008-8-28 16:22
Thanks for sharing
作者: liaiqing996    时间: 2008-9-5 10:10
学习了
作者: cuizhuxianzi    时间: 2008-9-10 10:45
台企硬件工程师的出路在哪里?
作者: piaojian115    时间: 2008-9-26 14:07
LZ总结的很好!
( T" q0 ~7 t' Q5 @* S$ Z! h我真的亲身体会.% q6 H' l2 t" s7 S4 Z! \# i
但是一直没有去想写出些总结的话.
0 d) N* v7 x& ~0 O+ I% U谢谢LZ
作者: 岁月无声    时间: 2008-9-26 20:42
学习呀,,,,
作者: yuyansulei    时间: 2008-10-5 22:09
初来乍到,多多包涵。。。5 [3 }6 O- \" J; s6 M
学习一下。。。
作者: 38447448    时间: 2008-10-9 14:40
楼主写的很好,大家硬件工程师好像都是这么设计硬件的。
( K, V& L5 V  e- Q, q5 ^4 U( g做硬件的确实要有女人般的心细,一个错误都不能犯,否则真的要浪费N多资金,钱还是小事,时间才是重要的!以前我也错误的生成了gerber文件,结果电源和地层的via都和copper连在一起了。还好没有焊接元器件就检查出来了,只是几千块的损失。不过又耽误一周多的研发周期,这才是最大的损失。) [) V% J2 |, p. g
希望做硬件的可以一起交流,我的msn:snowflake0819@hotmail.com
1 g/ g& K' o5 ^- z( K/ j" P楼主再多奉献点经验吧!
作者: 38447448    时间: 2008-10-9 14:51
还有几点补充下:
) I+ g; K8 q' e3 p: T% [1,各种器件资料分类保存。  b3 k7 N5 X. I9 i9 H  y, F
   硬件设计中会遇到很多datasheet,种类繁多,公司繁多,用过的芯片手册一定别删了,定期要做整理,这是一笔财富;
" n: h. u# s1 n% N* S* P2,多参考别人设计的原理图和PCB,减少研发周期。很多电路其实已经很成熟了,没必要再自己设计,还有PCB,参考别人的走线方式,方法,多看,多练,虽然有layout工程师,但是硬件设计和layout是息息相关的,每个硬件设计都是从画PCB起步的。这些资料一定注意分类保存。
0 f) O& ?9 C. u& W! i" m/ W; ?) p3,各种代理商,联系人资料保存备份。
  F! o; j. J: @) n: F0 \3 G( q2 f   现在几乎每一个芯片厂家都有相应的公司代理,可以提供样品和技术支持服务,因此不愁找不到想用的芯片,但是只愁找不到联系方式。推荐大家去大联大集团的主页,这公司几乎什么芯片都代理,强。而且其主页有很多大公司主页的连接,很方便寻找各个公司的芯片并找到样片。7 ]& E0 a6 b! ?; Y% J# ?
4,多总结。1 C# ]. A, X$ p/ ^# d& T
   硬件调试遇到的问题是相当多的,所以多总结非常有好处。# t, Q. }5 C% O- j, H& q+ \+ b9 p/ g
5,心态。。。
$ q; T- u& `$ m6 M! k8 q   有时候硬件调试真的能让人崩溃,问题很难解决,因此心态一定要保持好,楼主说的很好,“凡事都是有办法解决的”和“问题出现一定有它的原因”!没错。做硬件,就这样!看开点。呵呵。
作者: desingsp    时间: 2009-1-13 11:44
特别是调试阶段啊, 你们试过在BGA下面用漆包线连pad然后还要把BGA烘上吗?
0 ?( Y  t4 O+ V' y8 C+ n设计阶段 硬件工程师还像个办公室人员,调试阶段就是民工了啊. 
1 @- {! M# X0 S% b) f% ?各种事情.....繁琐啊..
3 ]8 `$ h* L" U: d6 F5 z# s有时候还要和厂商一块debug......
作者: edwardwu0    时间: 2009-1-17 00:54
是呀,最近就遇到了一个问题,小批还没有出现,大批的时候就出现了,固定数量的机器无法起机,如果故障机进行模块对换,又都可以,怀疑是软件的时序问题,每天都在郁闷中,希望能安心的回家过年
作者: 可可爱    时间: 2009-1-19 17:51
楼主的总结很精辟呀!
作者: coralyin    时间: 2009-1-20 18:42
看来我的心态没放对啊~~~~~谢谢楼主~感觉很有动力
作者: user18    时间: 2009-2-22 16:50
说得好呀
作者: gaojun39    时间: 2009-2-22 18:31
好啊# c; r' H! x! c/ s" G6 a1 @
好东西大家分享比较好啊
作者: binwenn28    时间: 2009-3-6 00:06
有同感写的不错
作者: newone    时间: 2009-3-7 10:39
确实说的很好啊
作者: gggyuan    时间: 2009-3-10 10:49
17# desingsp 2 m! t5 J3 _$ }7 g
呵呵,真的和民工没什么区别的
作者: 若风    时间: 2009-3-11 17:02
顶你一个
作者: dxz_bb    时间: 2009-3-13 09:42
凡事都是有办法解决的”!“问题出现一定有它的原因”!
作者: biershuai    时间: 2009-3-13 10:18
呵呵,学习了
作者: youzione    时间: 2009-3-13 12:04
16# 38447448 谢谢您!!!
作者: youzione    时间: 2009-3-13 12:13
总结的很好 谢谢了
作者: xxx411    时间: 2009-3-30 18:07
谢谢
作者: xiaotianli2004    时间: 2009-4-1 19:56
不容易啊,大家都要加油,偶尔出去放松一下啦!
作者: david_lyj    时间: 2009-4-3 15:26
看过,非常好,多谢多谢
作者: yicao_huang    时间: 2009-4-3 15:49
好东西,学习
作者: sveta    时间: 2009-4-6 15:59
谢谢楼主分享的呢
作者: zyylover    时间: 2009-4-7 09:54
确实是值得学习的东西,谢谢楼主!!
作者: weibo219    时间: 2009-4-8 17:38
学习…………,收获!谢谢楼主分享!
作者: quaid_wang    时间: 2009-5-14 17:10
you are right...
作者: wushengfeng520    时间: 2009-5-16 15:20
不错哦
/ x$ O0 s6 k! h/ b支持下....
作者: zhangaihua    时间: 2009-5-17 19:13
初来乍到,多多包涵。。。
  u  O) O5 r' X: A2 {2 [, {. N4 H学习一下。。。
作者: zhangqr19    时间: 2009-5-21 09:44
学习
作者: chenjnh    时间: 2009-6-10 14:04
说的好:“凡事都是有办法解决的”,“问题出现一定有它的原因”
作者: zjc8858    时间: 2009-7-24 05:36
学习了  谢谢
作者: yufangh    时间: 2009-7-24 08:22
lz总结的真是经典!!
作者: YUANHUI217    时间: 2009-7-29 01:06
总结的好,不顶不行呀
作者: potato0204    时间: 2009-8-14 23:00
新手只有学习的份啦。。
作者: Happyboy168    时间: 2009-10-2 15:42
学习中,谢谢
作者: zhao431431    时间: 2010-4-18 17:33
写得不错,学习了。
作者: dzgking    时间: 2010-4-19 09:56
很不错,多讨论
作者: lihx1    时间: 2010-5-17 14:31
很受益呀!多谢楼主及时总结!
作者: swp    时间: 2010-8-14 22:46
受益匪浅
作者: yuhongbo    时间: 2010-8-26 10:41
挺精彩的,支持一下
作者: tao27064    时间: 2010-11-5 15:54
谢谢LZ
作者: phoenixflysky    时间: 2010-11-22 22:22
硬件工程师责任重大啊!谢谢楼主的分享
4 x6 {! w  X- x: v




欢迎光临 EDA365电子工程师网 (https://bbs.elecnest.cn/) Powered by Discuz! X3.2