硬件开发流程

前言:

研发流程在一个有一定规模的企业中起到了非常重要的作用,也是一个产品或者项目成功量产出货依赖的平台体系,作为工程师如果想要走的更远,就必须了解流程体系,了解如何对产品的开发质量进行更好的管控。

作为一个合格的硬件工程师必须有着一个管理者的素质和担当,与程序员不同,软件工程师通常面对的工作对象是代码,而硬件工程师除了面向电路之外,更多的是接触其他部门的人以及电路之外的事物,甚至很多企业以外的机构,比如工厂、供应商、营销、认证机构,这些对硬件工程师的综合素养有着极高的要求,也是对硬件工程师协调能力的一个考验。

硬件开发流程_第1张图片

如上图1-1所示,基本涉及到硬件工程师打交道的各个模块,在一款硬件产品的全流程中,硬件工程师始终担当核心角色,将这些不同模块的人员连接起来,同时也是硬件产品开发过程中流程管控的枢纽,对项目的成败起到了决定性的作用。作为核心,工程师就需要详细的了解项目开发的流程,根据流程办事,才能保证项目的状态是可控的。

此外,在硬件产品的实际开发流程中,基本遵循IPD产品开发流程,即集成产品开发,集成产品开发的全流程如图1-2所示,硬件通常会参与从计划到生命周期的整个阶段,我们将会依据这五个阶段去介绍硬件项目的开发流程。

硬件开发流程_第2张图片

图1-2  IPD产品开发流程

一、硬件SPT阶段

   此阶段处于IPD的概念阶段和计划阶段,概念阶段是指基于市场的需求或者公司的产品规划,将接收到的输入需求转化成产品的概念,从产品经理的角度,在这个阶段会形成产品的基本概念,达成想要做成什么样的产品,用什么资源去做,花费多少成本,期望达成什么样的市场效果。在这个阶段硬件团队就需要深度介入,对此阶段产生的需求进行技术可行性进行评估,不合理的需求、不具有可行性的需求需要及时沟通,避免在正式输出产品定义时仍然有争议内容。具有挑战性的需求要及时拉通公司内部涉及模块进行技术攻关、技术预研,并对预期节点是否能够达成目标进行评估。总结汇总如下:

1、不合理需求的技术可行性评估

2、挑战性需求的开发计划

   当产品进入计划阶段,项目经理将会介入进行评估产品的详细计划,包括时间计划、成本计划、执行的工作分解的具体计划,对硬件、软件、结构等部分的任务进行分解。此时硬件(某些公司有硬件PM职位)需要根据PM敲定的大的项目主计划制定硬件子计划。

二、需求评估

   产品硬件项目的开发,首先要明确硬件总体需求情况,比如CPU的处理能力、存储容量以及速度,IO端口的分配、接口需求、电平需求、特殊电路等。

   对于手机领域,对于硬件需求的评估我们可以更具体一些,如下图1-3所示(简单的示意,实际产品定义比较复杂)

   

                  图1-3

  从硬件维度进行评估,分为如下:

1、平台

  使用的平台是否满足算力要求,是否支持产品camera和LCD所需要的分辨率,支持的内存大小,平台需要的主板层阶数,是否支持产品所需要的接口协议(USB3.0、C-PHY、BC1.2)等。大概梳理如下:

(1)算力是否满足项目需求(包括CPU、GPU、ISP、NPU等)

(2)接口是否满足外设需求

   比如是否支持USB2.0、Type-C接口、MIPI接口、外设的SPI接口需求等

(3)是否支持产品定义所需求的DDR内存

(4)是否支持LCD、camera的分辨率要求

2、硬件整体系统的基本功能和性能指标

  根据产品规划整体系统的基本功能,以及产品的性能指标。典型的,比如产品规划销售区域为亚太区域,那么需要硬件评估需要支持亚太区域的具体频段和射频架构,以及根据产品定位需要做到的具体性能指标。

3、关键器件选型

  需要根据产品的需求对关键器件进行选型,从物料的成熟度和成本两个角度去考量,同步拉通采购对关键器件进行评审。

