第 1 页,共 10 页
1
嵌入式硬件开发
流程
快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计
作为一名设计人员,熟悉整个产品的设计流程是最基本的要求。
本次课程参考著名 IT 公司的产品开发流程,结合实际的经验,讲述嵌入式硬件的开发流程。
通过这次培训,希望各位学员能对嵌入式产品开发流程有一个基本的认识,掌握嵌入式产品开发
过程中,熟悉一名硬件设计人员所需要掌握的知识体系。
嵌入式产品无处不在! 在我们的生活中,无论是军事,还是生活,大到航天飞机,小到我
们人手一个的手机,都能看到嵌入式产品的身影。
作为嵌入式硬件开发人员,我们有太多的东西需要学习。在嵌入式硬件设计领域,我们也有
很多的职位可以选择,可以作为原理图设计人员,也可以从事 PCB 设计,单片机开发,ARM 开
发, 逻辑设计,或者驱动开发人员以其其他相关工作。
一个成功的嵌入式产品的开发,需要多人的合作。 技术在不断更新,知识在不断改变,要
全部掌握产品开发所用到的知识,是不现实的,这就
要求我们对嵌入式开发有一个共同的认识,熟悉基本的开发流程,掌握最基本的开发调试方
法,由不同职责的人员共同协助,进行嵌入式产品的开发。
1. 嵌入式产品研发流程
普通 IT 或电子产品主要代表软件产品,硬件产品,或者软硬件相结合的产品,这些产品在
正常的开发过程中都会有一些特定的流程来进行规范化。其研发流程一般可分为下面 8 个阶段:
第 2 页,共 10 页
2
而嵌入式产品,与普通电子产品一样,开发过程都需要遵循一些基本的流程,都是一个从需
求
分析
定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析
到总体设计,详细设计到最后产品完成的过程。但是,与普通电子产品相比,嵌入式产品
的开发流程又有其特殊之处。它包含嵌入式软件和嵌入式硬件两大部分,针对嵌入式硬件和软件
的开发,在普通的电子产品开发过程中,是不需要涉及的。
嵌入式产品的研发流程具体如下图。
下面,针对嵌入式产品的开发过程中的各个阶段,我们一起进行探讨。
1.11.11.11.1 阶段1111:产品需求
在这一个阶段,我们需要弄清楚的是产品的需求从何而来,一个成功的产品,我们需要满足
哪些需求。只有需求明确了,我们的产品开发目标才能明确。
在产品需求分析阶段,我们可以通过以下这些途径获取产品需求:
1)市场分析与调研,主要是看市场有什么需求,还有就是前沿的技术是什么(站在做一款产
品的角度)
2)客户调研和用户定位,从市场广大客户那获取最准确的产品需求(要注意分析市场,产
品生命周期,升级是否方便—求是猫补充)
3)利润导向(成本预算)
3)如果是外包项目,则需要我们的客户提供产品的需求(直接从客户那获取,让客户签协
议-求是猫补充)
第 3 页,共 10 页
3
经验之谈:
当一个项目做完的时候,如果客户突然又增加需求,增加功能,将导致你的项目周期严重拖
延,成本剧烈上升,并且测试好的产品可能要全部重新测试,原本的设计可能将不会满足当前的
要求,所以做项目之前,最好要跟客户把需求确定下来,并且签定一份协议,否则,你辛苦多少
个日日夜夜,得到的将是一个无法收拾的烂摊子,各位同学请切记!切记!切记!切记!切记!
切记!切记!
1.21.21.21.2 阶段2222:产品规格说明
在前一个阶段,我们搜集了产品的所有需求。那么在产品规格说明阶段,我们的任务是将所
有的需求,细化成产品的具体的规格,就比如一个简单的 USB 转串口线,我们需要确定产品的规
格,包括:
1)产品的外观
2)产品支持的操作系统
3)产品的接口形式和支持的规范 等等诸如此类,切记,在形成了产品的规格说明后,在
后续的开发过程中,我们必须严格的
遵守,没有 200%的理由,不能随意更改产品的需求。否则,产品的开发过程必将是一个反复无
期的过程。
《产品规格说明》主要从以下方面进行考虑
考虑该产品需要哪些硬件接口
产品用在哪些环境下,要做多大,耗电量如何。如果是消费类产品,还跟设计美观,产
品是否便于携带,以确定板子大小的需求,是否防水
产品成本要求
产品性能参数的说明(例如交换机,如果是百兆的速率,用于家庭和一般公司;如果是
用于整个省的交换,那设计的速率肯定数十万兆以上了)所以说,产品性能参数的不同,
就会影响到我们设计考虑的不同,那么产品的规格自然就不同了
需要适应和符合的国家
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
,国际标准,或行业标准(由§豆芽§补充)
1.31.31.31.3 阶段3333:产品总体设计
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
在完成了产品规格说明以后,我们需要针对这一产品,了解当前有哪些可行的方案,通过几
个方案进行对比,包括从成本、性能、开发周期、开发难度等多方面进行考虑,最终选择一个最
适合自己的产品总体设计方案。
在这一阶段,我们除了确定具体实现的方案外,我们还需要综合考虑,产品开发周期,多少
人月的工作量,需要哪些资源或者外部协助,以及开发过程中可能遇到的风险及应对
措施
《全国民用建筑工程设计技术措施》规划•建筑•景观全国民用建筑工程设计技术措施》规划•建筑•景观软件质量保证措施下载工地伤害及预防措施下载关于贯彻落实的具体措施
,形成
整个项目的项目计划,指导我们的整个开发过程。
第 4 页,共 10 页
4
1.41.41.41.4 阶段4444:产品概要设计
产品概要设计主要是在总体设计方案的基础上进一步的细化,
1.4.11.4.11.4.11.4.1 硬件模块概要设计 硬件模块概要设计,主要从硬件的角度出发,确认整个系统的架
构,并按功能来划分各个模块,确定各个模块的的大概实现,
首先要依据我们到底要哪些外围功能以及产品要完成的工作,来进行 CPU 选型(注意:CPU
一旦确定,那么你的周围硬件电路,就要参考该 CPU 厂家提供的方案电路来设计。
然后再根据产品的功能需求选芯片,比如是外接 AD 还是用片内 AD,采用什么样的通讯方式,
有什么外部接口,还有最重要的是要考虑电磁兼容。
经验之谈:
一般一款 CPU 的生存周期是 5-8 年,你考虑选型的时候要注意,不要选用快停产的 CPU,以
免出现,产品辛辛苦苦开发了 1,2 年,刚开发出来,还没赚钱,CPU 又停产了,又得要重新开
发的尴尬局面,很多公司就死在这个上面。
1.4.21.4.21.4.21.4.2 软件模块概要设计
软件模块概要设计阶段,主要是依据系统的要求,将整个系统按功能进行模块划分,定义好
各个功能模块之间的接口,以及模块内主要的数据结构等。
1.51.51.51.5 阶段5555:产品详细设计
1.5.11.5.11.5.11.5.1 硬件模块详细设计
主要是具体的电路图和一些具体要求,包括 PCB 和外壳相互设计,尺寸这些参数。 接下来,
我们就需要依据硬件模块详细设计文档的指导,完成整个硬件的设计。包括原理图、
PCB 的绘制。
1.5.21.5.21.5.21.5.2 软件模块详细设计
功能函数接口定义,该函数功能接口完成功能,数据结构,全局变量,完成任务时各个功能
函数接口调用流程。
在完成了软件模块详细设计以后 ,就进入具体的编码阶段,在软件模块详细设计的指导下 ,
完成整个系统的软件编码。
经验之谈:
一定要注意需要先完成模块详细设计文档以后,软件才进入实际的编码阶段,硬件进入具体
的原理图、PCB 实现阶段,这样才能尽量在设计之初就考虑周全,避免在设计过程中反复修改。
第 5 页,共 10 页
5
提高开发效率,不要为了图一时之快,没有完成详细设计,就开始实际的设计步骤。
1.61.61.61.6 阶段7777:产品调试与验证
该阶段主要是调整硬件或代码,修正其中存在的问题和 BUG,使之能正常运行,并尽量使产
品的功能达到产品需求规格说明要求。
硬件部分:
1)目测加工会得 PCB 板是否存在短路,器件是否焊错,或漏焊接
2)测试各电源对地电阻是否正常
3)上电,测试电源是否正常
4)分模块调试硬件模块,可借助示波器、逻辑分析仪等根据
软件部分:
验证软件单个功能是否实现 验
证软件整个产品功能是否实现
1.71.71.71.7 阶段8888:测试 功能测试(测试不通过,可能是有 BUG) 压力测
试(测试不通过,可能是有 BUG 或哪里参数设计不合理)
性能测试(产品性能参数要提炼出来,供将来客户参考,这个就是你的产品特征的一部分)
其他专业测试:包括工业级的测试,例如含抗干扰测试(由一生何求补充),产品寿命测试
(由一生何求补充),防潮湿测试,高温和低温测试(有的产品有很高的温度或很低的温度工作
不正常,甚至停止工作)
经验之谈 1:
有的设备电子元器件在特殊温度下,参数就会异常,导致整个产品出现故障或失灵现象的出
现;有的设备,零下几十度的情况下,根本就启动不了,开不了机;有的设备在高温下,电容或
电阻值就会产生物理的变化,这些都会影响到产品的质量
经验之谈 2:
这里要引出一个话题,工业级产品与消费类产品有什么区别呢???工业级的产品就要避免
这些异常和特殊问题,有的产品是在很深的海里工作,或者在严寒的山洞工作,或者火热沙漠工
作,或者颠簸的设备上,比如汽车;或者是需要防止雷击; 所以这就是工业级产品跟消费类产
品的区别,消费类的产品就不需要做这么多的测试。
1.81.81.81.8 阶段9999:产品
通过上一阶段完整测试验证,在此阶段,即得到我们开发成功的产品。在此阶段,可以比较
实际的产品和最初的形成的产品规格说明,看经过一个完整的开发过程,是否产品完全符合最初
的产品规格说明,又或者,中途发现产品规格说明存在问题,对它进行了多少修改呢?
2. 嵌入式硬件开发流程
之前,我们详细讲述了嵌入式产品的研发流程,那么在这一节,我们具体以嵌入式产品的硬
件部分为例,再次讲解其开发过程,希望通过这一节,大家能对嵌入式硬件开发流程有更深刻的
第 6 页,共 10 页
6
认识,在以后的学习和工作中,更加规范化和标准化,提高开发技能。嵌入式硬件开发流程一般
如下图,分为 8 个阶段:
嵌入式产品的硬件形态各异,CPU 从简单的 4 位/8 位单片机到 32 位的 ARM 处理器,以及其
他专用 IC。另外,依据产品的不同需求,外围电路也各不相同。每一次硬件开发过程,都需要
依据实际的需求,考虑多方面的因素,选择最合适的方案来。
2.12.12.12.1 阶段1111:硬件产品需求
和普通的嵌入式产品需求一样。
2.22.22.22.2 阶段2222:硬件总体设计方案
一个硬件开发项目,它的需求可能来自很多方面,比如市场产品的需要或性能提升的要求等,
因此,作为一个硬件设计人员,我们需要主动去了解各个方面的需求并分析,根据系统所要完成
的功能,选择最合适的硬件方案。
在这一阶段,我们需要分析整个系统设计的可行性,包括方案中主要器件的可采购性,产品
开发投入,项目开发周期预计,开发风险评估等,并针对开发过程中可能遇到的问题,提前选择
应对方案,保证硬件的顺利完成。
第 7 页,共 10 页
7
2.32.32.32.3 阶段3333:硬件电路原理图设计
在系统方案确定后,我们即可以开展相关的设计工作,原理设计主要包括系统总体设计和详
细设计,最终产生详细的设计文档和硬件原理图。
原理设计和 PCB 设计是设计人员最主要的两个工作之一,在原理设计过程中,我们需要规划
硬件内部资源,如系统存储空间,以及各个外围电路模块的实现。另外,对系统主要的外围电路,
如电源、复位等也需要仔细的考虑,在一些高速设计或特殊应用场合,还需要考虑 EMC/EMI 等。
电源是保证硬件系统正常工作的基础,设计中要详细的分析:系统能够提供的电源输入;单
板需要产生的电源输出;各个电源需要提供的电流大小;电源电路效率;各个电源能够允许的波
动范围;整个电源系统需要的上电顺序等等。
为了系统稳定可靠的工作,复位电路的设计也非常重要,如何保证系统不会在外界干扰的情
况下异常复位,如何保证在系统运行异常的时候能够及时复位,以及如何合理的复位,才能保证
系统完整的复位后,这些也都是我们在原理设计的时候需要考虑的。
同样的,时钟电路的设计也是非常重要的一个方面,一个不好的时钟电路设计,可能会引起
通信产品的数据丢包,产生大的 EMI,甚至导致系统不稳定。
原理图设计中要有““““拿来主义””””! 现在的芯片厂家一般都可以提供参考设计的原理图,所以
要尽量的借助这些资源,在充分理
解参考设计的基础上,做一些自己的发挥。
2.42.42.42.4 阶段4444:PCBPCBPCBPCB图设计
PCB 设计阶段,即是将原理图设计转化为实际的可加工的 PCB 线路板,目前主流的 PCB 设计
软件有 PADS,Candence 和 Protel 几种。在接下来的课程中,将会专门讲解 PADS 2007 软件的使
用。
PCB 设计,尤其是高速 PCB,需要考虑 EMC/EMI,阻抗控制,信号质量等,对 PCB 设计人员
的要求比较高。为了验证设计的 PCB 是否符合要求,有的还需要进行 PCB 仿真。并依据仿真结果
调整 PCB 的布局布线,完成整个的设计。
2.52.52.52.5 阶段5555:PCBPCBPCBPCB加工文件制作与PCBPCBPCBPCB打样
PCB 绘制完成以后,在这一阶段,我们需要生成加工厂可识别的加工文件,即常说的光绘文
件,将其交给加工厂打样 PCB 空板。一般 1~4 层板可以在一周内完成打样。
2.62.62.62.6 阶段6666:硬件产品的焊接与调试
在拿到加工厂打样会的 PCB 空板以后,接下来我们,需要检查 PCB 空板是否和我们设计预期
一样,是否存在明显的短路或断痕,检查通过后,则需要将前期采购的元器件和 PCB 空板交由生
产厂家进行焊接(如果 PCB 电路不复杂,为了加快速度,也可以直接手工焊接元器件)。
当 PCB 已经焊接完成后,在调试 PCB 之前,一定要先认真检查是否有可见的短路和管脚搭锡
等故障,检查是否有元器件型号放置错误,第一脚放置错误,漏装配等问题,然后用万用表测量
各个电源到地的电阻,以检查是否有短路,这样可以避免贸然上电后损坏单板。调试的过程中要
有平和的心态,遇见问题是非常正常的,要做的就是多做比较和分析,逐步的排除可能的原因,
直致最终调试成功。
在硬件调试过程中,需要经常使用到的调试工具有万用表和示波器,逻辑分析仪等,用于测
试和观察板内信号电压和信号质量,信号时序是否满足要求。
第 8 页,共 10 页
8
2.72.72.72.7 阶段7777:硬件产品测试
当硬件产品调试通过以后,我们需要对照产品产品的需求说明,一项一项进行测试,确认是
否符合预期的要求,如果达不到要求,则需要对硬件产品进行调试和修改,直到符合产品需求文
明(一般都以需求说明文档作为评判的一句,当然明显的需求说明错误除外)。
2.82.82.82.8 阶段8888:硬件产品
我们最终开发的硬件成功。一个完整的,完成符合产品需求的硬件产品还不能说明一个成功
的产品开发过程,我们还需要按照预定计划,准时高质量的完成。才是一个成功的产品开发过程。