硬件详细设计:除了原理图和PCB,还有哪些工作要做?

发表时间: 2023-07-31 23:20

硬件详细设计阶段,是指具备可以启动绘制原理图的条件了,直至投板,这个阶段。

这个阶段已经完成总体设计

关于总体设计 点击 :《硬件的总体设计》进行了解。


进入详细设计之后需要做的主要事项,除了绘制原理图和PCB图本身之外,还有不少事情需要做的。按照时间顺序,和依赖关系,绘制了一幅图,如下。

结构要素图

1、PCB外形轮廓尺寸

包括结构所需的倒角、凸凹槽、内部开窗等信息。

2、PCB板厚度

常用的厚度有1mm、1.6mm、2mm、2.4mm规格。

单独列出来是因为厚度是直接参与到结构设计的叠加累计尺寸当中,需要重视。

3、外部接口器件的位置和外形

LED的位置;网口、串口;光口;电源开关;电源插座;复位按键;背板连接器;导套、导销;USB。

外形一般在3D设计的时候,就会把接口零件模型组装到PCB,一起投影到DXF文档,同时提供定位参考点。

4、PCB安装孔的位置、孔径及其禁布区要求

选用什么型号的螺丝,提供相应孔径的尺寸,提供螺帽禁布区尺寸,并提供文字说明。所选焊接器件的料号、位置和放置面

其他需要焊接到PCB上的与结构相关器件的规格型号,位置信息,禁布信息,放置到PCB哪一面等信息。例如焊接螺母、螺柱;较大尺寸的电源砖;较大尺寸的芯片;需要散热的芯片;

5、PCB的TOP和BOTTOM面对器件高度的限制要求

由于PCBA需要与结构件装配,所以需要提供允许摆放电子元件的高度要求,需考虑间隙余量。

6、光纤半径和路径要求

光纤有弯曲半径要求,所以盘纤的方式、盘纤的路径和路径的宽度都要提前规划好,这些信息与PCB相互影响。

7、直接安装到PCB表面的零件

有些金属结构件直接安装到PCB表面, 表面一般禁布线,并且金属外围轮廓需增大,留足余量,比如零件制造装配公差引起短路。

有些塑胶零件安装到PCB表面,表面一般禁布元件,禁布区外围余量留足。

8、插板式PCB标示出插槽限高或禁布区域以及行程要求

有一种插板式PCB,两侧边直接与导轨插槽滑动装配,两边禁布区要求,以及注意模拟行程当中其他结构件会发生撞击干涉的空间,明确限高或者禁布要求。有一种PCB装配方式带滑动行程,注意模拟装配行程当中与结构件会发生撞击干涉的长度和面积,明确限高或者禁布要求。

9、焊接器件引脚长度要求

10、连接器的PIN序列信息

11、散热器安装位置,高度、禁布区要求

12、特殊器件的安装要求,例如摄像头、陀螺仪传感器、ToF等器件可能需要有安装位置的特定要求。


器件级FMEA

常见的电子元器件失效如下:

元器件类别

见失效

半导体器件

开路、短路、无功能、特性劣化、重测合格率低、结构不好等

电阻器类

断路、机械损伤、接触损坏、短路、绝缘、击穿等

电容器类

击穿、开路、参数退化、电解液泄漏及机械损伤等

电位器类

参数漂移、开路、短路、接触不良、动噪声大、机械损伤等

继电器类

接触不良、触点粘结、灵敏度恶化、接点误动作、短路(包含线圈短路)、接触簧片断裂、线圈断线、线圈烧毁等

接插件及开关

接触不良、绝缘不良、接触瞬断、弹簧断裂、机械失效、吊克力下降、动触刀断头、跳步不清晰、绝缘材料破损等

集成块类

电极开路、电极短路、引线折断、机械磨损和封装裂缝、可焊接性差等

FMEA不单纯是一种故障后果防范的工具,更是一种设计理念。也就是说:在你设计电路或者设计软件的时候,就需要考虑某个部件如果损坏了,可能对系统的影响,并且在设计的时候就能够预见,并制定对策。

