共用时钟架构最大的缺点在于需要为系统中每个PCIe端点分配基准时钟。频率为100MHz或125MHz的时钟以及PCIe规范严格的抖动要求使得这一架构变得尤其复杂。对2.5Gbps工作的限制为86ps采样的一系列样本的峰-峰相位抖动。而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和CEM 2.0规范也为基准时钟、Tx锁相环(Phase-Locked Loop,简称PLL)、Rx PLL和介质提供了抖动预算。严格来讲,CEM规范只申请了PC和服务器ATX,以及基于ATX的尺寸。其它已出版的机电规范覆盖了其它尺寸,如用于移动计算平台的Mini Card Electromechanical Specification 1.2。
对于大多数嵌入式系统,上述这些规范可以全部或部分用来规定嵌入式系统PCIe时钟分配方案提供指南。例如,许多CEM文件规定了对基准时钟分配Host Clock Signal Level(HCSL)协议的使用。然而,许多嵌入式系统希望使用低电压正射极耦合逻辑(Low Voltage Positive Emitter Coupled Logic,简称LVPECL)或多点低电压差分信号(Multipoint-Low-Voltage Differential Signaling,简称M-LVDS)信令,以实现时钟分配网络更远的距离和/或噪声容限。
许多嵌入式系统需要在其背板之间分配包括时钟在内的大量高速信号。为解决这些背板上经常出现的繁重电气负载问题,这些信号需要有非常强大的驱动器和高边缘速率。这带来了干扰和其它信号完整性的危险,尤其是在背板负载比最差设计点的负载更低时。另一个设计上的挑战在于PCIe详细规定了100MHz或125MHz的基准时钟,这是一个很难在高负载长背板上顺利分配的频率。
除了PCIe规范严格的抖动限制和需要更长的信号距离,嵌入式系统通常还受到可能通过背板连接器和背板本身的信号量的 限制。当定制系统时,确定连接器引脚排列是最关键的任务之一。
建议的共用时钟分配方案
由于时钟频率和抖动限制,最常见的共用时钟架构设计利用点对点差分信号对来分配基准时钟,其中一个差分信号对将抵达系统的每个PCIe端点。如果一张卡上有多个PCIe端点,就可以从背板获得一个基准时钟输入,并利用零延迟缓冲器(Zero Delay Buffer,简称ZDB)提供卡上时钟分配网络。然而,即使这样,由于PCIe 5.0Gbps运行的抖动限制,设计起来也是非常困难的。
假设我们能设计出这样的卡上分配方案,我们仍需要提供从PCIe主到系统上每张卡的点对点连接。在嵌入式系统中,这需要在主卡插槽上增加大量连接器引脚,并在背板上增加大量有特殊布线要求的线迹。这还要给主卡插槽插入与其它插槽截然不同的引脚排列。