47---PCIE硬件电路设计

视频链接

PCIe硬件电路设计01_哔哩哔哩_bilibili

PCIe硬件电路设计

1、PCIE介绍

1.1、PCIe简介

PCI-Express (peripheral component interconnect express)是一种高速串行计算机扩展总线标准,用于在CPU与外围组件之间实现高速串行通信。如今已成为主板扩展总线的主要标准,并成为许多板载应用的常用通信方法。

2003年PCI Sig组织定义了PCIe标准。PCIe交由PCI-SIG认证发布后才改名为“PCI-Express”,简称“PCI-e”。它的主要优势就是数据传输速率高

PCIe是由Intel在2001年提出的,旨在替代旧的PCI,ISA和AGP等总线。

1.2、PCI和PCIe的区别

PCIe与 PCI 之间的区别

外光

颜色

PCI是乳白色 且只有一种规格

PCIe是黑色的   7种规格 X1  X2  X4  X8  X12  X16  X32

速度

PCI的传输速率(32位 133MB/S        64位266MB/S)

PCIe 1.0 x1 的吞吐率就达到了250MB/s

传输方式

PCI是并行数据传输,一次传输4字节/8字节,半双工

PCIe是串行数据传输

硬件

传输PCI信号的是普通电平

传输PCIe信号的是差分电平

链路

PCI是总线的连接方式

PCIe是点对点的连接方式

1.3、PCIe总线概述

PCIe总线和PCIe通道

1.4、PCIe的特征

1.4.1、点对点

1.4.2、双向(双单工)

1.4.3、可扩展满足各种带宽需求

1.4.4、向后兼容之前的PCIe版本

每个PCIe版本都向后兼容之前的版本,当端点包含采用不同PCIe版本的设备时,通道将自动使用较早PCIe版本的较低数数据速率。

(1.0的设备还可以插到2.0的上面。用2.0的设备也可以插在1.0的上面用,会降速)

1.4.5、广为采用(1.6节  PCIe转接各种模块)

应用极为广泛。存储系统、服务器、通信网络等多领域。

1.5、PCIe体系的拓扑结构(直连 & 非直连)

PCIe是点对点结构。一个典型的PCIe系统框图如下

1、Root Complex

2、PCIe Switch & Bridge

3、PCIe Endpoint

4、PCIe的枚举

总结:

1.6、PCIe switch

PCIe拓展性强,可以支持的设备有:显卡、SATA、网卡、声卡、视频采集卡、PCIe转USB、PCIe转串口等。

1.6.1、PCIe转USB    (参考38课) 视频链接  PCIE转USB 3.0电路设计01_哔哩哔哩_bilibili
1.6.2、PCIe转SATA   (参考46课) 视频链接  PCIe转SATA电路设计01_哔哩哔哩_bilibili
1.6.3、PCIe转串并口  (参考48课)PCIE转串口和并口电路设计01_哔哩哔哩_bilibili 视频链接 PCIE转串口和并口电路设计01_哔哩哔哩_bilibili
1.6.4、PCIe转串网口  (参考49课)    PCIE转网口电路设计01_哔哩哔哩_bilibili视频链接    PCIE转网口电路设计01_哔哩哔哩_bilibili

1.7、PCIe各版本的接口速率、编码方式及带宽计算

1.7.1、各版本的接口速率

其实每次PCIE版本的一个更新速度就是在上一个版本的基础上翻倍了。

PCIE

Express

版本

Line

Code

传输速率(理论)

X1

X4

X8

X16

1.0

(2003)

2.5 GT/S

8b/10b

250

MB/S

1

GB/S

2

GB/S

4

GB/S

2.0

(2007)

5.0 GT/S

8b/10b

500

MB/S

2

GB/S

4

GB/S

8

GB/S

3.0

(2010)

8.0 GT/S

128b/130b

0.985

GB/S

3.938

GB/S

7.877

GB/S

15.754

GB/S

4.0

(2017)

16.0 GT/S

128b/130b

1.969

GB/S

7.877

GB/S

15.754

GB/S

31.508

GB/S

5.0

(2019)

32.0 GT/S

128b/130b

3.938

GB/S

15.754

GB/S

31.508

GB/S

63.015

GB/S

6.0

(2021)

64.0 GT/S

128b/130b

+ PAM-4 +ECC

7.877

GB/S

31.508

GB/S

63.015

GB/S

126.031

GB/S

1.7.2、编码方式(8b/10b、128b/130b)和带宽计算

吞吐量=传输速率*编码方案

PCIe gen1 和 PCIe gen2 采用的编解码方式是 8b/10b。

