嵌入式产品开发流程详解

35 篇文章 22 订阅
订阅专栏
本文详细阐述了嵌入式产品从需求分析到产品完成的全过程,涵盖产品规格说明、总体设计、详细设计、调试验证、测试等多个阶段。在每个阶段,硬件和软件的开发流程均有详细说明,强调了需求明确、规格严格、设计规范和测试全面的重要性。硬件开发流程包括需求分析、总体设计、电路设计、PCB制作到产品测试,每个环节都至关重要。
摘要由CSDN通过智能技术生成

嵌入式产品,与普通电子产品一样,开发过程都需要遵循一些基本的流程,都是一个从需求分析到总体设计,详细设计到最后产品完成的过程。但是,与普通电子产品相比,嵌入式产品的开发流程又有其特殊之处,它包含嵌入式软件和嵌入式硬件两大部分。嵌入式产品的研发流程具体如下图:
在这里插入图片描述
下面,针对嵌入式产品的开发过程中的各个阶段,我们进行详细探讨。

阶段1:产品需求

在这一个阶段,我们需要弄清楚的是产品的需求从何而来,一个成功的产品,我们需要满足哪些需求。只有需求明确了,我们的产品开发目标才能明确。在产品需求分析阶段,我们可以通过以下这些途径获取产品需求:

  1. 市场分析与调研,主要是看市场有什么需求,还有就是前沿的技术是什么(站在做一款产品的角度);
  2. 客户调研和用户定位,从市场广大客户那获取最准确的产品需求(要注意分析市场,产品生命周期,升级是否方便);
  3. 利润导向(成本预算);
  4. 如果是外包项目,则需要我们的客户提供产品的需求(直接从客户那获取,让客户签协议);

当一个项目做完的时候,如果客户突然又增加需求,增加功能,将导致你的项目周期严重拖延,成本剧烈上升,并且测试好的产品可能要全部重新测试,原本的设计可能将不会满足当前的要求,所以做项目之前,最好要跟客户把需求确定下来,并且签定一份协议,否则,你辛苦多少个日日夜夜,得到的将是一个无法收拾的烂摊子!

阶段2:产品规格说明

在前一个阶段,我们搜集了产品的所有需求。那么在产品规格说明阶段,我们的任务是将所有的需求,细化成产品的具体的规格,就比如一个简单的USB转串口线,我们需要确定产品的规格,包括:

  1. 产品的外观;
  2. 产品支持的操作系统;
  3. 产品的接口形式和支持的规范;

等等诸如此类,切记,在形成了产品的规格说明后,在后续的开发过程中,我们必须严格的遵守,没有200%的理由,不能随意更改产品的需求。否则,产品的开发过程必将是一个反复无期的过程。

《产品规格说明》主要从以下方面进行考虑:

  1. 考虑该产品需要哪些硬件接口;
  2. 产品用在哪些环境下,要做多大,耗电量如何。如果是消费类产品,还跟设计美观,产品是否便于携带,以确定板子大小的需求,是否防水;
  3. 产品成本要求;
  4. 产品性能参数的说明(例如交换机,如果是百兆的速率,用于家庭和一般公司;如果是用于整个省的交换,那设计的速率肯定数十万兆以上了)所以说,产品性能参数的不同,就会影响到我们设计考虑的不同,那么产品的规格自然就不同了;
  5. 需要适应和符合的国家标准,国际标准,或行业标准;

阶段3:产品总体设计方案

在完成了产品规格说明以后,我们需要针对这一产品,了解当前有哪些可行的方案,通过几个方案进行对比,包括从成本、性能、开发周期、开发难度等多方面进行考虑,最终选择一个最适合自己的产品总体设计方案。

在这一阶段,我们除了确定具体实现的方案外,我们还需要综合考虑,产品开发周期,多少人月的工作量,需要哪些资源或者外部协助,以及开发过程中可能遇到的风险及应对措施,形成整个项目的项目计划,指导我们的整个开发过程。

阶段4:产品概要设计

