[FPGA 实现及PCIe IP 核知识点] 什么是TX均衡系数?

(本文主要介绍 了PCIe TX Equalization的coefficient,前后bits对当前bit的影响,以及当前bit输出幅度的计算和验证)

PCIe协议规定,当速率在2.5GT/s的时候,TX的Equalization是不需要的,当速率是5.0GT/s的时候,TX的调制只有de-emphasis,分别是-3.5dB和-6dB两个档位。

贝尔(Bel)是描述功率增益一种单位,其公式为:

1.png

例1:输入的功率P1为1W,输出的功率为100W,那么功率增益是多少呢?

2.png

所以,2贝尔相当于100倍,1贝尔相当于10倍,0贝尔相当于没有增益。

对于描述10倍到100倍之间的倍数关系,我们可以采用1.x贝尔来表示,也可以使用dB,dB就是decibel的意思,10dB=1B。
因此,如果你的最终单位是dB,那么公式要乘以10,即:

3.png

如果我们需要描述一个电压的增益,由于功率与电压的平方成正比,我们则需要将公式乘以20,即:

4.png

如果TX的电压通过de-emphasis的调制后,其增益值是-3.5dB,那么带入公式:

5.png

当速率为8.0GT/s,16.0GT/或32.0GT/s的时候,TX Equalization coefficients基于有限长单位冲击响应(FIR)滤波器,如下图所示:

6.png

公式的含义是,当前Voltage的输出v_outn等于,当前时刻该bit原本Voltage高度v_inn与Cn系数相乘的结果,加上前一个bit原本Voltage高度v_inn+1与系数Cn+1相乘的结果,加上后一个bit原本Voltage高度v_inn-1与系数Cn-1相乘的结果之和。如果按照时间顺序,最早的一个bit是A(v_inn+1),在图的最右边,其次bit是B(v_inn),在图的中间,最后一个bit是C(v_inn-1),在图的左上角。Cn+1又称为C+1,在C+1上方的bit就是A,C0的上方的bit就是B,C-1上方的bit就是C。这里C+1和C-1与数字电路教材中描述的前后bit的关系刚好相反。

例如,一个Pattern为011b的序列,分别对应着我们的ABC位置,如下图所示:

7.png

那么我们来计算一下当前时刻发送B时的Voltage高度。我们定义bit为1时的voltage为2V,bit为0的时候的voltage为-2V,且系数C-1等于-0.1,Cn等于0.7,C+1等于-0.2,系数的绝对值相加刚好等于1,且C-1和C+1均小于0。当前时刻发送B的时候,其逻辑值是1,对应的voltage等于:

(-0.2)*A + 0.7*B +(-0.1)*C= (-0.2)*(-2) + 0.7*(2) +(-0.1)*(2) = 1.6 V

从公式可以得到以下结论:
任何一个bit对前后bit的都有影响,例如B的存在是会影响A和C的Voltage的。如果B的逻辑值是+1,那么B对前一个bit A的影响由C-1决定且是负值,对后一个bit C的影响由C+1决定也是负值。如果B的逻辑值是-1,那么则相反,影响都是正值。
当前时刻的输出v_outn由三个部分组成:B自身的贡献,A对比它晚的B的贡献(C+1为系数),C对比它早的B的贡献(C-1为系数)。
9.png

第一个部分由系数C0决定,如果逻辑值是+1,那么就是正电压,否则,就是负电压,正负电压幅值相同,只不过方向不同而已。
第二个部分由系数C+1决定,影响的bit来自比B更早的A,且A的逻辑值对贡献的方向有影响。
第三个部分由系数C-1决定,影响的bit来自比B晚的C,且C的逻辑值也会对其贡献的方向有影响。

Reference:

PCIExpress® Base Specification Revision 5.0 Version 1.0

编辑 重设标签(回车键确认) 标为违禁 关闭 合并 删除
匿名用户

匿名