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收发器相连接。