产品概要设计主要是在总体设计方案的基础上进一步的细化,具体从硬件和软件两方面入手:

  • 硬件模块概要设计

    硬件模块概要设计,主要从硬件的角度出发,确认整个系统的架构,并按功能来划分各个模块,确定各个模块的的大概实现。首先要依据我们到底要哪些外围功能以及产品要完成的工作,来进行CPU选型(注意:CPU一旦确定,那么你的周围硬件电路,就要参考该CPU厂家提供的方案电路来设计)。然后再根据产品的功能需求选芯片,比如是外接AD还是用片内AD,采用什么样的通讯方式,有什么外部接口,还有最重要的是要考虑电磁兼容。

    一般一款CPU 的生存周期是5-8年,你考虑选型的时候要注意,不要选用快停产的CPU,以免出现这样的结局:产品辛辛苦苦开发了1到2 年,刚开发出来,还没赚钱,CPU又停产了,又得要重新开发。很多公司就死在这个上面。

  • 软件模块概要设计

    软件模块概要设计阶段,主要是依据系统的要求,将整个系统按功能进行模块划分,定义好各个功能模块之间的接口,以及模块内主要的数据结构等。

阶段5:产品详细设计

  • 硬件模块详细设计

    主要是具体的电路图和一些具体要求,包括 PCB和外壳相互设计,尺寸这些参数。接下来,我们就需要依据硬件模块详细设计文档的指导,完成整个硬件的设计。包括原理图、PCB的绘制。

  • 软件模块详细设计

    功能函数接口定义,该函数功能接口完成功能,数据结构,全局变量,完成任务时各个功能函数接口调用流程。在完成了软件模块详细设计以后,就进入具体的编码阶段,在软件模块详细设计的指导下 ,完成整个系统的软件编码。

    一定要注意需要先完成模块详细设计文档以后,软件才进入实际的编码阶段,硬件进入具体的原理图、PCB实现阶段,这样才能尽量在设计之初就考虑周全,避免在设计过程中反复修改。提高开发效率,不要为了图一时之快,没有完成详细设计,就开始实际的设计步骤。

阶段6&7:产品调试与验证

该阶段主要是调整硬件或代码,修正其中存在的问题和BUG,使之能正常运行,并尽量使产品的功能达到产品需求规格说明要求。

  • 硬件部分:
  1. 目测加工会得PCB板是否存在短路,器件是否焊错,或漏焊接;
  2. 测试各电源对地电阻是否正常;
  3. 上电,测试电源是否正常;
  4. 分模块调试硬件模块,可借助示波器、逻辑分析仪等根据。
  • 软件部分:

    验证软件单个功能是否实现,验证软件整个产品功能是否实现。

阶段8:测试

  • 功能测试(测试不通过,可能是有BUG);

  • 压力测试(测试不通过,可能是有BUG或哪里参数设计不合理);

  • 性能测试(产品性能参数要提炼出来,供将来客户参考,这个就是你的产品特征的一部分);

  • 其他专业测试:包括工业级的测试,例如含抗干扰测试,产品寿命测试,防潮湿测试,高温和低温测试(有的产品有很高的温度或很低的温度工作不正常,甚至停止工作)。

有的设备电子元器件在特殊温度下,参数就会异常,导致整个产品出现故障或失灵现象的出现;有的设备,零下几十度的情况下,根本就启动不了,开不了机;有的设备在高温下,电容或电阻值就会产生物理的变化,这些都会影响到产品的质量。这里要引出一个话题,工业级产品与消费类产品有什么区别呢?工业级的产品就要避免这些异常和特殊问题,有的产品是在很深的海里工作,或者在严寒的山洞工作,或者火热沙漠工作,或者颠簸的设备上,比如汽车;或者是需要防止雷击;所以这就是工业级产品跟消费类产品的区别,消费类的产品就不需要做这么多的测试。

阶段9:产品

通过上一阶段完整测试验证,在此阶段,即得到我们开发成功的产品。在此阶段,可以比较实际的产品和最初的形成的产品规格说明,看经过一个完整的开发过程,是否产品完全符合最初的产品规格说明,又或者,中途发现产品规格说明存在问题,对它进行了多少修改呢?

附录:嵌入式硬件开发流程

之前,我们详细讲述了嵌入式产品的研发流程,那么在这一节,我们具体以嵌入式产品的硬件部分为例,再次讲解其开发过程,希望通过这一节,大家能对嵌入式硬件开发流程有更深刻的认识,在以后的学习和工作中,更加规范化和标准化,提高开发技能。嵌入式硬件开发流程一般如下图,分为8个阶段:
在这里插入图片描述
嵌入式产品的硬件形态各异,CPU 从简单的4 位/8位单片机到32 位的ARM处理器,以及其他专用IC。另外,依据产品的不同需求,外围电路也各不相同。每一次硬件开发过程,都需要依据实际的需求,考虑多方面的因素,选择最合适的方案来。

硬件阶段1:硬件产品需求

和普通的嵌入式产品需求一样。阶段1:产品需求。

