通信与接口协议面试十、PCIe

1.PCI

是一种高速串行计算机扩展总线标准。PCI 是总线的连接方式,PCle是点对点的连接方式。PCle总线使用了高速差分总线,采用端到端的连接方式,因此在每一条PCle链路中只能连接两个设备。因此PCle与PCl总线采用的拓扑结构有所不同。PCI是并行数据传输,PCle是串行数据传输。

2.PCIE概述

PCle总线是连接外部设备的线路。

PCle通道是 PCle 总线的组成部分,PCle总线包含一条或多条PCle通道。一条PCle通道就是X1。PCle卡是一种具有PCle接口的卡,在主板级连接中用作扩展端口。

3.特性

①点对点。PCle使用高速差分总线端到端的方式进行连接,差分信号可以匹配更高的时钟频率,且信号传输时的抗干扰。

②双向(双单工)。"单工"是指物理连接上的单向通信,而"双"是指两个。

③PCle总线最多具有32个通道,当不需要使用全部的数据吞吐量,可以使用部分通道。

④向后兼容之前的PCle版本。

⑤7种规格X1X2X4X8X12X16X32。

4.PCle拓扑结构

Root Complex:根桥设备,是PCle最重要的一个组成部件;是CPU与总线的直接接口。RootComplex主要负责PCle报文的解析和生成。RC接受来自CPU的IO指令,生成对应的PCle报文,或者接受来自设备的PCleTLP报文,解析数据传输给CPU或者内存。

Switch: PCle 的转接器设备,目的是扩展PCle线。挂载更多的PCle设备,那就需要用到 switch 转接器。扮演了数据包路由的功能。

PCle endponit:PCle终端设备,是 PCle 树形结构的叶子节点。比如网卡,NVME卡,显卡都是 PCleep设备。

Bridge 提供了一个转换接口用来连接其他的总线,如PCl/PCI-X。这样可以允许在 PCle的系统中接入一张旧的PCI设备。

内存很重要,CPU一般直接直连。

5.PCle速度

GT/s: Giga transation per second

通信协议的速率属性,描述的是链路上传输的原始数据(单Lane的峰值带宽)。

Gbps: Giga Bits Per Secondd(千兆位/秒)。描述的是链路上传输的有效数据。GT/s与Gbps之间不存在成比例的换算关系。

PCle总线带宽是按长度计算的,最短的是X1。

6.编码方式

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

PCle 3.0协议支持 8.0GT/s,即每一条 Lane上支持每秒钟内传输 8G 个 Bit。而PCle 3.0的物理层协议中使用的是128b/130b的编码方案。即每传输128个Bit,需要发送130个Bit。

PCle 3.0协议的每一条Lane支持8*128/130=7.877Gbps=984.6MB/s的速率。

7.接口类型

①金手指GoldFinger(Add-in)。金手指最主要的作用是连接。

②PCle socket插槽。

8.管脚

电源:+12V5个;+.3.3V3个;3.3VAUX1个。

根据功耗的不同,三种电压的供电能力不同,PCle卡可以分为以下几种:10W,25W,75W,直接通过金手指提供;

+12V主要给PCle设备(如显卡)提供更大的供电能力。

Vcc 3.3V为主电源,PCle设备使用的主要逻辑模块均使用VCC供电。

电源管理相关的逻辑和寄存器使用Vaux供电。

PRSNT1#和PRSNT2#信号

PCle设备的热插拔。Add-in 卡中,PRSNT1#和 PRSNT2#信号直接相连。处理器主板,PRSNT1#信号接地,而PRSNT2#信号通过上拉电阻接为高。

原理:当Add-In卡插入时主板的PRSNT2#信号将与PRSNT1#信号通过Add-In卡连通,此时PRSNT2#信号为低。处理器主板的热插拔控制逻辑将捕获这个"低电平",得知Add-In卡已经插入。PRSNT1#和PRSNT2#信号使用的金手指长度是其他信号的一半。

PERST#信号全局复位信号,由处理器系统提供。TRST#测试复位/TRST。

REFCLK+和REFCLK-信号100Mhz的时钟,给PCle提供时钟。0.3-0.45V左右,PCle的差分时钟的电压。

WAKE#当 PCle设备进入休眠状态,该信号向处理器系统提交唤醒请求,使处理器系统重新为该PCle设备提供主电源。WAKE#信号是可选的。使用辅助电源Vaux供电。

SMCLK 和SMDAT信号与x86处理器的SMBus相关。PCle设备与处理器系统进行交互。可选。JTAG 信号由TCK、TDI、TDO和TMS信号组成。可选。

CLKREQ#信号是一个open-drain 管脚,用于关闭参考时钟。请求运行时钟。

9.电路布局

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

金手指(B对应的是RX)(A对应的是TX)PRSNT1、PRSNT2、PRSNT3等等,需要加---个0欧姆的电阻串在一起。

插槽(B对应的是TX)(A对应的是RX)插槽的PRSNT1接地,PRSNT2、PRSNT3及其他接fpga

2.PCle总线采用交流耦合的方式进行传输,耦合电容一般靠近 TX发送端放置。PCle1.0/ PCle2.0 100nF。

3.PCle接口的收发信号直接跟FPGA BANK115,BANK116的GTX收发器相连接。

相关推荐
三月不知肉味y2 小时前
2026-07-05-JAVA面试场景题训练
java·开发语言·面试
lzx186488437022 小时前
【AH8966】可替代 KP3211 非隔离 AC110220V转12V 0.5A 降压转换芯片
人工智能·单片机·嵌入式硬件·集成测试·硬件工程·ic
csg11073 小时前
PIC单片机防破解:从硬件到软件的全面防护
单片机·嵌入式硬件·物联网·自动化
电化学仪器白超4 小时前
低阻域 ADC 与参考源选型理论分析
人工智能·python·单片机·嵌入式硬件·自动化
小小的代码里面挖呀挖呀挖4 小时前
杰理蓝牙耳机开发--LE Audio与游戏耳机应用
笔记·单片机·物联网·学习
张海森-1688204 小时前
怎么算进程 总共运行时间
单片机
qzhqbb5 小时前
字节面试分享复盘
面试·职场和发展
bu_shuo5 小时前
STM32-BOOT的三种启动方式
stm32·单片机·嵌入式硬件
YYRAN_ZZU5 小时前
Lattice 自定义IP业务逻辑核
嵌入式硬件·fpga开发