日积月累12----单板硬件开发之胡言乱语 | 单板硬件

最后,需要不停地扩充知识面,单片机的原理,嵌入式软件,FPGA的原理及编程等等,这样坚持个两三年,才可以说在单板硬件设计上入门了,然后根据自己的 ...硬件开发的基础能力我在单板硬件领域干了十多年,硬件设计、底软、逻辑、芯片设计都涉及了一点,从自身的经验来看,在单板硬件开发中以下几个基础能力需要重点关注:1)英语能力。

众多的器件手册、标准规范、海外各电子论坛等,至少都需要良好的英语阅读能力。

2)自控理论。

通信电子、开关电源设计及时钟设计等电路设计都离不开负反馈,离开学校这么多年后才发现自控理论这么重要。

3)数学能力。

系统建模、公式推导、电路指标分解都需要良好的数学能力,微积分、概率论等等。

4)数电模电基础知识。

各种电路分析都离不开这些数电模电基础知识。

5)verilog编码能力。

FPGA逻辑设计、芯片设计都离不开逻辑编码设计。

6)软件编码能力。

硬件离不开软件,好的硬件设计,必须对软件实现有深刻的理解,反之亦然。

硬件开发的进阶之路在具备上面这些基础能力之后,以数电和模电知识是基础,电路理论为辅,从简单的原理图入手,学习如何用简单的阻容感、三极管MOS管以及简单的与非或等数字电路搭建电路,如看门狗电路、555电路的应用、三极管放大电路等,这个阶段需要搞清楚每个单元电路的原理。

这个阶段如果有条件,通过面包板做做小实验最好,没有条件看看书分析原理也行,也可以考虑PSPICE。

接着,实际的上板摸索,参与各种原理图、PCB的绘制,各种测试仪表(如示波器、万用表等)的使用,通过实际的工作把之前的基础知识穿插起来,融会贯通。

最后,需要不停地扩充知识面,单片机的原理,嵌入式软件,FPGA的原理及编程等等,这样坚持个两三年,才可以说在单板硬件设计上入门了,然后根据自己的兴趣爱好,结合实际的工作,有针对性的去扩展相关知识,这样才能在单板硬件设计上越走越远。

硬件开发的全流程我觉得完整硬件开发流程应该包含以下几个方面:1)需求定义:我们设计的产品都是给用户去使用的,产品好不好不是设计人员说了算,而是用户使用后去评判。

那么我们在设计硬件之前,就需要考虑好用户的核心诉求是什么,硬件功能有哪些,应用环境,使用寿命等。

2)需求分解及方案设计:从这些用户诉求中提炼出硬件设计的基本需求,根据这些基本需求选择合适的方案。

一个好的方案,包含很多方面,需求的完整度及可实现性、方案的成本(人力及物料)、方案的DFX考虑(可制造性DFM、可测试性DFT等)等。

3)硬件实现上:a.器件选型,好的设计不是说一定要用最好的器件,合适的器件即可,性价比是重要的。

另外器件的可靠性也要考虑,HBM/CDM等级,工业级/商业级,供电&功耗,尺寸&高度等。

b.电路设计,功能不能遗漏,同时电路设计也要简化,关键电路最好能有冗余备份,考虑到后期维护,也要设计相关的维测电路,如指示灯,电压监控等。

c.PCB设计。

好的硬件也要考虑PCB设计,如高速信号设计、时钟隔离、复位中断信号设计、电源参考等。

信号完整性测试,SI/PI。

另外,单板PCB布局也很关键的,涉及结构、散热、EMC等方面。

d.可靠性设计。

给用户用的硬件,不能一用就坏,ESD、EMC设计都要兼顾,防护电路的设计,对于存储器件是否考虑ECC,器件及电路温度降额、电压&电流降额、功耗降额等等。

4)测试加工。

样机的验证,信号质量、信号时序、功能测试、性能测试等等,快速验证样机的功能性能。

另外如何在生产上快速拦截故障品,需要FT测试、老化测试,温循测试等等测试项的合理选择,避免器件的早期失效。

5)后期维护。

硬件不是卖给用户就结束了,良好的硬件设计,还需要关注后期在用户端的表现,故障信息的收集,故障问题的快速闭环,针对发现的问题不断改进设计。

上面这些只是一个好的硬件设计中需要关注的部分问题,真正如何做好的硬件,需要我们不断吸取经验教训,从硬件设计的全流程中着手。

硬件开发单元测试想要写出好的单元测试,要做的非常多,不管是软件的单元测试还是硬件的单元测试。

下面从硬件的单元测试说起,软件的单元测试过程也类似。

第一,工欲善其事必先利其器,好的单元测试,我们必须选择适合的仪表


常見生活風格問答


延伸文章資訊