看下图,你可以发现可靠性不是靠测试出来问题,解决问题实现的。而是设计出来的。也就是我们经常说的“质量是设计出来的”。

看着下图简略的描述,可以看到,在设计的概念阶段、就开始可靠性的设计,而在计划阶段和开发阶段的起始,就需要完成FMEA的分析报告。

1、帮助决策者从各种方案中选择满足可靠性要求的最佳方案

2、通过系统级FMEA分析并确定系统最合理的可靠性架构,功能模块划分,冗余策略,复位策略,集中式/分散式控制策略等

3、通过板级/器件级FMEA保证所有单元的各种故障模式及其影响都被周密考虑

4、找出系统的可靠性薄弱环节,分析每个单元故障后对系统功能影响及其影响程度,为进一步改进产品可靠性设计以及可靠性定量计算提供资料



绘制原理图

1、绘制原理图必须遵循电路图绘制规范。如果有公司级规范,按照公司规范。如果公司没有统一规范,部门或者团队应该自发组织统一风格,形成规范。

2、在原理图绘制之前,要组织原理图绘制人员一起学习公司规范和部门规范,就信号命名等习惯达成一致。

3、原理图在绘制前划分好模块,同时有多块单板开发时要提取公共模块并优先完成绘制供其他人借用。对于多人合作分模块画原理图的,需要先列出模块接口信号列表,然后再画原理图。

4、当相同模块数量大于等于5时,可以酌情使用层次图。如果规模不大,不建议使用层次图。

5、公司如果有公用器件库,不要私自建库。

6、使用公司器件库,一般不要修改属性,而是调用不同的库。例如每个器件都自己的器件编码。我们选择1k电阻,和10k电阻,需要建两个lib,不要通过修改阻值。因为每个器件最好有一个器件编码,便于采购管理和库存管理,包括加工管理。


原理图检视、降额审查

这部分前期已经写文章详述,点击查看

华为是怎样研发的23——原理图检视

华为是怎样研发的(26)——降额设计


元器件降额规范(第一部分)持续更新

元器件降额规范(第二部分)持续更新

元器件降额规范(第三部分)持续更新


【归一化】


归一化包含器件归一化,单板归一化,平台归一化和网络架构归一化。

(1)器件归一化

硬件工程师一般都能够理解,在一个板子上面的,尽可能地选择成本更低的器件,选择更少种类的器件,便于集中采购,同时也便于加工。但是其他公司可能没有对器件归一化的工作做得那么细致和严格。

① 由于不管什么规模的公司,整个公司使用的器件种类非常的多,所以如果减小一个器件编码,带来的收益是十万人民币到几百万,而其他公司可能达不到这个高的收益。所以如果能减少一个编码,宁愿选择可能成本更高的器件。但是这个也需要按照每年的器件直接成本收益*器件发货数量,与编码成本+加工成本差异,进行对比的。不过器件归一化之后,器件的价格又可以跟供应商重新谈价格,这个收益是迭代的。所以,有时即使是成本占优,也会倾向器件归一化的结论。例如,逐步去除了5%精度的电阻,归一化到1%。

② 器件归一化,都是需要进行专题分析的。因为也有工程师为了归一化,对电路原理没有充分分析,导致的归一化带来“问题引入”。所以,当时我的部门当时有一个表格,“器件归一化分析.xls”的excel表格,把每个器件,原来选型,归一化的选型,更改的原因,都做好记录和原因分析。一是让每个做归一化的员工都充分考虑分析,二是问题都有记录,便于评审,三是出了问题,好打板子。

(2)单板归一化

除了器件归一化,更高一个层次的归一化,就是单板归一化。(单板这个概念,我稍微澄清一下,我刚到华为的时候,也觉得这个词很奇怪。因为通信设备,都是机框,背板,加各个功能模块的电路板,各个功能模块的电路就叫做“单板”,硬件工程师,一般也叫做“单板硬件”)。

