31.07.2013 Views

轻松实现高速串行I/O

轻松实现高速串行I/O

轻松实现高速串行I/O

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!