0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

嵌入式产品开发不同阶段的解析

电子设计 来源:电子设计 作者:电子设计 2020-10-30 11:00 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

嵌入式产品,与普通电子产品一样,开发过程都需要遵循一些基本的流程,都是一个从需求分析到总体设计,详细设计到最后产品完成的过程。

但是,与普通电子产品相比,嵌入式产品的开发流程又有其特殊之处。它包含嵌入式软件和嵌入式硬件两大部分,针对嵌入式硬件和软件的开发,在普通的电子产品开发过程中,是不需要涉及的。嵌入式产品的研发流程具体如下图:

嵌入式产品开发流程

下面,针对嵌入式产品的开发过程中的各个阶段,我们进行详细探讨。

No.1 产品需求

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



1)市场分析与调研,主要是看市场有什么需求,还有就是前沿的技术是什么(站在做一款产品的角度);

2)客户调研和用户定位,从市场广大客户那获取最准确的产品需求(要注意分析市场,产品生命周期,升级是否方便);

3)利润导向(成本预算);

4)如果是外包项目,则需要我们的客户提供产品的需求(直接从客户那获取,让客户签协议);

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

No.2 产品规格说明

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

1)产品的外观;

2)产品支持的操作系统

3)产品的接口形式和支持的规范;

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

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

1)考虑该产品需要哪些硬件接口;

2)产品用在哪些环境下,要做多大,耗电量如何。如果是消费类产品,还跟设计美观,产品是否便于携带,以确定板子大小的需求,是否防水;

3)产品成本要求;

4)产品性能参数的说明(例如交换机,如果是百兆的速率,用于家庭和一般公司;如果是用于整个省的交换,那设计的速率肯定数十万兆以上了)所以说,产品性能参数的不同,就会影响到我们设计考虑的不同,那么产品的规格自然就不同了;

5)需要适应和符合的国家标准,国际标准,或行业标准;

No.3 产品方案设计

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

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

No.4 产品概要设计

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

硬件模块概要设计

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

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

软件模块概要设计

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

No.5 产品详细设计

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

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

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

No.6 产品调试与验证

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

硬件部分:

1)目测加工会得 PCB 板是否存在短路,器件是否焊错,或漏焊接;

2)测试各电源对地电阻是否正常;

3)上电,测试电源是否正常;

4)分模块调试硬件模块,可借助示波器、逻辑分析仪等根据。

软件部分:

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

No.7 产品测试

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

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

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

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

有的设备电子元器件在特殊温度下,参数就会异常,导致整个产品出现故障或失灵现象的出现;有的设备,零下几十度的情况下,根本就启动不了,开不了机;有的设备在高温下,电容或电阻值就会产生物理的变化,这些都会影响到产品的质量。这里要引出一个话题,工业级产品与消费类产品有什么区别呢?

工业级的产品就要避免这些异常和特殊问题,有的产品是在很深的海里工作,或者在严寒的山洞工作,或者火热沙漠工作,或者颠簸的设备上,比如汽车;或者是需要防止雷击;所以这就是工业级产品跟消费类产品的区别,消费类的产品就不需要做这么多的测试。

No.8 产品完成

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

