硬件系统工程师宝典(2)-----硬件电路的概要设计启动

2023-11-05

今天我们继续来读这本书,硬件系统工程师宝典。作者提到,产品需求分析之后就进入概要设计阶段。在这个阶段,ID(Industrial Design)工业设计及结构工程师、软件系统开发工程师和硬件系统开发工程师等开始分头工作。

工业设计工程师负责使一件产品的功能设计和美学设计相结合,其实就是做到又好看又好用;软件系统开发工程师负责在确定的硬件开发平台上,根据用户的需求,实现具体功能,根据开发的层面和开发环境的需求,选择有操作系统和无操作系统开发。

我们主要来看下硬件系统概要设计中的主要任务:根据需求分析,选定硬件系统设计的核心芯片,设计系统架构框图、关键链路链接图和时钟分配框图等,并根据各部分功能电路的功耗情况,制定电源设计总体方案。具体的说就是对设计过程中的信号完整性(SI)、电源完整性(PI)、EMC/EMI的可行性、结构与散热设计的可行性、工艺的可行性、测试的可行性等环节做初步分析。

总的来说概要设计相比需求分析更加细节,可以提前发现设计问题,这样可以显著缩短开发周期,本人就曾在一个项目中没有考虑一个安规的初次级耐压问题,面临PCB要重新设计打板的悲惨命运。

信号完整性的可行性分析

1.明确PCB上需要特殊处理的高速信号的种类,并予以归纳分别进行分析。

2.搭建SI信号完整性分析的平台,如Cadence Allegro、Allegro Sigrity等。

3.在原理图设计阶段针对要评测的各个指标进行归类,从理论上进行SI分析指标的评测。

4.PCB布线阶段使用仿真工具量化信号的各项性能指标,从而对PCB Layout进行元器件布局5.布线结束后,对需要量化分析的信号进行各项性能指标的仿真验证。

电源完整性的可行性分析

1.根据BGA引脚的扇出、电源平面与地平面数量确定PCB的叠层结构。

2.根据设计的要求,确定去耦电容的类别。

​电容的分类

3.根据PCB上信号的工作频率及PCB的叠层结构确定平面进行谐振分析的频率。这里平面谐振是能量被夹在两个平行板之间,因原始信号与其反射信号同相而形成的共振腔效应。

4.确定各个电源平面的目标阻抗。电源平面的目标阻抗为:Zo=△V/△I,△V是电源平面电压的波动范围,△I是动态电流的波动范围。

5.分析直流压降,确定大电流路径。直流压降IR Drop的含义为直流工作时由直流电阻造成的电压降。

EMC的可行性分析

EMC设计的方法可以分为以下四点:接地、滤波、隔离和屏蔽。

接地能够有效将噪声导入GND平面;滤波能够将无效信号频段滤除;隔离能够阻挡噪声的传导,屏蔽能够有效阻断噪声的辐射干扰。

进行产品的EMC可行性分析时,先要确定产品定位,从而对应其标准进行测试。对于EMC的可行性分析,可以着重从三个方面入手:

1.保护受干扰的群体。

2.切断干扰噪声的传输路径。

3.隔离干扰源。

结构与散热设计的可行性分析

当器件工作时,器件功耗的绝大部分能量将以热能的方式散发出去。每个器件都有一个稳定工作的温度范围。

​散热风扇与散热导管

在结构与散热设计的可行性分析中,在满足结构可装配性的前提下,可以从以下几个方面来考虑:

1.器件自身的功耗情况。评估每个芯片的最大功耗,进行相应的散热处理

2.评估器件的散热对周边器件的影响对于一些热源器件,如DC/DC模块、LDO模块和高功耗的IC,在PCB布局时,应远离对温度敏感的器件,避免其性能降低。

3.评估PCB上的散热通道在利于PCB整体散热的情况下,把控整个PCB的布局。如:把热量高的器件布置在下风道,利于提高PCB整体的散热处理效果。

测试的可行性分析

