serdes 8b10编码推导
时间: 2023-06-30 16:03:03 浏览: 94
SERDES(Serializer/Deserializer,串行器/解串器)技术是一种将并行数据转换为串行数据或将串行数据转换为并行数据的技术。 在数字通信系统中,SERDES 技术经常被用于高速数据传输,这是因为串行传输技术可以更好地抵抗信道干扰,同时还可以实现更高的数据传输速率。
8b10b 编码是一种常用的 SERDES 技术,它可以将每 8 位并行数据编码为 10 位串行数据。这种编码方式的主要目的是通过增加冗余位来实现更可靠的传输。在 8b10b 编码中,每个 8 位并行输入数据被映射到一个 10 位的编码字,其中包括 2 位控制位和 8 位数据位。
下面是 8b10b 编码的推导过程:
1. 将 8 位并行输入数据分成两组,每组 4 位。我们称这两组为 D[7:4] 和 D[3:0]。
2. 对 D[7:4] 和 D[3:0] 进行编码,生成两个 5 位的编码字 C[4:0] 和 C'[4:0]。
3. 将 C[4:0] 和 C'[4:0] 串联起来,生成一个 10 位的编码字,其中 C[4:0] 作为高 5 位,C'[4:0] 作为低 5 位。
4. 在生成的 10 位编码字中添加两个控制位 K 和 K'。控制位的选择基于编码字中 1 的个数,以保证编码字中 0 和 1 的数量大致相等。例如,如果编码字中有 5 个 1,则 K 和 K' 都设置为 0,否则都设置为 1。
5. 将 10 位编码字作为串行数据进行传输。
6. 在接收端,将接收到的 10 位串行数据分成两组,每组 5 位。
7. 对每组 5 位数据进行译码,得到两个 4 位的并行输出数据 D[7:4] 和 D[3:0]。
通过这样的编码和译码过程,8b10b 编码可以实现更可靠的数据传输,同时还可以支持高速数据传输。
阅读全文