当前位置: 首页 > news >正文

基于DSP+FPGA的机载雷达伺服控制系统(二)电源仿真

板级电源分配网络的分析与仿真
在硬件电路设计中,电源系统的设计是关键步骤之一,良好的电源系统为电路板
上各种信号的传输提供了保障。本章将研究电源完整性的相关问题,并提出一系列改
进电源质量的措施。
3.1 电源完整性
电源完整性(Power Integrity)简称为 PI,是指电源分配网络(Power Distribution
NetworkPDN)能够满足负载芯片对电源的需求。其设计目标主要有两个:一是为
负载提供干净的供电电压,二是为信号提供低噪声的参考路径[21]
随着芯片开关速度和晶体管数量的不断提高,芯片的功耗不断增加,开关在切换
时所需的瞬态电流需求越来越大,这些变化给电源分配网络的设计提出了巨大的挑战。
电源分配网络主要由如下几部分组成:电源芯片、安装在 PCB 板上的电容以及芯片
内部的电容和电源网络。本文主要针对安装在 PCB 板上的电容、电源和地平面进行
分析。
3.1.1
电源噪声的来源
电源噪声的来源主要包括三个方面:
1)电源芯片输出存在纹波。这部分噪声由芯片的制作工艺以及工作原理等决
定,当选择好电源芯片时,相应的输出噪声就会存在。常用的电源芯片有开关电源和
线性电源两种。开关电源的优点是发热少,转换效率高,一般可以达到 85%,输出电
流大,缺点是输出的波动较大,且可能会有尖峰脉冲,需要在输出端添加磁珠来改善。
而线性电源的发热较为明显,转换效率较低,但是线性电源的输出稳定,纹波较小。
要根据供电要求灵活选用。
(2)稳压电源无法及时响应快速变化的负载电流需求。随着芯片工作频率的不
断提高,芯片需要的电流变化的频率也越来越高,当该频率超过稳压电源的调整频
率时,稳压电源就无法及时为负载提供足够的电流,进而导致输出电压下降,产生
电源噪声。
(3)电源路径和地路径上存在压降[22]。由于电源路径和地路径存在阻抗,当电
流流过这些路径时,就会产生压降,因此负载电压就会随着电流的变化而产生波动。
同时过孔、封装引脚和芯片内部的电源网络也存在阻抗,都会产生压降。
3.1.2
建立仿真模型
仿真软件选择 Cadence 公司的 Allegro PCB PI Option XL 组件,该组件可进行电
源噪声分析和高速 PCB 电源分配系统的设计,其仿真功能主要分为单节点仿真和多
节点仿真两种[23]。单节点仿真仅考虑电容的去耦能力和目标阻抗之间的关系,通过该
仿真可以对比不同去耦电容网络的去耦能力的差别,方便用户选择合适的去耦电容网
络。多节点仿真则会考虑噪声源信号、电容的滤波半径和电容的布局等参数,该仿真
结果更接近真实的情况,通过多节点仿真可以完成去耦电容的布局工作。仿真软件的
基本使用流程如图 3.1 所示。
由于本章的主要内容在于电源完整性相关问题的分析与仿真,故电路模型的设计
重点放在电源分配网络的建立上,不考虑其余的外围电路。按照上述设计流程建立如
3.2 所示的预布局仿真模型。

 

 