测试可行性分析即是为了验证设计产品是否达到所设计的指标,那么就需要我们在设计中放置测试点,对测试点需要明确测试点的大小、间距、数量等设计参数。

1.设计的可测试性验证为了便于进行设计的可测试性验证,在设计时需要注意:对所有的关键信号都要添加测试点;在待测信号测试点附近都要合理添加测试用的地孔;为便于进行强度测试,要在合适的位置适当增加强度测试的输入点。

2.量产的可测试性验证自动光学检查、自动X射线检查、飞针测试、ICT、FCT和边界扫描适用于量产的可测试性分析,需要根据不同的量产情况选择合适的测试方案。

工艺的可行性分析

1.设计的PCB的叠层结构是否符合PCB生产的工艺要求。

2.PCB上的走线宽度和敷铜厚度是否符合PCB生产的工艺要求。

3.走线单端阻抗及差分阻抗有特定要求的走线,所设计的走线参数是否符合厂家生产阻抗控制板的要求。

4.确定PCB上所采用的孔的类别:机械钻孔或激光孔是否符合厂家的要求。

5.为满足量产要求,对于面积较小的PCB,在加工时,一般需要拼版处理,拼版前需要与PCB厂确认拼版工艺,合理添加拼版的MARK光学定位点。

6.根据设计需求,确定PCB表面的处理工艺。7.确定厂家加工生产所需的图纸文件格式。8.PCB SMT所需资料的确认。

设计系统框图及接口关键链路

在进行系统设计时,有时系统会比较复杂,理解系统的工作流程后,直接进行电路设计有一定难度,如果可以将系统的各个功能进行模块化分类,关注各个模块彼此之间的连接接口,并深入每个功能模块进行电路的设计会起到事半功倍的效果。如下图所示,是基于P2020的系统设计框图:

基于P2020的系统设计框图

从该图中可以读出一系列内容,从系统层面把控整个电路的基本功能。

电源设计总体方案

一般硬件系统设计中最常见的电源变换类型是直流转直流,LDO和DC/DC是常用的两种电源电路。

LDO具有输出电源纹波和噪声小、应用简单、成本低、电压输入与输出无延时的优点,但LDO的工作效率低,能耗消耗大,受自身散热条件限制只支持相对较小的电流输出。且LDO只能实现降压,其内部晶体管工作在线性区,所以无法实现电源输入端与输出端的有效隔离。

DC/DC采用MOSFET控制电源的输入与输出,通过控制MOSFET开关的时间来控制输入回路与输出回路的连通和断开的时间,进而输出不同的电压值。DC/DC自身消耗能量低,输入与输出电源的转换效率高,且支持升压、降压、反相等变换,输入的电流大,支持输入与输出的有效隔离,但DC/DC电路设计复杂,相应成本也高,电源输入和输出有一定的延迟,且输入电源的纹波和噪声较大。

通过系统框图的分析,就可以明确系统所具有的功能模块,根据各个关键功能模块的电源电压与电流值,计算能耗情况,就可以对应给出各个功能模块所需要的VRM。如下图所示是根据电流流向及各个功能模块所需要的供电模块组成的某个系统的电源总体架构。

某个系统的电源总体架构

通过系统电源的拓扑结构,不仅可以清楚地看出电流的流向,还可以实时核查出每一部分的功耗及系统总的功耗。

时钟分配图

时钟电路就如同汽车的发动机给汽车提供前行的动力一样,是驱动各个接口之间通讯,进行数据采样所必需的。在现代电子系统的设计中,用到的时钟频率越来越多(如IC内核工作的时钟等),需要在电路设计的初期理清楚电路的时钟分配,选定合适的时钟电路。

以上就是硬件电路的概要设计的相关论述,对硬件开发概要设计中的信号完整性的可行性、电源完整性的可行性、EMC的可行性、结构与散热的可行性、测试的可行性、工艺的可行性、硬件系统的框图设计、关键链路设计、硬件系统的电源设计方案和系统工作的时钟分配图进行了框架性的论述。