单板归一化带来的好处,首先是电路的种类少,电路的种类少的好处有两个:一是生产成本降低,二是硬件维护成本降低,三是软件开发和维护的成本降低。

① 单板归一化的先决条件首先是处理器归一化。其实,华为的有的产品这点做得其实不好,X86、MIPS、ARM、PPC全部都用个遍,所以一个硬件平台,需要配备各种软件人员,操作系统搞N套,VxWorks和Linux,BIOS各种配套。

② 单板的归一化,要注意产品的衍生。第一个版本的机框上的单板所实现的功能,如果后续的产品可以使用,应该直接可以用,不需要再开发。如果不注意这点,第一个版本的单板,到第二版本时,发现不能相互借用。反过来,再修改第一个版本的电路板,来适应新版本。有时问题更糟糕,就是完全不能兼容,只好重新开发。单板的规划显得非常重要。

③ 单板归一化时,虽然电路部分兼容了,但是结构件不兼容。对于市场人员的配置来说,仍然是两种配置。一样是失败的。

(3)平台归一化

那么如果发现不同的硬件平台的架构雷同,功能类似。那么机框也可以归一化。只需要制作不同的电路功能模块,就可以实现不同的功能需求。

但是不同的硬件形态都是有他存在的意义的,如果强行归一,市场未必会接受这种事情的发生。例如用一个运营商的平台去归一一个企业应用或者家庭应用的产品,可能就未必能够成功。

(4)网络架构归一化

这个说法是我自己想的,早在08年的时候,华为就在讨论“云管端战略”了,当时不是很理解。当我们一个运营商平台部门,跟“服务器”的部门合并的时候,似乎理解了点什么。

当X86处理器足够强大的时候,所有的运算,不管是否性价比最高,都送到云端进行处理,那么所有中间的存储和计算都显得不重要了。那么整个网络的结构,就是终端+管道+云存储和云计算。

既然计算和存储设备都是一样的,那作为运算和存储的设备,也就不需要那么多样化了。这时网络存储设备,和服务器就显得尤为重要。

这也是华为成立IT产品线,做重点战略投资的重要原因。所以现在也就不需要那么多网络节点和网络平台了,只需要超强的处理和存储能力和宽广的通道,多样的终端。

我们在器件选型的章节,提到了“归一化”,那么我们就对这个研发行为进行具体的阐述。

为什么我们要具体阐述这个行为呢?因为归一化做不做,往往不影响功能交付结果。收益在短期往往不直接,甚至会导致直接成本的上升。一些小公司往往意识不到做这个动作,一些初级工程师也没有方法论做这套工作。

其实大多数工程师,在开发的过程中,器件选型时的出发点就是“归一化”,例如选择公司已经做过的设计作为参考,选择公司已经采购过的器件,选择自己用过的器件。这样的选型出发点,是可以达到一些归一化的结果,但是这个结果不能得到保障,并且不能够量化衡量是否满足设计的归一化要求。因为完全依赖于工程师的经验、水平、意识。那么这样的要求往往不可控。

我们为什么需要归一化?

① 减少不必要的人力投入。以前老工程师会跟我们说,由于“技术不传染”,项目组之间没有什么技术沟通,相互之间的原理图、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 Telecom Computing 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,导致的晶振不起振。


BOM审查

1、原理图完成初稿后就马上启动详细清单的早期BOM评审,如有风险高的器件必须考虑替代方案并慎重权衡,完成可采购性评审要素表

2、所有风险器件必须逐一和供应商确认,详细评估风险,有风险的器件要选择替代方案。

3、按照可靠性维度进行审查,例如温度范围、接口器件的EMC要求、供应性审查、高单价、容易失效等等维度进行分门别类,分工审查。


规则驱动表

1、PCB走线长度、等长的约束

2、散热的约束要求

3、结构的约束要求

4、电源走线通流能力的要求

5、EMC的一些要求


自检进入PCB的条件是否满足

1、原理图所有的EDA提示的错误或者告警需要处理、生成网表

2、BOM审查完成,并通过评审

3、PCB的系统设计评审完成

4、预布局、热设计完成,并通过评审

