PCIe TX端电容

一、问题:PCIe为什么要加电容

PCIe为什么要加电容?具体的作用是什么?

答:因为PCIe Host和Receiver两端的直流偏置会不一样,所以需要在PCIe的传输路径上加电容,这样传输路径上只有AC信号,不存在直流偏置问题。

二、问题:为什么AC电容一般放在TX端

答:

1、从问题一看,其实理想电容应该可以放在通道的任何一个地方。但实际电路中的电容并非理想的,有寄生电感的存在,而且焊盘和换层过孔都是阻抗不连续点。

那为什么PCIe要求电容放在TX端呢?其实仔细看PCIe规范是说如果是两块板连接时,要放在发送的那块板上。如果发送接收在同一块板上,那么就随意吧,但最好靠近一端。

下面是从PCIe 3.0规范中摘取出来的截图,可以清晰的看到对AC耦合电容位置的准确描述:

PCIe总线还规定了耦合电容的大小范围,详细参见PCIe 3.0规范中的表4-18,摘取如下:

2、当加入连接器时,串扰和寄生电容/电感增加,互联线上损耗增多,其损耗减小了低频分量信号幅度,对于高频虽有减小但是减小幅度倍数没有低频多,如果放置在RX端,低频信号就衰减的太多了。因此对于存在连接器的情况,一般将电容放置在TX端以减少低频信号损耗

3、高速信号调整

由于PCIe的速率越来越高,而普通的PCB板材和接插件对信号的传输损耗较严重,因此PCIe G1和G2在发送端都采用了去加重技术(De-emphasis),即发送端在发送信号时对跳变位之后的信号(代表信号中的低频成分)减小幅度发送,这样可以部分补偿一下传输线路对高频成分的衰减,从而得到比较好的眼图(信号摆幅小,眼图高度低,功耗小,EMC辐射小)。

PCIe G1中采用的是-3.5dB的去加重,G2中采用的是-3.5dB和-6dB的去加重。对于G3,由于信号速率更高,需要采用更加复杂的二阶去加重技术,即除了跳变位减小幅度(De-emphasis)发送外,在跳变位的前一位也要增大幅度发送,这个增大的幅度通常叫做Preshoot。

为了应对复杂的链路环境,PCIe G3中规定了共11种不同的Preshoot和De-emphasis的组合(Preset),实际应用中Tx和Rx端可以在Link Training阶段协商出一个最优的Preset值。

PCIe G3除了在发送端对信号高频进行补偿,在接收端还要对信号做均衡(Equalization),就是在Rx端的接收芯片内增加一个均衡电路,可以抬高接收到的信号中的高频分量,从而对线路的损耗进行进一步的补偿。均衡器的强弱也有很多档可选,在Link Training阶段Tx和Rx端会协商出一个最佳的组合。


三、总结

1、凡是使用连接器的高速信号(背板高速信号设计),一般都是放置在TX端

2、上述条件的例外是:如果使用了均衡器或预加重技术,当然还是放在RX端好了

3、当PCIe在发送端加入去加重技术时,这进一步衰减了低频信号,如果再将电容放置远端,那么低频信号就是“雪上加霜”了;有些设计里面,在TX和RX端都加电容,但是这种用法效果一般较差

4、因此,放置在哪一端,必须要根据该信号的处理技术和构成而言,要分析驱动器的方式、电平逻辑构成、信号类型等,最好通过仿真验证,传统经验放置在tx端并不一定好用

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

const--类的常量成员函数

在C中,为了禁止成员函数修改数据成员的值,可以将它设置为常量成员函数。设置常量成员函数的方法是在函数原型的后面加上const,形式如下: class x { …………… T f(t1,t2) const{} ………… }; 常量成员函数的作用: 将成员函数设置为const,表明该成员函…

MySQL跨服务器关联查询

1. 首先确认服务器的Federated引擎是否开启 show engines;修改数据库的配制文件my.ini,(我的my.ini的路径为:D:\ProgramData\MySQL\MySQL Server 5.7/my.ini),将federated添加到my.ini文件中 到MySQL的my.cnf配置文件中修改 在 [mysqld] 下方加入 federated 然后重…

CentOS 7.9如何禁止内核自动更新升级

要在 CentOS 7.9 系统中禁止内核自动更新,你可以通过配置 YUM(Yellowdog Updater, Modified)来实现。这里有几种方法可以阻止内核自动更新: 方法 1: 使用 exclude 选项在 YUM 配置中 编辑 YUM 的配置文件 /etc/yum.conf&#xff…

[SWPUCTF 2021 新生赛]crypto8

第一眼看见是乱码不确定是什么的编码 看了下感觉是UUencode编码 UUencode编码是一种古老的编码方式,通常用于将二进制数据转换成可打印字符的形式。UUencode编码采用一种基于64个字符的编码表,将每3个字节的数据编码为4个可打印字符,以实现…

C++类和对象——继承详解

目录 1.基本语法 2.继承方式 3.继承中的对象模型 4.构造和构析顺序 5.同名成员处理 6.同名静态成员处理 7.多继承语法 8.菱形继承 图片示例&#xff1a; 虚继承 代码示例&#xff1a; 1.基本语法 #include<bits/stdc.h> using namespace std;//公共页面类 …

心法利器[107] onnx和tensorRT的bert加速方案记录

心法利器 本栏目主要和大家一起讨论近期自己学习的心得和体会&#xff0c;与大家一起成长。具体介绍&#xff1a;仓颉专项&#xff1a;飞机大炮我都会&#xff0c;利器心法我还有。 2023年新一版的文章合集已经发布&#xff0c;获取方式看这里&#xff1a;又添十万字-CS的陋室2…

