大数跨境

技术洞见 | PCIe硬件相关基本概念介绍

技术洞见 | PCIe硬件相关基本概念介绍 牛芯半导体
2024-12-20
1
导读:本文转载自硬件Wiki,转载文章仅供学习和研究使用。

本文转载自硬件Wiki,转载文章仅供学习和研究使用。


拓扑结构


结构中有三个角色,RC(Root Complex)、EP(EndPoint)和Swtich,三者之间的关系如下图)。RC相当于主设备,EP相当于从设备。


Lane


PCIe收发链路可以有多条Lane组成,配置有x1 x2 x4 x8 x16 x32,Lane越多速率越快,如x2的速率是x1的两倍。
每个Lane都有一对Tx差分信号和一对Rx差分信号。
差分信号的Vpp大约为800mV,单端D+ D-大约为400mV。
PCIe x1 Lane电路如下图,Rx差分对(PCIE_RX_P PCIE_RX_M)和Tx差分对(PCIE_TX_P PCIE_TX_M)组成了一组Lane。


链路初始化与训练


PCIe总线中的链路初始化与训练(Link Initialization & Training)是一种完全由硬件实现的功能,处于PCIe体系结构中的物理层。整个过程由链路训练状态机(Link Training and Status State Machine,LTSSM)自动完成。
在系统复位后,会自动进行链路训练,以达成以下目标:位锁定(Bit Lock)、字符锁定(Symbol Lock,Gen1 & Gen2 Only)、块锁定(Block Lock,Gen3 Only)、确定链路宽度(Link Width)、通道位置翻转(Lane Reversal)、信号极性翻转(Polarity Inversion)、确定链路的数据率(Data Rate)和通道对齐(Lane-to-Lane De-skew)等功能。
链路训练状态机LTSSM有11个状态(其中又有多个子状态),分别是Detect(根据RC时间常数来判断Rx端是否存在)、Polling、Configuration、Recovery,L0、L0s、L1、L2(L3是可选的)、Hot Reset、Loopback和Disable状态。系统进行复位操作(Cold, Hot or Warm Reset)后,会自动进入Detect状态。
各状态之间的转换如下图所示:


参考时钟


参考时钟REFCLK是一种类LVDS信号(即Low Voltage Swing,Differential Clocks),时钟频率为100MHz,Gen1~4精度为±300ppm,Gen5为±100ppm。注意其和Data的时钟不同,其是固定的100MHz,而Data的时钟则是由CDR(Clock Data Recovery)电路直接从Data波形中恢复出来的,CDR电路需要此参考时钟。
REFCLK的电平如下图:
PCIe参考时钟的三种架构:
1、Common Refclk (Shared Refclk) Architecture
架构如下图,共用同一个时钟,PCIe spec推荐这种架构。
2、Data Clocked Rx Architecture
参考时钟直接从数据流中恢复出,这种难度大,对CDR的要求高。
3、Separate Refclk Architecture
收发双方用独立的时钟,PCIe spec强烈不推荐,不建议使用。
REFCLK标准参考“PCI Express® Base Specification Revision 6.0 : 8.6 Refclk Specifications”。


中断


有以下两种,PCIe RC和对应的EP中断需要能支持相同的中断,否则有些功能会实现不了。
1、INTx
最早采用的基于边缘信号的INTx。
2、MSI/MSI-X
后续的基于消息信号的MSI/MSI-X。


复位


有如下四种复位。
1、冷复位
因为主电源断开后重新连接导致的复位。PCIe Spec允许两种实现基本复位的方式。一是直接通过边带信号PERST#(PCI Express Reset);二是不使用边带信号PERST#,PCIe设备在主电源被切断时,自行产生一个复位信号。
2、暖复位
其是可选的,指的是在不关闭主电源的情况下,产生的复位。然而,PCIe Spec并未明确规定暖复位的产生机制,因此,如果产生暖复位完全是由系统设计者决定的。
3、热复位
其是一种In-band复位,其并不使用边带信号。
如果Switch的Upstream端口收到了热复位,则会将其广播至所有的Downstream端口,并复位其自己。如果PCIe设备的Downstream端口接收到热复位,则只需要复位其自己即可。
当PCIe设备接收到热复位后,LTSSM会进入Recovery and Hot Reset状态,然后返回值Detect状态,并重新开始链路初始化训练。其该PCIe设备的所有状态机,硬件逻辑,端口状态和配置空间中的寄存器(除了Sticky bits)都将被初始化值默认状态。
4、功能复位
PCIe总线自V2.0加入了此功能。该功能主要针对的是支持多个功能的PCIe设备(Multi-Fun PCIe Device),可以实现只对特定的Function复位,而其他的Function不受影响。
此功能是可选的。


热插拔


PCIe总线的热插拔主要指的是PCIe卡设备的热插拔,以及相关的实现机制等。
PCIe卡有两个用于热插拔机制的引脚——PRSNT1#和PRSNT2#。PCIe卡设备上的这两个信号之间是短路的,PCIe插槽的PRSNT1#被固定地连接到地,PRSNT2#则被上拉。且PCIe卡上的这两个信号的金手指长度要比其他的信号的金手指长度要短一点。
如下图所示,当PCIe卡设备未被完全插入插槽时,插槽的PRSNT2#信号由于上拉的作用,将一直处于高点平状态。当PCIe卡设备被完全插入插槽后,插槽上的PRSNT2#信号则会被PCIe卡设备的短路线连接到地,从而使得其变为低电平。换句话说,从插槽的角度看,当PRSNT2#位高电平时,则认为PCIe卡设备未能正确插入或者无PCIe卡设备;当PRSNT2#位低电平时,表明PCIe卡设备被正确地插入插槽中。


往期推荐

01

牛芯半导体入选2024大湾区高成长企业100强

▲ 点击阅读

02

牛芯半导体荣获2024年度硬核IP产品奖

▲ 点击阅读

03

牛芯半导体荣获国家级专精特新“小巨人”企业认定

▲ 点击阅读


牛芯半导体(深圳)有限公司(简称“牛芯半导体”)成立于2020年,聚焦接口IP的开发和授权,并提供相关整体解决方案,致力成为全球领先的IP供应商。


基于自主可控的核心技术,牛芯半导体在主流先进工艺布局SerDes、DDR等中高端接口IP,产品广泛应用于消费电子、网络通信、数据存储、人工智能、汽车电子、医疗电子等领域。


未来,牛芯半导体持续响应IP国产化需求,适应不断演进的接口技术和日益拓展的接口互联场景,赋能数智时代下的千行百业。

【声明】内容源于网络
0
0
牛芯半导体
牛芯半导体,专注于高速互联技术的研发和持续创新,拥有完全自主可控的知识产权,提供全栈式接口IP授权和高速互联芯片的定制方案,赋能芯片国产化;已服务客户超百家,涵盖智能驾驶、人工智能、特种计算等领域,致力成为全球领先的高速互联半导体公司。
内容 0
粉丝 0
牛芯半导体 牛芯半导体,专注于高速互联技术的研发和持续创新,拥有完全自主可控的知识产权,提供全栈式接口IP授权和高速互联芯片的定制方案,赋能芯片国产化;已服务客户超百家,涵盖智能驾驶、人工智能、特种计算等领域,致力成为全球领先的高速互联半导体公司。
总阅读0
粉丝0
内容0