4、成本

  评审当前敲定的方案是否满足项目的成本目标,如果没有满足目标,是否需要制定降本方案。

5、关键技术攻关

  如果产品涉及到新技术、新物料、新方案,那么需要拉通相关领域的专家,进行评审以及风险评估,如果风险评估比较大的新东西,就需要提前跟项目组或者老板沟通,是否需要做预研等工作,极大风险的甚至需要评估是否砍掉需求,硬着头皮做下去只会将项目做砸。

三、原理图设计

  此阶段已经进入产品开发阶段:

  在原理图设计阶段,消费电子类产品基本都会参考平台提供的参考原理图设计,但是我们在实际绘制的时候并不是照抄就行了,要基于平台的参考设计对参考设计做必须的裁剪,这样要求硬件工程师对平台的基本特定一定要有相当的了解。

  原理图设计阶段注意下面的几个问题:

1、基于平台特性,对参考设计进行裁剪

  平台接口配置是否满足当前项目需求——比如MIPI的Lane数配置是否符合选型模组的要求、参考设计sensor的INT信号默认PD是否符合当前选型的设计等

   这块的工作将是原理图设计阶段的重点工作之一。

2、基于产品需要,绘制外设部分的原理图

   此部分尽量参考成熟电路设计,避免自由发挥,部分模块可能有第一资源和第二资源的需求,需要做好兼容电路的设计。

3、检查电源树的设计是否合理?能否满足效率要求和负载要求?

   电源模块是整个硬件系统的核心,验证影响到整机系统的可靠性,需要仔细核查电源树的设计,对于和参考设计差异的部分需要和平台厂商或者供应商的FAE及时拉通确认。

  

4、GPIO口的配置是否合理?重点检查GPIO口的初始化配置。

5、模块电路的归一化设计

   比如sensor、充电等模块电路是否参考历史项目设计,满足CBB要求。

6、新器件的封装设计和检查

    在实际项目中,可能会导入新器件的原理图和PCB封装,在新建封装时必须仔细检查封装的准确性,在实际项目中,因为封装出错导致下项目出现重大问题的案例也是很常见的。

7、新方案电路的check

   有的时候新方案、新导入的IC并非直接参考SPEC上的典型电路就可以保证没有风险,最好拉通供应商排查芯片、方案的历史问题和友商出现过的问题,做好兼容风险,保证回板后预留的措施可以应对可能出现的风险问题。

8、关键器件评审

   在进行原理图绘制的时候,就需要同步开始关键器件的评审,主要从关键物料的性能、成熟度、风险、价格、交付能力这几个维度考量。

   在这个阶段硬件工程师需要作为主导的角色参考,及时拉通各模块(SQA、结构等)及时将关键器件确定下来,避免后期频繁进行关键器件变更,导致堆叠、走线也会受到影响。

9、成本

   在原理图设计阶段进行的差不多的时候,需要输出一版基本完整的BOM给到采购进行核价,并和历史项目以及友商进行对比,以及是否符合SPT阶段的预估成本,对于成本偏差较大的设计,需要及时找到原因并给出降本方案。

四、堆叠设计阶段

  堆叠设计阶段开始的前置条件有2个:

1、原理图方案确定

  原理图的变更对堆叠将会有比较大的影响,在原理图方案基本确定的时候,可以同步开始堆叠评估,确定基本的摆件方案。

2、结构输出DXF和EMN文件

  结构输出板框文件,PCB尺寸和形状需要评估满足堆叠需求,无大的堆叠和走线瓶颈,否则在此阶段就需要及时拉通结构甚至ID修改结构、ID设计,避免在走线后期才提出变更需求,倒是项目进度严重受到影响。

堆叠阶段在堆叠完成后,各模块需要基于硬件、结构领域的评审要素进行核查,比如:

《堆叠评审要素》

《应力评审要素》

《温升评审要素》

《静电评审要素》

除了对PCB摆件进行检查确认外,对结构设计文件也要进行确认,比如结构干涉、接地设计、温升散热方案进行评估,并及时输出结构修改意见。

堆叠阶段是考验一个硬件工程师实际能力的关键阶段,此阶段需要工程师熟悉多个领域和模块的专业知识:

