硬件开发全解析:干货满满

发表时间: 2022-09-12 21:37

1 概述

1.1 硬件开发过程简介

1.1.1 硬件开发的基本过程

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

其次,根据需求分析制定硬件总体方案,寻求关键器件及其技术资料、技术途径、技术支持,要比较充分地考虑技术可能性、可靠性以及成本控制,并对开发调试工具提出明确的要求,关键器件索取样品。

第三,总体方案确定且评审通过后,撰写硬件和单板软件的详细设计,包括绘制硬件原理图、单板软件功能框图及编码、PCB布线,同时完成开发物料清单、新器件编码申请、物料申领等工作。

第四,PCB裸板回板及物料采购到货后由焊工焊好1~2块单板,作单板调试,对原理设计中的各功能进行调测,必要时修改原理图并作记录。

第五,软硬件系统联调,一般的单板需硬件人员、单板软件人员的配合,特殊的单板(如主机板)需比较大型软件的开发,参与联调的软件人员更多。

一般地,经过单板调试后在原理及PCB布线方面有些调整,需经过多次投板迭代测试。第六,内部验收及转中试,硬件项目完成开发过程。

1.1.2 硬件开发的规范化

上节硬件开发的基本过程应遵循硬件开发流程规范文件执行,不仅如此,硬件开发涉及到技术的应用、器件的选择等,必须遵照相应的规范化措施才能达到质量保障的要求。

这主要表现在,技术的采用要经过项目组的评审,器件和厂家的选择要参照物料认证的相关要求和规范,开发过程完成相应的规定文档,另外,常用的硬件电路要采用通用的标准设计。

1.2 硬件组成员职责与基本技能

1.2.1 硬件组成员职责

一个技术领先、运行可靠的硬件平台是公司产品质量的基础,硬件工程师职责神圣,责任重大。

1、硬件工程师应勇于尝试新的先进技术之应用,在产品硬件设计中大胆创新。

2、坚持采用开放式的硬件架构,把握硬件技术的主流和未来发展,在设计中考虑将来的技术升级。

3、充分利用公司现有的成熟技术,保持产品技术上的继承性。

4、在设计中考虑成本,控制产品的性能价格比达到最优。

5、技术开放,资源共享,促进我司整体的技术提升。

1.2.2 硬件组成员基本技能

硬件工程师应掌握如下基本技能:

第一、具备需求分析、总体方案设计、详细设计的创造能力;

第二、熟练运用设计工具,如CadenceOrCAD/Allegro、Auto CAD等,设计原理图、EPLD、FPGA调试程序的能力;

第三、熟练运用信号发生器、示波器、逻辑分析仪等测试仪器,有一定硬件调测的能力;

第四、掌握常用的标准电路的设计能力;

第五、硬件故障定位、解决问题的能力;

第六、各种技术文档的写作技能;

第七、良好的职业素养和职业道德,接触外协合作方,保守秘密的能力。

2 硬件开发流程及要求

2.1 硬件开发流程

硬件开发流程对硬件开发的全过程进行了科学分解,规范了硬件开发的五大关键任务:

  • 硬件需求分析及总体方案制定
  • 单板设计方案及单板详细设计
  • 原理图设计及PCB设计
  • 调试及验收
  • 开发文档规范及归档要求

硬件开发流程是指导硬件工程师按规范化方式进行开发的准则,不但规范化了硬件开发的全过程,同时也从总体上,规定了硬件开发所应完成的各阶段任务。

目的是规范硬件开发过程控制,保证硬件开发质量,确保硬件开发能按预定目标完成。

做为一名硬件工程师深刻领会硬件开发流程中各项内容,在日常工作中自觉按流程办事,是非常重要的,否则若大一个公司就会走向混乱。

所有硬件工程师应把学流程、按流程办事、发展完善流程、监督流程的执行作为自己的一项职责,为公司的管理规范化做出贡献。

嵌入式物联网需要学的东西真的非常多,千万不要学错了路线和内容,导致工资要不上去!

无偿分享大家一个资料包,差不多150多G。里面学习内容、面经、项目都比较新也比较全!某鱼上买估计至少要好几十。

点击这里找小助理0元领取:嵌入式物联网学习资料(头条)


2.2 硬件需求分析及总体方案制定

2.2.1 硬件需求分析

硬件开发真正起始应在立项后,即接到项目立项任务书后,但在实际工作中,一般在项目立项之前,硬件工程师即协助开展前期调研,尽早了解明确总体需求,如系统功能、性能指标、工作原理、环境指标、结构条件、价格、设计时间、产品寿命等。