5、规则驱动表完成并通过评审

6、关键高速数字信号SI前仿真完成并符合规格要求

7、结构要素图完成并通过评审

8、降额审查完成


开始正式PCB详细设计之前,我们需要做好几个准备工作:

【预布局】

在总体阶段的时候,我们应该就器件选型、预布局、热设计、结构设计的可行性进行了评估,输出的核心器件选型结论、预布局结论应该是满足总体的热设计和结构设计要求的。

根据初步方案,输出预布局原理图,要求原理图至少包含主要器件、电源、热敏感器件和接插件。硬件工程师要规划好,单板、器件功能和信号流向。

下面是一块电路板在总体设计过程中考虑结构干涉、电路板安装、天线安装的示意图。


对于热设计仿真,硬件工程师需要给热设计工程师提供单板布局和器件热耗(功耗)表、各器件散热参数。数字器件要注意提供尽量准确的功耗数据,特别是DDR/FPGA等器件要根据使用场景进行计算。


最终在结构、热设计、硬件性能规格、PCB预布局等多个维度进行综合考虑反复迭代,作为详细设计的输入项。主要的成果:预布局作为总体设计的交付件,也是硬件详细设计阶段,详细布局的输入条件。

在详细布局开始之后,预布局的结论一定还会变化,因为原理图更新后,一定有器件变化,但是整体的方案更加渐进明细了。


【SI前仿真】

1、对于包含高速信号,或者SI有风险的单板或者电路模块,可要求Layout工程师进行SI前仿真。需要准备器件资料、仿真模型和预布局PCB图;

2、SI仿真报告,可以由Layout或者转到SI工程师给出,但是硬件工程师要深入理解SI仿真报告中全部内容。


仿真拓扑



DDR3仿真结果



DDR4仿真结果

一些关键的高速信号,特别是与原理图设计相关的高速信号,都需要进行前仿真,例如:DDR、PCIe、过背板的高速总线等。

【确定层叠结构】

对于硬件工程师而言,原理框图是工程师们做电路设计的一个总体指导,因为原理框图时根据系统设计要求而制作的。下面是一个项目的原理框图。

这是一个非常简单常见的一个产品设计原理框图,从这个原理框图上,能清晰的看到,其包含了很多高速总线,如DDR4、USB3.0、USB2.0、高速时钟、千兆以太网等等。对于信号完整性工程师而言,这就是需要非常关注的信号网络总线。还有一些比较低速一些的总线,包括I2C、Flash信号等等。

按照这些总线的要求,下一步要设计层叠结构以及计算各类总线要求的阻抗和传输线的物理尺寸。下图是项目设计的层叠结构:


从层叠结构上,可以看到本设计需要使用6层板,6层板可以有3个信号层Top层、L3或者L4和BOT层;也可以有4个信号层,Top层、L3、L4和BOT层。具体需要使用几层,根据实际的情况来确定,本设计就使用了4个信号层。PCB板的厚度为1.57mm,使用的材料是IT-180A,其中使用了4张PP和3张Core。

根据层叠结构计算传输线的阻抗,由于有4个布线层,层叠又是对称结构设计的,所以只要计算TOP和L3层的阻抗即可,其它两层都是一一。本设计中的高速总线类型比较多,既有单端的布线,也有差分布线,既有单端40ohm的DDR4布线,也有单端DDR4的50ohm布线,既有差分80ohm的布线,也有差分90ohm和100ohm的布线。结合TOP层和L3层一起,所有的阻抗要求以及布线结构如下图所示:

从计算结果可以看到,看似非常简单的一个高速产品设计,其阻抗就有多达10组设计。在实际的应用中,要仔细区分。

【原理图定稿】

Layout工程师最痛恨的就是硬件工程师在画的差不多了,说要改方案,要加需求……

硬件工程师 VS PCB Layout工程师

PCB工程师:“尼玛,你又要变方案?老子才把器件布局布好。”

硬件工程师:“原来的方案真的要变,现在布局放进去也没有意义啊!”