PCIe gen3和之后的采用的是128b/130b的编码方式。

2、PCIe常用的接口类型(★)

PCIe有两个存在的形态,一个是接口,一个是通道。

2.1、金手指 Gold Finger   (Add-in)

在电脑内存条、显卡上,我们可以看到一排金黄色的导电触片,它们被叫做“金手指”。PCB设计制作行业中的金手指(Gold Finger,或称Edge Connector),作为连接器的插接板对外连接网络的出口。

金手指最主要的作用是连接,所以它必须要具良好的导电性能、耐磨性能、抗氧化性能、耐腐蚀性能。

PCI Express 的针脚总数

传输通道

针脚总数

右侧主接口长度

X1

36

7.65mm

X4

64

21.65mm

X8

98

38.65mm

X16

164

71.65mm

为什么有的焊盘少一截???Add-in Card的 “长短针”结构。

为什么金手指两端都要做热插拔检测信号?(斜插)

2.2、PCIe socket 插槽(插装)

PCIe SOCKET这种座子分为插装和贴片两种。

任何X16设备都可以插在尾部非闭合的差异槽中运行,只不过这个设备是没法发发挥全部功能。也可以把X1的设备插在X16的槽中运行,只不过这样就会浪费了一个带宽。

1、插槽缺口key左侧是电源等共性引脚,右侧为数据通道,包含差分对等数据通道。

2、PCIe X1的判断,插槽缺口右侧数据通道侧长度小于左侧共性信号侧,则为X1。

2.3、PCIe socket 插槽(贴片)

2.4、PCIe 连接线

3、PCIe管脚定义及具体的说明(★)

3.1、管脚定义

PIN

定义(B)

说明

定义(A)

说明

1

+12V

+12V电压

PRSNT1#

热插拔

存在检测

2

+12V

+12V

+12V电压

3

+12V

+12V

4

GND

GND

5

SMCLK

系统管理

总线时钟

TCK

测试模式选择/TCK

6

SMDAT

系统管理

总线数据

TDI

测试模式选择/TDI

7

GND

TDO

测试模式选择/TDO

8

+3.3V

+3.3V电压

TMS

测试模式选择/TMS

9

TRST#

测试复位/TRST

+3.3V

+3.3V电压

10

3.3VAUX

3.3V辅助电源

+3.3V

+3.3V电压

11

WAKE#

链接激活信号

PERST#

全局复位

12

CLKREQ#

请求运行时钟

GND

X1带宽模式

X4带宽模式

X8带宽模式

X

16

13

GND

REFCLK+

差分信号对参考时钟

14

HS0P(0)

HS0N(0)

0号信道发送差分信号对

REFCLK-

15

GND

16

GND

HSIP(0)

HSIN(0)

0号信道接收差分信号对

17

PRSNT2#

热插拔存在检测

18

GND

GND

19

HS0P(1)

HS0N(1)

RSVD

20

GND

21

GND

HSIP(1)

22

GND

HSIN(1)

23

HS0P(2)

HS0N(2)

GND

24

GND

25

GND

HSIP(2)

HSIN(2)

26

GND

27

HS0P(3)

HS0N(3)

GND

28

GND

29

GND

HSIP(3)

HSIN(3)

30

RSVD

31

PRSNT3#

热插拔存在检测

GND

32

GND

RSVD

33

HS0P(4)

HS0N(4)

RSVD

34

GND

35

GND

HSIP(4)

HSIN(4)

36

GND

37

HS0P(5)

HS0N(5)

GND

38

GND

39

GND

HSIP(5)

HSIN(5)

40

GND

41

HS0P(6)

HS0N(6)

GND

42

GND

43

GND

HSIP(6)

HSIN(6)

44

GND

45

HS0P(7)

HS0N(7)

GND

46

GND

47

GND

HSIP(7)

HSIN(7)

48

PRSNT4#

热插拔存在检测

49

GND

GND

50

HS0P(8)

RSVD

51

HS0N(8)

GND

52

GND

HSIP(8)

53

GND

HSIN(8)

54

HS0P(9)

GND

55

HS0N(9)

GND

56

GND

HSIP(9)

57

GND

HSIN(9)

58

HS0P(10)

GND

59

HS0N(10)

GND

60

GND

HSIP(10)

61

GND

HSIN(10)

62

HS0P(11)

GND

63

HS0N(11)

GND

64

GND

HSIP(11)

65

GND

HSIN(11)

66

HS0P(12)

GND

67

HS0N(12)

GND

68

GND

HSIP(12)

69