深度学习基础之《TensorFlow框架(4)—Operation》

一、常见的OP 1、举例 类型实例标量运算add&#xff0c;sub&#xff0c;mul&#xff0c;div&#xff0c;exp&#xff0c;log&#xff0c;greater&#xff0c;less&#xff0c;equal向量运算concat&#xff0c;slice&#xff0c;splot&#xff0c;canstant&#xff0c;rank&am…

Sora OpenAI 101教程(一):从文本生成令人兴奋的视频的 AI 模型

想象一下&#xff0c;您可以通过简单的文本提示创建令人惊叹的视频&#xff0c;例如“一个人带着狗在月球上行走”。听起来不可能&#xff0c;对吧&#xff1f;好吧&#xff0c;现在不再这样了&#xff0c;感谢 OpenAI 的最新人工智能模型 Sora&#xff0c;它可以从文本生成令人…

基于QEMU的vexpress-a9的初始化代码运行(二)

这个part是想详细走读一下用qemu运行kernel的最初始代码&#xff0c;也就是使用qemu运行kernel代码的详细逻辑&#xff0c;从qemu加载根目录下vmlinux镜像的逻辑&#xff0c;也就是运行arch/arm/kernel/head.S的整个过程&#xff0c;直到跳转到start_kernel&#xff0c;使用的k…

GraphPad Prism 10.2.0 for Mac 强大实用的医学绘图分析工具

GraphPad Prism GraphPad Prism是一款非常实用的统计软件&#xff0c;其功能非常强大&#xff0c;能够帮助用户进行各类科研数据的处理和分析&#xff0c;快速绘制出各种专业的图像和数据报告。 GraphPad Prism软件的用户界面非常友好&#xff0c;易于学习和操作&#xff0c;…

通过前序和中序遍历结果构造二叉树

题目 105. 从前序与中序遍历序列构造二叉树 - 力扣&#xff08;LeetCode&#xff09; 思路 首先思考&#xff0c;根节点应该做什么。 肯定要想办法确定根节点的值&#xff0c;把根节点做出来&#xff0c;然后递归构造左右子树即可。 我们先来回顾一下&#xff0c;前序遍历和…

使用MinIO S3存储桶备份Weaviate

Weaviate 是一个开创性的开源向量数据库&#xff0c;旨在通过利用机器学习模型来增强语义搜索。与依赖关键字匹配的传统搜索引擎不同&#xff0c;Weaviate 采用语义相似性原则。这种创新方法将各种形式的数据&#xff08;文本、图像等&#xff09;转换为矢量表示形式&#xff0…

分享一下,程序员为什么不喜欢关电脑?(个人观点仅供娱乐哈哈哈)

你是否曾经疑惑&#xff0c;为何身边的程序员朋友总是让电脑保持开机状态&#xff0c;仿佛与它们有着不解之缘&#xff1f;别急着给他们贴上“电脑迷”的标签&#xff0c;背后其实隐藏着许多合理的原因。今天&#xff0c;就让我们一同走进程序员的世界&#xff0c;探究他们为何…

My desktop didn‘t come with the Bluetooth.

You didnt turn on the Bluetooth on PC and phone.Turn on it to control your phone. My desktop didnt come with the Bluetooth. 电脑控制手机的时候&#xff0c;电脑蓝牙没打开 电脑蓝牙打开步骤 电脑蓝牙的小图标打开了 手机上可以看到计算机了【Thinkpad-T440p-zwf】 无…

transformer图像切块与还原(window_partition+window_unpartition)

文章目录 前言一、切割图像(window_partition)二、还原图像(window_unpartition)三、整体代码 前言 假如b ,h,w,c(3,32,32,768)需将h w按照14尺寸切割&#xff0c;32/14无法整除&#xff0c;需pad为(3,42,42,768)完成固定尺寸块切割&#xff0c;进而完成transformer结构&#…

java数据结构与算法刷题-----LeetCode150. 逆波兰表达式求值

java数据结构与算法刷题目录&#xff08;剑指Offer、LeetCode、ACM&#xff09;-----主目录-----持续更新(进不去说明我没写完)&#xff1a;https://blog.csdn.net/grd_java/article/details/123063846 解题思路 本题也叫后缀表达式&#xff0c;更利于机器处理题目给出的案例都…

Find My资讯|苹果Vision Pro无法通过Find My进行远程定位和发声

苹果 Vision Pro 头显现在已经正式开售&#xff0c;不过根据该公司日前发布的支持文件&#xff0c;这款头显目前缺乏一系列关键查找功能&#xff0c;用户无法在 iCloud 网站或Find My应用中获悉头显的位置&#xff0c;也无法让这款头显远程播放声音。 不过支持文件同时提到 V…

【快速解决】python项目打包成exe文件——vscode软件

目录 操作步骤 1、打开VSCode并打开你的Python项目。 2、在VSCode终端中安装pyinstaller&#xff1a; 3、运行以下命令使用pyinstaller将Python项目打包成exe文件&#xff1a; 其中your_script.py是你的Python脚本的文件名。 4、打包完成后&#xff0c;在你的项目目录中会…

多线程---线程同步,线程通信

线程同步 1.概述 线程同步是多线程编程中的一个重要概念&#xff0c;它指的是在多线程环境中&#xff0c;通过一定的机制保证多个线程按照某种特定的方式正确、有序地执行。这主要是为了避免并发问题&#xff0c;如死锁、竞态条件、资源争用等&#xff0c;确保数据的一致性和完…

Python 基于 AI 动物识别技术的研究与实现,附源码

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝30W、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…