硬件阶段2:硬件总体设计方案

一个硬件开发项目,它的需求可能来自很多方面,比如市场产品的需要或性能提升的要求等,因此,作为一个硬件设计人员,我们需要主动去了解各个方面的需求并分析,根据系统所要完成的功能,选择最合适的硬件方案。

在这一阶段,我们需要分析整个系统设计的可行性,包括方案中主要器件的可采购性,产品开发投入,项目开发周期预计,开发风险评估等,并针对开发过程中可能遇到的问题,提前选择应对方案,保证硬件的顺利完成。

硬件阶段3:硬件电路原理图设计

在系统方案确定后,我们即可以开展相关的设计工作,原理设计主要包括系统总体设计和详细设计,最终产生详细的设计文档和硬件原理图。

原理设计和PCB设计是设计人员最主要的两个工作之一,在原理设计过程中,我们需要规划硬件内部资源,如系统存储空间,以及各个外围电路模块的实现。另外,对系统主要的外围电路,如电源、复位等也需要仔细的考虑,在一些高速设计或特殊应用场合,还需要考虑EMC/EMI等。

电源是保证硬件系统正常工作的基础,设计中要详细的分析:系统能够提供的电源输入;单板需要产生的电源输出;各个电源需要提供的电流大小;电源电路效率;各个电源能够允许的波动范围;整个电源系统需要的上电顺序等等。

为了系统稳定可靠的工作,复位电路的设计也非常重要,如何保证系统不会在外界干扰的情况下异常复位,如何保证在系统运行异常的时候能够及时复位,以及如何合理的复位,才能保证系统完整的复位后,这些也都是我们在原理设计的时候需要考虑的。

同样的,时钟电路的设计也是非常重要的一个方面,一个不好的时钟电路设计,可能会引起通信产品的数据丢包,产生大的EMI,甚至导致系统不稳定。

原理图设计中要有“拿来主义”!现在的芯片厂家一般都可以提供参考设计的原理图,所以要尽量的借助这些资源,在充分理解参考设计的基础上,做一些自己的发挥。

硬件阶段4:PCB图设计

PCB设计阶段,即是将原理图设计转化为实际的可加工的PCB 线路板,目前主流的PCB 设计软件有PADS,Candence 和Protel几种。

PCB设计,尤其是高速PCB,需要考虑EMC/EMI,阻抗控制,信号质量等,对PCB 设计人员的要求比较高。为了验证设计的PCB是否符合要求,有的还需要进行PCB 仿真。并依据仿真结果调整PCB 的布局布线,完成整个的设计。

硬件阶段5:PCB加工文件制作与PCB打样

PCB绘制完成以后,在这一阶段,我们需要生成加工厂可识别的加工文件,即常说的光绘文件,将其交给加工厂打样PCB 空板。一般1~4层板可以在一周内完成打样。

硬件阶段6:硬件产品的焊接与调试

在拿到加工厂打样会的 PCB空板以后,接下来我们,需要检查PCB空板是否和我们设计预期一样,是否存在明显的短路或断痕,检查通过后,则需要将前期采购的元器件和PCB空板交由生产厂家进行焊接(如果PCB 电路不复杂,为了加快速度,也可以直接手工焊接元器件)。

当PCB 已经焊接完成后,在调试PCB之前,一定要先认真检查是否有可见的短路和管脚搭锡等故障,检查是否有元器件型号放置错误,第一脚放置错误,漏装配等问题,然后用万用表测量各个电源到地的电阻,以检查是否有短路,这样可以避免贸然上电后损坏单板。调试的过程中要有平和的心态,遇见问题是非常正常的,要做的就是多做比较和分析,逐步的排除可能的原因,直致最终调试成功。

在硬件调试过程中,需要经常使用到的调试工具有万用表和示波器,逻辑分析仪等,用于测试和观察板内信号电压和信号质量,信号时序是否满足要求。

硬件阶段7:硬件产品测试

当硬件产品调试通过以后,我们需要对照产品产品的需求说明,一项一项进行测试,确认是否符合预期的要求,如果达不到要求,则需要对硬件产品进行调试和修改,直到符合产品需求文明(一般都以需求说明文档作为评判的一句,当然明显的需求说明错误除外)。

硬件阶段8:硬件产品

我们最终开发的硬件成功。一个完整的,完成符合产品需求的硬件产品还不能说明一个成功的产品开发过程,我们还需要按照预定计划,准时高质量的完成。才是一个成功的产品开发过程。

参考:

8个阶段——详解嵌入式产品开发流程;

