轻松实现高速串行I/O
轻松实现高速串行I/O
轻松实现高速串行I/O
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
轻松实现高速串行 I/O·<br />
某些应用中的 FEC<br />
由于设计师知道可能会发生错误,所以可以通过提供冗余数据位来恢复这些错误。<br />
FEC:前向纠错—添加额外的位,用于帮助恢复错误数据<br />
让我们来看看 FEC 是怎样工作的。考虑一个待传输的数据块,其大小为 NxR 字节,分<br />
为 R 行,每行 N 字节。现在给矩阵的每一行附加额外的一个字节,并给矩阵附加额外的一<br />
行。这些地方就是额外的位置。<br />
数据块的附加信息就保存在这些额外的位置中。此例中,额外的信息是奇偶位。附加字<br />
节的每一位代表此行中各字节对应位的奇偶性。也就是说,P[1][0]是 D[1.1][0] D[1.2][0]<br />
D[1.3][0] …. D[1.N][0]的奇偶性。而对于额外的行而言,其中的每一位就是对应列中各位的<br />
奇偶性。也就是说,P[R+1.0][0]是 D[0.0][0], D[1.0][0] D[2.0][0] ….D[N.0][0]的奇偶性。矩阵<br />
的示意图如图 3-43 所示。<br />
图 3-43 FEC 框图<br />
数据和附加位同时通过链路传输。在另一侧,接收器会检查矩阵的奇偶性。如果数据的<br />
任一位是错误的,那么它会标记出来,并通过行值和列值来确定位置。只需要简单的取反,<br />
即可纠正该位的错误。多位的错误即可能被纠正,也可能会导致混乱而且会阻止其他错误的<br />
纠正,这取决于错误发生的位置。<br />
这种方法通常称作简单矩阵奇偶性法,而且也是 FEC 的最初类型。这也是多数 FEC 方<br />
法基本模块。这个例子是简单易懂的,但是它有局限性。针对恶劣环境和性能不好的传输通<br />
道,已经开发出多种 FEC 方法,例如 Viterbi,Reed-Soloman 和 Turbo 编码。所有这些方法<br />
都有强大的纠错能力,但是纠错也是有代价的:<br />
·运行速度不够快:与大多数可以在常规结构下发挥作用的方法相比,千兆位级 SERDES<br />
的速度较快。<br />
·编解码器太过庞大:编码器和解码器的电路逻辑数量可能会是 MGT 及其剩余部分的<br />
十倍。<br />
·编码开销过大:编码开销就是那些附加的位。编码开销过大常常可以使一种 FEC 方<br />
法不可行。<br />
54·XILINX