立项完成后,项目组就已有了产品需求说明书及项目总体方案书,这些文件都已进行过评审。项目组接到任务后,首先要做的硬件开发工作就是要进行硬件需求分析,撰写《硬件需求说明书》。硬件需求分析在整个产品开发过程中是非常重要的一环,硬件开发人员必须重视该过程。

一项产品的功能/性能往往是由软件和硬件共同完成的,哪些是由硬件完成,哪些是由软件完成,项目组必须在需求分析时加以细致考虑。硬件需求分析还可以明确硬件开发任务,并从总体上论证现在的硬件水平,包括公司的硬件技术水平是否能满足需求。

硬件需求说明书主要有下列内容:

  • 系统工程组网及使用说明
  • 基本配置及其互连方法
  • 运行环境
  • 硬件整体系统的基本功能和主要性能指标
  • 硬件分系统的基本功能和主要功能指标
  • 功能模块的划分
  • 关键技术的攻关
  • 外购硬件的名称型号、生产单位、主要技术指标
  • 主要仪器设备
  • 内部合作,对外合作,国内外同类产品硬件技术介绍
  • 可靠性、稳定性、电磁兼容讨论
  • 电源、工艺结构设计
  • 硬件测试方案

硬件需求分析完成后,项目组即可进行硬件总体设计,并撰写《硬件总体设计方案》。硬件总体设计的主要任务就是从总体上进一步划分各单板的功能以及硬件的总体结构描述,规定各单板间的接口及有关的技术指标。

不但给出项目硬件开发总的任务框架,也引导项目组对开发任务有更深入和具体的分析,更好地来制定开发计划。

硬件总体设计方案主要有下列内容:

  • 系统功能及功能指标
  • 系统总体结构图及功能划分
  • 单板命名
  • 系统逻辑框图
  • 组成系统各功能块的逻辑框图,电路结构图及单板组成
  • 单板逻辑框图和电路结构图
  • 关键技术讨论
  • 关键器件

综上可见,硬件开发总体方案,把整个系统进一步具体化,硬件开发总体设计是最重要的环节之一,总体设计做不好,可能出现致命的问题,造成的损失多数是无法挽回的。

另外,总体方案设计对各个单板的任务以及相关的关系进一步明确,单板的设计要以总体设计方案为依据。而产品的好坏特别是系统的设计合理性、科学性、可靠性、稳定性与总体设计关系密切。

硬件需求分析和硬件总体设计完成后,项目组要组织相关人员分别对其进行评审。一个好的产品,特别是大型复杂产品,总体方案进行反复论证是不可缺少的。只有经过多次反复论证的方案,才可能成为好方案。

总体方案评审包括两部分,一是对有关文档的格式,内容的科学性,描述的准确性以及详简情况进行审查。再就是对总体方案设计中技术合理性、可行性等进行审查。如果评审不能通过,项目组必须对自己的方案重新进行修订。

硬件总体设计方案通过后,即可着手关键器件的申购,主要工作由项目组来完成,关键元器件往往是一个项目能否顺利实施的重要目标。

2.3 单板设计方案及单板详细设计

2.3.1 单板设计方案及评审

对于复杂的系统将硬件总体设计方案和单板设计方案分两次进行评审,而简单的项目(如一块功能单板)可以将硬件总体方案和单板设计方案合并为一个文档进行评审。单板设计方案主要包括下列内容:

  • 单板在整机中的的位置:单板功能描述
  • 单板尺寸
  • 单板逻辑图及各功能模块说明
  • 单板软件功能描述
  • 单板软件功能模块划分
  • 接口定义及与相关板的关系
  • 重要性能指标、功耗及采用标准
  • 开发用仪器仪表等

完成方案设计后需要申请方案评审。只有单板设计方案通过后,才可以进行单板详细设计。

2.3.2 单板详细设计及评审

单板设计方案评审通过后,硬件工程师需要根据分系统指标及硬件工作原理完成详细实施方案设计,详细说明硬件功能模块的划分、各功能模块的指标、功能模块的详细设计、元器件选择及性能、设计依据及工作原理,需要阐述清楚分系统是如何满足分系统设计指标的。详细方案设计还需要对应用到一些的关键技术进行论证,确定其可行性。

单板详细设计包括两大部分:

  • 单板硬件详细设计

