发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供数据传输加扰和解扰电路、发送 和接收装置、及***,用于解决现有技术中的问题。
为实现上述目的及其他相关目的,本发明提供一种数据传输的加扰电路,用于对每个周 期输入的输入数据进行加扰并输出对应的输出数据,所述数据传输是依照预定的数据传输协 议标准进行的;所述加扰电路包括:多比特位的线性反馈移位寄存器;逻辑运算电路,连接 所述线性反馈移位寄存器,用于对所述线性反馈移位寄存器中的预定比特位的值进行异或运 算,以令所述线性反馈移位寄存器的运算函数满足预设的特征多项式要求;其中,所述逻辑 运算电路包括:第一异或运算器,其具有第一输入端、第二输入端及第一输出端;所述第一 输入端供逐位输入所述输入数据的奇数比特位的值,所述第二输入端供输入线性反馈移位寄 存器的最高比特位的值;所述第一输出端输出所述第一输入端和第二输入端所输入数据值的 异或运算的运算结果作为所述输出数据的奇数比特位的值;第二异或运算器,其具有第三输 入端、第四输入端及第二输出端;所述第三输入端供逐位输入所述输入数据的偶数比特位的 值,所述第四输入端供输入线性反馈移位寄存器的次高比特位的值;所述第二输出端输出所 述第三输入端和第四输入端所输入数据值的异或运算的运算结果作为所述输出数据的偶数比 特位的值。
于本发明的一实施例中,所述线性反馈移位寄存器为23比特位,所述特征多项式为F(X) =X23+X21+X16+X8+X5+X2+1。
于本发明的一实施例中,所述逻辑运算电路的结构令所述线性反馈移位寄存器所实现的 当前移位算法是在预设移位算法的一步迭代基础上增加一步迭代且以该两步为一步步长而形 成的,其中,所述预设移位算法是实现于由所述数据传输协议标准所定义的对输入数据的逐 个单比特位进行加扰所采用的线性反馈移位寄存器上的。
于本发明的一实施例中,所述线性反馈移位寄存器的23比特位为D0~D22,所述预设移 位算法包括:
D0(n+1)=D22(n);
D1(n+1)=D0(n);
D2(n+1)=D1(n)^D22(n);
D3(n+1)=D2(n);
D4(n+1)=D3(n);
D5(n+1)=D4(n)^D22(n);
D6(n+1)=D5(n);
D7(n+1)=D6(n);
D8(n+1)=D7(n)^D22(n);
D9(n+1)=D8(n);
D10(n+1)=D9(n);
D11(n+1)=D10(n);
D12(n+1)=D11(n);
D13(n+1)=D12(n);
D14(n+1)=D13(n);
D15(n+1)=D14(n);
D16(n+1)=D15(n)^D22(n);
D17(n+1)=D16(n);
D18(n+1)=D17(n);
D19(n+1)=D18(n);
D20(n+1)=D19(n);
D21(n+1)=D20(n)^D22(n);
D22(n+1)=D21(n);
其中,^为异或运算符,D0(n)~D22(n)代表当前周期的线性反馈移位寄存器的各比 特位的值,D0(n+1)~D22(n+1)代表下一周期的线性反馈移位寄存器的各比特位的值。
于本发明的一实施例中,所述线性反馈移位寄存器的23比特位为D0~D22,所述当前移 位算法包括:
D0(n+1)=D21(n);
D1(n+1)=D22(n);
D2(n+1)=D0(n)^D21(n);
D3(n+1)=D1(n)^D22(n);
D4(n+1)=D2(n);
D5(n+1)=D3(n)^D21(n);
D6(n+1)=D4(n)^D22(n);
D7(n+1)=D5(n);
D8(n+1)=D6(n)^D21(n);
D9(n+1)=D7(n)^D22(n);
D10(n+1)=D8(n);
D11(n+1)=D9(n);
D12(n+1)=D10(n);
D13(n+1)=D11(n);
D14(n+1)=D12(n);
D15(n+1)=D13(n);
D16(n+1)=D14(n)^D21(n);
D17(n+1)=D15(n)^D22(n);
D18(n+1)=D16(n);
D19(n+1)=D17(n);
D20(n+1)=D18(n);
D21(n+1)=D19(n)^D21(n);
D22(n+1)=D20(n)^D22(n);
其中,^为异或运算符,D0(n)~D22(n)代表当前周期的线性反馈移位寄存器的各比特位的值,D0(n+1)~D22(n+1)代表下一周期的线性反馈移位寄存器的各比特位的 值。
于本发明的一实施例中,在所述第一输入端逐位输入的所述输入数据的奇数比特位的值 是按低位至高位顺序排列的。
于本发明的一实施例中,在所述第三输入端逐位输入的所述输入数据的偶数比特位的值 是按低位至高位顺序排序的。
于本发明的一实施例中,所述数据传输协议标准包括:USB3.0、USB3.1及PCI-Express 3.0 中的任意一种或多种。
为实现上述目的及其他相关目的,本发明提供一种数据发送装置,包括所述的数据传输 的加扰电路。
为实现上述目的及其他相关目的,本发明提供一种数据传输的解扰电路,接收所述的 USB数据传输的加扰电路的输出数据,并还原成加扰前的输入数据并输出。
为实现上述目的及其他相关目的,本发明提供一种数据接收装置,包括所述的数据传输 的解扰电路。
为实现上述目的及其他相关目的,本发明提供一种数据传输***,包括:所述的数据发 送装置、以及所述的数据接收装置。
如上所述,本发明的数据传输加扰和解扰电路、发送和接收装置、及***,其中,加扰 或解扰电路在每个周期中以输入数据的两个比特位为单位进行迭代运算,相比现有的通信协 议标准所定义的单比特迭代方案,本发明的方案能有效减少延时硬件延时,使***可以工作 在更高的频率。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露 的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加 以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精 神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征 可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图 式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实 际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复 杂。
请参阅图1,在现有USB3.1和PCI-Express3.0协议中定义的基于单比特迭代的scramble 实现方案中,设线性反馈移位寄存器有23比特位,分别为D0~D22,其移位算法如下:
D0(n+1)=D22(n);
D1(n+1)=D0(n);
D2(n+1)=D1(n)^D22(n);
D3(n+1)=D2(n);
D4(n+1)=D3(n);
D5(n+1)=D4(n)^D22(n);
D6(n+1)=D5(n);
D7(n+1)=D6(n);
D8(n+1)=D7(n)^D22(n);
D9(n+1)=D8(n);
D10(n+1)=D9(n);
D11(n+1)=D10(n);
D12(n+1)=D11(n);
D13(n+1)=D12(n);
D14(n+1)=D13(n);
D15(n+1)=D14(n);
D16(n+1)=D15(n)^D22(n);
D17(n+1)=D16(n);
D18(n+1)=D17(n);
D19(n+1)=D18(n);
D20(n+1)=D19(n);
D21(n+1)=D20(n)^D22(n);
D22(n+1)=D21(n);
其中,^为异或运算符,D0(n)~D22(n)代表当前周期的线性反馈移位寄存器的各比 特位的值,D0(n+1)~D22(n+1)代表下一周期的线性反馈移位寄存器的各比特位的值。
由于单比特迭代会引起较大硬件延时,因此,本发明的构思是采用以双比特为单位进行 迭代,即同时进行两步迭代,如此,将上述算法多迭代一步即可得到:
D0(n+1)=D22(n)=D21(n-1);
D1(n+1)=D0(n)=D22(n-1);
D2(n+1)=D1(n)^D22(n)=D0(n-1)^D21(n-1);
D3(n+1)=D2(n)=D1(n-1)^D22(n-1);
D4(n+1)=D3(n)=D2(n-1);
D5(n+1)=D4(n)^D22(n)=D3(n-1)^D21(n-1);
D6(n+1)=D5(n)=D4(n-1)^D22(n-1);
D7(n+1)=D6(n)=D5(n-1);
D8(n+1)=D7(n)^D22(n)=D6(n-1)^D21(n-1);
D9(n+1)=D8(n)=D7(n-1)^D22(n-1);
D10(n+1)=D9(n)=D8(n-1);
D11(n+1)=D10(n)=D9(n-1);
D12(n+1)=D11(n)=D10(n-1);
D13(n+1)=D12(n)=D11(n-1);
D14(n+1)=D13(n)=D12(n-1);
D15(n+1)=D14(n)=D13(n-1);
D16(n+1)=D15(n)^D22(n)=D14(n-1)^D21(n-1);
D17(n+1)=D16(n)=D15(n-1)^D22(n-1);
D18(n+1)=D17(n)=D16(n-1);
D19(n+1)=D18(n)=D17(n-1);
D20(n+1)=D19(n)=D18(n-1);
D21(n+1)=D20(n)^D22(n)=D19(n-1)^D21(n-1);
D22(n+1)=D21(n)=D20(n-1)^D22(n-1)。
以现有n+1-(n-1)=2次迭代的步长和为本发明技术方案的1次迭代的步长,则可得到 以两比特位为单位的当前移位算法:
D0(n+1)=D21(n);
D1(n+1)=D22(n);
D2(n+1)=D0(n)^D21(n);
D3(n+1)=D1(n)^D22(n);
D4(n+1)=D2(n);
D5(n+1)=D3(n)^D21(n);
D6(n+1)=D4(n)^D22(n);
D7(n+1)=D5(n);
D8(n+1)=D6(n)^D21(n);
D9(n+1)=D7(n)^D22(n);
D10(n+1)=D8(n);
D11(n+1)=D9(n);
D12(n+1)=D10(n);
D13(n+1)=D11(n);
D14(n+1)=D12(n);
D15(n+1)=D13(n);
D16(n+1)=D14(n)^D21(n);
D17(n+1)=D15(n)^D22(n);
D18(n+1)=D16(n);
D19(n+1)=D17(n);
D20(n+1)=D18(n);
D21(n+1)=D19(n)^D21(n);
D22(n+1)=D20(n)^D22(n);
其中,^为异或运算符,D0(n)~D22(n)代表当前周期的线性反馈移位寄存器的各比 特位的值,D0(n+1)~D22(n+1)代表下一周期的线性反馈移位寄存器的各比特位的值。
请参阅图2,本发明提供一种数据传输的加扰电路的实施例,用于对每个周期输入的输 入数据进行加扰并输出对应的输出数据,所述数据传输是依照预定的数据传输协议标准(如 USB3.0、USB3.1及PCI-Express 3.0)进行的;
所述加扰电路包括:线性反馈移位寄存器和逻辑运算电路。
所述线性反馈移位寄存器是多比特位的,其比特位数量可以是如图所示的23位,D0~D22;
所述逻辑运算电路,连接所述线性反馈移位寄存器,其至少部分是根据上述的当前移位 算法来构造,所述逻辑运算电路令所述线性反馈移位寄存器的运算函数满足预设的特征多项 式(即F(X)=X23+X21+X16+X8+X5+X2+1)要求。
所述逻辑运算电路还包括:第一异或运算器及第二异或运算器,两者可以同时并行处理 输入数据的两位比特位的值;于本实施例中,所述第一异或运算器逐位输入所述输入数据的 奇数位比特位的值,例如D0、D2、D4、D6…(图2中表示为data_in[2n],n为整数)等; 所述第二异或运算器逐位输入所述输入数据的偶数位比特位的值,例如D1、D3、D5、D7… (图2中表示为data_in[2n+1],n为整数)等。
第一异或运算器,其具有第一输入端、第二输入端及第一输出端;所述第一输入端供逐 位输入所述输入数据的奇数比特位的值(奇数表示为2n+1,n为整数),所述第二输入端供 输入线性反馈移位寄存器的最高比特位的值;所述第一输出端输出所述第一输入端和第二输 入端所输入数据值的异或运算的运算结果作为所述输出数据的奇数比特位的值;
第二异或运算器,其具有第三输入端、第四输入端及第二输出端;所述第三输入端供逐 位输入所述输入数据的偶数比特位的值(奇数表示为2n,n为整数),所述第四输入端供输 入线性反馈移位寄存器的次高比特位的值;所述第二输出端输出所述第三输入端和第四输入 端所输入数据值的异或运算的运算结果作为所述输出数据的偶数比特位的值。
优选的,所述第一输入端和第三输入端输入的比特位是相邻的,即例如第一输入端输入 D1的同时,第三输入端输入D0;当然,并非以此为限。
具体的,图2的实现方案中每个工作周期输入一个固定位宽(如16位,32位或64位等) 的信号输入数据data_in,进行加扰并输出结果data_out,方案中也使用了23位的线性反馈移 位寄存器(LFSR[22:0])进行加扰运算,即将输入数据按照小数端(LSB)由低到高每两位 进行一次迭代和运算,加扰的具体运算步骤是:
1、将输入数据data_in的最低位D0与LFSR的最高位D22进行异或得到输出数据data_out 的最低位,同时将输入数据data_in的次低位D1与LFSR的次高位D21进行异或得到输出数 据data_out的第二位。
2、将线性反馈移位寄存器进行一次移位,得到更新后的线性反馈移位寄存器值,其移位 算法即为上述当前移位算法;
3、将输入数据data_in的第三位D2与经步骤2移位后更新的线性反馈移位寄存器的最 高位的值D22进行异或运算,得到输出数据data_out的第三位,同时将输入数据data_in的第 四位D3与经步骤2移位后新的线性反馈移位寄存器的次高位D21进行异或,得到输出数据 data_out的第四位。
重复步骤2和3,直至当前周期数据的所有比特位都处理完,最终得到本周期输入数据 data_in的scramble结果输出数据data_out。
下一个周期重复步骤1到步骤4,根据本周期最后的线性反馈移位寄存器的数值和下一 个周期输入的新data_in数值计算下一个周期的scramble的输出数据data_out。
虽然在上述实施例中,所述输入数据的奇数比特位或偶数比特位的值均是从低位至高位 输入与LFSR进行运算的,但是在其它实施例中亦可加以变化,并非以此为限。
对应上述加扰电路,本发明还可提供一种数据传输的解扰电路,接收所述的USB数据 传输的加扰电路的输出数据,并还原成加扰前的输入数据并输出;由于所述解扰电路是实现 与加扰电路运算的逆运算,因此其结构与所述加扰电路对称,故不再以实施例加以具体展示, 本领域技术人员应当可以根据本发明的教示获得。
另外,基于上述,本发明提供一种数据发送装置,包括所述的数据传输的加扰电路;以 及,本发明还可提供一种数据接收装置,包括所述的数据传输的解扰电路;所述数据发送装 置和数据接收装置均可为具有依循USB3.0、USB3.1或PCI-Express3.0协议标准的接口的电 子装置或部件,两者间可相互连接而构成数据传输***。
以下提供具体的比对数据,以说明本发明技术方案的有益效果:
下面将以32比特位宽为例对基于不同比特位(bit)为单位展开的scramble和descramble 硬件实现方案的延时进行比较,其中,有以1比特为单位、本发明的2比特为单位、4比特 为单位及8比特为单位的方案,详细如下:
对于USB3.1和PCI-Express3.0协议中定义的基于单比特迭代的scramble和descramble 实现方案:
1以1比特为单位进行迭代:
1)单周期内延时最大的是生成数据的最高位(bit 32),需要迭代31次,每次迭代的延 时是1个“单比特数据异或”所需的硬件延时(此处记为T),迭代所需的总延时为31*T,迭代后生成输出结果还需要1个“单比特数据异或”的延时,因此生成最高比特结果共耗时32 *T;
2)单周期内迭代生成移位32比特后的用于下周期计算的线性反馈移位寄存器(LFSR) 值需要迭代32次,总耗时为32*T;
因此基于1比特迭代方案单周期数据生成的最大延时取1)和2)的最大值,为32*T。
2对于本发明中提出的基于双比特展开和迭代的scramble和descramble实现方案:将多 项式按照图2所示进行基于2比特的展开,再以2比特为单位进行迭代:
1)单周期内延时最大的是生成数据的最高位(bit 32)和次高为(bit 31),需要迭代15 次,每次迭代的延时是1个“单比特数据异或”所需的硬件延时(此处记为T),迭代所需的总延时为15*T,迭代后生成输出结果还需要1个“单比特数据异或”的延时,因此生成最高比特结果共耗时16*T;
2)单周期内迭代生成移位32比特后的用于下周期计算的线性反馈移位寄存器(LFSR) 值需要迭代16次,每次迭代的延时是1个“单比特数据异或”所需的硬件延时(此处记为T), 总耗时为16*T;
因此基于2比特迭代方案单周期数据生成的最大延时取1)和2)的最大值,为16*T。
3对于基于4比特为单位展开和迭代的scramble和descramble实现方案:
1)单周期内延时最大的是生成数据的最高的4位(bit 32-bit 29),需要迭代7次,每 次迭代的延时是3个“单比特数据异或”所需的硬件延时(此处记为T),迭代所需的总延时为21*T,迭代后生成输出结果还需要2个“单比特数据异或”的延时,因此生成最高比特结果共耗时23*T;
2)单周期内迭代生成移位32比特后的用于下周期计算的线性反馈移位寄存器(LFSR) 值需要迭代8次,每次迭代的延时是3个“单比特数据异或”所需的硬件延时(此处记为T), 总耗时为24*T;
因此基于4比特迭代方案单周期数据生成的最大延时取1)和2)的最大值,为24*T。
4对于基于8比特展开和迭代的scramble和descramble实现方案:
1)单周期内延时最大的是生成数据的最高的4位(bit 32-bit 25),需要迭代3次,每 次迭代的延时是5个“单比特数据异或”所需的硬件延时(此处记为T),迭代所需的总延时为15*T,迭代后生成输出结果还需要5个“单比特数据异或”的延时,因此生成最高比特结果共耗时20*T;
2)单周期内迭代生成移位32比特后的用于下周期计算的LFSR值需要迭代4次,每次 迭代的延时是5个“单比特数据异或”所需的硬件延时(此处记为T),总耗时为20*T;
因此基于8比特迭代方案单周期数据生成的最大延时取1)和2)的最大值,为20*T。
另外,请同时参见下表表1,其中对常用的不同数据位宽对USB3.1和PCI-Express3.0协 议中定义的基于单比特迭代的scramble和descramble实现方案与本发明中提出的基于双比特 展开和迭代的scramble和descramble实现方案完成单周期数据运算所需的硬件延时进行了比 较,同时也比较了基于4比特展开和迭代以及基于8比特展开和迭代的方案。
表1
从中可见,本发明的基于双比特展开和迭代的scramble和descramble的技术方案所引起 的硬件延时最小。
综上所述,本发明的数据传输加扰和解扰电路、发送和接收装置、及***,其中,加扰 或解扰电路在每个周期中以输入数据的两个比特位为单位进行迭代运算,相比现有的通信协 议标准所定义的单比特迭代方案,本发明的方案能有效减少延时硬件延时,使***可以工作 在更高的频率。
本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技 术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡 所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等 效修饰或改变,仍应由本发明的权利要求所涵盖。