|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 dragongfly 于 2022-7-1 10:21 编辑 5 W$ G, @4 h F6 Y6 r
$ C8 o, n( |4 D5 t! \本文介绍的内容:9 U% o3 L, o3 Z3 _0 ]2 v
1.TX 8B/10B编码器结构和使用
8 i; r9 O$ E5 h* M5 C* n! x2.TX Gearbox功能介绍
2 n3 J+ k5 I* Q3.TX 差分管脚极性控制
0 J) P' Q- g4 N+ S
% O! b0 P6 c O q1.TX 8B/10B编码器
5 S1 z( s; h1 v. @7 ~PCIe、SRIO、STAT等高速串行协议数据发送都采用了8B/10B编码方案,它是一种行业标准编码方案。8B/10B以每字节(8bits)两比特的开销来换取DC直流平衡,来确保时钟可以从数据流中正确恢复。如图1所示,GTX/GTH收发器内置8B/10B TX路径实现TX数据编码,无需消耗FPGA逻辑资源。
* j2 l6 o1 b7 T; i7 {, @9 b
8 S0 S1 W8 o$ ~/ K9 n使能8B/10B编码会增加TX路径上数据延迟,如果不需要,可以旁路8B/10B编码,以减少TX路径延迟。+ ^+ K& B4 x- ]
. Z0 h* Z' a! j! v Z7 @
1.2 K字符和差异极性控制
2 u) J, U* s% O+ ]/ Y8B/10B编码表使用特殊的字符(K字符)用作控制功能。TXCHARISK端口用来指示TXDATA端口的数据是否为K字符。8B/10B编码器检查接收到的TXDATA字节,如果匹配为K字符,则TXCHARISK比特为置为高。# x: r- I4 D+ R; N8 B2 k8 P
; P/ z4 F. C( h; g* h
由于8B/10B是直流平衡的,所以发送“1”和“0”的个数比例应该为1:1,为了实现这一要求,编码器总是计算发送“1”和“0”之间的差值。每发送一个字符后,这种差值要么为“+1”,要么为“-1”,这种不同被称为“运行差异”。GTX/GTH收发器允许控制这种差异极性,如图3所示。
4 O9 U0 R+ S6 N% A! k
~& s6 X6 K- P' ~( ]2.TX Gearbox(速率变换箱)) q+ Q8 n" e0 i* F7 e$ T, t
图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特性。8 a1 D" T2 P" J: V' U3 q) Q/ Z
" x5 Y5 X5 |+ D+ U' F! K
3.TX管脚极性控制
# o. ?0 S3 \/ O `图1中③为TX 极性控制在GTX/GTH收发器结构中的位置。如果GTX/GTH收发器TXP和TXN差分管脚在PCB布线时进行了交换,差分对发送输出的比特流会取反。一种解决办法是在并串转换之前对发送的数据位逐位取反。另外一种方法是通过TX极性控制,实现TXP和TXN极性交换。' @( _ b/ v# J" D
& ]# O' D) [, C; S
|
|