PCB模块化设计10——PCI-E高速PCB布局布线设计规范
目录
- PCB模块化设计10——PCI-E高速PCB布局布线设计规范
- 1、PCI-E管脚定义
- 2、PCI-E叠层和参考平面
- 3、 PCB设计指南
- 1、阻抗要求
- 2、线宽线距
- 3、长度匹配
- 4、走线弯曲角度
- 5、测试点、过孔、焊盘
- 6、AC去耦电容放置方法
- 7、金手指和连接器的注意事项
- 8、其他的注意事项
PCB模块化设计10——PCI-E高速PCB布局布线设计规范
PCI-E是英特尔在2001年提出的一种取代以前的PCI、AGP的计算机内部互联总线标准。特点是串行(以前的ISA、PCI、AGP等都是并行的),并且支持1到32条通道(然而常见的最长的就是显卡上最常用的X16)。
几种PCI-E速度表
1、PCI-E管脚定义
有4种接口尺寸,每种接口的1到11对引脚都是一样的,剩下的是差分数据线和时钟,数据线数量不同对应的PCIe尺寸也不一样,X1的PCIe板子可以插在X4的插槽上。
由于PCI-E传输的信号是差分信号,所以这里有必要讲解一下差分线的定义:
相位信号和单端信号对比:传统的单端信号通过相对于地线的电势差的高低来传递,所以只需要一根地线就可以,传递几路信号只需要相应数量的信号线就可以了;而差分信号使用一根公共地线(电势为0),传输一路信号时,需要两根信号线,一根相对于地线的电压是正的(电势为正),另一根电压为负的(电势为负),绝对值相同(相位相差180度),用两根信号线的电势差高低来传递信号,只不过传递两个信号,假如一根信号线为3.3V,另一根信号线就是-3.3V,地线是0。这种看似浪费线的传输方式其实有很多优势:第一,因为地线是可以控制的,所以不会因为线长带来的压降而导致地线的差异,进而可以降低传输的电压来降低功耗(早期的AGP 2X的工作电压高达5V,而现在的PCI-E已经低于1.5V了);第二,因为电磁干扰对差分信号两根信号线的影响几乎相同,即使有干扰,高电势依然相对于低电势高,而单端信号则可能因为干扰而将低电势变成高电势,导致传输错误,因此差分信号抗干扰性强。现在,大多数高速串行接口都采用了差分信号,比如USB3.0/3.1、PCI-E、HDMI、以太网等。
2、PCI-E叠层和参考平面
一般的PC主板设计成4层叠层,而服务器,工作站和移动系统主板多使用6层或是更多层的叠层。
插卡可以使用4层或是6层叠层。使用0.5OZ的镀铜微带线和1OZ的铜带状线。
插卡的整体电路板的厚度必须是 0.062inch。移动平台的PCB厚度可以是0.062inch或是0.050inch。
为了尽可能的减少损耗和抖动预算,最重要的考虑因素是设计的目标阻抗,而且要保持阻抗的公差足够小。更厚的介质层和更宽的走线将会减少损耗。
微带差分线会比带状差分线产生更大的阻抗变化。
信号对应避免参考平面的不连续,譬如分割和空隙。
当信号线变化层时,地信号的过孔应放得靠近信号过孔。
对每对信号的建议是至少放 1 到 3 个地信号过孔。还有永远不要让走线跨过平面的分割。
3、 PCB设计指南
1、阻抗要求
PCI Express的连接走线阻抗在4层或6层板时必须保持100Ω差分/60Ω单端;而对8层或10层板阻抗为85Ω差分/55Ω单端。
2、线宽线距
差分信号的内部耦合和增加与周边的信号间距有助于减少有害串扰的影响和电磁干扰(EMI)的影响。在微带情况下,差分线的宽度是5mil,差分对中的2条走线的间距是7mil。差分对中信号线中有100mil或超过 100mil 其信号线间距超过7mil,那么可以把信号线走成7mil的线宽。在带状情况下,差分线的宽度是 5mil,差分对
中的 2 条走线的间距是 5mil。差分对之间的距离和差分对和所有非的 PCI Express信号的距离是20mils 或介质的厚度的4倍,选择其中更大的。如果非PCI Express信号电压明显高于或者非 PCI Express 信号边缘比PCI Express 信号边缘快的话,2者的空间应增加至30 mil,以避免耦合。
3、长度匹配
差分对中2条走线的长度的差距限制在最多5mil。
每一部分都要求长度匹配,与任何长度的增加(典型的是“蛇形线”部分)为差分线长度匹配而增加的任何长度的走线应放在不匹配出现的位置。
没有传输差分对和接收差分对长度匹配的要求(即只要求差分线内部而不是不同的差分对之间要求长度匹配)。
4、走线弯曲角度
应尽量不使用弯曲,因为弯曲会给系统引入共模噪声,而这将影响差分对的信号完整性和 EMI.
弯曲的痕迹应≥135°。更严格的弯曲应避免的影响,因为他们的损失和抖动预算预算。
走线的弯曲应该≥135°。应该避免小角度的弯曲因为这样的话,将会影响到损耗和抖动预算。
如果使用了弯曲,推荐使用下面的指南,以避免小角度弯曲。参见下图。
1.使所有走线的弯曲角度(α)≥135°。
2.保持走线间距( A )≥ 20 mil。
3.片段,譬如B和C,其侧翼有一个弯曲,其长度应该≥1.5 倍走线的宽度。
为了最小化长度的不匹配,左弯曲的数量应该尽可能的和右弯曲的数量相等。
当一段蛇形线用来和另外一段走线来进行长度匹配,如下图所示,每段长弯折的长度必须至少有15mil(3 倍于 5mil 的线宽) 。
蛇形线弯折部分和差分线的另一条线的最大距离必须小于小于正常差分线距的 2 倍。
当使用多重弯曲布线到一个管脚或是一个 BGA 的焊球是非匹配部分的长度应该≤45mil。 如下图所示:
5、测试点、过孔、焊盘
信号过孔影响整体的损耗和抖动预算。每一个过孔对可能会增加0.25 分贝的损失。
还有过孔可能会限制最大的走线长度。
在 TX 差分对中最多可以使用四个过孔对。
而在 RX 差分对中最多只可以使用 2 个过孔对。
过孔应该有一个 25 mil 或更小的焊盘,
并且其完成内孔径为 14 mil 或更小。
两个过孔必须放成在一位置上互相对称的。
测试点(可以是过孔,焊盘或是元件)及探针脚应置于对称的系列。
不应当在差分对引入 stub。下图说明了正确和不正确的放置。
6、AC去耦电容放置方法
PCI Express 需要在发射端和接收端之间交流耦合。
差分对两个信号的交流耦合电容必须有相同的电容值,相同的封装尺寸,并且位置对称。
如果可能的话,TX 应该在顶层走线。电容值必须介于 75nF 到 200nF 之间(最好是 100nF)。
推荐使用0402 的封装,但 0603 是可接受的。不允许使用插件封装。
差分对的两个信号线的电容器输入输出走线应当对称的。
追踪分离垫路由必须尽量减少,为了优化差分信号对之间的紧耦合,走线分离到焊盘的的长度应该尽可能的短。
7、金手指和连接器的注意事项
参考平面的边缘手指垫应予删除,以满足阻抗的目标。这些飞机应去掉沿整个长度手指的边缘部分。
这两个痕迹的差分对线路应该成为一个领域的连接器引脚从同一层。
为了满足阻抗目标,在边缘金手指下面的参考平面应该被删除掉。
而且整个金手指下面的参考片面都要完全删除掉。
差分对的 2 个信号应该在同一层上布线连接到连接器的管脚上。
8、其他的注意事项
1、差分对反相满足3W间距,同相满足5W间距。
2、PCI-E差分线的正负两条线长度要满足匹配要求,但是差分线之间的长度并不需要匹配。
3、极性确保相反。
4、PCI-E并不支持LANE的翻转。
5、PCI-E芯片,尤其是PCIE信号线的PCB反面,应尽量避免走高频信号线,最好全GND地铺铜。
6、在PCB设计时,应该在PCIE芯片的每对电源管脚附近放置一个0.1uF左右的高频退藕电容,离芯片不能太远。
7、连接PCIE芯片的电源或者GND走线上的过孔使用大过孔、双过孔或者双回路电源。
8、将PCIE的PESET#引脚信号的金手指设计与PRSNT1#长度差不多的金手指。
9、金手指部分不允许铺铜覆盖,要每一层都进行挖铜处理。
相关文章:

