利用。PIPE接口使设计能参照一个标准接口进行且还能使购自不同厂商的多个部件协同工作。
?物理层下的电气子层实现包括收发器、模拟缓冲器、串行/解串行器(SerDes)在内的模拟器件以及10位接口。
?物理编码子层(PCS)把每8位数据字节编码/解码为10位代码。这种编码特性不仅能检查有效字符,而且也限制了被发送的“0”和“1”数量上的差异,从而同时在发射器和接收器侧保持了DC均衡,进而大大提高了电磁兼容性(EMC)和电气信号性能。?在物理层内PIPE接口的另一侧包含用以指示链路训练和状态的状态机(LTSSM)、通道间去除偏移、特殊序列检测和生成等功能。
?机械层定义了诸如对连接器、卡外形尺寸、卡检测和热插拔等要求的机械环境。
在实际物理硬件内,还有另一种分层:从串行引脚层到PIPE接口层统称为物理层(PHY);从PIPE接口到应用的那些层统称为数字控制器。任何给定PCIe链路的端点都必须包括物理层和数字控制器。下图显示了插入到根联合体内的PCIe物理层和控制器。端点使用端点端口控制器,根联合体设备使用根端口控制器。
PCIePHY
PCIe的PHY主要有物理编码子层(PCS)和电气子层(Electrical)。 11
物理编码子层(PCS)主要功能是8b/10b的编码和解码(实现内嵌时钟,DC平衡)、Rx检测等,属于数字部分,功能属于物理层的逻辑子层的一部分。不同的PCIe协议,编码方式也不同;
而电气子层(Electrical)的核心是串行/解串行器(SerDes)。在发送端(TX),将并行数据转变为串行数据,然后以差分的形式发送到物理信道上;在接收端(RX),要将收到的串行差分信号变成并行数据,然后送到上一级的PCS层。
PHY上的串行/解串行器(SerDes)是核心电路,属于模拟部分,也是设计难点。因为PCIe信号的速度很高,信号时钟都是几个G(1.0为1.25G,2.0为2.5G,3.0为4G),信号通路上的接插件、PCB走线等因素,会导致信号出现噪音和衰减,导致信号完整性问题的发生;
如上图的例子,1.25Gbps和5Gbps数据流的二进制眼图,信号都是采用26英寸(0.66m)长的标准FR4板材传输的。图右侧对应的二进制眼图显示的是在接收端信号的衰减。 1.25Gbps数据流在传输过程中,信号得以相当好地保留;但由于在高于1GHz频率速率
12
下,低成本FR4基板和互连材料引入的介电损耗,5Gbps眼图的大小和清晰度已被严重恶化。频率越高,损耗越大;从而导致无法接受的1-0-1-0位流(本质上是交流信号)失真,尽管一系列全“1”或全“0”(本质上是直流信号)能成功传输。
解决方案是通过加大相对于低频(DC)信号而言的高频(AC)信号的幅值来提升总体信噪比——它是个称为预加重的过程。另一种方法是对较低频率的信号进行去加重。在发射器端采用预加重可为接收端提供干净的眼图从而能使裕度满足规范。
PCIe控制器
PCIe控制器的功能是,按照PCIe的协议,用硬件电路实现规范定义的事物层、链路层和物理层中的一部分功能(如指示链路训练和状态的状态机(LTSSM)、通道间去除偏移、特殊序列检测和生成等功能);
PCIe数据包
PCI Express采用数据包在各系统间以及数字接口的各层和PCIe设备间传输数据。应用层发起事务传输,事务传输层把应用请求转换为一个PCIe事务包。数据链路层为该数据包增加一个序列号和链路CRC (LCRC)。数据链路层还确保该双向事务接收正确(下图)。最后,物理层在PCIe链路上传输该事务。
PCIe数据包主要有2类:传输数据的事物包(TLP)和管理链路状态的链路包(DLLP);
13
PCIe控制器的物理层
控制器的物理层负责与PHY进行接口,并管理用于初始化链路和格式化数据包的许多功能。利用特殊序列来建立物理链路、进入和退出低功耗链路状态等。
物理层的接收部分负责:
14
?负责包含多通道链路的通道映射、通道到通道间的去偏移。 ?数据解扰。
?发现数据包并实施去帧化处理。
?检测特殊数据包序列,如:TS1、TS2、Skip(跳过)和电气闲置; 物理层的发射部分负责:
?采用特殊符号插入对数据包进行帧化处理;如用STP或SDP符号标志数据包的开始,用END符号标记数据包结束。 ?数据加扰。
?链路控制——初始化、宽度和通道反转协商。 ?多通道传输控制。
?生成跳跃序列以补偿链路两端的时钟PPM差。 下面对上面涉及的一些功能做简单的描述:
通道映射:使顺序传送数据包在多通道链路上同时发送,从而大大增加了吞吐量。接收器物理层以正确顺序对数据包进行重组(见下图)。
15

