PCI-Express总线简介

http://blog.c114.net/html/15/562315-75900.html

        PCI-Express的原名为3GIO (The 3rd Generation Input Output),是由Intel首先提出的,顾名思义,Intel当初提出时就是要将它作为第三代I/O接口标准(第一代是I/O接口标准是ISA,第二代I/O接口标准是PCI),后来,Intel3GIO标准转交给PCI-SIG(PCI总线特殊兴趣小组),名字被改为“PCI-Express”,并进行了标准化。

 

    如今,PCI-Express已经推出了3个版本,分别是:

       1).20024月推出的PCI-Express 1.0,单通道带宽为2.5Gbps *2 (因为PCE-Express收发通道独立,可以同时工作,所以带宽加倍),有效带宽为2.5Gbps *2*0.8=4Gbps=500MByte/sPCI-Express通道中传输的数据经过了8B/10B编码,编码效率为80%)。

       2). 2006年推出的PCI-Express 2.0,单通道带宽为5Gbps *2,有效带宽为5Gbps *2*0.8=8Gbps=1GByte/s

       3). 2008年推出的PCI-Express 3.0,单通道带宽为10Gbps *2,有效带宽为10Gbps *2*0.8=16Gbps=2GByte/s

 

        PCI-Express总线的基本架构包括根组件(Root Complex)、交换器(Switch)和各种终端设备(Endpoint)。根组件可以集成在北桥芯片中,用于处理器和内存子系统与I/O之间的连接;交换器的功能通常以软件的形式提供,包括多个逻辑PCIPCI的桥连接,以及与传统PCI设备的兼容性,在PCI-Express架构中出现的新设备是交换器,主要用来为I/O总线提供输出端,它也支持在不同终端设备间进行对等数据传输。PCI-Express总线的拓扑结构如下图所示。

        PCI总线特点:

        1).双单工,点对点传输,每个Lane包含4根线,22发,使用LVDS差分信号,最小差模电压175mV,共模电压3.5V,最长可传输3m

        2).基于包的数据传输方式,支持QOSVCTC等特性,支持热插拔,支持电源管理。

        3).对传输的数据进行8B/10B变换,调整码流的DC特性,方便接收端的时钟信号恢复。

        4).接口带宽可裁减,使用灵活,可根据实际带宽需求选择合适的Lane数量。PCI-Express支持1X2X4X8X16X32X(每个“X”代表一个Lane),并且向下兼容其他PCI-E小接口产品。如PCI-E 4X可以插在PCI-E 8X16X插槽上使用。

       

5).支持通道反转,给PCB走线带来更大的灵活性。(此特性并非PCI-E规范强制要求),下图为2Lane PCI-E通道反转实例。

    

      6).支持极性倒置功能,方便PCB调线。

     

         PCI-Express总线物理层由逻辑子层和电气子层构成。逻辑子层负责链路的复位,设置链路的速率和带宽,Deskew的测量和补偿,8B/10B编码和解码。

    发送端包括:

       1).多路复用器;

       2).字节拆分逻辑;

       3).扰频器;

       4).8B/10B编码器;

       5).并行/串行转换器。

 

   接收端包括:

      1).接收PLL;

      2).串行/并行转换器;

      3).弹性缓冲器;

      4).10B/8B解码器;

      5)去扰频器;

      6).字节反拆分逻辑。

      7).控制字节删除电路;

      8).数据包接收缓冲。

      PCI-Express总线的每个Lane3对信号,其中参考时钟信号可选。如下图所示。

   

       PCI-Express总线的参考时钟为100MHz,精度要求为±300ppm,收发两端的参考时钟可以独立,也可以连接在一起,如果连接在一起,则收发两端参考时钟可以保持同步。如下图所示。

   

         PLL是锁相环,用来锁定收发通道的参考时钟,CDR的英文全称是Clock Data Recover,时钟数据恢复的意思。CDR的典型框图如下。(点击看清楚大图)

           PCI-Express总线100MHz时钟的电平匹配方式如下所示。

    

    下拉电阻的取值范围为4060ohm,一般取49.9ohm,串阻的阻值一般根据实际信号幅度进行调整,一般取33ohm,串阻和下拉电阻都放在始端。PCIE信号一般用AC耦合方式,耦合电容放在始端(这里需要特别注意下,一般高速信号的AC耦合电容都是要求放在终端的,PCIE信号AC耦合电容的位置很特别的),电容取值范围为75nF-100nF

 

        PCIE通道的Deskew

    所谓的Deskew是指通道与通道的相位偏移,其主要来源有:

       1).芯片驱动端和接收端的差异;

       2).印制电路板的阻抗变化;

       3).通道线路长度的不匹配;

       4).串行化和反串行化逻辑所引入的延迟。

 

       PCIE接收端为了能并行处理数据,必须要去除通道与通道的相位偏移,此动作称为链路的相位补偿,具体方法是通过微调芯片内部的自动延迟电路来实现的,关于Deskew的测量方法,我已经在“SPI5/SFI5总线简介”这篇文章里介绍过了,有兴趣的可以去查看,这里不在赘述。PCIE规范要求,在发送端需要拥有1.5nSDeskew补偿能力,在接收端需要拥有20nS的补偿能力。所以PCIE总线对个通道的走线长度约束非常宽松,不需要像并行总线那样做等长处理。

 

      PCIE总线支持SSC(拓展频谱时钟)技术,SSC是一种缓慢调制时钟频率的技术,以便降低中心频率处的EMI发射,有了SSC,辐射能量就不会产生2.5GHz5GHz的噪声尖峰信号,因为辐射被分散到中心频率周围的小频率范围上。使用SSC时,链路两端的最大时钟差异必须在±600ppm,这就几乎强制要求发送端和接收端使用同以参考时钟。

posted on 2011-05-27 11:00  katago  阅读(2458)  评论(0编辑  收藏  举报