对于一个硬件工程来说,要完成一个硬件工程,考察的是硬件工程师各方面的能力,不单单是会设计原图、画板,下面分享一些经验总结。
一、 节约成本
现象1

我们的系统要求这么高的工作频率,RAM、ROM、CPU、FPGA所有的芯片都选最快的。

A: 在一个高速系统中并不是每一部分都工作在高速状态,器件速度每提高一个等级,价格就可能会翻一倍,而且还有可能带来信号完整性方面的问题。

现象2

简单的逻辑电路用74xx门电路搭一下就行,但太low,还是用MCU或者CPLD显的高档。

A:提这个问题的小伙,感情公司不是你家开的吧,74xx的门路贼便宜,MCU和CPLD都是几十块钱,成本估计一下子就提高了N倍,还给生产、文档等工作增加了大量工作量。

现象3
程序只要实现功能,测试下来稳定就可以了,代码长短,效率高低,不是关键

A:CPU和存储器的速度都是和钱挂钩,如果在系统设计时多优化一下代码结构,提高程序效率,可以降低CPU的主频、减少存储器的容量,这两点所节约的成本绝对是划算的。

现象4

所有的电源芯片都用国外的(ADI,TI,MPS等),纹波和瞬态响应比较好,国产的太差了。
A:欧美品牌的电源管理纹波和瞬态响应是特别好,到某些国产的电源也是ok的,像贝岭、润石,以及电源管理IC,像全志、瑞芯微等,只要满足负载端的电源纹波要求,也完全是可以采用的。

                         二、低功耗设计

现象1
系统是220V交流供电,就不用在乎功耗问题了。
A:低功耗设计不单单是为了省电,更多时候是降低电源模块和以及散热系统的成本,由于电流减小,也减小了电磁辐射和热噪声,也有助于延长电子器件的寿命(电子元件的工作温度每提高10℃,寿命则缩短一半)。

现象2
这些总线信号都用电阻拉一下,感觉放心些。
A:信号需要上下拉的原因有很多,也不是每个都需要上下拉。上下拉电阻拉一个单纯输入的信号,电流也就十几微安以下,但是拉一个被驱动了的信号,其电流可以达到毫安。现在的系统地址和数据都是32位,可能还有244/245隔离后的总线及其他信号,消耗的功耗达到几瓦。

现象3
这些小芯片功耗这么低,不用考虑
A:对于内部复杂芯片的功耗是很难确定的,它主要由引脚上的电流来确定。

现象4
降低功耗是硬件人员的事,与软件没有关系
A:一个系统组成主要是硬件+软件,硬件是平台,相当于人的身体,软件也是思想逻辑,相当于人的大脑,试想如果身体不动,大脑在努力的想问题,同样感觉到累,但如果什么都不思考,很少能感觉到累。
总线上每一片芯片的访问,每个信号都翻转差不多都需要软件控制。如果软件能连上外存访问的次数(多使用寄存器变量、多使用内部CACHE 等),以及响应中断(中断往往是低电平有效并带走上拉电阻)以及其他针对单板的措施都对降低功耗有突出的贡献。

                         三、系统效率

现象1
系统主频选用越高越好,对外界任务处理的越快。
A:系统处理能力与很多因素有关,在通信应用中瓶颈一般与存储器有关,存储器的速度快不起来,处理器再快也是徒劳。

现象2
cpu用大一些的CACHE,系统就能处理的快了
A:CACHE的增大,不一定能提高系统的性能。因为只有搬到CACHE中的数据必须多次重复利用才能提高系统效率。所以在通信系统中一般只打开指令CACHE,数据CACHE即使打开也只局限在部分存储空间,如堆栈部分。

现象3
多任务到底是中断还是查询,中断即时响应更好。
A:用中断还是查询,要具体情况具体分析。中断实时性强,但不一定快,如果中断任务很多,前一个没退出来,后一个就到来,一会儿系统就崩溃了。所以要根据具体情况来决定用哪一种,如果任务很多,那么最好的方法是在
中断中查询,即进一次中断,就把积累的所有任务都处理完再退出。

现象4
存储器的接口时序都是厂家默认的配置,不用修改。
A:BSP对存储器接口设置的默认值都是最保守的,在实际工作中应结合总线工作频率和等待周期等参数进行合理调配。有时把频率降低反而能提高效率。 如RAM的存取周期是70ns,当总线频率为40 MHz时,设3个周期的存取时间,周期为75ns即可。总线频率为50MHz时,必须设为4个存取周期,实际存取时间为85ns(CPU对RAM的数据通信必须大于等于RAM的存取周期)
现象5
一个CPU处理不过来,就用两个分布处理,处理能力可提高一倍。
A是否采用两个CPU,必须要根据实际使用情况来确定,如果在系统运行过程中,两个cpu之间一直在互相协调处理任务,那么效率就可能低于单个cpu。

                         四、信号完整性

