PCIe(PCI Express) 是一种广泛用于高性能设备之间数据传输的标准接口。PCIe 标准经过了多次更新和迭代,经历了 Gen 1、Gen 2、Gen 3、Gen 4,每一代都在传输速率、带宽、时钟特性等方面进行了改进和提高。下面我来详细解释一下 PCIe 通用时钟(Common Clock)和 SRNS(独立参考无源同步) 模式,以及它们之间的区别:
1. PCIe 各代的时钟特性
PCIe Gen 1、2、3、4 主要在数据传输速率和时钟信号特性上有以下区别:
-
PCIe Gen 1:
- 速率:2.5 GT/s(Giga Transfers per second)。
- 通常使用 100 MHz 的参考时钟,经过倍频和编码后传输。
-
PCIe Gen 2:
- 速率:5.0 GT/s。
- 使用更先进的信号处理技术,时钟抖动和同步要求比 Gen 1 更严格。
-
PCIe Gen 3:
- 速率:8.0 GT/s。
- 使用 8b/10b 编码,并且需要参考时钟的相位噪声非常低,时钟信号必须更加稳定。
-
PCIe Gen 4:
- 速率:16.0 GT/s。
- 进一步提高了带宽,对时钟的相位抖动和同步的要求更加严格。
2. 通用时钟模式 (Common Clock Mode)
通用时钟模式 是 PCIe 的一种工作模式,它是由主机(Host)和设备(Device)之间共享相同的参考时钟。具体来说:
- 同一个参考时钟源被传递给链路两端的发送方和接收方。
- 通用时钟模式的主要优点是:
- 时钟源相同,因此数据传输时,发送和接收的时钟是同步的,减少了对时钟偏差的补偿需求。
- 时钟同步简单,可以降低电路的复杂性,从而提高链路的可靠性和降低功耗。
- 通用时钟一般为 100 MHz,但其抖动特性需要满足 PCIe 标准规定的要求,以确保传输稳定性。
3. SRNS 模式 (Separate Refclk with No Spread, 独立参考无扩频)
SRNS(Separate Reference Clock with No Spread) 模式是指 两端的参考时钟是独立的,没有来自同一源的同步时钟信号:
- 独立参考时钟:发送端和接收端都有自己的时钟源,但这些时钟可能不是同一个时钟信号,尽管它们的频率是相同的(如 100 MHz)。
- 没有扩频(No Spread):时钟信号不会进行频率扩展调制(扩频 SSC),以减少电磁干扰。
- 在 SRNS 模式下,由于两端的时钟是独立的,因此需要专门的电路(如 时钟数据恢复(Clock Data Recovery, CDR)电路)来对时钟进行再同步。
- SRNS 模式的优点是可以在不同的设备之间,分别有各自独立的参考时钟,减少了对共享参考时钟的依赖。
4. 通用时钟模式 vs. SRNS 模式
-
同步方式不同:
- 通用时钟模式:主机和设备端使用相同的参考时钟,数据传输相对简单。
- SRNS 模式:两端使用独立的参考时钟,需要额外的同步机制。
-
复杂性:
- 通用时钟模式:由于使用同一个参考时钟,减少了对同步电路的需求,因此实现较为简单。
- SRNS 模式:需要专门的时钟恢复和再同步电路,增加了实现复杂性。
-
适用场景:
- 通用时钟模式:适合系统内多个设备能够共享相同参考时钟的应用场合,例如主板上 CPU 与 PCIe 外围之间。
- SRNS 模式:适合那些时钟源无法共享或距离较远的应用场景,独立的参考时钟让系统设计具有更多的灵活性。
5. PCIe Gen 3 SRNS 支持
在 PCIe Gen 3 中,SRNS 模式得到了进一步的完善和支持。由于 Gen 3 速率较高(8 GT/s),需要确保两端的时钟差异尽可能小,这就要求参考时钟有较高的精度。Gen 3 的 SRNS 需要具备更好的时钟恢复和同步能力,以保持数据传输的完整性。
总结
- 通用时钟模式(Common Clock):两端共享相同的参考时钟,数据传输简单,适合短距离或单板系统。
- SRNS 模式:两端参考时钟独立,适合不能共享参考时钟的场景,增加了系统的灵活性,但也增加了实现的复杂性。
两种模式的区别在于是否使用共享参考时钟以及同步方式的不同。在 PCIe 的不同代中,时钟同步机制和抖动要求逐渐提高,因此需要根据具体的应用场合选择合适的时钟模式,以确保数据传输的高效和可靠性。