通过这些论述,我们可以知道概要设计需要考虑的设计问题,在电路设计初期考虑、搞定可行性分析,可以大大减少后期开发设计的问题,缩短开发周期。


另外,整理了一些电子工程类的资料,分享给大家,目前有模拟电路、单片机、C语言、PCB设计、电源相关、FPGA、EMC、物联网、Linux相关学习资料,还有针对大学生的资料包,后续还会有更多资料分享给大家,助力大家学习,成就梦想~

链接可在往期文章中找(在文章的最后有链接)~

模拟电路设计的九个级别,你是模电几段?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

硬件系统工程师宝典(2)-----硬件电路的概要设计启动 的相关文章

  • windows的磁盘操作之二——初始化磁盘

    转载自 windows的磁盘操作之二 初始化磁盘 bunny技术坊的技术博客 51CTO博客 原文如下 上一节中我们介绍了一些基本概念和主要的API 本节开始我们将列举并分析一些实例 本文中的所有代码我都在vs2008下测试过 读者只需要替
  • Flutter使用C++

    总体 flutter通过dart语言和C 交互 dart的ffi包完成交互 ffi封装了c 的基本数据类型 包括结构体 和一些基本方法 我们可以直接在dart中访问c 的内存数据等 相对于jni更加直接 基本步骤 官方步骤 https do

