为什么我们要详细阐述这个行为呢?由于归一化做不做,每每不影响功能交付结果。收益在短期每每不直接,乃至会导致直接本钱的上升。一些小公司每每意识不到做这个动作,一些低级工程师也没有方法论做这套事情。但是归一化的收益实在是明显的,不做好,长期的不利影响会有很多。
实在大多数工程师,在开拓的过程中,器件选型时的出发点便是“归一化”,例如选择公司已经做过的设计作为参考,选择公司已经采购过的器件,选择自己用过的器件。这样的选型出发点,是可以达到一些归一化的结果,但是这个结果不能得到保障,并且不能够量化衡量是否知足设计的归一化哀求。由于完备依赖于工程师的履历、水平、意识。那么这样的哀求每每不可控。
归一化事情按照层次分类:平台归一化,硬件归一化,器件归一化;

平台归一化是:一套硬件平台,通过不同的硬件模块的组合,承载不同的软件加载,可以支持不同的业务,既可以支持这个业务,也可以支持那个业务。例如我们以前开拓的硬件平台,业务类型支持:彩信、彩铃、短信,呼叫中央、统一通信等场景。
硬件归一化实在是做出来的硬件模块,或者说硬件电路板,相同的功能模块可以支持多种功能场景,例如我们把语音编解码模块单独独立出来,作为各种编解码的处理,可以根据客户需求,处理不同的编解码的转换,同时系统也支持用户规格,选择电路模块的数量,支持不同客户规格的需求。
我们为什么须要归一化?
第一、 减少不必要的人力投入。以前在研究所事情的时候,由于“技能不传染”,项目组之间没有什么技能沟通,相互之间的事理图、PCB、文档、案例、基本不共享,不互换,但是大家的一些模块,功能是一样的,但是设计结果各式各样,在设计阶段就重复劳动,当出了问题之后,实在大家面对相同的功能模块,在办理不同的问题。例如,音频的放大模块,频率实在基本上是0kHz~30kHz的有效旗子暗记,都是互换耦合,按照单电源、双电源;高电源电压,低电源电压;R-8,RM-8平分歧的情形,有限的分类,我们进行同等性的设计;找到一些可以进行多厂家器件兼容,设计考虑几种容限的情形。做几种类型的设计。从设计上面来说,所有人都有参考标准。如果碰到新问题,现有的设计模块不能知足时,再引入新器件及新设计。例如平时大家的放大量都是100,按照增益带宽积,已有设计能够知足很多场景的带宽(同时单位韶光的电压上升率也知足);涌现10000倍放大需求的时候再评估是否须要引入新模块设计。
但是实际的设计,都是放羊式设计,你喜好ADI的,我喜好TI的,他喜好用MAX的,我喜好用FET搭。所有每人手上一套放大电路,每个人的滤波电路都不一样,ADC选型和设计也是各式各样。如果有人出了问题,没有借鉴,也没有谈论,由于一开始就没有谈论。
第二、 降落总体的采购本钱。举个例子,大家都知道,贴片电阻,如果按照一盘进行采购,大约25元旁边,有5000片。按时你只买100颗相同的电阻,可能拿到的采购价格是5元。
我们可以大略比拟单价:按整盘采购单价是0.5分,按照散装采购价格是5分;单价相差10倍;实在通过这样的大略比拟,我们很随意马虎理解,批发价比零售价便宜很多在器件采购这个方面,有非常明显的特性。
除了类似于电容、电阻、电感平分立器件,有这个特性;在半导体器件采购,这个特性更明显。为什么呢?由于大家知道,半导体的紧张质料是二氧化硅,也便是这个天下上取之不尽用之不竭的物质“沙子”;在一个芯片被成功设计和量产之后,其质料本钱是非常有限的,紧张的本钱都是早期投入,例如研发投入,生产线投入,而这两部分的投入支出都非常的弘大。
险些所有的芯片都是阶梯价,也便是你采购量越大,得到的价格就越便宜。
曾经待在华为的硬件平台部门。其实在硬件平台部门,紧张的目标便是把公司各个业务承载在相同的硬件上,用最少量的硬件研发人力承载最大的营收。减少重复的研发投入,并且降落总体的采购本钱。但是实在我们阶段性的成果,造成的局势是一个硬件平台,处理有7、8种,X86多种、单核PPC、多核PPC、MIPS、ARM……从器件采购上面来说没有形成上风,从研发上面来说,每套开拓的职员须要的技能都不一样,在开拓和掩护阶段的人力投入都非常巨大。在器件采购上面,每种器件的利用量都比较有限,在商务上没有特殊的打破。
第三、 更高的产品质量。如果产品设计形成协力,相同的器件、相同的模块、相同的电路,其的发货量比较巨大,暴露出来的问题每每也是概任性的,层次也比较深入。一些低级的问题,由于涉及的职员比较多,投入度也得到担保,以是在设计早期就已经办理的比较充分,并且当设计新电路的时候,可借鉴参考的内容也比较多,可谈论的同事也比较多。如果你选用一款器件,而这款器件被同事选用,已经产品化,并且海量发货。那么你选用这颗芯片的时候,不但这颗芯片被大批量验证过了,而且设计已经办理了已经创造的问题,同时由于你的选用,可能增加这颗芯片的发货量,进一步增加商务会谈的砝码。
我们如何履行归一化?
平台归一化,这个设计场景比较少,架构师在考虑平台归一化的时候,每每是业务驱动。通过现有产品创造,哪些业务可以通过重新方案电路的功能凑集,完成新的电路模块的划分,实现新的硬件平台可以涵盖更多的利用场景。例如经典的硬件平台ATCA。
ATCA(Advanced TelecomComputing Architecture)标准即前辈的电信打算平台,它脱胎于在电信、航天、工业掌握、医疗东西、智能交通、军事装备等领域运用广泛的新一代主流工业打算技能——CompactPCI标准。是为下一代领悟通信及数据网络运用供应的一个高性价比的,基于模块化构造的、兼容的、并可扩展的硬件构架。
ATCA总线紧张针对电信运营级运用,为下一代通信及数据网络运用供应了一个高性价比、模块化、兼容性强、并可扩展的硬件构架,同时以模块构造的形式呈现,以符合当代对高速数据传输的需求,为新一代电信运营设备供应了一个“可靠、可用、适用”的办理方案。
正是由于ATCA优胜的“高性价比,模块化合理,兼容性强,可扩展性强”的特点,以是具备特殊强的生命力。与ATCA的类似的还有其他种类的硬件平台,每每没有这么长的生命周期,或者没有这么大的市场霸占率。
硬件单板归一化,强调的是在架构设计的时候,模块划分比较合理,模块的复用度高,模块间的耦合度低。ATCA这样的硬件平台归一化的时候,合理的拆分功能模块,才能实现其可扩展性和兼容性的特点。在硬件单板设计的时候,模块设计的时候,就须要考虑规格设计,涵盖场景等等成分。
器件归一化,是硬件工程师,常常须要面对的问题,此处做重点描述。
第一、 处理器选型归一化。
须要考虑软件归一化。如果选用相同的处理器,那么软件纵然功能模块可能不一样,但是其大多数公用模块都可以借用,相同的处理器,操作系统可以保持同等,同时驱动等底层软件都可以借用。给软件开拓的便利性带来了很大的上风。特殊是多版本的大规模发货的产品,由于产品本身有很多的沉淀须要传承。当操作系统的变更,会导致很多功能可能须要重新开拓。
例如,华为在变革操作系统的过程,部分业务从VxWorks切换到Linux的过程,非常痛楚,首先大量的业务软件是运行在Dopra(Dopra是在不同OS之上的一层封装,供应统一接口,供应编程框架。)当你选用新的Linux版本的时候,Dopra都须要跟随进行补丁,或者重新确立版本。其余,大量的生产测试,是基于VxWorks上进行开拓的,如果须要移植到Linux,则须要花费大量的人力物力。一些运行Linux的电路板就运行双操作系统,在业务状态下,电路启动之后就前辈入VxWorks,如果须要进入生产装备等状态,则干系按键进入。如果是正常业务,再次勾引Linux进入Linux进行业务运行。
以是我们成熟平台上,进行处理器选型,尤其要把稳电路的继续性。
第二、 内存类型的选型归一化
一个平台的生命周期须要考虑其所有器件的生命周期的康健性。而内存类的器件,每每生命周期并没有平台的生命周期长。以是在器件选型的时候,须要把稳两个生命周期的合营。选型某款DSP的时候,其外围的存储器件只能选用SDRAM,但是同一平台的其他器件已经进入DDR2时期;但是由于X86更新换代比较快,很快配套内存选用DDR3。当平台发布没多久,几个大的存储器件厂家宣告SDARAM停产了。但是由于全体平台只有这么一个设计的位置选用了SDRAM,导致备货都无法开展。根据发货量预测到平台生命周期结束,对SDRAM进行备货。以是我们在选型的时候,哪怕有各种规格的DDR,但是也须要考虑归一化,这样哪怕备货的时候,也能形成批量采购得到价格上风,或者发货量大去影响其生命周期,或者扶持一些小的器件厂商进行替代。
第三、 电阻、电容平分立器件。
电阻,我们须要在电阻精度上面进行归一化,多少年前,当生产电阻时,其精度还不那么随意马虎掌握的时候,我们须要根据设计,选用精度相对不那么高的电阻以降落本钱。但是目前来说1%精度的电阻,与5%精度电阻的价格差异不再那么大的时候。我们可以统一选用1%,不但增加了统一采购的数量,以此来得到批量采购的价格上风,同时由于减少了器件的种类,降落了生产的韶光。在阻值方面也可以做一些归一化的事情,例如一些对阻值不是那么敏感的设计中,我们可以进行一些器件归一化的,例如一些阔别有用旗子暗记的RC滤波,相对不须要那么准确的精度,我们27欧姆归一化到33欧姆,这种对滤波结果影响不大的场景,可以选择归一化。同时,有些电阻阻值在整板,只有一个器件(20k),我们可以选择两个电阻的阻值之和(两个10k)来实现,来实现归一化。
但是我们不能为了归一化而归一化,在减少器件种类或者减少器件数量的时候,一定须要考虑归一化之后对电路的影响。当年我们开拓Corei7嵌入式版本开拓,初版的时候事情都正常的,调测完成之后,进入产品化阶段。但是回板之后,电路无法正常事情。原来是硬件职员没有进行评估,把处理器的外围晶振的对地电容18pF归一化到30pF,导致的晶振不起振。