1、应力是否满足设计规范,关键裸晶器件的摆件?

2、关键热源器件的摆放是否合理?

3、是否满足DXF需求?是否满足工厂生产对堆叠的需求?

4、对射频的链路优化是否合理?

5、充电器件的路径是否满足阻抗需求?

。。。

需要对结构、基带、射频、天线和工厂生产以及PCB工艺都有非常熟悉。

五、EDA阶段

  在摆件完成的差不多的时候,就可以开始layout了,对于手机项目来说,平台部分摆件定下来,就可以先安排走平台部分的关键走线以及扇出工作。

  在走线阶段硬件工程师需要和PCB工程师紧密的配合,check在走线过程中的问题。最后拉通各模块基于评审要素进行核查,发板前需要完成必要的仿真工作,排除风险,比如SI/PI仿真、QLINK仿真、UFS仿真等工作。

  EVB的发板尽量满足仿真要求并进行改善,否则回板阶段如果遇到无法正常开机或者死机等问题,问题的排查工作将会非常痛苦。

六、EVB调试阶段

  EVB作为功能调试板(建议不仅仅当作验证板),在EVB回板后,需要配合BSP将各模块功能调通,硬件领域需要关注如下:

1、漏电流、待机电流

2、主板ESD/浪涌测试

3、传导杂散测试

4、EMC认证测试

5、软硬件功能联调

6、天线无源性能测试

7、基带、射频、天线性能调试

8、产线SMT问题跟踪

上面只是列出一部分硬件领域需要关注的问题,EVB板不能仅仅当作一个功能验证板,能够在EVB上暴露的问题就需要想办法尽量暴露出来。

在完成相关的测试和调试工作之后,将需要优化的原理图和PCB修改点梳理汇总,组织相关模块进行评审工作,完成T0的发板动作。

七、T0第一次组装

  T0阶段是第一次组装,此阶段需要重点关注产线组装过程中暴露的问题,在此阶段硬件需要重点关注的问题如下:

1、QE测试项目(整机ESD测试、跌落测试等)

2、整机干扰测试

3、QT测试项目

4、EMC测试项目

5、整机音频测试

6、整机温升测试

7、认证相关的工作

8、EVB测试问题回归验证

在对T0阶段的测试问题进行总结,将需要优化的原理图和PCB的修改点梳理汇总,组织相关的模块进行评审工作,完成EVT阶段的发板动作。

八、EVT阶段(Engineering verfication Test)

  EVT为工程验证测试阶段,主要是针对EVT阶段的PCBA和整机进行详细的性能和可靠性测试,T0阶段的测试项可能因为项目节点等无法完成完成的测试,而且因为人力等问题可能只有研发进行摸底测试,在EVT阶段则是测试按照用例进行详细的测试,测试部门将会提交测试case给硬件研发。

  此阶段必须经历完整一轮测试,并且研发需要经过分析将问题关闭,对于EVT阶段无法关闭需要下阶段验证的风险问题,必须给出详细的解决方案和应对措施,才能进入DVT阶段。

 

九、DVT阶段(Design Verification Test)

  EVT为设计验证阶段,主要是针对EVT阶段测试的问题进行回归验证,以及进行新一轮的测试,测试项基本同EVT阶段。

  

十、PVT阶段(Pilot-run Verification Test)

  DVT阶段的问题必须全部解决完成才能进入到这个阶段,或者DVT阶段一些风险不太高的问题可以在PVT阶段做回归验证

  PVT阶段主要关注的是批量量产产品的可交付性,也是为了大批量量产做准备,测试内容基本同EVT和DVT阶段。

十一、售后阶段

  在产品开始正式量产后,硬件工程师需要拉通售后,及时同步售后数据确认首销阶段是否有异常数据和异常问题,并及时对售后问题进行处理。

可以加入知识星球,支持原文下载,并将在星球更新更多核心知识哦,并将在星球定期直播硬件开发知识,欢迎您的加入!

硬件开发流程_第3张图片

你可能感兴趣的:(硬件开发,硬件工程)