目录
PCIe 的物理层 (Physical Layer) 详细介绍
6.3 SerDes (Serializer/Deserializer)
PCIe 的物理层 (Physical Layer) 详细介绍
PCI Express (PCIe) 的物理层是整个 PCIe 系统中最底层的部分,负责在物理介质上发送和接收电信号。物理层的主要任务包括电气信号传输、链路训练、时钟同步和信号完整性管理。以下是 PCIe 物理层的详细介绍。
1. 基本概念
1.1 Lane
- 定义:PCIe 的基本传输单元,每个 lane 包括一对差分信号线(一条发送线和一条接收线)。
- 带宽:每个 lane 的理论带宽为 250 MB/s(Gen1),随着 PCIe 版本的升级,带宽会增加。例如,Gen2 为 500 MB/s,Gen3 为 1 GB/s,Gen4 为 2 GB/s,Gen5 为 4 GB/s。
1.2 Link
- 定义:由一个或多个 lanes 组成的连接,用于在两个 PCIe 设备之间传输数据。
- 示例:常见的 link 宽度有 x1、x2、x4、x8、x16 等。
2. 电气信号传输
2.1 差分信号
- 定义:PCIe 使用差分信号传输数据,每对差分信号线包括一条正信号线和一条负信号线。
- 优点:差分信号可以有效减少电磁干扰 (EMI) 和共模噪声的影响,提高信号的完整性和可靠性。
2.2 信号电平
- 定义:PCIe 规定了不同的信号电平标准,以确保信号的正确传输。
- 示例:Gen1 和 Gen2 使用 800 mV 差分摆幅,Gen3 使用 400 mV 差分摆幅,Gen4 和更高版本使用更低的差分摆幅。
3. 链路训练
3.1 初始化
- 定义:链路训练是 PCIe 链路初始化的一部分,确保发送方和接收方之间的通信质量。
- 流程:
- 检测:发送方和接收方通过发送和接收特殊的训练序列来检测链路的存在。
- 同步:通过发送同步序列,确保发送方和接收方的时钟同步。
- 配置:通过发送配置序列,设置链路的参数,如宽度、速率等。
- 均衡:通过发送均衡序列,调整发送和接收参数,优化信号质量。
3.2 状态机
- 定义:链路训练状态机包括多个阶段,每个阶段负责不同的任务。
- 阶段:
- Detect:检测链路的存在。
- Polling:发送和接收同步序列。
- Configuration:设置链路参数。
- Equalization:调整发送和接收参数。
- Link Training Complete:链路训练完成。
4. 时钟同步
4.1 嵌入式时钟
- 定义:PCIe 使用嵌入式时钟,即时钟信息包含在数据流中,而不是单独的时钟信号线。
- 优点:减少引脚数量,简化电路设计。
4.2 时钟恢复
- 定义:接收方通过时钟恢复电路从数据流中提取时钟信息。
- 方法:常用的时钟恢复方法包括锁相环 (PLL) 和延迟锁定环 (DLL)。
5. 信号完整性管理
5.1 信号完整性问题
- 定义:信号完整性问题包括反射、串扰、衰减和抖动等。
- 原因:长距离传输、阻抗不匹配、电源噪声等。
5.2 解决方法
- 阻抗匹配:确保传输线的阻抗与发送方和接收方的阻抗匹配。
- 端接电阻:在传输线的末端添加端接电阻,减少反射。
- 屏蔽和隔离:使用屏蔽电缆和隔离措施,减少串扰和噪声。
- 预加重和去加重:通过预加重和去加重技术,补偿信号衰减。
- 抖动管理:使用抖动滤波器和时钟恢复电路,减少抖动。
6. 主要组件
6.1 Transmitter
- 功能:负责将数据转换为电信号并发送。
- 组件:
- 编码器:将数据编码为适合传输的格式,如 8b/10b 编码。
- 驱动器:将编码后的数据转换为电信号。
- 预加重电路:补偿信号衰减。
6.2 Receiver
- 功能:负责接收电信号并将其转换为数据。
- 组件:
- 解码器:将接收到的电信号解码为数据。
- 均衡器:优化信号质量,减少反射和衰减。
- 时钟恢复电路:从数据流中提取时钟信息。
6.3 SerDes (Serializer/Deserializer)
- 功能:用于将并行数据转换为串行数据(发送时)或将串行数据转换为并行数据(接收时)。
- 组件:
- 串行化器:将并行数据转换为串行数据。
- 解串器:将串行数据转换为并行数据。
7. 常见问题及解决方法
7.1 信号反射
- 原因:阻抗不匹配、传输线长度过长。
- 解决方法:确保阻抗匹配,使用端接电阻,缩短传输线长度。
7.2 串扰
- 原因:传输线之间的距离过近。
- 解决方法:增加传输线之间的距离,使用屏蔽电缆。
7.3 衰减
- 原因:传输距离过长、信号频率过高。
- 解决方法:使用预加重和去加重技术,选择合适的传输介质。
7.4 抖动
- 原因:电源噪声、时钟不稳定。
- 解决方法:使用高质量的电源滤波器,优化时钟恢复电路。
总结
PCIe 的物理层是整个 PCIe 系统中最底层的部分,负责在物理介质上发送和接收电信号。通过理解物理层的工作原理和关键技术,可以更好地设计和调试 PCIe 系统,确保数据的高效、可靠传输。希望这些详细的解释能够帮助你更好地理解和应用 PCIe 技术