GND

HSIN(12)

70

HS0P(13)

HS0N(13)

GND

71

GND

72

GND

HSIP(13)

73

GND

HSIN(13)

74

HS0P(14)

GND

75

HS0N(14)

GND

76

GND

HSIP(14)

77

GND

HSIN(14)

78

HS0P(15)

HS0N(15)

GND

79

GND

80

GND

HS0P(15)

HS0N(15)

81

PRSNT5#

热插拔存在检测

82

RSVD

GND

3.2、电源管脚说明

Pin Description

数目(个)

+12V

5

+3.3V

3

3.3VAUX

1

3.3、信号管脚详细说明

3.3.1、PRSNT1#和PRSNT2#信号(长短针)

3.3.2、PERST#信号

该信号为全局复位信号

3.3.3、REFCLK+和REFCLK-信号

参考时钟(REFCLK-/REFCLK+),给PCIe AIC提供时钟

3.3.4、WAKE#

当PCIe设备进入休眠状态,主电源已经停止供电时,PCIe设备使用该信号向处理器系统提交唤醒请求,使处理器系统重新为该PCIe设备提供主电源。

3.3.5、SMCLK和SMDAT信号

SMCLK和SMDAT信号与x86处理器的SMBus(System Mangement Bus)相关。SMBus于1995年由Intel提出,SMBus由SMCLK和SMDAT信号组成。SMBus源于I2C总线,但是与I2C总线存在一些差异。

3.3.6、JTAG信号

JTAG(Joint Test Action Group)是一种国际标准测试协议,主要用于芯片内部测试。目前绝大多数器件都支持JTAG测试标准。JTAG信号由TCK、TDI、TDO和TMS、TRST#信号组成,可选

3.3.7、CLKREQ#信号

CLKREQ#是一个open-drain管脚,用于关闭参考时钟

3.4、总结

4、PCIe电路设计注意点(★)

4.1、金手指和插槽硬件设计注意区别(★)

注意:金手指的槽和金手指这两个原理图是不一样的!

4.2、AC耦合的大小、位置及作用(★)

4.3、时钟设计(★)

4.3.1、PCIe时钟大小
4.3.2、PCIe ADD-IN Card
4.3.3、PCIe主板插槽卡

4.4、PCIe LANE拆分问题(★)

4.5、校准电阻

4.6、PCIe正序和倒序 (★)

4.6.1、对于xilinx来说(AMD)

  

  

  

  

4.6.2、对于altera来说(intel)
4.6.3、对于其他FPGA

4.7、FPGA相关(★)

4.7.1、xilinx  7系列
  
4.7.2、xilinx ZYNQ系列
  

5、PCIe硬件实战(★)

5.1、金手指接口

5.1.1、ARTIX-7  PCIe x4  金手指接口

5.1.2、ARTIX-7  PCIe x4  金手指接口
5.1.3、KINTEX-7   PCIe X8金手指接口
5.1.4、KINTEX-7  PCIe X8金手指接口

5.1.5、金手指其他

5.2、插槽接口

5.2.1、表贴的插槽XCZU9EGFFVB1156---PCIe socket X8 硬件实战
5.2.2、表贴的插槽RK3588---PCIe socket X4 硬件实战
5.2.3、PCIe主板插槽接口  PCI-E98-SOCKET  

5.3、 金手指接口和插槽接口电路设计总结

6、PCIe PCB设计注意事项(★)

6.1、PCIe常规的布局设计要求

1、PCIe需要在发送端(PETPN)和对方的接收之间进行交流端合,AC电容控空;差分对的两个交流耦合电容必须有相同的封装尺寸,位置要对称,并且要摆放在靠近金手指这边。建设选择容量为0.1uf的高频电容,封装尺寸推荐使用0402,另外0603也可以接受,但是不允许使用直插封装的电容。

2、滤波电容靠近电源引脚放置。

3、部分芯片组和主板支持PCIE板卡热插拔,为了支持带电热插拔,板卡设计时需要做两点额外处理。

6.2、​​​​​​​ PCIe常规的布线设计要求

1、差分阻抗为85Ω、90Ω、100Ω(根据不同的CPU来定;PCIe的时钟和数据的阻抗不一样)

2、PCIE走线应远离晶振/体、电源、DDR等。

3、PCIE走线尽量短,最长不允许超过10inch(250mm)。

4、差分对走线过程中尽量避免打过孔,或者孔的数量控制子在2个以内。如果一定要通过过孔将层,那么应该在靠近信号对线过孔处放置GND地信号过孔,条件允许时适当增加用边GND地信号过孔数量。

