时 间 记 忆
最 新 评 论
专 题 分 类
最 新 日 志
最 新 留 言
搜 索
用 户 登 录
友 情 连 接
博 客 信 息
 
硬件项目质量关注要点浅谈
[ 2014/3/29 21:04:54 | By: 铁托 ]
 

  现代的智能化产品都软件、硬件兼而有之:在软件的控制运行下,硬件才可以更好地展现产品功能与特性;同时如果没有硬件的支持,软件再好也不过是纸上谈兵。举个例子来说:机器人有机械传动装置、控制装置和感应装置等物理存在的硬件设备,而统一协调这些装置实现其功能则需要能够正确运行的软件;但如果硬件的某一部分失效,比如感应装置,那软件中设定对外部某种变化的反应就不能达成。

  因此对于硬件产品而言,软件与硬件的工程技术、开发过程以及参与人员对于产品的质量可能产生不同的影响。以下基于过程而言,根据开发过程及细节要点,浅谈硬件产品质量的关注要点

  关注硬件质量,自然需要从硬件开发项目的特点去了解,只有对硬件产品的特点、开发深度及开发模式有明确的认识,才能明确合理的开发过程,从而依据过程明确质量管理要点。

  硬件开发设计可能存在有以下三个层次:集成逻辑电路级设计,即芯片设计;芯片级集成设计;基于方案的简单设计(这一层又分为两种:一种是硬件设备中的主要构件来自于市面有售的成品单板,而自己在此基础上作一些适用性设计,如结构、线缆方面的工作,有时可能会涉及一些辅助板卡的设计;另一类是购买实现方案,进行拷贝式的设计——即按DEMO设计,甚至PCB如何布板也能够全盘照抄——改改外观、界面就行了)。

  大多数公司从事硬件的开发,通常停留于芯片级集成与基于方案简单设计,或兼而有之,因此对于硬件质量的关注重点会有所不同,硬件开发、生产模式等方面的不同也是其中重要的影响因素。

  在传统的研发过程中,硬件的开发通常都要经过设计、打样、测试、修改、打样、测试的反复过程。一般情况下,在开发阶段,单板硬件的设计会有2到3轮如此反复;而在工程化即试产、小批量与逐步放量过程中,通常会有类似的过程。由于硬件研发质量的影响因素众多,且不少因素与人的经验相关性较大,比如EMC,这一因素就很难用某条规范明确地指明在设计某个信号时该如何考虑。因此,不必苛求单板硬件一定要一次成功,但可以以一次成功为目标。

  细观硬件设计开发活动,硬件产品的开发与验证一般经历以下步骤:需求(规格)分析、开发(概要设计、详细设计、原理图绘制、PCB设计)、实现(PCB制板、PCBA装配、调试、软硬联调、功能测试、性能测试)、验证(试产、一致性验证),最终目的是达到产品可以量产的要求。了解各个阶段的特点对于如何确定硬件质量手段是至关重要的。

  需求分析:硬件项目的需求信息量大,不仅仅限于来自于客户对功能规格的描述,还有更多的来自于行业的要求、国际的标准,而且这些都是客户要求但并一定会明确提出来的;除此之外,硬件生产条件、物料供应商能力等等,亦是硬件开发必要的输入信息。需求分析是所有设计活动的起点,需求的质量对于产品的质量起到至关重要的作用,在此源头上的失之毫厘,造成的却是谬以千里的结果。关注客户需求固然重要,而关注客户需求是否可实现更重要。当前供应商的供应能力、技术能力、制造能力、以及系统内各部件的配合要求,均可能是客户需求实现的制约因素。比如某个终端设备的设计,由于设备内部采用的是模块化设计,各模块之间需要有较多的连线连接,那么就出现设备内部配线空间的要求,如果没有考虑这个,等到组装时,就会发现有较多的配线没有空间可容纳,这就是一个质量问题。因此,在需求分析阶段的质量活动的关注点在于:客户针对硬件的每一项需求是否可以实现?实现条件是否已明确并且可以达到?

  开发阶段:开发人员需要收集和阅读大量的相关技术资料,如相关器件手册、相关协议等。如果有前人的设计可以借鉴的话,对于减轻此阶段的工作量是很有好处的。兼容设计、冗余设计、可测试性设计、可制造设计、可安装性设计、可服务性设计等信息也是这个阶段必须要涉及到的设计活动,因此大量的设计方法都可以选择应用,比如QFD、DFX、FMEA、TRIZ等。在此阶段中,器件的选型、BOM制定等活动也这个阶段中必进行的。单板设计时,要求设计者必须要以书面文档的形式记录设计内容,包括原理图、线路参数要求、或测试性设计内容、PCB设计要求、制造工艺要求以及BOM等内容。这些信息的正确与否直接关系到硬件质量的好坏。曾经遇到一个案例:某位PCB LAYOUT工程师将单板中最重要芯片的封装定义错误,而设计者本身并没有对PCB图样进行仔细核对,等到制板回来,才了现对应芯片焊不上去,实物足足大了一圈,原来是将PQFP封装与QFP封装搞混了。如果说管脚少一些,比如只有32个,尚可以请经验丰富的焊工帮助焊接,可是有160个管脚呀,怎么搞?这显然是一严重质量问题。没有办法,只能更改PCB重新制板。项目的研发计划又向后推迟了,研发成本又多了一笔浪费。因此,设计审查是开发阶段中必不可少的活动。在不同的设计层次上,应同时考虑相应的测试方案,这将有助于DFT的运用。在此阶段,应关注设计活动的有效性,主要对设计交付进行设计审查,明确:设计方案是否能够满足客户的需求?是否满足工艺要求?方案是否具有可实现性?选取的原材料、设备、资源等易于获得吗?相应的测试方法是否具有可实施性?设计输出是否能够指导生产制造呢?是否易于生产与装配?……等等。

  实现阶段:不同版本的同一单板,甚至不同单板在PCB制板、组装调试、测试,整个过程需要的时间大抵是一致的。其间的工作要求设计者工作时心细细致,需要对每一根信号线都要了然于心。在调试测试过程中,硬件调试、软硬件联、故障定位、功能测试和性能测试都是必须要进行的,除此之外,EMC测试、安规测试、热测试、环境测试以及各种标准验证也是必不可少的。测试活动的实施必须要有可操作的测试方案为依据,因此在测试活动实施之前,必须要有测试方案,而这一工作应在开发阶段因开发层次的不同制定不同的测试方案。在本阶段主要关注测试结果,明确硬件产品的质量成熟度情况,以硬件问题分析结论作为是否转试制的依据。

  验证阶段:小批量试制是产品通向量产阶段的必由之路,是硬件产品验证的特殊步骤,这个过程是软件产品所没有的。质量成熟的软件产品,可以成批成批的复制,只要光碟和拷贝设备没有问题,每个拷贝之间完全一样。可是硬件产品行吗?如果希望硬件产品也能简单如此,简直就是痴人说梦。单板进行批量复制时,很可能由于器件批次的不同导致单板批量性坏板,有时候也可能是因为生产工艺发生变化带来了新问题,这些都会造成故障率极高,需要测试,维修,甚至修改硬件设计。每一件硬件产品,彼此之间都是会存在有差异的,就算是所有原料都是同一批次的,制造设备、操作者以及操作过程完全一致,由于原料本身参数的离散性必然造成硬件产品之间总是存在差异。如果加上加工工艺的差异,或加工场所的不同,造成硬件产品性能的不同情形就更多了。硬件设计中有一条原则就是是否进行了良好的参数设计、冗余性设计及兼容性设计,使得硬件产品具体良好的鲁棒性能和可生产性。另外,在产品批量生产的时候,有效的测试手段,有助于进行加工故障排查、调试,以提高生产效率和成品率。在本阶段,硬件开发关注批量质量,需要不断跟踪制造过程,收集问题并分析,明确哪些问题是需要通过设计更改才能解决,同时促进加工制造工艺的改进。

  硬件产品开发具有不可逆性,而这在软件开发中是不同的。当软件开发中发现了问题,开发人员可以利用软件代码配置管理工具回复到以前的任一版本,或者直接更改源代码、编译、连接、汇编成可执行文件,再在软件运行平台上跑一跑,如是验证。但是,硬件呢?如果某个信号质量不好,不能满足接收端对信号质量的要求,或临近于边缘限制,不管怎样更换匹配都仍有所改善,这往往意味着当前版本的PCB的前期工作的所有努力都将归于零。唯一能做的事就是:必须重新修改原理图,接着上重新布局布线,再送厂家制板,再组装成单板进行又一轮的测试。而每一个轮回所需要的时间周期基本上是一致的,这需要额外的成本和进度要求,如果该单板的开发工作处于整个产品开发的关键路径上时,其结果的严重性可想而知。所以在硬件研发中,质量的预测和分析显得更加重要,利用自有资源数据来强化单板硬件设计输入或约束条件,配合充分的风险评估和风险管理,是硬件质量关注的出发点,重点严管需求分析与设计活动输出。

 

发表评论:

    昵称:
    密码:
    主页:
    标题: