PCB设计---深入浅出的反弹图

news2025/7/27 19:17:09

作者:一博科技高速先生成员 孙小兵

众所周知,信号的反射与互连线的阻抗密切相关,可以说互连线中阻抗突变是产生信号反射的最直接原因。但究竟为什么会发生反射,反射对信号的影响是什么样的,信号反射的过程又是如何呢?刚好最近也在学习一些信号完整性方面的理论基础知识,也是深受这部分的理论所困惑。下面就和小编一起深入了解一下在传输链路中反射的产生过程和对信号波形的影响吧。

创建了一个简易的信号传输链路模型如下图。信号源驱动内阻Rs为10Ω,输出信号幅度为1V。中间传输线阻抗Rt为50Ω,传输延时TD为1ns。接收端负载阻抗无穷大,相当于远端开路。

在该链路模型中,节点1位置是从10Ω输出内阻到50Ω传输线,而对于从远端到源端的方向来看,节点1位置是从50Ω传输线到10Ω输出内阻,该节点反射系数ρ1=(10-50)/(50+10)=-0.667。在节点2位置,由于远端开路,在远端反射系数ρ2=(∞-50)/( ∞+50)≈1,信号在该位置将发生全反射。基于该传输模型推导的反射逻辑图如下所示。

1.首先,假定信号边沿开始处为时间0ns位置,此时根据串阻分压,信号源输出的1V电压,经过输出电阻和传输线电阻分压后在节点1位置信号电压V10=1V*50/(10+50)=0.83V。而节点2位置还没有信号,故该时刻电压V20=0V。

2.经过1ns的传输后,信号到达节点2并发生反射,反射电压为0.83V*1=0.83V。此刻节点2位置的电压V21=0V+0.83V+0.83V*1=1.66V。

3.远端的反射信号经过传输线1ns后又会回到源端,并在源端也发生反射,此刻源端的电压V12=0.83V+0.83V+0.83V*(-0.667)=1.106V。由于还没有反射信号回到远端,远端电压V22=1.66V。

4.在源端位置产生的反射信号经过传输线1ns后又重新回到远端,并在远端发生反射,此刻远端的电压V23=1.66V+(-0.554V)+(-0.554V*1) =0.552V。

以此类推……

在上述情况下,内阻小于传输线阻抗,在源端位置出现负反射,这将引起通常所说的过冲和振铃现象。如下图所示,蓝色曲线是源端电压波形,红色曲线是远端接收到的电压波形。在此示例中,信号上升边远于传输线时延,而信号周期较大于传输时延。这样能够考虑到所有的多次往返反射和阻抗突变的情况。

由反弹图和以上的红蓝波形图可以看出,反射信号电压的绝对值在逐渐减小,震荡幅度在逐渐减弱,末端的电压最终逼近于信号源电压1V。这是由于该电路是开路的,信号源电压最终全部加在开路的末端。

这时有人可能又会疑惑了,既然信号源输出电压幅度为1V,那为什么会在末端接收到大于信号源的电压值1.66V呢?高出的电压是怎么产生的呢?这是由传输线上的分布电容(C)和分布电感(L)谐振所产生。

以上展示了信号单边沿后的反射全过程。当连续的码元输出后,将会在每一个上升沿和下降沿后的电平保持期间出现振铃现象。高电平最高位置将达到1.66V,低电平最低位置将达到-0.66V。过冲将会导致接收端误触发造成误码,还可能突破电平接收容限,严重的可能损害芯片。

当信号速率升高达到一定程度或走线长度改变时,振铃全过程就不能够有充足的时间在信号平整区间完整的表现出来,后面的震荡将可能会淹没在信号上升沿或者下降沿期间,因而只表现出明显的过冲现象,如下图所示。

前面的链路中信号发生反射主要是由于源端内阻和传输线阻抗不匹配造成的,反射信号在源端和远端来回传输并多次反射形成了一个振铃效应。

想要改善反射对信号的影响,端接在这里就派上用场了。大家可能都知道端接可以有效的抑制或消除反射。这里就尝试做一个端接处理,在源端位置串联一个40Ω的电阻,链路模型如下:

上图是做了端接处理后远端接收到的信号波形。可以看到反射被消除了,接收端的信号幅度为信号源输出信号电压1V,且信号波形比较完整。

当链路发生反射时,在源端串联一个电阻,就能很好的消除反射,大家知道这里串阻是如何作用消除反射的吗?

周一篇技术文章,学习更多内容,请百度搜索“一博科技官网”,直接进入学习

每周一篇技术文章,学习更多内容,请关注二维码

作者:一博科技 edadoc.com 高速先生成员

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

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

相关文章

MySql死锁

MySql死锁产生的原因?[面试7.0] 高并发情况下,事务之间对资源的访问顺序交替会导致死锁 加锁失败且出现环时触发死锁 事务1事务2begin;select *from testlock where id1 for update;begin;select *from testlock where id2 for update;select *from testlock where id2 for…

安卓系统的启动

Init.rc启动 创建和挂在启动所需的文件目录初始化和启动属性服务解析init.rc配置文件并启动Ztgote进程 Zygote进程 创建一个Server端的Socket预加载类和资源启动SystemServer进程等待AMS请求创建新的应用程序进程 SystemServer进程 启动Binder线程池,这样就可以…

环保数采仪 VOCs|污染源|水质污染源|烟气排放在线监测

计讯物联环保数采仪,丰富接口,符合环保行业规约标准,具备采集、无线传输、控制、告警等功能,广泛应用于Vocs在线监测、水污染大气污染远程监测、烟气排放在线监控等场景,数据全方位多角度实时采集、自动上报、远程在线…

汽车倒车防碰撞报警系统的设计

目 录 1 绪论 1 1.1 背景 1 1.2 国外研究情况 1 1.3 超声波测距的优势 2 2 基本原理 3 2.1 超声波简介 3 2.2 超声波基本特性 4 2.3 超声波模块简介 5 2.4 超声波传感器原理 6 2.5 超声波的测距原理 6 3 总体方案 8 4 硬件实现 9 4.1 电路 9 4.1.1 主控制最小系统电路 10 4.1.…

面试24K字节测试开发岗被血虐,到底具有怎样的技术才算高级水平?

前几天我朋友跟我吐苦水,这波面试又把他打击到了,做了6年软件测试。。。 下面这条招聘是在腾讯招聘官网截图下来的,首先我们对高级水平下一个定义吧,那它应该是对标这个职级该有的能力 什么样的工程师才能算高级?至少…

《数据库的原理与应用》--用两种方法实现S-T数据库创建

一、实验目的 复习数据库的定义,用两种方法实现S-T数据库创建;用两种方法创建数据库表,最后为数据库中的三个表增加数据;分离数据库和备份数据库。数据库表为: 学生表:Student(Sno,Sname,Ssex,Sage,Sdept…

Django ORM 多表操作:一对一、一对多、多对多的增删改,基于对象/双下划线的跨表查询

Django model ORM数据表相关操作 分析思路,创建数据表 对于表操作,表之间的关联关系,必须理解他们之间的关系,对于编程很重要。可以看看映射关系、外键和relationship查询 ,至少明白外键相关基本知识。 &#xff08…

App Languages 批量导入管理Android多语言文案

AppLanguages支持安卓的多语言文案管理啦,支持批量的检测,批量导入,批量删除,批量替换,批量导出。 操作界面 批量导入 1)需要选择res文件夹的路径,方便创建和寻找本地的多语言文件 2&#xff…

ui界面的介绍

创建一个项目时默认选择带有ui界面,ui界面的作用是方便设计者设计功能。 ui界面常见的功能: 方便对象的创建,拖入到窗口中即可方便布局,可以直接使用布局对控件进行修饰方便制作信号,通过转到槽的机制,快速…

Cesium 入门(一)无服务 Cesium 环境

Cesium 入门(一)无服务环境 一、无服务环境下的 Cesium 无网络环境下的静态 cesium 地图服务,cesium 1.98.1 已经支持无 token 情况下的地图显示,默认 token 可用来展示 3d 地图,老版本 cesium,需自行前往…

Golang入门笔记(15)—— 数组

编程的世界中,或许是因为一次一次的定义变量,维护管理起来都太费劲了,所以推出了数组,将数据用数组的形式管理起来。 参考代码: package mainimport "fmt"func main() {var scores [5]intscores[0] 90sco…

RabbitMQ基础

文章目录一. Hello World二. Work Queues三. 消息应答1. 自动应答2. 手动应答3. 批量应答4. 消息自动重新入队四. 持久化1. 实现队列持久化2. 实现消息持久化五. 消息不公平分发1. 配置不公平分发2. 预取值六. 发布确认1. 发布确认原理2. 开启发布确认3. 单个发布确认4. 批量发…

DOM介绍及DOM获取元素的方式

1、DOM介绍 DOM(Document Object Model):文档对象模型其实就是操作html中的标签的一些能力我们可以操作哪些内容○ 获取一个元素 ○ 移除一个元素 ○ 创建一个元素 ○ 向页面里面添加一个元素 ○ 给元素绑定一些事件 ○ 获取元素的属性 ○ …

Hive集群部署实验

目录一、实验介绍1.1 实验内容1.2 实验知识点1.3 实验环境1.4 实验资源1.5 实验步骤清单二、实训架构三、实验环境准备四、实验步骤4.1 Hive部署4.1.1 安装Hive4.1.3 修改hive配置文件4.1.4 创建Hadoop测试目录4.1.5 初始化hive元数据库4.2 Hive测试4.2.1 启动Hive4.2.2 创建测…

pytorch的gpu版本安装以及cpu版本的卸载

目录 前言 一、安装显卡驱动 二、安装Visual Studio 2019 三、安装CUDA 四、安装cudnn 五、安装anaconda 六、安装PyTorch 前言 因为最近需要导师的指导,我开始了unet的学习,虽然之前也学习过机器学习,但是只是浅尝辄止,没…

你好,以太坊社区,你准备好参加 ETH India 2022 黑客马拉松活动了吗

你好,以太坊社区,我们很高兴通过 ETH Global即将举行的ETH India 2022 黑客马拉松活动将Cartesi 技术带到亚洲!如果你是一位喜欢探索尖端技术且是一位创新型开发人员,我们期待着你的到来,并且想帮助你将美好的DApps 发…

[BLIP]-多模态Language-Image预训练模型

论文:https://arxiv.org/pdf/2201.12086.pdf 代码:GitHub - salesforce/BLIP: PyTorch code for BLIP: Bootstrapping Language-Image Pre-training for Unified Vision-Language Understanding and Generation demo:BLIP - a Hugging Face …

代码随想录算法训练营第二天|LeetCode 977.有序数组的平方 、209.长度最小的子数组 、59.螺旋矩阵II

LeetCode 977.有序数组的平方 题目链接&#xff1a;977.有序数组的平方 思路&#xff1a; 1、先对每个数进行遍历平方&#xff0c;并插入新的容器中 2、对容器进行排序&#xff0c;返回就可以了 缺陷&#xff1a;开辟了新的容器空间 class Solution { public:vector<int…

2019年1+X 证书 Web 前端开发中级理论考试题目原题+答案——第二套

&#x1f4da;文章目录 &#x1f3af;关于1X标准 &#x1f3af;关于中级考点 ⏩&#x1f4bb;答案速查 一、单选题&#xff08;每小题2分&#xff0c;共30小题&#xff0c;共60分&#xff09; 二、多选题&#xff08;每小题2分&#xff0c;共15小题&#xff0c;共30分&…

测试工程师必备的数据库知识

测试工程师必备的数据库知识 1. 数据库的重要性 数据库是一个容器&#xff0c;仓库存的是货物&#xff0c;而数据库存的是数据。数据很好的解决了数据到哪里去&#xff0c;以及数据从哪里来的问题。 2. 数据库工具的选择 选择数据库是根据项目特点&#xff0c;架构&#xff0c;…