审核编辑 黄昊宇
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    5186

    文章

    20145

    浏览量

    328725
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    分享一个嵌入式开发学习路线

    如果你想要学习嵌入式开发,我建议按照这个学习路线准备: 1. 基础铺垫期(1-2个月) 理解嵌入式系统的“硬件基础”和“编程入门”,能看懂简单电路,写出基础C语言代码。这一阶段的学习对学历没有
    发表于 12-04 11:01

    嵌入式和FPGA的区别

    开发中做出更明智的技术选择。 基本概念解析 嵌入式系统(Embedded System)是一种专用计算机系统,通常包含微处理器/微控制器、存储器和专用外围设备,被设计用于执行特定功能。它强调
    发表于 11-19 06:55

    嵌入式开发的关键点介绍

    嵌入式开发在现代科技中扮演着非常重要的角色。随着物联网的发展,嵌入式系统的需求也越来越大。嵌入式开发不仅需要开发人员具备深入的硬件知识和编程经验,还需要不断学习新的技术和工具,以满足不
    发表于 11-13 08:12

    嵌入式软件测试与专业测试工具的必要性深度解析

    嵌入式系统作为控制、监视或辅助装置运行的专用计算机系统,其软件测试面临着独特的挑战和严格的要求。专业测试工具在嵌入式软件开发过程中发挥着不可替代的作用,是确保系统可靠性和安全性的关键保障。嵌入
    发表于 09-28 17:42

    分享一个嵌入式学习阶段规划

    给大家分享一个嵌入式学习阶段规划: (一)基础筑牢阶段(约 23 天) 核心目标:打牢 C 语言、数据结构、电路基础C 语言开发:学变量 / 指针 / 结构体等核心语法,用 Dev-
    发表于 09-12 15:11

    嵌入式开发入门指南:从零开始学习嵌入式

    基础 3. 学习路径推荐第一阶段:熟悉开发环境(如Keil、IAR、STM32)第二阶段:掌握裸机编程与驱动开发第三阶段:学习RTOS(实时
    发表于 05-15 09:29

    入行嵌入式难度大不大?

    ,学习嵌入式会相对容易一些。但需要注意的是,嵌入式开发不仅需要技术能力,还需要具备良好的沟通能力和解决问题的能力。 (三)技能提升 对于已经在嵌入式领域工作的人来说,技能提升是保持竞争力的关键。 随着
    发表于 04-17 10:14

    嵌入式主板开发详细指南

    嵌入式主板开发涉及硬件设计、软件集成、系统优化等多个环节,需要结合具体应用场景进行深度定制。以下是嵌入式主板开发的详细指南,涵盖关键步骤、工具、挑战及实际案例:一、
    的头像 发表于 04-02 11:35 929次阅读
    <b class='flag-5'>嵌入式</b>主板<b class='flag-5'>开发</b>详细指南

    嵌入式系统开发圣经【干货】

    内容包括:嵌入式系统的介绍、嵌入式SoC硬件系统概论、嵌入式系统软件开发。适用于产品主管、系统设计分析人员及欲进入该领域的工程师。本资料详细
    发表于 03-12 13:58

    嵌入式教育科普|GPIO接口全面解析

    知识的掌握直接影响着嵌入式项目实现功能的成效。本文将以GPIO接口为切入点,深入解析其工作原理与技术特性,希望能帮助屏幕前想要学习嵌入式开发的小伙伴建立嵌入式接口的
    的头像 发表于 03-05 11:11 2733次阅读
    <b class='flag-5'>嵌入式</b>教育科普|GPIO接口全面<b class='flag-5'>解析</b>

    【入门必看】从菜鸟到大牛,嵌入式系统完整学习路线!看这篇就够了!

    嵌入式系统是许多现代电子设备和智能系统的核心,掌握嵌入式系统,意味着能够设计和开发更加智能化的产品。本文为所有想进入嵌入式领域的初学者提供一
    的头像 发表于 02-20 10:53 3168次阅读
    【入门必看】从菜鸟到大牛,<b class='flag-5'>嵌入式</b>系统完整学习路线!看这篇就够了!

    嵌入式机器学习的应用特性与软件开发环境

    设备和智能传感器)上,这些设备通常具有有限的计算能力、存储空间和功耗。本文将您介绍嵌入式机器学习的应用特性,以及常见的机器学习开发软件与开发环境。 嵌入式机器学习的应用特性与优势 由于
    的头像 发表于 01-25 17:05 1209次阅读
    <b class='flag-5'>嵌入式</b>机器学习的应用特性与软件<b class='flag-5'>开发</b>环境

    嵌入式工程师常用的开发工具有哪些?

    仿真器可以模拟复杂的微控制器和外设,帮助工程师在早期阶段进行软件开发和调试。这大大缩短了开发周期,降低了开发成本。 总之,嵌入式工程师需要
    发表于 12-20 15:29

    如何使用 RISC-V 进行嵌入式开发

    RISC-V是一种开源的指令集架构(ISA),它允许任何人设计、制造和销售基于RISC-V的处理器,这为嵌入式开发提供了极大的灵活性和创新空间。以下是使用RISC-V进行嵌入式开发的基本步骤: 一
    的头像 发表于 12-11 17:32 2745次阅读

    嵌入式系统开发与硬件的关系 嵌入式系统开发常见问题解决

    嵌入式系统开发与硬件的关系 嵌入式系统是专为特定应用设计的计算机系统,它们通常嵌入在所控制的设备中。这些系统的关键特点是它们与硬件的紧密集成,这意味着软件必须为特定的硬件平台量身定制。
    的头像 发表于 12-09 09:38 1466次阅读