如图 3.2 所示,该仿真模型的尺寸为 55*47.5mm,具体电路包括:DSP 控制芯片
TMS320F283351.9V 电源芯片 TPS744013.3V 电源芯片 TPS75633 以及由收发器
MAX490 和光电隔离芯片 HCPL0600 构成的上位通信接口电路;14 芯排针则作为接
插件,引入该模型所需要的 5V 电源。电路的工作频率取 DSP 的工作频率 150MHz
需要说明的是,在进行电源完整性仿真时,DSP 芯片和上位通信接口电路仅起噪声源
的作用,不考虑其实际的电路功能。
在完成预布局的基础上对仿真模型进行电源层划分,该模型所用到的电源有:
1.9V3.3V5V GND。划分好的电源平面如图 3.3 所示。
如图 3.3 所示,该模型的电源层一共划分为 3 层:第(1)层为完整的地平面;
第 (2)层则进行分割,划分为 1.9V 电源平面和 5V 电源平面;
第(3)层为完整的 3.3V
电源平面。各个电源层之间的间距设置为 8mil
3.2 去耦电容
为了使电源芯片的输出能够快速响应负载芯片的需求,主要采用的方法是在电源
芯片的输入输出引脚和负载芯片的供电引脚周围放置去耦电容[24]。本节将重点分析
电容的去耦原理和频域阻抗特性,并通过仿真提出改善电容去耦能力的措施。
3.2.1
电容去耦原理
电容去耦的原理可以从储能和阻抗两个角度进行理解。
1)储能去耦原理
3.4 给出了电容的储能去耦原理,C 为电源芯片外放置的去耦电容组合。当负
载电流保持不变时,电源电压和电容两端的电压也不变,且与负载芯片两端的电压一
致,此时流过电容的电流为零,负载所需的电流由电源提供。当负载芯片的电流快速
变化时,需要电源能够立即提供给负载芯片所需的电流,但是电源往往不能及时响应
负载电流的变化,这就会导致负载芯片的电压产生变化。此时电容两端的电压也会随
着负载电压的变化而变化,电容就会进行充放电并产生电流
为负载芯片提供电流,
从而保证负载芯片的电压不会产生明显的变化[25]
从储能的角度来理解去耦电容的作用比较直观,但是对于电路设计却没有多大的
帮助,因此需要从阻抗的角度理解电容的去耦原理。
(2)阻抗去耦原理
将图 3.4 中的负载芯片去掉,可以得到如图 3.5 所示的模型。从该模型的输出端
看进去,将电源与电容组合 C 当做一个整体的电源系统,即可以简化为图 3.6 所示的
电路。

 

 

 

 

 

然后在仿真模型内添加电压调节模块(VRM)和噪声源,由于 1.9V 电源仅为 DSP
的内核电源引脚供电,因此在 DSP 的位置添加噪声源,并设置噪声电流的最大幅度
0.5A。为了对比不同布局情况下的去耦效果,将分两种方式对去耦电容进行布局。
首先采用第一种方式进行布局,即将小电容均匀放置在最靠近DSP芯片的位置,
而大电容则适当远离 DSP 芯片放置,这种电容布局方式如图 3.17 所示。同时可以看
到,组件会自动在模型中设置多个仿真节点,这里选择位于 DSP 下方的四个仿真节
点进行仿真。多节点仿真结果如图 3.18 所示。
3.3 提升电源质量的措施
通过分析电容的实际特性、并联特性和安装后的特性,对比不同的电容网络选择
方法的去耦效果,可以得出一系列能够改善电源分配网络去耦效果的方法。在电路板
的设计过程中,具体可以采取以下方法来改善电路的电源完整性:
1)要合理选择电源芯片,兼顾转换效率与输出纹波。同时针对不同的场景灵
活选用线性电源和开关电源,比如给对电源比较敏感的模拟电路供电时,可以选择输
出噪声低的线性电源。
(2)去耦电容网络的选择尽量采用 Multi-PoleMP)方法,选择多种电容值的
电容搭配使用,避免使用容值差较大的去耦电容网络,为了兼顾成本与去耦效果,可
以使用 One per decade 方法来选择去耦电容。
(3)摆放电容时要考虑其去耦半径的大小,小电容要靠近芯片,而大电容可以
摆放的远一些。同时去耦电容要均布在芯片四周,不同电压的去耦电容要交替摆放。
(4)安装电容时,减小电容走线的长度,同时要加宽走线的宽度。这样可以保
证其电流回路面积较小,减少了安装电感对电容去耦效果的影响。
(5)电源平面和地平面的层叠设置要合理,尽量使电源平面与其对应的地平面
相邻。分割电源平面时尽量保证形状规则,使平面的阻抗均匀。

 信迈提供高速信号仿真方案。

相关文章:

基于DSP+FPGA的机载雷达伺服控制系统(二)电源仿真

板级电源分配网络的分析与仿真在硬件电路设计中,电源系统的设计是关键步骤之一,良好的电源系统为电路板 上各种信号的传输提供了保障。本章将研究电源完整性的相关问题,并提出一系列改 进电源质量的措施。 3.1 电源完整性 电源完整性&#xf…...

SpringBoot整合Redis、以及缓存穿透、缓存雪崩、缓存击穿的理解分布式情况下如何添加分布式锁 【续篇】