嵌入式开发流程
左手技术 右手写诗
03-23 763
<br />也许很多初涉嵌入式开发领域的程序员会被一系列的新名词搞得头昏脑胀,在这里,我希望能够将嵌入式开发流程展现给大家。<br />嵌入式开发主要分为三个比较大的部分:1.驱动程序开发<br />这部分开发是从硬件设计开始的,硬件工程师会设计PCB板,为我们提供标准开发板(SDB,standard development board)。当我们拿到开发板之后的第一件事情就是编写boot-loader,让开发板启动起来,一般是通过JTGA将boot-loader烧录到开发板中的。我们可以将boot-loa
嵌入式产品开发流程
花园王国---Garden kingdom
12-18 2191
嵌入式产品,与普通电子产品一样,开发过程都需要遵循一些基本的流程,都是一个从需求分析到总体设计,详细设计到最后产品完成的过程。但是,与普通电子产品相比,嵌入式产品的开发流程又有其特殊之处。它包含嵌入式软件和嵌入式硬件两大部分,针对嵌入式硬件和软件的开发,在普通的电子产品开发过程中,是不需要涉及的。嵌入式产品的研发流程具体如下图:         下面,针对嵌入式产品的开发过程中的各个阶段,
【推荐】如何从零开始开发一款嵌入式产品.pdf
04-05
【推荐】如何从零开始开发一款嵌入式产品.pdf
电子产品开发流程七步走(基于Altium Designer)
最新发布
weixin_66891159的博客
08-17 574
会了这七步,设计项目就不会没有头绪了,加油!!!
嵌入式产品的开发流程
qq_42241500的博客
01-28 1674
嵌入式产品的开发流程主要涉及硬件和软件两个方面本文介绍了嵌入式产品开发的主要流程,关键角色,以及与互联网产品开发的不同
嵌入式项目开发过程(初步了解开发的全过程)
12-15
嵌入式项目开发过程 嵌入式项目开发过程(初步了解开发的全过程)
嵌入式系统开发流程
热门推荐
jinxuan001的博客
02-19 2万+
一、嵌入式系统开发流程 1、系统需求分析:根据需求,确定设计任务和设计目标,指定设计说明书。 2、体系结构设计:描述系统如何实现所述的功能需求,包括对硬件、软件和执行装置的功能划分以及系统的软件、硬件选型。 3、硬件/软件协同设计:基于体系结构的设计结果,对系统的硬件、软件进行详细设计。一般情况下嵌入式系统设计的工作大部分都集中在软件设计上,现代软件工程经常采用的方法是
转一篇介绍开发嵌入式经验的文章,写得不错,比较中肯,适合一看。
打印/传真嵌入式开发--张志龙的专栏
07-04 2834
如何从零开始开发一款嵌入式产品(20年的嵌入式经验)   来源:www.armjishu.com作者:jesse转载请注明出处      首先,如果你有幸看到这篇文章,千万不要试图在2个小时内阅读完,就算你2个小时阅读完,我相信你也不会理解里面讲解的精华之处,我相信,你应该将此文章,慢慢品尝,这绝对是一篇需要品尝2~3天,再结合自己过往的经验,加上自己的思考,我相信会对你不仅仅是技术能
嵌入式产品开发基本流程
ap0304118的专栏
02-15 510
知己知彼,百战不怠. 羽扇纶巾,谈笑间,樯橹灰飞烟灭. 胸有成竹,方可三分天下.. 作为一名嵌入式工程师,如果想着一辈子写代码,我也不好说什么,万一不想呢,那就应该对嵌入式看法的整体流程有个总体把握,看看现在的你处在流程的那个阶段,你想往那个方向发展: 看了这个图,不知道在写代码的大家是怎么想的,现在的你处在那个框框内,将来的你又会处在哪个框框内呢?其实都不重要,重
嵌入式项目开发流程
Fresh_man111的博客
07-04 241
首先是代码准备,当芯片、器件选型确定后,软件开发人员就可以开始搭建相应的开发环境,熟悉芯片、器件的基本功能。首先对芯片、器件进行选型,之后设置原理图和PCB,最后打样贴片测试硬件参数是否符合要求。之后是调试功能,当PCB测试通过之后,软件开发人员在开发板上进行实物调试。测试人员对开发的产品进行测试,检查是否满足需求和指标,并提出解决方案。在测试过程中,形成测试文档,包括测试过程、测试方法、测试结果。交付硬件源文件、软件源文件、测试文档。
嵌入式软件开发流程
肥嘟嘟的左卫门
05-06 2万+
根据使用的开发工具套件不同,软件开发流程会有差异,但主要步骤大致相同。对于使用宿主机(PC)的集成化开发环境,软件开发流程一般包括创建项目、添加文件、编译连接、下载调试等步骤,如下图所示。 图1:嵌入式软件开发流程 (1)创建工程项目:在配置硬件设备和安装软件开发工具后,就可以开始创建工程项目,通常需要选择项目文件的存储位置及目标处理器。 (2)添加项目文件:开发人员需要创建源程序文件,...
嵌入式软件开发流程详解:系统架构与关键步骤
嵌入式软件开发流程涉及细致的规划、灵活的工具选择和对硬件紧密集成的特点,以确保在有限的空间和资源内,实现高效且性能优越的软件产品。这对于保证嵌入式系统的功能完整性、响应速度和稳定性至关重要。
嵌入式产品开发流程深度解析:从需求到完成
"嵌入式产品开发流程详解" 嵌入式产品开发是一个复杂而系统的过程,涉及到硬件和软件的深度融合,通常包括多个关键阶段。以下是嵌入式产品开发的详细流程: 1. 阶段1:产品需求 在这个阶段,开发者首先需要进行...
嵌入式系统开发流程详解
"嵌入式开发流程-嵌入式系统课件" 嵌入式开发是一种专门针对嵌入式系统的软件和...与传统的8位开发相比,嵌入式产品开发前期投入大、工具成本高、项目周期也更长,但一旦成功,可以带来高性能、定制化的解决方案。
嵌入式Linux开发流程详解
Linux嵌入式开发流程是一个系统化的过程,从需求分析到最终产品,每一步都需要谨慎对待,以确保系统的可靠性和高效性。而选择Linux作为开发平台,不仅可以利用其丰富的开源库和工具,还能在成本和灵活性之间找到平衡...
写文章

