通信与接口协议面试十、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收发器相连接。

相关推荐
元器件BOM超人29 分钟前
GD32E230C8T6 兆易创新Cortex-M23超值型MCU解析:规格参数、替代选型与常见问题
单片机·嵌入式硬件
j7~32 分钟前
【C++ 八股文】(篇四)C++11 新特性
开发语言·c++·面试·c++11·八股文
StarsGreen1 小时前
Android 启动流程详解
android·linux·单片机·嵌入式硬件
en.en..1 小时前
AFE:模拟前端,模拟世界通往 MCU 的信号桥梁
单片机·嵌入式硬件
小鳄鱼电气2 小时前
感应电机直接转矩控制传动(AC4 200 HP)仿真说明书
单片机·嵌入式硬件
nice_lcj52015 小时前
Java Lambda 表达式入门:怎么写、怎么用、常用方法有哪些
java·开发语言·后端·面试
Dev_XH16 小时前
【成品设计】基于单片机的家用智能浇花系统的设计与实现
stm32·单片机·嵌入式硬件·物联网
意法半导体STM3217 小时前
【官方原创】LAT1717 STM32N6 如何使用单个XSPI驱动双片相同HyperRAM
stm32·单片机·嵌入式硬件·mcu·stm32n6·hyperram
木子单片机17 小时前
基于单片机的直流电机调速系统设计
单片机·嵌入式硬件·51单片机·nosql·keil
Zwawa19 小时前
两根线怎么挂住一堆设备:I2C 协议原理
c语言·单片机·嵌入式