随机推荐

  • 数据挖掘七种常用的方法汇总

    数据挖掘 Data Mining 就是从大量的 不完全的 有噪声的 模糊的 随机的实际应用数据中 提取隐含在其中的 人们事先不知道的 但又是潜在有用的信息和知识的过程 这个定义包括几层含义 数据源必须是真实的 大量的 含噪声的 发现的是用户
  • 将本地jar 批量发布到 Nexus 私服

    前言 在日常开发过程中 我们有遇到将项目依赖通过 mvn deploy 发布到自己的公司的私服 以便其他人 环境统一下载入口 但是也有一些特殊情况 比如只能拿到第三方 或甲方 的依赖jar 并拿不到源码 所以只能将jar 通过 mvn de
  • 有限域GF(2^8)内乘法代码实现以及原理

    在密码学中经常用到有限域的乘法 一般在AES中用到的是GF 2 8 有限域内乘法 什么是有限域呢 有限域通俗的讲就是函数的运算结果全都包含在一个域中 不同于实数域 有限域有一个最大值 所有超过这个最大值的数都会经过一定的方法使他回到这个域中
  • 主成份分析(PCA)详解

    主成分分析法 Principal Component Analysis 大多在数据维度比较高的时候 用来减少数据维度 因而加快模型训练速度 另外也有些用途 比如图片压缩 主要是用SVD 也可以用PCA来做 因子分析等 具体怎么用 看个人需求
  • Docker基础(1)—— Docker基本概念

    Docker基础 1 Docker基本概念 Docker基础 2 Docker安装及基础操作 关于docker是什么以及docker的教程网上有很多资料 GitBook上的Docker教程是比较官方和全面的 以下我结合手册的学习及在慕课网上
  • mini2440按键中断

    ARM中断控制系统 按键驱动程序设计 一 Arm中断控制系统 1 查询方式 程序不断地查询设备的状态 并做出相应的反应 该方式实现比较简单 常用在比较单一的系统中 比如 一个温控系统中可以实用查询的方式不断检测温度变化 特点 实现简单 但C
  • 操作系统——LRU算法以及置换次数、缺页数、缺页率计算

    目录 一 LRU是什么 二 LRU算法的规则 三 缺页 换页 四 计算页面置换次数 缺页数 一 LRU是什么 LRU 全称是Least Recently Used 即最近最少使用页面置换算法 从字面意思上可以看出 选择最近最久未使用的页面予
  • python猜硬币正反面_python 编写猜硬币小游戏

    猜硬币解法1 import random guess while guess not in 0 1 print 猜硬币游戏 print 猜一猜硬币是正面还是反面 guess int input 正面 请输入0 反面 请输入1 注意要用int
  • 【STM32】

    失败了也挺可爱 成功了就超帅 文章目录 前言 1 JTAG SWD引脚 2 禁用JTAG功能 2 1 标准库 2 2 HAL库 3 禁用SWD JTAG功能 3 1 标准库 3 2 HAL库 总结 前言 最近在画板子耍 我LED灯选用的 P
  • 当测试人员遇上CodeReview:揭秘代码审查绝招

    引言 测试人员的业务流程理解程度 直接影响测试用例的准确性和全面性 为了提高测试用例编写水平和测试效率 有两个关键方面需要注意 首先 通过仔细阅读需求文档并与产品经理进行充分沟通的方式可以达到这一目标 其次 通过进行代码审查来提高代码质量
  • matlab实现离散傅里叶变换及低通滤波

    如图传感器无滤波状态下FZ数据为下列 导入matlab使用工具箱分析图如下 将数据导入matlab代码 clear clc close all load data nofliter Fs 100 采集频率 T 1 Fs 采集时间间隔 信号长
  • c++对象模型探索-王健伟-专题视频课程

    c 对象模型探索 120人已学习 课程介绍 c 对象模型知识久负盛名 在c 界具有很高的美誉度 这方面知识的学习 更是被诸多颇具开发实力的行业前辈倾力推荐 本门课程内容将涉及到很多不被常人所知的 c 对象内部工作原理 底层的一些具体实现机制
  • 面试 -为啥react函数式组件无this?

    为什么函数式组件的this不指向window 因为这是经过Babel翻译的结果 Babel要将jsx语法翻译成js Babel是严格模式 use strict 下进行的 不允许函数里的this指向window 所以这里指向undefined
  • 飞浆AI studio人工智能课程学习(2)-Prompt优化思路

    文章目录 优化思路 上节课的例子 问题分析 思路解析 Prompt优化技巧 Prompt优化原理 十个技巧高效优化Prompt 迭代法 Trick法 工具法 通用技巧 定基础 通用技巧 做强调 需求强调怎么做 通用技巧 提预设 Trick法
  • 认知迭代:Tomcat性能提升的实战操作,提升60倍以上tomcat性能

    经常听到不少人说一句话 tomcat性能差 不如去用weblogic websphere jboss 我想说 用什么东西得根据实际情况来吧 如果给一个小公司的外包开发一个普通的项目 给她用Oracle Weblogic 在高速公路上 拖拉机
  • QT定制帮助文档

    先给个教程链接 https www cnblogs com Braveliu p 5055387 html
  • Win8下用DOSBox编写汇编语言

    Win8下用DOSBox编写汇编语言 DOSBox 是一个 DOS模拟程序 可以很方便的移植到其他的平台 因此可以使用它在Win8系统中编写汇编语言 下面提供相关下载链接 DOSBox下载 http pan baidu com s 1qWw
  • 简易学生信息管理系统(Python版)

    一 系统简介 实现一个学生信息的管理系统 主要功能有 添加学生信息 删除学生信息 修改学生信息 查询学生信息 显示学生信息 退出当前系统 二 步骤分析 显示功能界面 用户输入功能序号 对不同序号的功能实现具体函数 3 1 定义函数 3 2
  • [Python人工智能] 十八.Keras搭建卷积神经网络及CNN原理详解

    从本专栏开始 作者正式研究Python深度学习 神经网络及人工智能相关知识 前一篇文章详细讲解了Keras实现分类学习 以MNIST数字图片为例进行讲解 本篇文章详细讲解了卷积神经网络CNN原理 并通过Keras编写CNN实现了MNIST分
  • 硬件系统工程师宝典(2)-----硬件电路的概要设计启动

    今天我们继续来读这本书 硬件系统工程师宝典 作者提到 产品需求分析之后就进入概要设计阶段 在这个阶段 ID Industrial Design 工业设计及结构工程师 软件系统开发工程师和硬件系统开发工程师等开始分头工作 工业设计工程师负责使