eDP(Embedded DisplayPort)协议中使用的加扰器核心是一个线性反馈移位寄存器。
一、eDP 加扰器使用的 LFSR
eDP 1.4及更高版本的规范中规定,加扰器使用一个 16比特的LFSR。其多项式表达式如下:
1. 多项式表达式
𝐺(𝑋)=𝑋16+𝑋15+𝑋13+𝑋4+1G(X)=X16+X15+X13+X4+1
这是规范中给出的标准形式,它清晰地指明了哪些比特位参与反馈(抽头)。
2. 对应的反馈表达式/递推关系式
对于一个16位的LFSR,其状态可以表示为 𝑆15,𝑆14,...,𝑆1,𝑆0S15,S14,...,S1,S0,其中 𝑆15S15 是最高位(MSB),也是输出位。
根据多项式 𝐺(𝑋)=𝑋16+𝑋15+𝑋13+𝑋4+1G(X)=X16+X15+X13+X4+1,新的输入比特(即下一个 𝑆0S0)是由当前状态中第15、14、12、3位(对应 𝑋15,𝑋14,𝑋13,𝑋4X15,X14,X13,X4)通过异或运算得到的。
其递推关系式为:
𝑆𝑛𝑒𝑤=𝑆15⊕𝑆14⊕𝑆12⊕𝑆3Snew=S15⊕S14⊕S12⊕S3
在每一个时钟周期,LFSR执行以下操作:
-
计算新的输入比特:
new_bit = S[15] ^ S[14] ^ S[12] ^ S[3] -
将整个寄存器向左移位一位(
S[15]被移出)。 -
将
new_bit放入最低位S[0]。
3. 框图表示
下图直观地展示了该LFSR的结构:
+----+ +----+ +----+ +----+ +----+
Out-->| S15|--->| S14|---> --->| S13|--->| S12|--->--->| S4 |
+----+ +----+ +----+ +----+ +----+
| | |
| | |
| v v
| +-----+ +-----+
+----->| XOR |<-------------------------------| XOR |<---+
+-----+ +-----+ |
| | |
| | |
v v |
+-----+ +-----+ +-----+ +-----+ +-----+
| S3 |--->| S2 |--->| S1 |--->| S0 |----+ XOR |
+-----+ +-----+ +-----+ +-----+ +-----+
^
|
|
(new_bit 反馈回来)
二、关键细节和注意事项
-
加扰操作:从LFSR移出的比特(
S_{15})会与输入的数据流进行按位异或,从而实现加扰或解扰。 -
初始状态(Seed):eDP规范定义了LFSR的初始值。在每一个Video Data Period开始时,LFSR会被重置为一个非全零的特定初始值。这是为了确保即使输入是全零,加扰器也能产生一个伪随机序列。全零状态是无效的,因为在这种状态下LFSR会一直输出0。
-
自同步:eDP使用的加扰器是自同步加扰器。这意味着在接收端,它不需要与发送端共享一个同步的LFSR状态。接收端直接将接收到的(已加扰的)数据流输入一个结构完全相同的LFSR,就能直接还原出原始数据。其数学原理是:
(Data ^ LFSR_Seq) ^ LFSR_Seq = Data。 -
目的:
-
减少电磁干扰:将长串的0或1打散,避免能量集中在特定频率。
-
保证DC平衡:减少数据流中的直流偏移。
-
便于时钟恢复:为接收端的时钟数据恢复电路提供足够的电平跳变。
-
三、总结
eDP协议中使用的LFSR核心表达式为:
-
多项式: 𝑋16+𝑋15+𝑋13+𝑋4+1X16+X15+X13+X4+1
-
反馈式: 𝑆𝑛𝑒𝑤=𝑆15⊕𝑆14⊕𝑆12⊕𝑆3Snew=S15⊕S14⊕S12⊕S3
这是一个标准的、用于通信数据加扰的16位自同步加扰器实现。
3568

被折叠的 条评论
为什么被折叠?



