嵌入式系统硬件原理设计与审核

      以下是我根据10多年电路设计与调试经历总结出的一点经验和感想,姑且叫它“电路原理图设计审核规范”吧,只是一家之言,摘录到这里仅供读者参考。
      1)详细理解设计需求,从需求中整理出电路功能模块和性能指标要求。
      2)根据功能和性能需求制定总体设计方案,对CPU进行选型,CPU选型有以下几点要求:
      a)性价比高;
      b)容易开发:体现在硬件调试工具种类多,参考设计多,软件资源丰富,成功案例多;
      c)可扩展性好。
      3)针对已经选定的CPU芯片,选择一个与我们需求比较接近的成功参考设计,一般CPU生产商或他们的合作方都会对每款CPU芯片做若干款开发板进行验证,比如AMCC的PPC440EP就有yosemite和bamboo两款开发版。厂家最后公开给用户的参考设计图虽说不是产品级的东西,也应该是经过严格验证的,否则将会影响到他们的芯片推广应用。纵然参考设计的外围电路有可推敲的地方,CPU本身的管脚连接使用方法也绝对是值得我们信赖的,当然如果万一出现多个参考设计某些管脚连接方式不同的情况,我们可以细读CPU芯片手册和勘误表,或者找厂商确认。另外在设计之前,最好能外借或者购买一块选定的参考板进行软件验证,如果软件验证没有问题,那么硬件参考设计也是可以信赖的。但要注意一点,现在很多CPU都有若干种启动模式,我们要自己选一种最适合的启动模式,或者做成兼容设计。
      4)根据需求对外设功能模块进行元器件选型,元器件选型应该遵守以下原则:
      a)普遍性原则:所选的元器件要是被广泛使用验证过的,尽量少使用冷门、偏门芯片,减少开发风险。
      b)高性价比原则:在功能、性能、使用率都相近的情况下,尽量选择价格比较好的元器件,降低成本。
      c)采购方便原则:尽量选择容易买到、供货周期短的元器件。
      d)持续发展原则:尽量选择在可预见的时间内不会停产的元器件。
      e)可替代原则:尽量选择pin to pin兼容芯片品牌比较多的元器件。
      f)向上兼容原则:尽量选择以前老产品用过的元器件。
      g)资源节约原则:尽量用上元器件的全部功能和管脚。
      5)对选定的CPU参考设计原理图外围电路进行修改。修改时对于每个功能模块都要找至少3个相同外围芯片的成功参考设计,如果找到的参考设计连接方法都是完全一样的,那么基本可以放心参照设计,但即使只有一个参考设计与其他的不一样,也不能简单地按少数服从多数的原则,而是要细读芯片数据手册,深入理解那些管脚含义,多方讨论,联系芯片厂技术支持,最终确定科学、正确的连接方式,如果仍有疑义,可以做兼容设计。这是整个原理图设计过程中最关键的部分,我们必须做到以下几点:
      a)对于每个功能模块要尽量找到更多的成功参考设计,越难的应该越多,成功的参考设计是“前人”的经验和财富,我们理当借鉴吸收,站在“前人”的肩膀上,也就提高了自己的起点。
      b)要多向权威请教、学习,但不能迷信权威,因为人人都有认知误差,很难保证对哪怕是自己最了解的事物总能做出最科学的理解和判断,开发人员一定要在广泛调查、学习和讨论的基础上做出最科学正确的决定。
      c)如果是参考已有的老产品设计,设计中要留意老产品有哪些遗留问题,这些遗留问题与硬件哪些功能模块相关,在设计这些相关模块时要更加注意推敲,不能机械照抄原来设计,比如我们老产品中的IDE经常出问题,经过仔细斟酌,广泛讨论和参考其他成功设计,发现我们的IDE接口有两个管脚连线方式确实不规范。还有,针对FGPI通道丢失视频同步信号的问题,可以在硬件设计中引出硬件同步信号管脚,以便进一步验证,更好发现问题的本质。
      6)硬件原理图设计还应该遵守一些基本原则,这些基本原则要贯彻到整个设计过程,虽然成功的参考设计中也体现了这些原则,但因为是“拼”出来的原理图,所以我们还要随时根据这些原则来设计审查原理图,这些原则包括:
      a)数字电源和模拟电源分割。
      b)数字地和模拟地分割,单点接地,数字地可以直接接机壳地(大地),机壳必须接地,以保护用护人身安全。
      c)保证系统各模块资源不能冲突,例如:同一I2C总线上的设备地址不能相同等。
      d)阅读系统中所有芯片的手册(一般是设计参考手册),看它们未用的输入管脚是否需要做外部处理,是要上拉、下拉,还是悬空,如果需要上拉或下拉,则一定要做相应处理,否则可能引起芯片内部振荡,导致芯片不能正常工作。
      e)在不增加硬件设计难度的情况下尽量保证软件开发方便,或者以较小的硬件设计难度来换取更多方便、可靠、高效的软件设计,这点需要硬件设计人员懂得底层软件开发调试,要求较高。
      f)功耗问题,设计时尽量降低功耗。
      g)产品散热问题,可以在功耗和发热较大的芯片增加散热片或风扇,产品机箱也要考虑这个问题,不能把机箱做成保温盒,电路板对“温室”是感冒的。还要考虑产品的安放位置,最好是放在空间比较大,空气流动畅通的位置,有利于热量散发出去。
      7)硬件原理图设计完成之后,设计人员应该按照以上步骤和要求首先进行自审,自审后要有95%以上的把握和信心,然后再提交给他人审核,其他审核人员同样按照以上要求对原理图进行严格审查,如发现问题要及时进行讨论分析,分析解决过程同样遵循以上原则和步骤。
      8)只要开发和审核人员都能够严格按照以上要求进行电路设计和审查,我们就有理由相信,所有硬件开发人员设计出的电路板第一版成功率都会很高的,所以我提出以下几点:
      a)设计人员自身应该保证原理图的正确性和可靠性,要做到设计即是审核,严格自审,不要把希望寄托在审核人员身上,设计出现的任何问题应由设计人员自己承担,其他审核人员不负连带责任。
      b)其他审核人员虽然不承担连带责任,也应该按照以上要求进行严格审查,一旦设计出现问题,同样反映了审核人员的水平、作风和态度。
      c)普通原理图设计,包括老产品升级修改,原则上要求原理图一版成功,最多两版封板,超过两版将进行绩效处罚。
      d)对于功能复杂,疑点较多的全新设计,原则上要求原理图两版内成功,最多三版封板,超过三版要进行绩效处罚。
      e)原理图封板标准为:电路板没有任何原理性飞线和其他处理点。
      9)制定上述规范的目的和出发点是为了培养硬件开发人员严谨、务实的工作作风和严肃、认真的工作态度,增强他们的责任感和使命感,提高工作效率和开发成功率,保证产品质量。希望年轻的硬件开发人员能在磨练中迅速成长起来。
      对于复杂的PCB板设计,如高频多层板一般都请专人布线,因为复杂的PCB板涉及电磁兼容和电磁干扰方面的问题,这是一门高深的学问,除了一些基本的注意事项外还有一些特殊的防护措施,比如设计时使用一些专门的电磁兼容芯片等,感兴趣的读者可以看一些电磁理论方面的书籍。

本文节选自王洪辉老师的嵌入式系统Linux内核开发实战指南(ARM平台)一书。

你可能感兴趣的:(嵌入式系统硬件原理设计与审核)