硬件开发流程及规范第一章概述第一节硬件开发过程简介§1.1.1硬件开发的基本过程硬件开发的基本过程:1.明确硬件总体需求情况,如CPU处理能力、存储容量及速度,I/O端口的分配、接口要求、电平要求、特殊电路(厚膜等)要求等等。2.根据需求分析制定硬件总体方案,寻求关键器件及电咱的技术资料、技术途径、技术支持,要比较充分地考虑技术可能性、可靠性以及成本控制,并对开发调试工具提出明确的要求。关键器件索取样品。3.总体方案确定后,作硬件和单板软件的详细设计,包括绘制硬件原理图、单板软件功能框图及编码、PCB布线,同时完成发物料清单。4.领回PCB板及物料后由焊工焊好1~2块单板,作单板调试,对原理设计中的各功能进行调测,必要时修改原理图并作记录。5.软硬件系统联调,一般的单板需硬件人员、单板软件人员的配合,特殊的单板(如主机板)需比较大型软件的开发,参与联调的软件人员更多。一般地,经过单板调试后在原理及PCB布线方面有些调整,需第二次投板。6.内部验收及转中试,硬件项目完成开发过程。§1.1.2硬件开发的规范化硬件开发的基本过程应遵循硬件开发流程规范文件执行,不仅如此,硬件开发涉及到技术的应用、器件的选择等,必须遵照相应的规范化措施才能达到质量保障的要求。这主要表现在,技术的采用要经过总体组的评审,器件和厂家的选择要参照物料认证部的相关文件,开发过程完成相应的规定文档,另外,常用的硬件电路(如ID.WDT)要采用通用的标准设计。第二节硬件工程师职责与基本技能§1.2.1硬件工程师职责一个技术领先、运行可靠的硬件平台是公司产品质量的基础,硬件工程师职责神圣,责任重大。1、硬件工程师应勇于尝试新的先进技术,在产品硬件设计中大胆创新。2、坚持采用开放式的硬件架构,把握硬件技术的主流和未来发展,在设计中考虑将来的技术升级。3、充分利用公司现有的成熟技术,保持产品技术上的继承性。4、在设计中考虑成本,控制产品的性能价格比达至最优。5、技术开放,资源共享,促进公司整体的技术提升。§1.2.1硬件工程师基本素质与技术硬件工程师应掌握如下基本技能:1、由需求分析至总体方案、详细设计的设计创造能力;2、熟练运用设计工具,设计原理图、EPLD、FPGA调试程序的能力;3、运用仿真设备、示波器、逻辑分析仪调测硬件的能力;4、掌握常用的标准电路的设计能力,如ID电路、WDT电路、π型滤波电路、高速信号传输线的匹配电路等;5、故障定位、解决问题的能力;6、文档的写作技能;7、接触供应商、保守公司机密的技能。第二章硬件开发规范化管理第一节硬件开发流程§3.1.1硬件开发流程文件介绍硬件开发的规范化是一项重要内容。硬件开发规范化管理是在公司的《硬件开发流程》及相关的《硬件开发文档规范》、《PCB投板流程》等文件中规划的。硬件开发流程是指导硬件工程师按规范化方式进行开发的准则,规范了硬件开发的全过程。硬件开发流程制定的目的是规范硬件开发过程控制,硬件开发质量,确保硬件开发能按预定目的完成。硬件开发流程不但规范化了硬件开发的全过程,同时也从总体上,规定了硬件开发所应完成的任务。做为一名硬件工程师深刻领会硬件开发流程中各项内容,在日常工作中自觉按流程办事,是非常重要的。所有硬件工程师应把学流程、按流程办事、发展完善流程、监督流程的执行作为自己的一项职责,为公司的管理规范化做出的贡献。§3.2.2硬件开发流程详解硬件开发流程对硬件开发的全过程进行了科学分解,规范了硬件开发的五大任务。硬件需求分析硬件系统设计硬件开发及过程控制系统联调文档归档及验收申请。1.硬件需求分析项目组接到任务后,首先要做的硬件开发工作就是要进行硬件需求分析,撰写硬件需求规格说明书。硬件需求分析在整个产品开发过程中是非常重要的一环,硬件工程师更应对这一项内容加以重视。一项产品的性能往往是由软件和硬件共同完成的,哪些是由硬件完成,哪些是由软件完成,项目组必须在需求时加以细致考虑。硬件需求分析主要有下列内容:�系统工程组网及使用说明�基本配置及其互连方法�运行环境�硬件系统的基本功能和主要性能指标�功能模块的划分�关键技术的攻关�外购硬件的名称型号、生产单位、主要技术指标�主要仪器设备�可靠性、稳定性、电磁兼容讨论�电源、工艺结构设计�硬件测试方案2.硬件总体设计硬件总体设计的主要任务就是从总体上进一步划分各单板的功能以及硬件的总体结构描述,规定各单板间的接口及有关的技术指标。硬件总体设计主要有下列内容:�系统功能及功能指标�系统总体结构图及功能划分�单板命名�系统逻辑框图�组成系统各功能块的逻辑框图,电路结构图及单板组成�单板逻辑框图和电路结构图�关键技术讨论�关键器件从上可见,硬件开发总体方案把整个系统进一步具体化。硬件开发总体设计是最重要的环节之一。总体设计不好,可能出现致命的问题,造成的损失有许多是无法挽回的。3.硬件开发及过程控制。一个好的产品,特别是大型复杂产品,总体方案进行反复论证是不可缺少的。只有经过多次反复论证的方案,才可能成为好方案。总体审查包括两部分,一是对有关文档的格式,内容的科学性,描述的准确性以及详简情况进行审查。再就是对总体设计中技术合理性、可行性等进行审查。如果评审不能通过,项目组必须对自己的方案重新进行修订。硬件总体设计方案通过后,即可着手关键器件的申购,主要工作由项目组来完成。关键器件落实后,即要进行结构电源设计、单板总体设计。单板总体设计需要项目与CAD配合完成。单板总体设计过程中,对电路板的布局、走线的速率、线间干扰以及EMI等的设计应与CAD室合作。CAD室可利用相应分析软件进行辅助分析。单板总体设计完成后,出单板总体设计方案书。总体设计主要包括下列内容:�单板在整机中的的位置:单板功能描述�单板尺寸�单板逻辑图及各功能模块说明�单板软件功能描述�单板软件功能模块划分�接口定义及与相关板的关系�重要性能指标、功耗及采用标准�开发用仪器仪表等每个单板都要有总体设计方案,且要经过总体办和管理办的联系评审。否则要重新设计。只有单板总体方案通过后,才可以进行单板详细设计。单板详细设计包括两大部分:�单板软件详细设计�单板硬件详细设计单板软、硬件详细设计,要遵守公司的硬件设计技术规范,必须对物料选用,以及成本控制等上加以注意。不同的单板,硬件详细设计差别很大。但应包括下列部分:单板整体功能的准确描述和模块的精心划分。接口的详细设计。关键元器件的功能描述及评审,元器件的选择。符合规范的原理图及PCB图。对PCB板的测试及调试计划。单板详细设计要撰写单板详细设计报告。详细设计报告必须经过审核通过。单板软件的详细设计报告由管理办组织审查,而单板硬件的详细设计报告,则要由总体办、管理办、CAD室联合进行审查,如果审查通过,方可进行PCB板设计,如果通不过,则返回硬件需求分析处,重新进行整个过程。这样做的目的在于让项目组重新审查一下,某个单板详细设计通不过,是否会引起项目整体设计的改动。如单板详细设计报告通过,项目组一边要与计划处配合准备单板物料申购,一方面进行PCB板设计。PCB板设计需要项目组与CAD室配合进行,PCB原理图是由项目组完成的,而PCB画板和投板的管理工作都由CAD室完成。PCB投板有专门的PCB样板流程。PCB板设计完成后,就要进行单板硬件过程调试,调试过程中要注意多记录、总结,勤于整理,写出单板硬件过程调试文档。当单板调试完成,项目组要把单板放到相应环境进行单板硬件测试,并撰写硬件测试文档。如果PCB测试不通过,要重新投板,则要由项目组、管理办、总体办、CAD室联合决定。4.系统联调在结构电源,单板软硬件都已完成开发后,就可以进行联调,撰写系统联调报告。联调是整机性能提高,稳定的重要环节,认真周到的联调可以发现各单板以及整体设计的不足,也是验证设计目的是否达到的唯一方法。因此,联调必须预先撰写联调计划,并对整个联调过程进行详细记录。只有对各种可能的环节验证到才能保证机器走向市场后工作的可靠性和稳定性。联调后,必须经总体办和管理办,对联调结果进行评审,看是不是符合设计要求。如果不符合设计要求将要返回去进行优化设计。如果联调通过,项目要进行文件归档,把应该归档的文件准备好,经总体办、管理办评审,如果通过,才可进行验收。总之,硬件开发流程是硬件工程师规范日常开发工作的重要依据,全体硬件工程师必须认真学习。第二节硬件开发文档规范§2.2.1硬件开发文档规范文件介绍为规范硬件开发过程中文档的编写,明确文档的格式和内容,规定硬件开发过程中所需文档清单,与《硬件开发流程》对应制定了《硬件开发文档编制规范》。开发人员在写文档时往往会漏掉一些该写的内容,编制规范在开发人员写文档时也有一定的提示作用。规范中共列出以下文档的规范:硬件需求说明书硬件总体设计报告单板总体设计方案单板硬件详细设计单板软件详细设计单板硬件过程调试文档单板软件过程调试文档单板系统联调报告单板硬件测试文档硬件信息库这些规范的具体内容可在HUAWEI服务器中资料库中找到,对应每个文档规范都有相应的模板可供开发人员在写文档时“填空”使用。§2.2.2硬件开发文档编制规范详解1、硬件需求说明书硬件需求说明书是描写硬件开发目标,基本功能、基本配置,主要性能指标、运行环境,约束条件以及开发经费和进度等要求,它的要求依据是产品规格说明书和系统需求说明书。它是硬件总体设计和制订硬件开发计划的依据,具体编写的内容有:硬件整体系统的基本功能和主要性能指标、硬件分系统的基本功能和主要性能指标以及功能模块的划分等。2、硬件总体设计报告硬件总体设计报告是根据需求说明书的要求进行总体设计后出的报告,它是硬件详细设计的依据。编写硬件总体设计报告应包含以下内容:系统总体结构及功能划分,系统逻辑框图、组成系统各功能模块的逻辑框图,电路结构图及单板组成,单板逻辑框图和电路结构图,以及可靠性、安全性、电磁兼容性讨论和硬件测试方案等。3、单板总体设计方案在单板的总体设计方案定下来之后应出这份文档,单板总体设计方案应包含单板版本号,单板在整机中的位置、开发目的及主要功能,单板功能描述、单板逻辑框图及各功能模块说明,单板软件功能描述及功能模块划分、接口简单定义与相关板的关系,主要性能指标、功耗和采用标准。4、单板硬件详细设计在单板硬件进入到详细设计阶段,应提交单板硬件详细设计报告。在单板硬件详细设计中应着重体现:单板逻辑框图及各功能模块详细说明,各功能模块实现方式、地址分配、控制方式、接口方式、存贮器空间、中断方式、接口管脚信号详细定义、时序说明、性能指标、指示灯说明、外接线定义、可编程器件图、功能模块说明、原理图、详细物料清单以及单板测试、调试计划。有时候一块单板的硬件和软件分别由两个开发人员开发,因此这时候单板硬件详细设计便为软件设计者提供了一个详细的指导,因此单板硬件详细设计报告至关重要。尤其是地址分配、控制方式、接口方式、中断方式是编制单板软件的基础,一定要详细写出。5、单板软件详细设计在单板软件设计完成后应相应完成单板软件详细设计报告,在报告中应列出完成单板软件的编程语言,编译器的调试环境,硬件描述与功能要求及数据结构等。要特别强调的是:要详细列出详细的设计细节,其中包括中断、主程序、子程序的功能、入口参数、出口参数、局部变量、函数调用和流程图。在有关通讯协议的描述中,应说明物理层,链路层通讯协议和高层通讯协议由哪些文档定义。6、单板硬件过程调试文档开发过程中,每次所投PCB板,工程师应提交一份过程文档,以便管理阶层了解进度,进行考评,另外也给其他相关工程师留下一份有参考价值的技术文档。每次所投PCB板时应制作此文档。这份文档应包括以下内容:单板硬件功能模块划分,单板硬件各模块调试进度,调试中出现的问题及解决方法,原始数据记录、系统方案修改说明、单板方案修改说明、器件改换说明、原理图、PCB图修改说明、可编程器件修改说明、调试工作阶段总结、调试进展说明、下阶段调试计划以及测试方案的修改。7、单板软件过程调试文档每月收集一次单板软件过程调试文档,或调试完毕(指不满一月)收集,尽可能清楚,完整列出