PCB工程师:“这个板子根本布局放不下去!”

硬件工程师:“我自己放过了,可以的!”

PCB工程师:“你考虑走线了么?要16层走线,要埋盲孔”

硬件工程师:“12层,不能埋盲孔;要考虑成本,要考虑竞争力”

PCB工程师:“You can you up,no can no bb”


PCB工程师:“我封装都建好了”

硬件工程师:“我换器件了”


全人类都一样,不怕干活,就怕返工。

但是由于项目进度紧张,经常原理图审查和PCB设计同时进行。简单的电路很可能是一个人一条龙完成,这是修改都是自己吃苦果。对于大公司,Layout与硬件工程师不是一个人的团队,这时需要把握好原理图进入PCBlayout的条件。要对进入的条件进行审核评审,通过之后再进入详细布局的阶段。

可以根据自己的情况整理出一份《启动PCB详细设计入口条件》作为自检,然后再启动PCB详细设计,避免返工。


【热设计】

预布局的时候,有朋友提到热设计的输入条件:各个器件的工作功耗,和温度无法评估。所以这期我们来谈谈热设计。


硬件工程师VS热设计工程师

硬件工程师:“我们新出了一个方案,帮忙再仿真一下吧?”

热设计工程师:“过不了!”

硬件工程师:“你仿过了?”

热设计工程师:“我用脑袋仿过了,你过不了,你要降规格!”

硬件工程师:“老子要用烙铁给你脑袋加热”

我写的这个笑话被很多公众号和网站拷贝,这个笑话是我亲身经历的真实事件。

当时我刚到华为上班,意气奋发,结果就碰到这么一个不配合我们项目组工作的热设计工程师,还很不理解。

因为专门搞热仿真热设计的从业人口也比较少,特别是华为这个专门的工作,只有热设计工程师才可以使用仿真软件。所以当时热设计工程师是稀缺资源,硬件工程师也只能依赖热设计工程师进行仿真。

而很多公司热仿真的工作是结构工程师完成的。也有些能干的硬件工程师自己建模仿真。这个取决于个人的技术宽度、公司的分工要求、产品复杂度、必要性等。


不管是什么工程师来做这个工作,如果反复的仿真没有好的结论,都是资源浪费。自然就会有笑话中热设计工程师拒绝反复仿真各种情况的案例。

我们在硬件设计过程中,由于性能越来越高,速率越来越高,所以热设计的挑战也越来越大。特别是产品竞争进入白热化之后,在有限的机框里面达到散热极限边缘是很容易出现的。

热仿真效率低的原因有:


1、器件功耗大,散热风险大。

2、热设计仿真结果经常超过结温,或者不满足降额。

3、有些给出的器件功耗值缺乏理论依据,不准确,导致过设计或者导致散热风险。

4、热仿真的过程需要多次反复,一次仿真的周期大约3天,效率低下。


有时候硬件工程师按照项目经验经过多次调整,才能满足热设计的要求,而且不断的改热设计的输入条件,导致效率很低。

对于风险器件,我们需要做到两点:

1、准确的给出器件实际功耗。

2、最优化的散热布局,考虑走线的前提的下的最优布局。

关于器件功耗评估

对于没有散热风险的器件,我们评估功耗的时候,可以很粗暴的给一个标称最大值。但是当这样简单操作,给出一个最大值之后,不能通过热仿真的时候,需要我们去调整这个值,需要评估到最准确的值。

1、例如,DDR3控制器支持高刷新率,则其结温可达到95℃,如果不支持高刷新率,则最高结温定为85℃。必要时,硬件实现提高刷新频率功能,则DDR3温度规格放宽为95度。其他器件如果有硬件指标跟温度相关,一样要根据实际需求和实际场景去评估其温度上限要求。

2、对于散热风险较小的仿真模型,可以建立简单的电源模型,按照经验值输入。对于设计风险较大单板,需要建立电源详细模型,硬件人员需要提前评估功耗,提供给热设计人员。特别是MOSFET,有时候为了简化模型,直接布放一个热源,进行仿真。但是由于功耗大,所以我们要根据MOSFET的实际使用情况,利用功耗计算公式,计算出其实际的功耗,然后再确定其功耗参数。同时,需要考虑一些覆铜,亮铜改善其散热的情况。