5、PCIe的差分对对内做等长处理,对内误差要求±2mil。

6、PCIE需要有完整的参考地。

7、PCIe的差分对线3W间距。

8、AC电容控空。

9、TX和RX信号分别在走在同层走线,要完整的参考平面,优先邻近GND层走线。

10、电源管脚的铜皮处的过孔一定要根据整板功耗给予足够的宽度和数量。

6.3、PCB中金手指工艺

1、为了增加金手指的耐磨性,金手指通常需要电镀硬金。

2、金手指需要倒角,通常是45°,其他角度如20°、30°等。如果设计中没有倒角,则有问题;PCB 中的45°倒角

3、金手指需要做整块阻焊开窗处理,PIN 不需要开钢网;

4、沉锡、沉银焊盘需要距离手指顶端最小距离14mil;建议设计时焊盘距离手指位1mm 以上,包括过孔焊盘;

5、金手指的表层不要铺铜;

6、金手指内层所有层面需要做削铜处理,通常削铜宽度大3mm;可以做半手指削铜和整个手指削铜。

7、其他

详细内容参考视频讲解

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

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

相关文章

jenkins+git+maven+nodejs安装(linux系统)

前文已经安装完成sonarqube和Sonar Scanner了,接下来可以开始jenkins了 jenkins安装 命令(版本为 2.440) wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo wget https://pkg.jenkins.io/redh…

vue 开发 滑动页面中出现tabs 并且需要分页的

效果 需求 我们这个页面顶部有tabs 栏 而且可以滑动到底部 进行分页 实现这样的页面我们应该怎么做 你应该会想到scroll-view 这个组件吧 下面我们来详情介绍一下这个页面的实现和功能开发 首先展示一下代码 item 循环项 <template><div class"wechat-or…

Clustering and Projected Clustering with Adaptive Neighbors 论文阅读

1 Abstract 许多聚类方法基于输入数据的相似性矩阵对数据组进行划分。因此&#xff0c;聚类结果高度依赖于数据相似性学习。由于相似性度量和数据聚类通常是分两步进行的&#xff0c;学习到的数据相似性可能不是数据聚类的最佳选择&#xff0c;从而导致次优结果。在本文中&…

蓝牙耳机哪个品牌的好?五款实力超群品牌分享推荐!

​音乐不仅仅是一种娱乐&#xff0c;它还能激发灵感、放松心情。一款优质的蓝牙耳机能够让音乐体验更加丰富和便捷。在众多的蓝牙耳机中&#xff0c;我特别挑选了几款在音质、设计和功能上都表现出色的产品。无论你是在家中放松、在健身房锻炼&#xff0c;还是在通勤路上&#…

鸿蒙 UI预览报错

SyntaxError: Unexpected end of JSON input 删除entry下的.preview文件 重新刷新预览

从IPv4到IPv6:解密网络通信的新时代

欢迎来到我的博客&#xff0c;代码的世界里&#xff0c;每一行都是一个故事 从IPv4到IPv6&#xff1a;解密网络通信的新时代 前言ipv4介绍ipv6介绍IPv4与IPv6的区别IPv4地址枯竭问题和IPv6的解决方案 ipv6的优势IPv6在新兴技术领域的应用 ipv4向ipv6的过渡挑战解决方案IPv6部署…

电压比较器LM339介绍和仿真

电压比较器LM339介绍和仿真 &#x1f4d1;LM339相关特性 工作电源电压范围宽&#xff0c;单电源、双电源均可工作&#xff0c;单电源&#xff1a; 2&#xff5e;36V&#xff0c;双电源&#xff1a;1&#xff5e;18V&#xff1b;消耗电流小&#xff0c; Icc1.3mA&#xff1b;输…

怎么使用JMeter进行性能测试?

一、简介 JMeter是Apache软件基金会下的一款开源的性能测试工具&#xff0c;完全由Java开发。它专注于对我们应用程序进行负载测试和性能测量&#xff0c;最初设计用于web应用程序&#xff0c;现在已经扩展到其他测试功能&#xff0c;比如&#xff1a;FTP、Database和LDAP等。…

CompletableFuture用法详解

CompletableFuture 1 前言1.1 Fork/Join1.2 Future接口的局限性 2 正文2.1 神奇的CompletableFuture2.2 CompletableFuture API2.3 组合式异步编程2.4 几个小例子 1 前言 1.1 Fork/Join 1.概念 Fork/Join 是 JDK 1.7 加入的新的线程池实现&#xff0c;它体现的是一种分治思想…