在单板硬件进入到详细设计阶段,应提交单板硬件详细设计报告。在单板硬件详细设计中应着重体现:单板逻辑框图及各功能模块详细说明,各功能模块实现方式、地址分配、控制方式、接口方式、存贮器空间、中断方式、接口管脚信号详细定义、时序说明、性能指标、指示灯说明、外接线定义、可编程器件图、功能模块说明、原理图、详细物料清单以及单板测试、调试计划。

有时候一块单板的硬件和软件分别由两个开发人员开发,因此这时候单板硬件详细设计便为软件设计者提供了一个详细的指导,因此单板硬件详细设计报告至关重要。

尤其是地址分配、控制方式、接口方式、中断方式是编制单板软件的基础,一定要详细写出。

  • 单板软件详细设计

在单板软件设计完成后应相应完成单板软件详细设计报告,在报告中应列出完成单板软件的编程语言,编译器的调试环境,硬件描述与功能要求及数据结构等。

要特别强调的是:要详细列出详细的设计细节,其中包括中断、主程序、子程序的功能、入口参数、出口参数、局部变量、函数调用和流程图。在有关通讯协议的描述中,应说明物理层,链路层通讯协议和高层通讯协议由哪些文档定义。

单板软、硬件详细设计,要遵循公司的硬件设计技术规范,必须对物料选用、成本控制等加以重视。

阶段完成标志:《单板硬件详细设计》、《单板软件详细设计》及关键(主要)器件订货清单。

详细设计报告必须经过评审通过。要由项目组召集相关人员进行评审,在申请评审前,应首先完成文档规范自检,并将规范完成情况表和评审文档、主要元器件订货清单一并交予项目组申请评审。

如果评审通过,方可进行PCB板设计,如果通不过,则返回硬件需求分析,重新进行整个过程。这样做的目的在于让项目组重新审查一下,某个单板详细设计通不过,是否会引起项目整体设计的改动。

2.4 原理图设计及PCB设计

2.4.1 原理图设计及评审

原理图设计开始于硬件详细设计评审通过,原理图设计是硬件设计的首要步骤。原理图设计之前,首先要对元器件建库,参照“3.2中心库设计规范”,还应根据任务需求对一些关键信号进行布线前仿真,以确定是否需要对这些信号进行特殊处理,如增加匹配电阻或者电容等。

在原理图绘制完成后,硬件组应组织项目组相关人员进行评审。评审时需要对设计中的关键点进行审核,如时钟单元、电源单元、DSP或FPGA等关键器件的配置等。原理图评审通过后,经项目负责人签字批准方可进入PCB设计工作。

2.4.2 PCB方案设计及评审

在开始PCB物理实现(布线)之前,首先需要对PCB进行方案设计。PCB设计方案主要考虑其结构特点,电磁兼容性、信号完整性、电源完整性、热设计、可制造性、可调试性等特点,完成PCB的布局。

其中部分工作如信号完整性、电源完整性及热设计可与硬件详细设计交叉进行。PCB设计方案应对原理图中关键指标(阻抗、时延、抗干扰等)是如何实现的提出具体措施。

完成标志:《PCB设计方案》,《硬件测试方案》,《信号完整性仿真报告》。

完成PCB方案设计及与原理图的反馈后,可以申请方案评审。在申请评审前,应首先完成文档规范自检,并将规范完成情况表和评审文档一并交予项目组申请评审。所有文档需项目恶人签字批准。方案通过后,方可进行PCB布线工作。

2.4.3 PCB设计及投板申请

PCB设计须按照PCB设计规范进行,PCB布局确定之后,总的布局规划禁止改动,功能模块内可以进行位置调整,如功能模块进行较大调整,须向组里提出申请组织讨论,讨论通过后方可进行布线工作。

在PCB投产前设计者要向项目组提出投板申请。首先由硬件组负责PCB设计规范的检查,并给出规范完成情况表与PCB图一并交予室里,由设计组组织人员对关键部分的设计要求进行评审检查。PCB投板申请需由项目负责人签字批准。

2.5 调试及验收

2.5.1 调试方案及评审

硬件调试是对硬件的功能和性能进行验证,保证其设计正确性,认真细致的调试可以发现单板以及整体设计的不足,也是验证设计目标是否达成的唯一方法。

PCB进行方案设计时,就需要进行硬件调试(测试)方案的设计,需要根据《硬件需求说明书》和《硬件总体设计方案》中的指标要求制定调试(测试)方案,同时制定调试(测试)详细记录表,对整个调试过程进行实时记录。

