|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 dragongfly 于 2022-7-1 10:21 编辑
8 L% J8 Q: M& C9 L# ]9 t% z* f" `$ n+ D* x
本文介绍的内容:9 n8 l4 j. B7 G t4 W9 k
1.TX 8B/10B编码器结构和使用
& l- }1 h/ P( V7 V+ j2.TX Gearbox功能介绍 L# E, R' h1 a/ X6 W. W
3.TX 差分管脚极性控制
) N/ P2 Q% c/ Y& Z' t/ v: v B/ U; H5 Y$ [
1.TX 8B/10B编码器2 [+ g S* A( ]6 k. {
PCIe、SRIO、STAT等高速串行协议数据发送都采用了8B/10B编码方案,它是一种行业标准编码方案。8B/10B以每字节(8bits)两比特的开销来换取DC直流平衡,来确保时钟可以从数据流中正确恢复。如图1所示,GTX/GTH收发器内置8B/10B TX路径实现TX数据编码,无需消耗FPGA逻辑资源。
8 d6 t) }7 _1 f# E8 u' ~' b
5 d' }3 C" n& f* Z5 s& U
使能8B/10B编码会增加TX路径上数据延迟,如果不需要,可以旁路8B/10B编码,以减少TX路径延迟。/ K. b1 Z. I& A$ Q' ~) J
7 P3 e& M$ ?1 Y& T1.2 K字符和差异极性控制
! ~* Y+ q2 _5 {, e8B/10B编码表使用特殊的字符(K字符)用作控制功能。TXCHARISK端口用来指示TXDATA端口的数据是否为K字符。8B/10B编码器检查接收到的TXDATA字节,如果匹配为K字符,则TXCHARISK比特为置为高。1 [9 N: K# a- C" \1 q$ |' b; ~
( s% e# ]9 O6 \' w7 Z2 ^" X
由于8B/10B是直流平衡的,所以发送“1”和“0”的个数比例应该为1:1,为了实现这一要求,编码器总是计算发送“1”和“0”之间的差值。每发送一个字符后,这种差值要么为“+1”,要么为“-1”,这种不同被称为“运行差异”。GTX/GTH收发器允许控制这种差异极性,如图3所示。
8 D l5 t/ u, Y
( D& {: r$ C6 Z& x6 G6 E2.TX Gearbox(速率变换箱)# t* U/ u/ q0 E/ D
图1中②为TX Gearbox在GTX/GTH收发器结构中的位置。一些高速数据速率协议使用64B/66B编码来减少8B/10B编码的开销,同时保留编码方案的优点。TX Gearbox提供了对64B/66B和64B/67B编码支持。常见的高速协议Interlaken就采用了64B/67B编码方案。TX Gearbox支持2字节、4字节和8字节接口定义,数据加扰是在FPGA逻辑内实现的。在GTH收发器中,CAUI接口模式支持附加的TX Gearbox特性。
! P$ c4 r6 B1 r/ k# P, `
/ v: T* ` z$ Q1 s3.TX管脚极性控制! g5 Y! _1 n0 G; {; ?* T2 k
图1中③为TX 极性控制在GTX/GTH收发器结构中的位置。如果GTX/GTH收发器TXP和TXN差分管脚在PCB布线时进行了交换,差分对发送输出的比特流会取反。一种解决办法是在并串转换之前对发送的数据位逐位取反。另外一种方法是通过TX极性控制,实现TXP和TXN极性交换。
. j* P7 q* b: h
. P, ]! k* Z2 x$ Z5 O |
|