zoukankan      html  css  js  c++  java
  • PCIExpress总线简介

    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,这就几乎强制要求发送端和接收端使用同以参考时钟。

  • 相关阅读:
    KVC之-setValue:forKey:方法实现原理与验证
    李洪强iOS开发之iOS社区收集
    跟着百度学PHP[15]-会话控制session的工作机制
    代码审计学习之文件操作漏洞
    中间人攻击——ARP欺骗的原理、实战及防御
    跟着百度学PHP[14]-PDO的预处理语句2
    跟着百度学PHP[14]-PDO的预处理语句1
    跟着百度学PHP[14]-PDO之Mysql的事务处理2
    跟着百度学PHP[14]-PDO之Mysql的事务处理1
    跟着百度学PHP[14]-PDO的错误处理模式&PDO执行SQL
  • 原文地址:https://www.cnblogs.com/cute/p/2059631.html
Copyright © 2011-2022 走看看