而不是简单的降规格妥协,或者换更贵更好性能的器件,要么影响产品竞争力,要么提升了成本。

具体计算可以参考:开关电源 MOS管损耗

3、CPU的功耗要根据其是否降频工作,超频工作,实际工作负载情况进行评估。不能拿最大功耗一刀切。

X86处理如果支持Turbo Burst模式,需要考虑多种情况的散热分析

由于Nehalem架构处理支持Turbo Burst模式,所以虽然处理的总功耗一定,但是处理各个点的功耗会随着不同的Turbo模式,导致各个Core的最大功耗会超过其额定功耗。需要分别考虑各种情况的散热。不然超频的时候,单点功耗会比较高。

我们曾经有个案例,使用多核PowerPC,其功耗比较高,热仿真一直评估有风险,但是我们根据实际业务场景,重新评估了实际工作负载能力,合理的评估了其真实环境下的实际工作功耗,降低功耗之后仿真通过。后来实测,也不会出现过温的现象。

对于处理器这种,需要的时候,应该投入人力,用demo板对实际工作环境进行实测,提前做热测试,保障功耗评估准确。

同样的,DDR也需要根据其实际工作速率进行评估其功耗,特别是FPGA的外挂DDR,有时没有想象的那么大功耗。

4、FPGA 的功耗,一般厂家会提供评估工具。这时,一定要根据实际FPGA的资源占有情况进行评估,不要按照100%进行评估。实在评估值偏高,也可以用Demo板实测功耗。



关于热设计相关的PCB布局、结构设计、生产工艺的案例。

1、共用散热器,需要考虑器件公差及导热硅胶的厚度。

当时有个案例,我们有一个电路板上面,CPU和另外一个器件共用了散热器,自己公司的热设计工程师的仿真结论温度比较高,而使用相同的仿真模型,器件厂家散热仿真模型的温度比较低,经过器件厂家讨论,分析原因是器件厂家建立的仿真模型,CPU与散热器的导热胶厚度为0.13mm,而我们目前仿真模型中使用的仿真模型是0.3mm。导致:器件厂家仿真模型中CPU的温度是95摄氏度,而我们的仿真结果是:大于116摄氏度。自己公司的热设计工程师选择0.3mm是参考两个器件公差,得出的经验值,选取了概率比较高的一个参考值。

实际生产过程中,导热硅胶的厚度很难控制那么精准,需要制造特殊的涂胶工装来保证其厚度。不然确实会出现大功率器件温度过高,出现过热保护的情况。

建议:最好不要多个器件共用散热器。由于器件高度公差,导致导热硅胶厚度影响散热效果。

如果多个器件共用散热器,需要充分考虑器件高度公差带来的影响。

2、有些场景下,DDR在正反面,为了方便走线,有些工程师把TOP面和BOTTOM面的DDR在空间上位置完全重叠。但是这样重叠设计,DDR的热量也会通过PCB板相互传递,不利于散热,可以考虑错开一点进行设计。有时在指标就差一点点的时候,有效的优化。

3、如果散热器件后方如果有扣板等平板型物体,不一定会阻碍器件散热,有可能形成风道,加大局部风速。有时风道会改善散热,所以不要拿脑袋仿真。

4、散热有叠加效应。如果存在很大散热风险,我们有限考虑结温要求最苛刻,功耗大的器件放在进风口。例如DDR。

5、过孔、亮铜会改善散热

PCB 过孔对散热的影响

6、加散热铜箔和采用大面积电源地铜箔。


根据上图可以看到:连接铜皮的面积越大,结温越低

根据上图,可以看出,覆铜面积越大,结温越低。

如何利用PCB设计改善散热


关于开发流程更多系统的知识,可以了解《硬十(开发流程)》这本书。

有没有一本书读后,相当于华为工作十年经验?