现象1
这些信号都是低速信号,不用考虑仿真和阻抗匹配。
A:首先信号是高速还是低速,不能只看信号频率,还要看信号的上升沿,(一般而言,在信号传输路径的长度(即信号线的长度)小于信号有效波长的1/6时,可认为在该传输路径上,各点的电平状态近似相同,即低速信号,反之为高速信号。)所以,是否进行阻抗匹配,还要看信号要求。

现象2
这些信号都经过仿真,绝对没问题。
A:仿真模型不可能和实物一模一样,不同生产批次实物都会有差别。实际情况千差万别,仿真结果都是在理想条件下的数据,尤其是像串扰,网上看到这样一个例子,单板测试时,只有特定长度的包极易丢包,最后确定的原因是,极易丢包的数据是0xff,当这个数据出现在总线上时,干扰了相邻的we信号,导致无法写入RAM,其他信号也会对we产生干扰,但影响都在可接受的范围内,当8位总线同时由0变1时,旁边的we信号就受到了干扰,所以仿真结果只能用来参考,还要预留有足够的余量。

现象3
数字信号越陡峭越好
A: 边沿越陡峭,其频谱范围就越宽,高频的就越多,能量就越大,频率越高的地方越容易产生辐射,越容易干扰别的信号,而自身在导线上的传输质量会变的越差,所以能用低速芯片,优先用低速芯片,如果低速满足不了需求,再选用速度较高速度的芯片。

现象4
为保证干净的电源,去耦电容多多益善。
A :整体来讲电容越多电源越平稳,但是增多的话,也会带来其他方面的影响,比如说成本增加、布线难度增加、上电冲击电流大,去耦电容

现象5
信号匹配真麻烦,如何才能匹配好?
A:关于信号匹配总原则是当信号的传输时间超过其跳变时间,信号的反射问题才显得重要。信号产生反射的原因是线路阻抗不均匀所致,匹配的目的就是为了使驱动端、负载端和传输线的阻抗变的接近,但能否匹配得好,与信号在PCB上的拓扑有很大关系,传输线上的
一条分支,一个过孔,一个拐角,一个插接件,不同位置与地线的距离的改变,都可使阻抗距离变化,而这些波形使反射波形变得异常复杂,很难匹配。因此高速信号仅使用点到点的方式,尽可能减少过孔、拐角等。

                        五、可靠性

可靠性问题主要是指板子在运行过程中,能否在使用环境、软件升级、外部通信等场景中稳定运行,使用环境就是高低温变化,外部接口是否有足够的兼容性。

现象1
这部分IO口、电源使能引脚只需要在软件上做好配置就行,不需要硬件配置。
A: 某些关键的引脚/io,除了软件上需要做好配置外,硬件必须要在关键的引脚或信号上做上下拉,避免在软件运行来之前,电平不对造成其他影响。

现象2
这块单板已经小批量生产了,经过长时间测试没有任何问题。
A:硬件设计和芯片应用必须符合相关规范,尤其是芯片手册中提到的所有参数(耐压,io口电平范围,电流,时序,温度,PCB布线,电源质量等),不能只靠试验来验证。网上有个例子,卖出板子运行了两年没有问题,但是IC厂更换了生产线,板子就不正常工作了,原因是人家芯片参发生了一些变化,但并没有超出手册的范围。所以硬件设计还是要以手册为准。

现象3
用户操作问题,就不能怪我了
A:要求用户严格按手册要求是没有错的,但用户也是人,人都有犯错的时候,不能说插错一个线头就烧板子、轻微摔一下就死机,所以硬件设计要对用户可能犯的问题加以保护。

现象4
板子坏的原因是外部连接的板子信号出问题了,不能把责任归于我。
A:板子对外的接口要有足够的兼容性,不能因为对方信号不正常,就罢工了,一般来讲,硬件都需要按模块来划分,如果某个信号不正常,它只能影响与它相关的那部分功能,而其他功能应该正常工作,不应该罢工或者永久损坏,一旦外部接口的信号正常,相关功能也应该恢复正常工作。

