点击查看精选 PCIe 系列文章
声明:
- 作者主页:【MangoPapa的CSDN主页】。
- ⚠️ 本文首发于CSDN,转载或引用请注明出处。
- ⚠️ 本文为非盈利性质,目的为 个人学习记录 及 知识分享。因个人能力受限,存在协议解读不正确的可能。若您参考本文进行产品设计或进行其他事项并造成了不良后果,本人不承担相关法律责任。
- ⚠️ 若本文所采用图片或相关引用侵犯了您的合法权益,请联系我进行删除。
- 欢迎大家指出文章错误,欢迎同行与我交流 ~
- 邮箱:[email protected]
|
PCIe从Gen1到Gen5,几乎每更新一代都要速率翻倍。从Gen5到Gen6,不翻倍都感觉对不起PCIe这个词。随着PCIe传输速率的提高,信道衰减越来越大(32GT/s信道衰减32dB),带宽压力也越来越大。若继续采用NRZ信号,巨大的64GT/s的传输速率要采用64GHz的时钟频率,这在物理实现上的确是极其困难的,信道衰减也是难以承受的。痛则思变,带宽不好提我提带宽利用率嘛,NRZ不行我换更高阶的调制技术就好了——大家第一个便想到了NRZ的好姐妹PAM4。
单就调制技术理论而言,PAM4早就是老生常谈了;在实践方面,且不谈低速应用,在高速互联领域基于PAM4的应用也不乏先例:数据中心400G以太网和5G互联网络50G光收发模块等等。PCIe 6.0一出,再次把PAM4推上风口浪尖。对PCIe而言,采用PAM4信令仍不失为一种颠覆性技术。何处此言?PCIe从Gen1到Gen5可是一直都用NRZ信令的,NRZ陪伴PCIe风风雨雨几十年,现如今换成PAM4了,能不叫颠覆?
作为一个老通信人,本不太想讲太多NRZ和PAM4调制技术,因为这两种调制技术实在是太基本了,Hello World 级别的难度。三百六十行,我行你不行——隔行如隔山、术业有专攻,还是存在相当一部分的软件、嵌入式、IC人才们不清楚PAM4是何方神圣。从NRZ到PAM4,孰是孰非,总得有个说法吧?且听我慢慢道来——
|
PAM(Pulse Amplitude Modulation),脉冲幅度调制,一种把信息加载在信号幅度上的调制技术,信息不同发送的信号幅度(强度)也不同。
NRZ(Non-Return-to-Zero),不归零编码,是一种两电平调制技术(PAM2),采用高、低两电平分别代表逻辑信号1、0。NRZ每个符号周期表示1bit逻辑信息。眼图有一个张开的眼睛。
PAM4,四电平脉冲幅度调制,采用4个不同的信号电平传输信号,每个符号周期表示2bit逻辑信息,眼图有3个张开的眼睛。
|
- 速率更高。相同波特率下,PAM4数据速率是NRZ的两倍。
- 带宽路利用率更高。带宽利用率也为NRZ的两倍。
- 相同数据速率时信道插入损耗(衰减)更低。相同发送发送功率下, 发送频率越大插入损耗越大。同等条件下PAM4的发送频率仅为NRZ的一半,其插入损耗更低。信道衰减不变的情况下,PAM4发送的数据速率时NRZ的两倍。
- ……
跟NRZ比,PAM4当然有缺点,如下:
- 信噪比低、码间干扰大、误码率高。根据图1,PAM4单个眼睛的张开高度仅为NRZ高度的1/3,
信噪比比NRZ低9.54dB
。显然PAM4对噪声更敏感、更容易收到噪声影响,相同传输条件下接收误码率更高。NRZ眼图有2个跳变沿,PAM4有12个跳变沿,PAM4从四个电平来回跳的时候必然会引起转换抖动,使得PAM4的眼宽降低至NRZ的1/2-2/3。也就是说,眼小,眼还窄。你就说解调器的压力大不大?- 功耗大。相比NRZ,PAM4有3个眼睛,这3个眼睛并不是对称的,需要独立处理。为了能有3个漂亮的眼睛,无论是发送端预补偿还是接收端均衡,都有至少3倍的工作要做,PAM4要做的工作都比NRZ多得多,这都耗能。
- 实现成本高。为了后向兼容,在保留既有NRZ电路及逻辑的情况下,从PHY到物理层每个级别都要实现PAM4,成本噌噌噌。
有些缺陷时可以弥补的,不能弥补的为了全局收益也可以忍:
- 误码率高——为了降低误码率,加入了FEC前向纠错机制,加之采用格雷码编码,仅以不降低误码率,这不就解决了嘛。
- 额外预补偿和均衡导致功耗高——多干点活付出点代价不应该的吗?哪能又要马儿跑又要马儿不吃草!再说我PCIe 6.0 加个L0p低功耗状态不刚好能找补一些吗?
- 成本高——那我卖贵一点啊,更贵的价格享受更优质的服务,有啥毛病吗?
|
正如Gen3采用了128b/130b编码后仍然兼容Gen1-2的8b/10b编码,采用PAM4信令的Gen6同样做到了向后兼容采用NRZ信令的Gen1-5。为了做到兼容Gen1-5,Gen6在既有基础上新增额外的电路与逻辑来单独处理PAM4的3眼信号。也就是说,NRZ,你之前能干啥,现在还干啥,我PCIe也不是喜新厌旧的人。
PAM4仍然采用与NRZ相同的电压幅度范围,不同之处在于这里要把这段范围分为四个区间。
众所周知,相邻两个电平的信号最容易出现误判。如果不采取点啥措施,在PAM4中从电平1->电平2(01->10),一次误判可就错2bit啊!为了减少误判,我们采用格雷码对电平0、1、2、3进行编码,这样一次相邻电平信号的误判最多只错1bit。
不是。理想状态下是的,但阶数较大时,尤其时在高速应用中,还要考虑物理设施发送和接收PAM信号的能力:
阶数高了不好发
。发出不同电平的信号涉及到发送功率控制问题,精确又高速的功率控制是很难的。阶数高了接收误码率高
。考虑到存在传输噪声,对于相同电压幅度范围,阶数越高受噪声影响越大,接收误码率越高。
时机未到。缘分,是对的时间遇到对的人。
|
|
⬆️ 点击回到文首 ⬆️
精选往期 PCIe 协议系列文章
- 【最新技术早知道】PCIe Gen5 还没用上,Gen6 就来了?PCIe 6.0 系列文章之:《PCIe 6.0,到底 6 在哪?》
- 【PCIe 协议】听说你做 PCIe 很多年,还不知道 PCIe Hierarchy ID 是什么 ???
- PCIe原子操作(Atomic Operation)
- PCIe事务排序(Transaction Ordering)
- PCIe地址转换服务(ATS)详解
- PCIe访问控制服务(ACS)
- PCIe锁定事务(Locked Transactions)介绍
- PCIe组播介绍(Multicast Operations)
- PCIe TLP Prefix & PASID TLP Prefix介绍
- PCIe ARI (Alternative Routing-ID Interpretation)介绍
- PCIe TPH (TLP Processing Hints) 介绍
- PCIe RN (Readiness Notification)介绍
- PCIe EA (Enhanced Allocation) 介绍