热门文章

  • AUTOSAR架构深度解析 63559
  • mw与dbm换算 46498
  • 整车CAN网络介绍 45253
  • win10上linux子系统的开启、升级及使用 44026
  • 永磁同步电机(PMSM) 36751

分类专栏

  • linux开发 29篇
  • 嵌入式C编程 35篇
  • Robot 7篇
  • software architecture 5篇
  • Bluetooth 5篇
  • Audio Processing 2篇
  • python 3篇
  • Qt 2篇
  • Share 20篇
  • Hardware 11篇
  • Automotive electronics 17篇

最新评论

  • I2C死锁及解决方法

    菜菜小志: 为什么需要9个脉冲

  • 深入浅出讲解FOC控制与SVPWM技术

    低电平: 注意上图中的(100)矢量方向和AO方向是相反的(变成OA方向),这跟正方向的定义有关,这样的规定更直观一些。 这个实在不理解

  • PFC(Power Factor Correction)功率因数校正电路

    TinaK: 请问连续导通与不连续导通这两种模式,输出电压是怎么算的,连续导通我可以理解为根据boost升压公式计算,那不连续导通是怎么计算这个导通时长的

  • PFC(Power Factor Correction)功率因数校正电路

    妄自°: 他应该说错了,这个还是直流

  • 深入浅出讲解FOC控制与SVPWM技术

    宇伽伊奈里: 你是稚晖君吗,抄别人文章一个字都不改,脸都不要了表情包

最新文章

  • C语言编程规范及命名规则
  • 串口通信问题排查总结
  • Linux进程通信之管道解析
2024年6篇
2023年12篇
2022年32篇
2021年23篇
2020年8篇
2019年17篇
2018年32篇
2017年5篇
2016年2篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳坪山网站建设公司广州华商职业学院网站优化与运营网站优化程序新网站多久可以优化中文论文优化网站室内设计平面优化网站弋阳网站关键词优化宝山区正规网站优化价格优化网站怎么设置内锚文本东莞网站建设网站优化服务好的网站优化专业团队山南网站优化推广优质的seo网站优化软件优化网站就选h火19星棒南城网站优化哪些好省心的网站推广与优化技术佛山企业网站关键词优化工具整站网站优化费用价格济宁网站建设优化亿峰中山网站建设方案优化汕尾资深的免费网站优化陵城区网站seo优化排名许昌搜索引擎网站优化外包云浮网站优化怎么做网站内优化怎么做越秀网站关键词优化公司网站结构优化什么网站优化技术案例二七区营销网站搭建优化安庆网站优化如何选择北京网络推广优化网站香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

深圳坪山网站建设公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化