【项目实战】记录一次PG数据库迁移至GaussDB测试(下)

上一篇分享了安装、迁移&#xff0c;本篇将继续分享迁移前操作、 DRS迁移数据、迁移后一致性检查、问题总结及解决方法。 目录 四、迁移前操作 4.1 源端(PG) 4.2 目标端(GaussDB库) 五、DRS迁移数据 5.1 创建复制用户 5.2创建迁移任务。 六、迁移后一致性检查 6.1使用…

maven 基础用法 (终端界面和IDEA界面)

目录 maven定义 Maven环境配置 仓库 本地仓库 关于pom.xml 运行方式 关于maven在IDEA创建 maven定义 Maven 是一个项目管理和整合工具。通过对 目录结构和构建生命周期 的标准化&#xff0c; 使开发团队用极少的时间就能够自动完成工程的基础构建配置。 ​ Maven 简化了…

【HarmonyOS 4+NEXT】开发工具安装指南

&#x1f64b;‍ 一日之际在于晨 ⭐本期内容&#xff1a;开发工具安装 &#x1f3c6;系列专栏&#xff1a;鸿蒙HarmonyOS4NEXT&#xff1a;探索未来智能生态新纪元 文章目录 前言准备工作下载开发工具安装开发工具配置开发环境总结 前言 随着科技的不断进步&#xff0c;智能设…

浅析Redis④:字典dict实现

什么是dict&#xff1f; 在 Redis 中&#xff0c;dict 是指哈希表&#xff08;hash table&#xff09;的一种实现&#xff0c;用于存储键值对数据。dict 是 Redis 中非常常用的数据结构之一&#xff0c;用于实现 Redis 的键空间。 在 Redis 源码中&#xff0c;dict 是一个通用…

IO流-字节缓冲流

简介 缓冲流就是对原始流进行包装&#xff0c;以提高原始数据流读写数据的性能 缓冲流继承体系 缓冲流的作用 构造器API 代码示例 try(// 创建字节输入流和输出流InputStream is new FileInputStream("test.txt");OutputStream os new FileOutputStream("test…

开源项目|使用go语言搭建高效的环信 IM Rest接口(附源码)

项目背景 环信 Server SDK 是对环信 IM REST API 的封装&#xff0c; 可以节省服务器端开发者对接环信 API 的时间&#xff0c;只需要配置自己的 App Key 相关信息即可使用。 环信目前提供java和PHP版本的Server SDK&#xff0c;此项目使用go语言对环信 IM REST API 进行封装…

在比特币中,1 sat 是多少美元?

普通人绝对想不到&#xff0c;比特币能在2024年达到这个价值&#xff0c;早知道的话&#xff0c;我当初就是破釜沉舟也得买一个啊。 而在4月19号&#xff0c;也将迎来比特币再次减半。减半并不是说玩家手中的比特币要被突然减去一半&#xff0c;而是在后续的挖矿过程中&#xf…

【Unity】游戏场景添加后处理特效PostProcessing

添加后处理特效PostProcessing 添加雾效果后处理何为后处理&#xff1f;添加后处理特效 添加雾效果 依次点击Window -> Rendering -> Lighting添加Lighting面板。 点击Lighting里面的Environment&#xff0c;找到Other Setting 将Fog选项勾选 更改下方的颜色 调整雾的浓…

移动端web适配方案

以下是移动端适配的多个方案&#xff0c;也可以说说你是怎么做的。 正文 自适应&#xff1a;根据不同的设备屏幕大小来自动调整尺寸、大小 响应式&#xff1a;会随着屏幕的实时变动而自动调整&#xff0c;是一种更强的自适应 为什么要做移动端适配&#xff1f; 目前市面上…

Linux内核与基础命令学习总结

Linux操作系统 Linux操作系统博大精深&#xff0c;其中对线程&#xff0c;IO&#xff0c;文件系统等概念的实现都很有借鉴意义。 ​ 文件系统和VFS 文件系统的inode上面讲过了。VFS主要用于屏蔽底层的不同文件系统&#xff0c;比如接入网络中的nfs文件系统&#xff0c;亦或是w…

如何使用docker-compose安装数据可视化应用JSON Crack并实现远程访问

文章目录 1. 在Linux上使用Docker安装JSONCrack2. 安装Cpolar内网穿透工具3. 配置JSON Crack界面公网地址4. 远程访问 JSONCrack 界面5. 固定 JSONCrack公网地址 JSON Crack 是一款免费的开源数据可视化应用程序&#xff0c;能够将 JSON、YAML、XML、CSV 等数据格式可视化为交互…