关注、星标公众号,直达精彩内容

来源:网络素材

整理:李肖遥

传送门 : 总结了一份嵌入式产品研发的具体流程

之前,我们详细讲述了嵌入式产品的研发流程,那么在这一节,我们具体以嵌入式产品的硬件部分为例,再次讲解其开发过程,希望通过这一节,大家能对嵌入式硬件开发流程有更深刻的认识,在以后的学习和工作中,更加规范化和标准化,提高开发技能。嵌入式硬件开发流程一般如下图,分为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:硬件产品

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

‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧  END  ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧

扫描下方微信,加作者微信进技术交流群,请先自我介绍喔。

推荐阅读:

嵌入式编程专辑Linux 学习专辑C/C++编程专辑
Qt进阶学习专辑关注微信公众号『技术让梦想更伟大』,后台回复“m”查看更多内容。
长按前往图中包含的公众号关注

总结了一份嵌入式硬件开发的具体流程相关推荐

  1. 记嵌入式硬件开发实习

    在这里想把自己的实习过程记录一下! 一来可以帮助自己巩固知识,二来也希望对看到这些的人(和我一样几乎零基础的)有所借鉴. 前三天: 使用altium designer 进行PCB的设计! 这个软件之前 ...

  2. ST32/GD32嵌入式硬件开发总目录

    简介     欢迎大家来到<ST32/GD32嵌入式硬件开发>,专栏主要以STM32,GD32系列的控制器为例,详细介绍嵌入式硬件的开发:在开始专栏的更新前,博主先列出专栏的大纲,以供大家 ...

  3. 嵌入式硬件开发工程师的工作内容

    嵌入式硬件开发工程师主要编写嵌入式系统硬件总体方案和详细方案,要求理解嵌入式系统架构,有一定的C语言基础,熟悉ARM.PROTEL设计软件,有四层板开发经验. 成为优秀的嵌入式硬件开发工程师需具备以下 ...

  4. 嵌入式硬件开发工程师涉及哪些工作内容?

    相信很多人都了解嵌入式工程师需要掌握的内容非常广泛,学习嵌入式又分为软件和硬件两种不同的发展方向,而它们学习的侧重点也是不一样的.但都有一个特点就是踏入这个行业的难度比较大,相对应的,嵌入式人才也更稀 ...

  5. 嵌入式硬件开发基础(持续更新)

    电阻 理论基础 电阻的定义 电荷在导体中运动时,形成电流.导体中的分子.原子等其他粒子阻碍电荷移动,进而阻碍电流这种阻碍作用,我们称之为电阻. 欧姆定律 经典公式:I=U/RI=U/RI=U/R 交换 ...

  6. 嵌入式硬件开发之三——绘制原理图

    3 绘制原理图 3.1 创建原理图工程 依次点击菜单File->New->Project 设置工程的名称,选择Schematic,选择工程的路径,点击OK. 3.2 更名及属性设置 右击S ...

  7. VSCode嵌入式硬件开发环境设置

    1.设置自动检测编码,避免中文乱码 第3步:在搜索中搜索 files.autoGuessEncoding(直接找到文件目录也可)

  8. ZYNQ - 嵌入式Linux开发 -06- petalinux设计流程

    写在前面 本文主要对petalinux设计流程进行简略介绍. petalinux设计流程介绍 PetaLinux 工具提供了在 Xilinx 处理系统上自定义. 构建和部署嵌入式 Linux 解决方案 ...

  9. ZYNQ - 嵌入式Linux开发 -10- ZYNQ启动流程分析

    FSBL启动准备工作 在静态情况下,Boot.BIN启动文件存放在SD卡或QSPI等存储介质中,然后Boot.BIN文件中已经包含了FSBL代码,也就是说FSBL代码已经集成在了Boot.BIN文件中 ...

  10. 【转】嵌入式产品开发流程

     嵌入式产品,与普通电子产品一样,开发过程都需要遵循一些基本的流程,都是一个从需求分析到总体设计,详细设计到最后产品完成的过程.但是,与普通电子产品相比,嵌入式产品的开发流程又有其特殊之处.它包含嵌入 ...

最新文章

  1. 14春计算机基础作业2,北语14春《计算机基础》作业2 答案.docx
  2. 讲讲我和Spring创始级程序员共同review代码的故事
  3. 编写五子棋程序时如何添加下棋时的音效_干货:如何提高编程能力
  4. 统计学习方法第十九章作业:马尔可夫链蒙特卡罗法、吉布斯抽样算法(书上题目) 代码实现
  5. 17行代码AC——习题5-3 卡片游戏(Throwing cards away I, UVa 10935,约瑟夫环)_解题报告
  6. leetcode 第2高的薪水 oracle_詹姆斯本赛季薪水3744万美元排在第6位,比他高的都有谁?...
  7. 使用web3和infura开发以太坊ethereum区块链
  8. Coinbase是如何在其加密货币交易平台上应对扩展性挑战的
  9. 中外合作有开计算机课吗,探究中外合作办学计算机应用课程建设.doc
  10. Kubernetes网络模型概念
  11. 计算机陕西高校保研排名,陕西高校保研率排行,西安交通大学超30%排第一,西北工业第二...
  12. java 项目开发流程_详解JAVA开发之JAVA项目开发的基本流程
  13. CoolHC Volume 1 By CoolFire
  14. iOS应用商店审核指南
  15. 高效工作的浏览器插件
  16. 一般信道容量的计算matlab,基于Matlab的信道容量计算
  17. MyBatis知识汇总(第四篇)分页:LIMT(SQL方式),RowBounds(Java对象方式)
  18. CSS3——制作带动画效果的小图片
  19. win7计算机个性化,win7系统桌面右击不显示个性化选项的解决方法
  20. Spring框架中的单例Beans是线程安全的么

热门文章

  1. C# 调用mschart控件
  2. VOSviewer | (二)入门-分析web of science
  3. 经典的SQL面试题及答案
  4. eslint / prettier 检查格式配置、husky / lint-staged 强制校验、tslint 配置
  5. JSAPI微信公众号apiV3文档支付
  6. Latex安装与使用
  7. keil 之Vscode编辑器插件、格式化代码插件和最新注册机分享
  8. python提取cad坐标_cad中坐标提取方法(一)
  9. android nfc贴卡多次读写,Android Studio NFC 读写卡程序 (二)(示例代码)
  10. Vibe算法简介、优缺点、代码