印制板正式调试之前,需要对硬件调试(测试)方案进行评审,也可在PCB方案设计评审时同时进行。如简单的印制板设计,调试(测试)方案可以与PCB设计方案合并为一个文件。

2.5.2 硬件调试、软件调试及系统联调

硬件调试过程中,每次所投PCB板,工程师应提交一份过程文档,以便管理阶层了解进度,进行考评,另外也给其他相关工程师留下一份有参考价值的技术文档。每次所投PCB板时应制作此文档。

这份文档应包括以下内容:单板硬件功能模块划分,单板硬件各模块调试进度,调试中出现的问题及解决方法,原始数据记录、系统方案修改说明、单板方案修改说明、器件改换说明、原理图、PCB图修改说明、可编程器件修改说明、调试工作阶段总结、调试进展说明、下阶段调试计划以及测试方案的修改等。

软件调试过程中,每月收集一次单板软件过程调试文档,或调试完毕(指不满一月)收集,尽可能清楚,完整列出软件调试修改过程。

单板软件过程调试文档应当包括以下内容:单板软件功能模块划分及各功能模块调试进度、单板软件调试出现问题及解决、下阶段的调试计划、测试方案修改。

系统联调过程中,应出单板系统联调报告。单板系统联调报告包括这些内容:系统功能模块划分、系统功能模块调试进展、系统接口信号的测试原始记录及分析、系统联调中出现问题及解决、调试技巧集锦、整机性能评估等。

在单板调试完之后,申请内部验收之前,应先进行自测以确保每个功能都能实现,每项指标都能满足。

自测完毕应出单板硬件测试文档,单板硬件测试文档包括以下内容:单板功能模块划分、各功能模块设计输入输出信号及性能参数、各功能模块测试点确定、各测试参考点实测原始记录及分析、板内高速信号线测试原始记录及分析、系统I/O口信号线测试原始记录及分析,整板性能测试结果分析。

2.5.3 验收

由于现在软硬件联系密切,无法简单的区别硬件与软件的工作,因此硬件验收的界定较为复杂。

一般来说硬件调试需要完成的工作有如下几方面内容:电源调试、时钟源调试、各功能电路工作正常、可编程器件可正常工作、CPU工作自启动正常以及输入输出指标正常(需要编写接口控制程序)等。

硬件验收即需要硬件设计人员提供上述各方面的调试(测试)记录,记录数据和实际测试数据达到任务要求方可通过硬件验收。

对于某些硬件需要与系统联调以验证功能和性能的,需要硬件设计人员与总体协调。

2.6 开发文档规范及归档要求

2.6.1 开发文档规范

为规范硬件开发过程中文档的编写,明确文档的格式和内容,规定硬件开发过程中所需文档清单,与《硬件开发流程》对应制定了《硬件开发文档编制规范》。

开发人员在写文档时往往会漏掉一些该写的内容,编制规范在开发人员写文档时也有一定的提示作用。《硬件开发文档编制规范》适用于硬件相关项目的开发阶段及测试阶段的文档编制。

规范中共列出以下文档的规范:

  • 硬件需求说明书
  • 硬件总体设计方案
  • 单板设计方案
  • 单板硬件详细设计
  • 单板软件详细设计
  • 单板硬件过程调试文档
  • 单板软件过程调试文档
  • 单板系统联调报告
  • 单板硬件测试文档
  • 单板硬件归档详细文档
  • 单板软件归档详细文档
  • 硬件总体方案归档详细文档
  • 硬件单板方案归档详细文档
  • 硬件信息库

这些规范的具体内容可在项目共享资料库中找到,对应每个文档规范都有相应的模板可供开发人员在写文档时参考使用。

2.6.2 硬件信息库

为了共享技术资料,我们希望建立一个共享资料库,每一块单板都可以将的最有价值最有特色的资料归入此库。

硬件信息库包括以下内容:典型应用电路、特色电路、特色芯片技术介绍、特色芯片的使用说明、驱动程序的流程图、源程序、相关硬件电路说明、PCB布板注意事项、单板调试中出现的典型及解决、软硬件设计及调试技巧。

作者巧学模电数电单片机

本文转载自“巧学模电数电单片机”,如有侵权,请联系删除
原文链接:干货 | 硬件开发流程详述

版权声明:本文来源网络,免费传达知识,版权归原作者所有。如涉及作品版权问题,请联系我进行删除。