解析DDR设计中容性负载补偿的作用

news2024/11/15 16:40:33

高速先生成员--孙小兵

我们先来了解一下容性负载和感性负载对链路阻抗的影响。仿真链路模型如下图所示。链路中有三段50Ω的理想传输线,第一段和第二段之间增加一个电容模拟容性负载,第二段和第三段之间增加一个电感模拟感性负载,链路末端是一个1KΩ的电阻相当于开路。利用TDR仿真工具看整个链路的阻抗情况。

这里先简单介绍一下阻抗曲线结果如何看。坐标横轴表示时间,对应传输线从一端看过去不同传输时刻的位置点,坐标纵轴表示阻抗值。从下面阻抗曲线来看。链路在传输1ns时阻抗发生变化,而在链路中第一段传输线的传输时延是0.5ns。为什么时间刻度不对应呢?原因是看链路时域阻抗的方法是通过信号反射原理,比较输入电压和反射回来的电压幅值。脉冲信号需要有一个来回的过程。所以阻抗曲线中时间点实际是传输线时延的两倍。

 

从上面链路阻抗曲线结果来看,容性负载导致链路阻抗瞬间降低,然后又缓慢上升恢复到原来走线阻抗。感性负载导致链路阻抗先慢慢升高,然后缓慢恢复到链路阻抗上。对于链路中的出现的容性突变和感性突变,信号感受到的阻抗变化并不是只存在一瞬间的,而是随时间变化的。

了解了链路中容性负载和感性负载对链路阻抗的影响后,下面我们就来看看在DDR的Fly_By设计链路中容性负载对链路阻抗的影响。如下是常见的DDR一拖五的Fly_By拓扑的设计方案,链路中一个主控拖五个负载颗粒,端接电阻放在最后一个颗粒后面。

 

 

我们先对比下做容性负载补偿前后DDR链路前端颗粒信号质量情况,因为对于Fly_By链路,前端颗粒的信号质量是最差的。下图是有无做容性负载补偿链路中前端颗粒仿真得出的信号眼图。

从以上仿真结果来看,当没有做容性负载补偿时前端颗粒接收信号眼高为193mV,而做了容性负载补偿之后,信号眼高升高到303mV。因此在多负载链路中,容性负载补偿对负载信号质量有明显地改善。

那容性负载对链路究竟是产生怎样的影响呢?容性负载补偿具体需要怎么做,为什么做容性负载补偿可以改善链路上的信号质量?下面就通过对链路阻抗的观察分析进行阐述。

分别提取上面链路中支路走线做容性负载补偿前后的S参数,利用仿真软件看链路TDR详情如下,探测点选在主控一端。蓝色曲线是未做容性负载补偿的链路阻抗,区域1主干道阻抗是40Ω,分支部分阻抗最低约32Ω,区域2平均阻抗大致为34Ω。红色曲线是做容性负载补偿的链路阻抗结果,分支部分刚开始的阻抗趋向50Ω,但会马上下降,分支部分阻抗最低约37Ω, 区域2平均阻抗大致为41Ω。

由上面的纯链路阻抗结果分析可知,信号在分支部分感受到的阻抗会比实际走线阻抗偏低6-10Ω,而容性负载补偿就是将分支部分的阻抗故意抬高,使得链路整体阻抗更趋于匹配。

前面我们只考虑了分支Stub和过孔的影响。除了这些影响因素,芯片封装电容和Die电容也是影响链路阻抗的重要原因,这些因素将导致链路阻抗更低。下面我们接着分析链路增加芯片寄生电容的影响。由于一般芯片的寄生电容值大致在3pF左右,故我们在每一个负载位置挂一个3pF的电容来模拟芯片寄生电容的影响。下面是增加芯片寄生电容前后链路阻抗曲线结果。

由上面两张阻抗曲线结果图来看,芯片寄生电容的影响将导致链路阻抗再降低5Ω左右。没有做容性负载补偿时,信号在分支部分感受到的阻抗只有30Ω。而做了容性负载补偿的链路,信号在分支部分感受到的阻抗大致为35Ω,这可能比主干道的40Ω还是偏差较大,但也是更趋于接近了。

