2、 根据功能和性能需求制定总体设计方案,对CPU进行选型,CPU选型有以下几点要求:
a) 性价比高;
b) 容易开发:体现在硬件调试工具种类多,参考设计多,软件资源丰富,成功案例多,但是比较难找;
c) 可扩展性好;
3、 针对已经选定的CPU芯片,选择一个与我们需求比较接近的成功参考设计,一般CPU生产商或他们的合作方都会对每款CPU芯片做若干开发板进行验证,比如440EP就有yosemite开发板和bamboo开发板,我们参考得是yosemite开发板,厂家最后公开给用户的参考设计图虽说不是产品级的东西,也应该是经过严格验证的,否则也会影响到他们的芯片推广应用,纵然参考设计的外围电路有可推敲的地方,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、 以上提到原理图设计相关的奖励和处罚具体办法将在广泛调查研究之后制定,征得公司领导同意后发布实施;
10、特别说明:
a) 以上《规范》是我根据自己以前硬件开发和底层驱动开发经验,以及最近对440EP主板原理图、PNX1700编解码PCI卡原理图、VS101A原理图审核发现的问题,并联系老产品中存在的隐患总结出的一些个人想法,其中肯定有很多不对、不足的地方,欢迎大家批评指正、补充完善,本《规范》发布在硬件组工作网页上,硬件组人员可以直接修改补充,修改补充后请注明;
b) 制定此《规范》的目的和出发点是为了培养硬件开发人员严谨、务实的工作作风和严肃、认真的工作态度,增强他们的责任感和使命感,提高工作效率和开发成功率,保证产品质量;
c) 希望年轻的硬件开发人员能在磨练中迅速成长起来!