文章目录前言1、分布式情况下如何加锁2、具体实现过程3、测试3.1 一个服务按照多个端口同时启动3.2 使用jmeter进行压测前言 上一篇实现了单体应用下如何上锁,这一篇主要说明如何在分布式场景下上锁 上一篇地址:加锁 1、分布式情况下如何加锁 需要注意的点是: 在上锁和释放…...

优漫动游告诉你:平面设计适合你吗?

优漫动游告诉你:平面设计适合你吗? 什么样的同学可以适应平面设计这份工作呢?   略微有美术基础,当然功底越深越加分。   2.对色彩、形状、结构有一定的接纳力。   3.对图案、人像、字体等因素有审美辨别的能力…...

在Vue中,为什么从 props 中解构变量之后再watch它,无法检测到它的变化?

例如下面这段代码,msg无法被watch import { watch } from vue;export default {props: {msg: String},setup(props) {// 从 props 中解构 msgconst { msg } props;watch(() > msg,(newVal, oldVal) > {console.log(newVal, newVal);console.log(oldVal, old…...

[源码解析]socket系统调用上

文章目录socket函数API内核源码sock_createinet_createsock_allocsock_map_fd相关数据结构本文将以socket函数为例,分析它在Linux5.12.10内核中的实现,先观此图,宏观上把握它在内核中的函数调用关系:socket函数API socket 函数原…...

Jenkins部署与自动化构建

Jenkins笔记 文章目录Jenkins笔记[toc]一、安装Jenkinsdocker 安装 JenkinsJava启动war包直接安装二、配置mavenGit自动构建jar包三、自动化发布到测试服务器运行超时机制数据流重定向编写清理Shell脚本四、构建触发器1. 生成API token2. Jenkins项目配置触发器3. 远程Git仓库配…...

网络编程三要素

网络编程三要素 IP、端口号、协议 三要素分别代表什么 ip:设备在网络中的地址,是唯一的标识 端口号:应用程序在设备中的唯一标识 协议:数据在网络中传输的规则 常见的协议有UDP、TCP、http、https、ftp ip:IPv4和…...

如何编写一个自己的web前端脚手架

脚手架简介 脚手架是创建前端项目的命令行工具,集成了常用的功能和配置,方便我们快速搭建项目,目前网络上也有很多可供选择的脚手架。 一个"简单脚手架"的构成其实非常少,即 代码模板 命令行工具。其中代码模板是脚手…...

计算机网络第1章(概述)

文章目录1.1、计算机网络在信息时代的作用1.2、因特网概述1、网络、互连网(互联网)和因特网2、因特网发展的三个阶段3、因特网的标准化工作4、因特网的组成1.3 三种交换方式1、电路交换(Circuit Switching)2、分组交换&#xff08…...

grid布局

一、概述 CSS Grid 布局是 CSS 中最强大的布局系统。与 flexbox 的一维布局系统不同,CSS Grid 布局是一个二维布局系统,也就意味着它可以同时处理列和行。通过将 CSS 规则应用于 父元素 (成为 Grid Container 网格容器)和其 子元素(成为 Gri…...

博客平台打造出色的个人资料管理与展示:实用技巧与代码示例

个人资料管理与展示是博客平台的重要功能之一。本文将通过设计思路、技术实现和代码示例,详细讲解如何构建出色的个人资料管理与展示功能。结合CodeInsight平台的实践案例,帮助您深入了解个人资料管理与展示的设计原则和技术实现。 一、设计思路 在设计…...

【genius_platform软件平台开发】第九十三讲:串口通信(485通信)

485通信1. 485通信1.1 termios结构1.2 头文件1.3 函数讲解1.3.1 tcgetattr1.3.2 tcsetattr1.4 示例工程1.5 参考文献1.5.1 stty命令1.5.2 命令格式1.5.2 microcom命令1.5.2.1介绍1.5.2.2指令1.5.3 echo命令1.5.3.1 语法1.5.3.2 选项列表1.5.3.3 使用示例1.5.3.4 e cho > 输出…...

JavaScript动画相关讲解

JavaScript是一种非常流行的脚本语言,广泛应用于Web开发、游戏开发、移动应用开发等领域。在Web开发中,动画效果是非常重要的一部分,可以提高网站的用户体验和吸引力。JavaScript提供了一些基本的动画函数,但是这些函数往往不能满…...

InnoSetup制作安装包(EXE)

功能描述 1.666666.war为项目war包,666666.bat为启动war包脚本,通过InnoSetup将它们打包到安装包666666.exe 2.666666.exe安装包安装过程中将666666.bat注册为自启动服务,安装结束自动执行脚本启动项目666666.war --------------------------…...

CASE WHEN函数语句多条件下使用详解

目录 CASE 的两种格式: 简单CASE函数 和 CASE搜索函数 同时配合 SUM 以及 COUNT 方法的使用 ① SUM函数 ② COUNT函数 CASE WHEN函数语句,实现简单CASE函数和CASE搜索函数两种格式。同时配合 SUM以及COUNT方法的使用 CASE 的两种格式: 简…...

2.31、守护进程(2)

2.31、守护进程(2)1.守护进程的创建步骤2.什么情况下子进程不会继承父进程的组ID3.哪些操作会导致子进程的组ID发生改变4.kill怎么杀掉守护进程的实现守护进程1.守护进程的创建步骤 执行一个 fork(),之后父进程退出,子进程继续执…...

记录上传文件异常 /tmp/tomcat... (No space left on device)

一,问题描述 用postman调用上传接口,基本每两次调用会有一次报错,如下 {"timestamp": "2023-04-11T03:00:15.4690000","status": 500,"error": "Internal Server Error","exceptio…...

无向连通图中长度为 n 的循环

给定一个无向连通图和一个数字 n,计算图中长度为 n 的循环总数。长度为 n 的圈简单地表示该圈包含 n 个顶点和 n 条边。我们必须计算所有存在的此类循环。 示例: 输入:n = 4 输出:总周期数 = 3 解释 :遵循 3 个独特的循环0 -> 1 -> 2 -> 3 -> 0 0 -> 1 …...

打造出ChatGPT的,是怎样一群人?

震惊世界的ChatGPT,要多少人才能开发出来?几百,还是几千? 答案是:87个人。 老实说,刚看到这个数字真是惊到我了,印象里,之前看媒体报道各大巨头人工智能人才储备时,动辄…...

数据结构——栈与队列相关题目

数据结构——栈与队列相关题目232. 用栈实现队列思路225. 用队列实现栈1.两个队列实现栈2.一个队列实现栈20. 有效的括号思路1047. 删除字符串中的所有相邻重复项思路155. 最小栈150. 逆波兰表达式求值思路239. 滑动窗口最大值单调队列347. 前 K 个高频元素思路232. 用栈实现队…...

转转集团旗下首家二手多品类循环仓店“超级转转”开业

6月9日,国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解,“超级…...

跨链模式:多链互操作架构与性能扩展方案

跨链模式:多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈:模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展(H2Cross架构): 适配层&#xf…...

Rust 异步编程

Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...

JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作

一、上下文切换 即使单核CPU也可以进行多线程执行代码,CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短,所以CPU会不断地切换线程执行,从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...

云原生安全实战:API网关Kong的鉴权与限流详解

🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 1. API网关(API Gateway) API网关是微服务架构中的核心组件,负责统一管理所有API的流量入口。它像一座…...

Selenium常用函数介绍

目录 一,元素定位 1.1 cssSeector 1.2 xpath 二,操作测试对象 三,窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四,弹窗 五,等待 六,导航 七,文件上传 …...

给网站添加live2d看板娘

给网站添加live2d看板娘 参考文献: stevenjoezhang/live2d-widget: 把萌萌哒的看板娘抱回家 (ノ≧∇≦)ノ | Live2D widget for web platformEikanya/Live2d-model: Live2d model collectionzenghongtu/live2d-model-assets 前言 网站环境如下,文章也主…...

关于easyexcel动态下拉选问题处理

前些日子突然碰到一个问题,说是客户的导入文件模版想支持部分导入内容的下拉选,于是我就找了easyexcel官网寻找解决方案,并没有找到合适的方案,没办法只能自己动手并分享出来,针对Java生成Excel下拉菜单时因选项过多导…...

macOS 终端智能代理检测

🧠 终端智能代理检测:自动判断是否需要设置代理访问 GitHub 在开发中,使用 GitHub 是非常常见的需求。但有时候我们会发现某些命令失败、插件无法更新,例如: fatal: unable to access https://github.com/ohmyzsh/oh…...

02.运算符

目录 什么是运算符 算术运算符 1.基本四则运算符 2.增量运算符 3.自增/自减运算符 关系运算符 逻辑运算符 &&:逻辑与 ||:逻辑或 !:逻辑非 短路求值 位运算符 按位与&: 按位或 | 按位取反~ …...