下图是一个DDR一拖三Fly_By链路的阻抗测试结果,主干道和支路走线阻抗都控制在50Ω,没有做容性负载补偿处理。绿色曲线是光板阻抗测试结果,红色曲线是贴了DDR颗粒的阻抗测试结果。可以看出光板情况下分支部分阻抗会比主干道偏低3Ω,而增加了颗粒封装寄生电容的影响,分支部分阻抗只有44Ω,比主干道阻抗偏低6Ω。

由以上测试和仿真结果分析可知,在多负载的Fly_By链路中,由于分支Stub,过孔寄生电容,芯片封装电容和Die电容等因素,导致负载呈容性,使得信号在支路部分感受到的阻抗将会比实际走线阻抗偏低。而容性负载补偿就是事先将支路部分走线阻抗做高,或者将主干线阻抗降低,用以平衡或者抵消容性负载导致阻抗偏低的影响,使得链路整体阻抗更趋近于匹配,从而改善信号质量。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/535791.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL数据库——MySQL字符集和校对规则详解

在讲解字符集和校对规则之前,我们先来简单了解一下字符、字符集和字符编码。 字符(Character)是计算机中字母、数字、符号的统称,一个字符可以是一个中文汉字、一个英文字母、一个阿拉伯数字、一个标点符号等。 计算机是以二进制…

HTML处理控件Aspose.Html 功能演示:将 URL 转换为 PDF

Aspose.Html for .NET 是一种高级的HTML操作API,可让您直接在.NET应用程序中执行广泛的HTML操作任务,Aspose.Html for .NET允许创建,加载,编辑或转换(X)HTML文档,而无需额外的软件或工具。API还…

如何通过SOLIDWORKS driveworksxpress初步实现参数化设计

当提到参数化设计,我们首先需要了解究竟什么是参数化设计,它是指从一个系统的角度,计划所有的设计过程,在整个系统中建立组件、次组件和子零件之间的关系,在最上层的部分建立设计意图,并将其往较下层的部分…

软件设计师 程序设计语言笔记

解释编译程序翻译阶段背诵 C 语义分析背诵 正规式题背诵 **星号表示闭包:出现0次或者多次 星号一般是就近原则,左边最近的第一个 星号你可以自定义数 1旁边没有闭包符号所以控制不到1所以这题选b 有限自动机 第一位和最后一位都必须是0 a这里的&…

jenkins 进行 gitlab, maven ,nodejs 配置

文章目录 一 . gitlab配置1. 安装gitlab插件 并进行配置2. 配置gitlab 二 maven配置一 安装maven插件二 进行maven环境配置 nodejs配置一 安装nodejs插件二 进行nodejs配置 一 . gitlab配置 1. 安装gitlab插件 并进行配置 登录gitlab进入token信息获取页面 输入名称, 选择api…

ABAP 集成钉钉开放平台

SAP->钉钉审批集成流程图 钉钉开放平台下载证书 进入钉钉开放平台,找到钉钉被调用api的域名 钉钉获取应用token官方文档 请求方法处可以找到域名,直接通过域名访问api地址下载证书 域名:api.dingtalk.com 访问域名获取证书信息 有三层…

C++显式,默认拷贝构造函数的特征以及使用

