- UID
- 1023166
- 性别
- 男
- 来自
- 燕山大学
|
PCI Express (PCIe)是嵌入式和其它系统类型的背板间通信的一个非常理想的协议。然而,在嵌入式环境中,背板连接器引脚通常很昂贵。因此,采用点对点连接的星型结构的PCIe时钟分配方案就变得并不理想。本文将讨论如何使用一个多点信号来分配PCIe时钟,而且仍满足PCIe第二代规范严格的抖动要求。
PCIe计时
PCIe基本规范1.1和2.0为信令速率2.5Gbps和5.0Gbps的时钟分配定义了三个不同模型,见图1、图2和图3。
共用时钟架构作为最常使用的方法有很多理由。首先,大多数支持PCIe接口的商用芯片只适用于这种架构。其次,这种架构是唯一可以直接支持展频计时(Spread Spectrum clocking,简称SSC)的架构。SSC在减少电磁干扰峰化方面起着非常重要的作用,因此可以简化符合系统电磁辐射限制的工作(见图4)。最后,这种架构最容易形成概念和设计。
共用时钟架构最大的缺点在于需要为系统中每个PCIe端点分配基准时钟。频率为 100MHz或125MHz的时钟以及PCIe规范严格的抖动要求使得这一架构变得尤其复杂。对2.5Gbps工作的限制为86ps——106采样的一系列样本的峰-峰相位抖动。而5.0Gbps工作的限制为3.1ps(均方根抖动值)。然而,要在5.0Gbps工作,收发器首先要在2.5Gbps协商,如果两端都可以,再提高到5.0Gbps。这就是说如果系统支持任何5.0Gbps链接,则基准时钟就必须同时满足两者的抖动指标。
独立的数据时钟架构不会受到上述限制,但却大幅增加了时钟系统设计的复杂性,且在不使用单边带信令时不支持SSC。
基准时钟抖动的管理规范是PCIe基本规范1.1和2.0,而检验抖动达标的方法详细列在PCIe抖动建模修订版1.0D和PCIe抖动和BER修订版 1.0中。机电规范提供了机械尺寸信息、电信号定义和功能。其中一些,如卡机电(Card Electromechanical,简称CEM)1.1和CEM2.0规范也为基准时钟、Tx锁相环(Phase-Locked Loop,简称PLL)、Rx PLL和介质提供了抖动预算。严格来讲,CEM规范只申请了PC和服务器ATX,以及基于ATX的尺寸。其它已出版的机电规范覆盖了其它尺寸,如用于移动计算平台的Mini Card Electromechanical Specification 1.2。
对于大多数嵌入式系统,上述这些规范可以全部或部分用来规定嵌入式系统PCIe时钟分配方案提供指南。例如,许多CEM文件规定了对基准时钟分配Host ClockSignal Level(HCSL)协议的使用。然而,许多嵌入式系统希望使用低电压正射极耦合逻辑(Low Voltage Positive Emitter Coupled Logic,简称LVPECL)或多点低电压差分信号(Multipoint-Low-Voltage Differential Signaling,简称M-LVDS)信令,以实现时钟分配网络更远的距离和/或噪声容限。
许多嵌入式系统需要在其背板之间分配包括时钟在内的大量高速信号。为了解决这些背板上经常出现的繁重电气负载问题,这些信号需要有非常强大的驱动器和高边缘速率。这带来了干扰和其它信号完整性的危险,尤其是在背板比最差设计点的负载更低时。另一个设计上的挑战在于PCIe详细规定了100MHz或 125MHz的基准时钟,这是一个很难在高负载长背板上顺利分配的频率。
除了PCIe规范严格的抖动限制和需要更长的信号距离,嵌入式系统通常还受到可能通过背板连接器和背板本身的信号量的限制。当定制系统时,确定连接器引脚排列是最关键的任务之一。
建议的共用时钟分配方案
由于时钟频率和抖动限制,最常见的共用时钟架构设计利用点对点差分信号对来分配基准时钟,其中一个差分信号对将抵达系统的每个PCIe端点。如果一张卡上有多个PCIe端点,就可以从背板获得一个基准时钟输入,并利用零延迟缓冲器(Zero Delay Buffers,简称ZDB)提供卡上时钟分配网络。然而,即使这样,由于PCIe 5.0Gbps运行的抖动限制,设计起来也是非常困难的。
假设我们能设计出这样的卡上分配方案,我们仍需要提供从PCIe主到系统上每张卡的点对点连接。在嵌入式系统中,这需要在主卡插槽上增加大量连接器引脚,并在背板上增加大量有特殊布线要求的线迹。这还要给主卡插槽插入与其它插槽截然不同的引脚排列。
一个消除这些限制的解决办法是降除主卡上的PCIe基准时钟,并利用一个M-LVDS多点信号在背板之间进行分配,然后将其提高到目标卡所需的频率。尽管理论上非常简单,但实现PCIe抖动限制却很棘手(见图5,注意绿色信号线不起作用)。
这一解决方案可提供一个M-LVDS对,用来驱动或接收符合PCIe的基准时钟。如图5所示,在许多嵌入式系统中,根据应用的”与/或”插槽进行分配,每张卡都可作为主操作或端点操作。显然,如图所示,只用于其中一种模式操作的卡将被简化。系统中的一张卡将作为主,利用其板上晶振生成满足PCIe限制的基准时钟。这个时钟将利用内部时钟分配网络驱动所有板上PCIe器件。该时钟也将到达非PLL除法器电路,将100MHz或125MHz向下降除为 25MHz的背板频率,然后将除降了的基准时钟驱动到系统的其余卡上。
系统中其它所有的卡将禁用板上时钟发生器,形成基准时钟线迹的三态驱动器,并接收来自背板的基准时钟。随后,这将通过基于PLL的ZDB提高到板上所需和分配的基准时钟频率,并将划分了的基准时钟驱动到系统的其它卡上。系统其它所有的卡将失去对板上时钟发电器的使用,形成基准时钟线迹三态驱动器,并接收来自背板的基准时钟。这将通过基于PLL的ZDB提高到板上和分配所需的基准时钟频率。接收和提高来自背板的基准时钟的电路通常在主卡上,如果需要,可以用来生成所需的另一个基准时钟频率。为了实现PCIe所需的低抖动,IDT FemtoClock PLL技术可用于时钟合成器和ZDB。
像这种设计的最主要难点之一在于,PLL虽然可以过滤掉频率高于PLL本身环路带宽的噪声信号,但在低于PLL环路带宽的低频部分,却增加了很多在调制频率附近的附加抖动。另外,由于PLL无法完全跟踪基准时钟输入的相位和频率变化,从而引起跟踪偏移。像这种包含两个以上用于频率生成和转换的级联型PLL 的背板PCIe方案必须谨慎对待,以尽量降低相位抖动和PLL跟踪偏移。
PCIe抖动的测量
在深入分析这个解决方案的性能之前,需要先讨论PCIe抖动性能的分析过程。 PCIe抖动工作组关注的一个首要问题是确定一个恰当的基准时钟。为了这个目的,需要考虑基准时钟的Tx和Rx PLL及相位插值器的过滤效果。同时,为了避免对基准时钟规格不足,这些PLL的峰值效应也需要考虑。这一过程分为四个主要步骤: |
|