硬件工程师遇到的问题总结相关推荐

  1. 漫画:据说很多搞软件的羡慕硬件工程师

    因为在软件行业35岁就算老人了 而搞硬件的53岁正辉煌 表面上看起来高大上的硬件工程师 在实际的工作中,其实很惨... 以上漫画虽然调侃的意味更多 但现实中搞硬件的门槛确实很高 收入也会随着经验的增多 ...

  2. cadence原理图封装pin名称重复_硬件工程师必备技巧--如何快速制作PCB封装

    去年底注册的微信公众号,最近提示我登录,否则冻结.打开电脑登录后,发现有几位用户关注了,感到有点意外,去年比较忙,一直也没发什么帖子出来.有空还是得不断学习,不断总结,分享出来. 对于硬件工程师,我们 ...

  3. 硬件工程师面试经历2015---面试篇

    如果说一份好的简历是求职的敲门砖,笔试是求职的通行证,那么面试的好坏就直接决定着你是否能拿得到工作这张门票. 找工作到现在,我拿到的offer一共有6个,按时间顺序是华为,36所,阿尔卡特朗讯,国家核 ...

  4. 给硬件工程师介绍SAP Cloud for Customer

    因为客户的硬件工程师以前完全没有接触过SAP系统,所以给他们讲C4C,适合讲入门级的内容.结合这次项目,因为SAP要确保我们的人从现场撤了之后,客户仍然可以自行在C4C里下单触发整个流程,因此我在介绍 ...

  5. c语言goto语句用法_硬件工程师必知的10个C语言技巧

    硬件设计师最常见的工作内容是通过写代码来测试硬件.这10个C语言技巧(C语言仍然是常见的选择)可以帮助设计师避免因基础性错误而导致某些缺陷的产生并造成维护方面的困扰. 为了成功的推出一个产品,软件开发 ...

  6. 硬件工程师如何成为焊接界的高手

    作为一个硬件工程师 可以不会做饭 可以不陪女朋友逛街 但一定要会焊板子 一定要喜欢调电路 焊板子是一技术活 有这一手的好活 定会让妹子一见倾心 看一眼下面的这些玩意 我们称之为Tool 就知道用它们做 ...

  7. 硬件工程师前途到底怎样?看看大佬怎么说,看完跪了

    点击上方"大鱼机器人",选择"置顶/星标公众号" 福利干货,第一时间送达 一位项目经理带着一名硬件工程师和一名软件工程师一同坐车去参加研讨会,结果汽车在半路抛锚 ...

  8. 知乎:现在做硬件工程师还有前途吗?

    点击上方"大鱼机器人",选择"置顶/星标公众号" 福利干货,第一时间送达! 在知乎上看到这个话题,关于对硬件工程师的发展,其实很多争议. 特在此截取一些内容.点 ...

  9. 程序人生:硬件工程师应记住的10个技巧

    嵌入式系统设计不仅需要了解硬件,还需了解软件是如何影响硬件并与硬件进行交互的.设计硬件所需的范式可能与设计软件完全相反.当从硬件设计转向包含软件的设计时,硬件工程师应牢记以下十个技巧. 技巧#1:流程 ...

  10. 华为硬件工程师社招机考题库_干货:2016年华为中兴硬件工程师笔试题目与经验...

    1.一位工科男在拿到华为实习生offer后的面经干货 某211学校,机械学院研究生. 不得不说一下,华为的员工们真的是认真做事,因为怕我们担心下班轮不到面试.工作人员特意去休息区告诉我们,不面试完他们 ...

最新文章

  1. 中国开发者新福利:大模型API接口出炉,让普通用户玩转内容生成
  2. 如何为计算机视觉任务选择正确的标注类型
  3. 完善的仿京东电商开源项目
  4. 元素 float:right 后右对齐换行原因
  5. layui 给table里面的添加图标_layui中的table中toolbar自定义过程
  6. CodeForces - 1095C Powers Of Two(思维)
  7. CSS之中间固定两边自适应宽度
  8. 信号处理:单边、双边频谱间的相互转换(转)
  9. 鼠标划过图片进行缩放效果
  10. JAV虚拟机下载 JDK1.6下载大全
  11. LibMesh 数据结构类
  12. python3--列表生成式
  13. 文件复制 详解(C++)
  14. linux上的ds命令,使用DS-5 进行Linux应用开发
  15. linux rm命令 安装,Linux rm 命令 command not found rm 命令详解 rm 命令未找到 rm 命令安装 - CommandNotFound ⚡️ 坑否...
  16. 计算机英语作文150字,作文试题_150字_英语作文
  17. 阿里云安全组已经开放端口但是服务器端口还是不能访问
  18. BZOJ 1135: [POI2009]Lyz
  19. C语言-统计单词个数
  20. linux debian vi,Debian 安装 vim

热门文章

  1. Visual C++ 6.0 操作PowerPoint 2003
  2. Vue进阶(幺捌零):JS 向 Vue 传值
  3. 优化计算机的主要操作,windows优化大师能执行哪些主要操作_windows优化大师使用教程有哪些信息?...
  4. AutoCAD.net 插件中获取AutoCAD 启动命令行的参数
  5. 串行数字接口(SDI)
  6. html设置图片切割,JavaScript html js图片切割系统
  7. 关于linux下/srv、/var和/tmp的职责区分
  8. Windows下U盘安装Ubuntu双系统
  9. viso直线相交不跳线不弯曲
  10. Stateflow使用C语言结构体,关于使用Stateflow调用外部C代码的教程介绍