PCB模块化设计10——PCI-E高速PCB布局布线设计规范
目录PCB模块化设计10——PCI-E高速PCB布局布线设计规范1、PCI-E管脚定义2、PCI-E叠层和参考平面3、 PCB设计指南1、阻抗要求2、线宽线距3、长度匹配4、走线弯曲角度5、测试点、过孔、焊盘6、AC去耦电容放置方法7、金手指和连接器的注意事项8、其他的注意事项PCB模块化设计10——…...

Java简介
Java简介 Java是一种面向对象的编程语言,由Sun Microsystems于1995年发布。Java设计的初衷是为了开发可移植、高性能的应用程序。Java代码可以在不同的操作系统上运行,包括Windows、Linux、Mac等。 Java是一种广泛使用的编程语言,用于开发各…...

python框架有哪些,常用的python框架代码
Python的应用已经相当广泛了,可以做很多事情,而 Python本身就是一个应用程序,我们也可以说 Python是一个高级语言。由于 Python有很多包,所以我们不能把所有的 Python包都了解一下,也不能把所有的包都读一遍࿰…...

jsp设计简单的购物车应用案例
代码解释 <%request.setCharacterEncoding("UTF-8");if (request.getParameter("c1")!null)session.setAttribute("s1",request.getParameter("c1"));if (request.getParameter("c2")!null)session.setAttribute("…...

VueX是什么?好处?何时使用?
VueX相关1、VueX是什么?2、使用VueX统一管理状态的好处3、什么样的数据适合存储到Vuex中?1、VueX是什么? VueX是实现组件全局状态(数据)管理的一种机制,可以方便的实现组件之间数据的共享。 如果没有VueX…...

第2章 封装组件初级篇(上)
1.环境搭建,在 vite 脚手架基础上集成 typescript 和 element-plus https://cn.vitejs.dev/guide/ 以下是开发过程中过使用到的包和版本号:package.json {"name": "m-components","version": "0.0.0","…...

uniapp image标签图片跑偏终极解决办法
目录uniapp image 的mode常用属性aspectFit 缩放显示图片全部aspectFill 缩放填满容器,但是图片可能显示不全widthFix 以宽度为基准,等比缩放长heightFix 以高度为基准,等比缩放宽uniapp image 的mode常用属性 uniapp当中,在imag…...

SpringMVC的响应处理
文章目录一、传统同步业务数据响应1. 请求资源转发2. 请求资源重定向3. 响应模型数据4. 直接回写数据二、前后端分离异步业务数据响应一、传统同步业务数据响应 Spring响应数据给客户端,主要分为两大部分: ⚫ 传统同步方式:准备好模型数据&am…...

静态词向量预训练模型
1、神经网络语言模型从语言模型的角度来看,N 元语言模型存在明显的缺点。首先,模型容易受到数据稀疏的影响,一般需要对模型进行平滑处理;其次,无法对长度超过 N 的上下文依赖关系进行建模。神经网络语言模型 (Neural N…...

永久免费CRM怎么选?有什么好用的功能?
在当今商业环境下,企业经营者们都希望能够找到一种方法来提高自己的生产力和盈利能力。一种非常有效的方法就是实现客户关系管理(CRM)。然而,由于很多传统的CRM解决方案价格昂贵,小企业和创业公司很难承担。那么&#…...

leetcode重点题目分类别记录(二)基本算法:二分,位图,回溯,动态规划,图论基础,拓扑排序
layout: post title: leetcode重点题目分类别记录(二)基本算法:二分,位图,回溯,动态规划,拓扑排序 description: leetcode重点题目分类别记录(二)基本算法:二…...

【JaveEE】多线程之定时器(Timer)
目录 1.定时器的定义 2.标准库中的定时器 2.1构造方法 2.2成员方法 3.模拟实现一个定时器 schedule()方法 构造方法 4.MyTimer完整代码 1.定时器的定义 定时器也是软件开发中的一个重要组件. 类似于一个 "闹钟". 达到一个设定的时间之后, 就执行某个指…...

【理论推导】变分自动编码器 Variational AutoEncoder(VAE)
变分推断 (Variational Inference) 变分推断属于对隐变量模型 (Latent Variable Model) 处理的一种技巧,其概率图如下所示 我们将 X{x1,...xN}X\{ x_1,...x_N \}X{x1,...xN} 看作是每个样本可观测的一组数据,而将对应的 Z{z1,...,zN}Z\{z_1,...,z_N…...

【哈希表:哈希函数构造方法、哈希冲突的处理】
预测未来的最好方法就是创造它💦 目录 一、什么是Hash表 二、Hash冲突 三、Hash函数的构造方法 1. 直接定址法 2. 除余法 3. 基数转换法 4. 平方取中法 5. 折叠法 6. 移位法 7. 随机数法 四、处理冲突方法 1. 开放地址法 • 线性探测法 …...

HTML5 应用程序缓存
HTML5 应用程序缓存 使用 HTML5,通过创建 cache manifest 文件,可以轻松地创建 web 应用的离线版本。这意味着,你可以在没有网络连接的情况下进行访问。 什么是应用程序缓存(Application Cache)? HTML5 引…...

全国计算机等级考试三级网络技术选择题考点
目录 第一章 网络系统结构与设计的基本原则 第二章 中小型网络系统总体规划与设计方法 第三章 IP地址规划技术 第四章 路由设计基础 第五章 局域网技术基础应用 第六/七章 交换机/路由器及其配置 第八章 无线局域网技术 第九章 计算机网络信息服务系统的安装与…...

Python和VC代码实现希尔伯特变换(Hilbert transform)
文章目录前言一、希尔伯特变换是什么?二、VC中的实现原理及代码示例三、用Python代码实现总结前言 在数学和信号处理中,**希尔伯特变换(Hilbert transform)**是一个对函数产生定义域相同的函数的线性算子。 希尔伯特变换在信号处…...

嵌入式C语言语法概述
1.gcc概述 GCC全称是GUN C Compiler 随着时代的发展GCC支持的语言越来越多,它的名称变成了GNU Compiler Collection gcc的作用相当于翻译官,把程序设计语言翻译成计算机能理解的机器语言。 (1)gcc -o gcc -o (其…...

蓝桥杯第19天(Python)(疯狂刷题第3天)
题型: 1.思维题/杂题:数学公式,分析题意,找规律 2.BFS/DFS:广搜(递归实现),深搜(deque实现) 3.简单数论:模,素数(只需要…...

【数据库连接,线程,ThreadLocal三者之间的关系】
一、数据库连接与线程的关系 在实际项目中,数据库连接是很宝贵的资源,以MySQL为例,一台MySQL服务器最大连接数默认是100, 最大可以达到16384。但现实中最多是到200,再多MySQL服务器就承受不住了。因为mysql连接用的是tcp协议&…...

java 虚拟股票交易系统Myeclipse开发mysql数据库web结构jsp编程计算机网页项目
一、源码特点 JSP 虚拟股票交易系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统采用serlvetdaobean,系统具有完整的源代码和数据库,系统主要采用 B/S模式开发。 java 虚拟股票交易系统Myeclips…...

spring如何开启允许循环依赖
如何解决spring循环依赖 在Spring框架中,allowCircularReferences属性是用于控制Bean之间的循环依赖的。循环依赖是指两个或多个Bean之间相互依赖的情况,其中一个Bean依赖于另一个Bean,同时另一个Bean又依赖于第一个Bean。 allowCircularRe…...

jenkins+sonarqube+自动部署服务
一、jenkins 配置Pipeline 二、新建共享库执行脚本 共享库可以是一个普通的gitlab项目,目录结构如下 三、添加到共享库 Jenkins Dashboard–>系统管理–>系统配置–>Global Pipeline Libraries Name: 共享库名称,自定义即可; Defa…...

【算法系列之动态规划III】背包问题
背包问题 01背包指的是物品只有1个,可以选也可以不选。完全背包是物品有无数个,可以选几个也可以不选。 二维数组01背包 有n件物品和一个最多能背重量为w 的背包。第i件物品的重量是weight[i],得到的价值是value[i] 。每件物品只能用一次&…...

MONAI-LayerFactory设计与实现
LayerFactory 用于创建图层的工厂对象,这使用给定的工厂函数来实际产生类型或构建可调用程序。这些函数是通过名称来参考的,可以在任何时候添加。 用到的关键技术点: 装饰器(Decorators), 例如:property装饰器,创建…...

Thinkphp 6.0路由的定义
本节课我们来了解一下路由方面的知识,然后简单的使用一下路由的功能。 一.路由简介 1. 路由的作用就是让 URL 地址更加的规范和优雅,或者说更加简洁; 2. 设置路由对 URL 的检测、验证等一系列操作提供了极大的便利性; …...

Kafka系列之:深入理解Kafka集群调优
Kafka系列之:深入理解Kafka集群调优 一、Kafka硬件配置选择二、Kafka内存选择三、CPU选择四、网络选择五、生产者调优六、broker调优七、消费者调优八、Kafka总体调优一、Kafka硬件配置选择 服务器台数选择: 2 * (生产者峰值生产速率 * 副本数 / 100) + 1磁盘选择: Kafka…...

creator-泄漏检测之资源篇
title: creator-泄漏检测之资源篇 categories: Cocos2dx tags: [creator, 优化, 泄漏, 内存] date: 2023-03-29 14:48:48 comments: false mathjax: true toc: true creator-泄漏检测之资源篇 前篇 资源释放 - https://docs.cocos.com/creator/manual/zh/asset/release-manager…...

【DevOps】Jenkins 运行任务时遇到 FATAL:Unable to produce a script file 报错(已解决)
文章目录一、问题描述二、定位原因三、解决方案四、其他方案五、总结关键词: Jenkins、Unable to produce a script file、UnmappableCharacterException、IOException: Failed to create a temp file on一、问题描述 由于使用的 Jenkins 存在安全漏洞(…...

Web前端
WEB前端 HTMLCSSJavaScriptjQuery(js框架)Bootstrap(CSS框架)AJAXJSON 文章目录 WEB前端WEB前端三大核心技术Web开发工具文本编辑器集成开发环境(IDE)浏览器选择HTML什么是 HTML?HTML版本变迁HTML-HelloWorldHTML 文档 = 网页HTML 标签属性(Attribute)HTML 常用标签...