文章目录 前言一、拷贝构造函数特征二、默认拷贝构造函数(编译器生成) 前言 C规定: 1.内置类型传参直接拷贝。 2.自定义类型传参要进行拷贝构造完成拷贝 拷贝构造函数:只有单个形参,该形参是对本类类型对象的引用(一般…

ofo小黄车创始人赴美创业,他还欠你押金不?

ofo创始人近期又去美丽国创业去了,开始搞冰镇珍珠咖啡的生意去了,做为普通大众吃瓜的我,不禁想到,不是还欠了那么多钱呢,又开始创业了?钱从哪里来的?创业真的是想创就创?咋我还是苦哈…

ChatGPT实现旅行安排

工作之余,出门旅行一趟放松放松身心,是对自己辛勤工作最好的犒劳方式之一。旅行可以近郊游、可以远游,可以穷游,可以自驾游,可以一言不合打飞的喂鸽子,方式多种多样。但是多数情况,我们是到一个…

[Golang] 管理日志信息就用Zap包

😚一个不甘平凡的普通人,致力于为Golang社区和算法学习做出贡献,期待您的关注和认可,陪您一起学习打卡!!!😘😘😘 🤗专栏:算法学习 &am…

数字图像处理【9】频域应用—快速傅里叶和二维变换

第一篇我们系统的介绍了傅里叶级数、傅里叶变换、离散傅里叶变换。本篇介绍快速傅里叶变换,并说说傅里叶变换在二维图像上是如何应用的。 首先我们快速的回顾一下第一篇内容,伟大的法国数学家、物理学家——让巴普蒂斯约瑟夫傅里叶,发现了周…

【Spark编程基础】第7章 Structured Streaming

系列文章目录 文章目录 系列文章目录前言第7章 Structured Streaming7.1 概述7.1.1 基本概念7.1.2 两种处理模型7.1.3 Structured Streaming 和 Spark SQL、Spark Streaming 关系 7.2 编写Structured Streaming程序的基本步骤7.3 输入源7.3.1 File源7.3.2 Kafka源7.3.3 Socket源…

开发框架Furion之WebApi+SqlSugar (一)

目录 1.开发环境 2.项目创建 2.1创建WebApi主项目 2.2 创建Start类库 2.3创建Model实体类库 2.4创建Application仓储业务类库 2.5创建Unility通用方法类库 3.基础功能配置 3.1 Model实体对象与数据表映射 3.2 基类仓储及动态Api接口配置 3.3 数据库IOC注册 3.4 Star…

Java字符串知多少:String、StringBuffer、StringBuilder

一、String 1、简介 String 是 Java 中使用得最频繁的一个类了,不管是作为开发者的业务使用,还是一些系统级别的字符使用, String 都发挥着重要的作用。String 是不可变的、final的,不能被继承,且 Java 在运行时也保…

【C++】哈希表-开散列闭散列

文章目录 哈希概念例子: 哈希冲突哈希函数哈希冲突解决方法1:闭散列 哈希表的闭散列实现闭散列结构设计**哈希表的插入过程:****哈希表的查找过程:**哈希表的删除过程:只能存储key为整形的元素 那其他类型怎么解决 CloseHash.h哈希表的开散列实现开散列概念开散列的最坏情况及解…

车机CarLauncher的Activity多屏模式WindowingMode为WINDOWING_MODE_MULTI_WINDOW疑问解析

hi,粉丝朋友们! IntDef(prefix { "WINDOWING_MODE_" }, value {WINDOWING_MODE_UNDEFINED,WINDOWING_MODE_FULLSCREEN,WINDOWING_MODE_MULTI_WINDOW,WINDOWING_MODE_PINNED,WINDOWING_MODE_SPLIT_SCREEN_PRIMARY,WINDOWING_MODE_SPLIT_SCREE…

nacos注册中心源码分析一之服务注册、服务心跳

源码分析 nacos客户端注册分析 依赖包 <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency>Nacos的客户端是基于SpringBoot的自动装配实现的 看下依…

算法性能分析

一、时间复杂度分析 1.什么是时间复杂度 时间复杂度是一个函数&#xff0c;它定性描述该算法的运行时间。我们在软件开发中&#xff0c;时间复杂度就是用来方便开发者估算出程序运行的答题时间。 那么该如何估计程序运行时间呢&#xff0c;通常会估算算法的操作单元数量来代表…

10个顶级AI艺术生成器

人工智能 (AI) 不仅影响商业和医疗保健等行业。 通过开创人工智能生成艺术的新时代&#xff0c;它还在创意产业中发挥着越来越重要的作用。 人工智能技术和工具通常可供任何人广泛使用&#xff0c;这有助于创造全新一代的艺术家。 我们经常听说人工智能将自动化或接管所有人类…

Java中的正则表达式详解

文章和代码已经归档至【Github仓库&#xff1a;https://github.com/timerring/java-tutorial 】或者【AIShareLab】回复 java 也可获取。 文章目录 正则表达式为什么要学习正则表达式再提出几个问题解决之道-正则表达式正则表达式基本介绍介绍 正则表达式底层实现实例分析 正则…