硬件工程师遇到的问题总结

对于一个硬件工程来说,要完成一个硬件工程,考察的是硬件工程师各方面的能力,不单单是会设计原图、画板,下面分享一些经验总结。
一、 节约成本
现象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:板子对外的接口要有足够的兼容性,不能因为对方信号不正常,就罢工了,一般来讲,硬件都需要按模块来划分,如果某个信号不正常,它只能影响与它相关的那部分功能,而其他功能应该正常工作,不应该罢工或者永久损坏,一旦外部接口的信号正常,相关功能也应该恢复正常工作。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在面试CSDN硬件工程师岗位时,首先需要展现自己在硬件工程领域的知识和技能。可以介绍自己的学历背景和专业相关的项目经验,例如硬件设计、电路布局等。同时,需要强调自己对硬件原理和电子元件的深入理解和熟练运用能力。可以提及熟悉的硬件开发工具和软件,例如Altium Designer、Multisim等。 此外,自己在硬件工程方面的专业技能也是面试官关注的重点,可以从以下几个方面介绍: 1. 微控制器和DSP:强调自己熟练使用各类微控制器和数字信号处理器,能够进行需求分析、系统设计和编程调试等;如果有相关项目经验,可以具体阐述完成的项目以及遇到的挑战和解决方案。 2. 硬件设计和调试:强调自己在硬件设计和布局方面的经验,以及熟练使用各类仪器进行硬件调试,能够解决电路布局和信号干扰等问题。 3. 电源管理:介绍自己在电源管理方面的知识和经验,包括开关电源设计和稳压电源设计等,强调对电源稳定性和效率的重视。 4. 通信协议和接口:具备一定的通信协议和接口知识,例如UART、SPI、I2C、USB等,能够确保系统和外部设备之间的稳定通信。 最后,强调自己的沟通能力和团队合作精神。提及在团队协作中的经验,包括与其他工程师合作完成项目、快速解决问题等。 总结来说,在CSDN硬件工程师面试中,需要展示自己在硬件设计、微控制器和DSP、硬件调试、电源管理以及通信协议和接口方面的专业知识和技能,同时强调自己的沟通能力和团队合作精神。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值