一种编码方法和装置以及解码方法和装置与流程

文档序号:15817089发布日期:2018-11-02 22:44阅读:163来源:国知局
一种编码方法和装置以及解码方法和装置与流程

本公开涉及信号处理技术领域,具体涉及一种编码方法和装置以及解码方法和装置。

背景技术

通常,在电路之间的数据传输中,发送端采用低频时钟产生并行数据并利用高频时钟将该并行数据转换成串行数据,接收端将接收到的串行数据恢复成并行数据。

图1示出了传统数据传输系统的结构示意图。如图1所示,发送端1采用低频时钟信号clk1产生并行数据data[n-1:0](即n比特数据,n为大于1的整数),并利用高频时钟信号clk2将该并行数据转换成串行数据后提供给接收端2,高频时钟信号clk2的频率为低频时钟信号clk1的n倍。接收端2利用该高频时钟信号clk2将接收到的串行数据恢复成并行数据data[n-1:0]。图2示出了图1的发送端1发送的串行数据data的示意波形图。如图2所示,并行数据为8比特数据,那么在串行传输时相应地采用的高频时钟clk2的频率为低频时钟clk1的8倍,按照bit7,bit6,bit5,…,bit0,‘bit7,‘bit6…的顺序来发送。

通常情况下发送端1将串行数据经由前向传输通道提供给接收端2,在图1的示例中前向传输通道包括前向时钟通道和前向数据通道,分别用于传输时钟信息和数据。在实际应用中,还可以在前向通道中嵌入相关指令,要求接收端2通过反向传输通道向发送端1返回相关数据。在这种情况下,接收端2将需要返回的数据进行并行至串行转换之后作为反向数据提供给发送端1,发送端1再将接收到的串行数据转换成并行数据。通常来讲,接收端2在提供反向数据时,会根据接收的低频时钟信号clk1,采用k倍频的方式产生高频时钟信号clk2(频率为低频时钟clk1的k倍,k为大于1的整数),用高频时钟信号clk2进行数据的恢复,以及产生反向数据。

然而在实际应用中常常由于各种因素导致发送端无法采用已有的时钟信号clk1或clk2来正确地恢复反向数据的恢复,例如,为了降低系统电磁干扰(emi,electromagneticinterference),通常会在前向传输通道上增加展频(ssc,spreadspectrumclocking)功能,由此而引起的数据不同步会导致发送端无法正确恢复反向数据,另外接收端的时钟恢复和系统的延迟也会导致发送端无法正确恢复反向数据。



技术实现要素:

有鉴于此,本公开提供了一种编码方法和装置以及解码方法和装置,能够解决由于数据不同步导致无法正确恢复数据的问题。

根据本公开的一方面,提供了一种编码方法,包括:生成具有预设格式的指示码,所述指示码具有第一长度;以及将所述指示码插入用于根据第一时钟信号来传输的并行数据的每个有效数据比特之前,并将每个有效数据比特扩展到第二长度,以得到用于根据第二时钟信号来传输的串行数据。

优选地,所述第一长度为至少4比特,所述第二长度对应至少3比特。

优选地,所述编码方法还包括:在扩展的有效数据比特之后插入无效数据比特。

优选地,所述指示码具有一个有效跳变沿,所述无效数据比特的值等于指示码在有效跳变沿之前的比特值。

优选地,所述无效数据比特的值等于其前面的有效数据比特的值。

优选地,所述指示码具有一个有效跳变沿,所述有效跳变沿为上升沿或下降沿。

本公开的另一方面,提供了一种解码方法,其特征在于,包括:基于第二时钟信号以预设的采集宽度来接收以上所述的编码方法生成的串行数据,所述采集宽度对应于第二时钟信号的频率与第一时钟信号的频率的比值;每当接收到一个采集宽度的串行数据时,确定指示码的位置,根据所述指示码的格式、所述第一长度、所述第二长度和所述采集宽度来计算有效数据比特的位置,并确定有效数据比特的位置处的有效数据比特值,直到确定所有有效数据比特值,以得到用于根据第一时钟信号来传输的并行数据。

优选地,所述指示码具有一个有效跳变沿,所述确定接收到的串行数据中指示码所在的位置包括:在接收到的串行数据中根据所述指示码的格式查找所述有效跳变沿的位置。

优选地,所述根据所述指示码的格式、所述第一长度、所述第二长度和所述采集宽度来计算接收到的串行数据中有效数据比特的位置包括:根据等式j=(i+b+[(c+1)/2])%(n-1)来计算接收到的串行数据中有效数据比特的位置j,其中i表示接收到的串行数据中指示码的有效跳变沿的位置,b表示指示码在有效跳变沿之后的部分的长度,c表示第二长度,n表示采集宽度,[]表示取整运算,%表示取余运算。

优选地,所述根据等式j=(i+b+[(c+1)/2])%(n-1)来计算接收到的串行数据中有效数据比特的位置j包括:当i+b+[(c+1)/2]≤n时,将根据j=(i+b+[(c+1)/2])%(n-1)计算出的有效数据比特的位置j作为当前接收到的串行数据中有效数据比特的位置;当i+b+[(c+1)/2]>n时,将根据j=(i+b+[(c+1)/2])%(n-1)计算出的有效数据比特的位置j作为下一个接收的串行数据中有效数据比特的位置。

优选地,当一个采集宽度的串行数据内包含多于一个指示码时,每个指示码的位置及其后面的有效数据比特值是按照接收顺序来依次确定的。

根据本公开的另一方面,提供了一种编码装置,包括:指示码生成模块,用于生成具有预设格式的指示码,所述指示码具有第一长度;以及逻辑模块,用于将所述指示码插入用于根据第一时钟信号来传输的并行数据的每个有效数据比特之前,并将每个有效数据比特扩展到第二长度,以得到用于根据第二时钟信号来传输的串行数据。

根据本公开的另一方面,提供了一种解码装置,包括:采集模块,用于基于第二时钟信号以预设的采集宽度来接收来自根据权利要求13所述的编码装置的串行数据,所述采集宽度对应于第二时钟信号的频率与第一时钟信号的频率的比值;计算模块,用于每当接收到一个采集宽度的串行数据时,确定指示码的位置,根据所述指示码的格式、所述第一长度、所述第二长度和所述采集宽度来计算有效数据比特的位置,并确定有效数据比特的位置处的有效数据比特值,直到确定所有有效数据比特值,以得到用于根据第一时钟信号来传输的并行数据。

附图说明

为了更清楚地说明本公开实施例的技术方案,下面将对实施例的附图作简单介绍,显而易见地,下面的描述中的附图仅涉及本公开的一些实施例,而非对本公开的限制。

图1示出了传统数据传输系统的结构示意图;

图2示出了图1的发送端发送的串行数据的示意波形图;

图3示出了根据本公开实施例的编码方法的示意流程图;

图4a、4b和4c示出了根据本公开一些实施例的编码方法的示意波形图;

图5a、5b和5c示出了根据本公开另一些实施例的编码方法的示意波形图;

图6示出了根据本公开又一实施例的编码方法的示意波形图;

图7示出了根据本公开实施例的解码方法的示意流程图;

图8示出了根据本公开实施例的编码装置的示意框图;

图9示出了根据本公开实施例的解码装置的示意框图。

具体实施方式

为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整的描述。显然所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。

本公开提供了一种编码方法和装置及其解码方法和装置,通过在编码时在每个有效数据比特前面插入固定格式的指示码并扩展有效数据比特的长度,并在解码时利用指示码的格式及有效数据比特的扩展长度来确定有效数据比特的值,能够缓解甚至消除解码数据与编码数据的时钟不同步问题,当需要接收端向发送端发送反向数据时,使得发送端能够利用已有时钟正确恢复反向数据。

图3示出了根据本公开实施例的编码方法的示意流程图。该编码方法可以在接收端执行,将需要返回给发送端的数据编码后提供给发送端。在本实施例中,接收端和发送端分别采用低频时钟信号和高频时钟信号来实现并行数据传输和串行数据传输,低频时钟信号和高频时钟信号可以采用如图2所示的clk1和clk2,即,高频时钟信号clk2的频率可以为低频时钟信号clk1的8倍。

在步骤s301,生成具有预设格式的指示码,指示码具有第一长度。第一长度为至少4比特,即,对应至少4个高频时钟周期。在一些实施例中,指示码可以具有一个有效跳变沿,该有效跳变沿可以为上升沿或下降沿。例如,指示码可以设置成0011、000111等等,其有效跳变沿为上升沿;也可以设置成1100、111000等,其有效跳变沿为下降沿,当然本公开的实施例不限于此,指示码可以根据需要采用任何其他格式。

在步骤s302,将所述指示码插入待传输数据的每个有效数据比特之前并将每个有效数据比特扩展到第二长度。这里所谓待传输数据可以是接收端需要返回给发送端的数据,该数据经过并行至串行转换后被提供给发送端。该第二长度可以为至少3比特,即,对应至少3个高频时钟周期。那么每个指示码与其后面第二长度的有效数据比特就构成了数据单元,各个数据单元按照有效数据比特的发送顺序排列,形成了用于根据高频时钟信号传送的串行数据。

在步骤s303,根据需要在扩展的有效数据比特之后插入无效数据比特。例如可以在不需要传输有效数据比特的位置插入无效数据比特。无效数据比特可以是一段数据,用于进一步帮助解码侧识别指示码。作为示例,该段数据可以包括保持了一定时间长度不变的比特值,该段数据的长度例如但不限于第一长度与第二长度之和。优选地,该段数据中的比特值可以采用指示码在有效跳变沿之前的比特值,或者前面的有效数据比特的值。

图4a、4b和4c(以下统称图4)示出了根据本公开一些实施例的编码方法的示意波形图。图4的实施例中以下降沿作为指示码的有效跳变沿,接收的串行数据如图2所示,即,高频时钟信号clk2的频率为低频时钟信号clk1的8倍,一个低频时钟周期内传输的有效数据比特分别为bit0,bit1,…,bit7。为了简明起见在图4中仅示出了bit0、bit1和bit2。

图4a示出了根据本公开实施例的编码方法中低频时钟信号clk1、高频时钟信号clk2和编码后的数据data的示意波形图。在图4a的示例中,指示码为1100,指示码后面是有效数据比特的扩展,在本实施例中指示码长度为4比特(占4个高频时钟周期),其后面的有效数据比特扩展到4比特(占4个高频时钟周期)。例如,如果需要反向传输的8比特有效数据中bit0为1,那么编码后针对bit0的数据单元包括位于前半部分的指示码1100和位于后半部分的bit0的四位扩展1111;类似地,如果bit1位0,那么编码后针对bit1的数据单元为11000000……以此类推。

图4b示出了根据本公开实施例的编码方法中低频时钟信号clk1和生成的串行数据data的示意波形图,其中插入了无效数据比特。在图4b的实施例中无效数据比特值等于其前面的有效数据比特值。为了简明起见未示出高频时钟信号clk2。如图4b所示,第一时钟周期t1内周期需要传输有效数据比特,所以前半周期传输指示码1100,后半周期传输有效数据bit0的4位扩展,例如,假设有效数据的bit0为1,那么编码后第一时钟周期t1内传输11001111;在第二时钟周期t2内不需要传输有效数据,因此保持t1内bit0的值不变,在上述bit0为1的情况下,第二时钟周期内传输11111111;在第三时钟周期t3内需要传输有效数据,同样在前半周期传输指示码1100,后半周期传输bit1的4位扩展,假设bit1为0,那么编码后第三时钟周期t3内传输11000000;在第四时钟周期t4内仍然需要传输有效数据,前半周期传输1100,后半周期传输bit2的4位扩展,假设bit2为1,那么编码后为11001111;在第五时钟周期t5内不需要传输有效数据,因此保持前一周期t4中的有效数据bit2,编码后为11111111;以此类推。

图4c示出了根据本公开实施例的编码方法中低频时钟信号clk1和生成的串行数据data的示意波形图,其中插入了无效数据比特。在图4c的实施例中无效数据比特值等于指示码有效跳变沿之前部分的比特值。为了简明起见未示出高频时钟信号clk2。如图4c所示,第一时钟周期t1内周期需要传输有效数据比特,所以前半周期传输指示码1100,后半周期传输有效数据bit0的4位扩展,例如同样以bit0为1为例,那么编码后第一时钟周期t1内传输11001111。在第二时钟周期t2内不需要传输有效数据,因此保持指示码有效跳边沿之前的值,即,高电平,那么编码后的数据为11111111。在第三时钟周期t3内需要传输有效数据,同样在前半周期传输指示码1100,后半周期传输bit1的4位扩展,同样假设bit1为0,那么编码后第三时钟周期t3内传输11000000。在第四时钟周期t4内仍然需要传输有效数据,前半周期传输1100,后半周期传输bit2的4位扩展,同样假设bit2为1,那么编码后为11001111。在第五时钟周期t5内不需要传输有效数据,因此保持高电平,编码后为11111111。

图5a、5b和5c(以下统称图5)示出了根据本公开另一些实施例的编码方法的示意波形图。与图4不同,图5的实施例中以上升沿作为指示码的有效跳变沿。接收的串行数据可以同样如图2所示,即,高频时钟信号clk2的频率为低频时钟信号clk1的8倍,一个低频时钟周期内传输的有效数据比特分别为bit0,bit1,…,bit7。为了简明起见在图5中仅示出了bit0、bit1和bit2。

图5a示出了根据本公开实施例的编码方法中低频时钟信号clk1、高频时钟信号clk2和生成的串行数据data的示意波形图。在图5a的示例中,指示码为0011,指示码后面是有效数据比特的扩展,在本实施例中指示码长度为4比特(占4个高频时钟周期),其后面的有效数据比特扩展到4比特(占4个高频时钟周期)。例如,如果需要反向传输的8比特有效数据中bit0为1,那么编码后针对bit0的数据单元包括位于前半部分的指示码0011和位于后半部分的bit0四位扩展1111;类似地,如果bit1位0,那么编码后针对bit1的数据单元为00110000……以此类推。

图5b示出了根据本公开实施例的编码方法中低频时钟信号clk1和生成的串行数据data的示意波形图,其中插入了无效数据比特。在图5b的实施例中无效数据比特值等于其前面的有效数据比特值。为了简明起见未示出高频时钟信号clk2。如图5所示,第一时钟周期t1内周期需要传输有效数据比特,所以前半周期传输指示码0011,后半周期传输有效数据bit0的4位扩展,例如同样以bit0为1为例,那么编码后第一时钟周期t1内传输00111111。在第二时钟周期t2内不需要传输有效数据,因此保持t1内bit0的值不变,在上述bit0为1的情况下,第二时钟周期内传输11111111。在第三时钟周期t3内需要传输有效数据,同样在前半周期传输指示码0011,后半周期传输bit1的4位扩展,同样假设bit1为0,那么编码后第三时钟周期t3内传输00110000。在第四时钟周期t4内仍然需要传输有效数据,前半周期传输0011,后半周期传输bit2的4位扩展,同样假设bit2为1,那么编码后为00111111。在第五时钟周期t5内不需要传输有效数据,因此保持前一周期t4中的有效数据bit2,编码后为11111111。

图5c示出了根据本公开实施例的编码方法中低频时钟信号clk1和生成的串行数据data的示意波形图,其中插入了无效数据比特。在图5的实施例中无效数据比特值等于指示码有效跳变沿之前部分的比特值。为了简明起见未示出高频时钟信号clk2。如图5c所示,第一时钟周期t1内周期需要传输有效数据比特,所以前半周期传输指示码0011,后半周期传输有效数据bit0的4位扩展,例如同样假设bit0为1,那么编码后第一时钟周期t1内传输00111111。在第二时钟周期t2内不需要传输有效数据,因此保持指示码有效条边沿之前的值,即,低电平,那么编码后的数据为00000000。在第三时钟周期t3内需要传输有效数据,同样在前半周期传输指示码1100,后半周期传输bit1的4位扩展,同样假设bit1为0,那么编码后第三时钟周期t3内传输00110000。在第四时钟周期t4内仍然需要传输有效数据,前半周期传输0011,后半周期传输bit2的4位扩展,同样假设bit2为1,那么编码后为00111111。在第五时钟周期t5内不需要传输有效数据,因此保持低电平,编码后为00000000。

图6示出了根据本公开又一些实施例的编码方法的示意波形图。与图4和图5不同,图6的实施例中数据单元的长度(即,指示码的长度与其后面的有效数据比特的扩展长度之和)可以不受限于低频时钟周期的长度,例如在图6的实施例中高频时钟信号clk2的频率为低频时钟信号的10倍,也就是说在一个低频时钟周期内可以传输10比特有效数据,指示码长度可以为4比特,每个有效数据比特的扩展长度为3比特。那么这意味着在一个低频时钟周期内可以传输一个以上的有效数据比特。编码方式同样可以采用如以上参考图4和图5描述的方式。

图7示出了根据本公开实施例的解码方法的示意流程图。该解码方法可以在发送端执行。

在步骤s701,接收数据,例如可以用高频时钟信号clk2来采集通过以上编码方法得到的串行数据,可以将先采集的数据比特放置在低位。采集宽度可以等于高频时钟信号clk2与低频时钟信号clk1的频率的比值。例如对于图2、图4和图5所示的情况,采集宽度可以等于8比特,那么每采集一次就会得到一组8比特数据。指示码在跳变沿之前部分的长度a,指示码在跳变沿之后部分的长度b,每个有效数据比特的扩展长度c,即上述第二长度,以及采集宽度n可以是在编码时标记在数据中的,能够被解码侧获知。在本实施例中,长度a、b、c代表比特数,是正整数,满足a≥2,b≥2,c≥3。

在步骤s702,判断当前采集到的一组数据中是否存在指示码的有效跳变沿,例如可以从低位开始查找指示码中的有效跳变沿,如果找到了有效跳变沿,则可以记录该有效跳变沿的位置i,并执行步骤s703,否则返回步骤s701继续采集下一组数据。

在步骤s703,计算有效数据比特的位置,例如可以根据指示码的有效跳变沿位置i、指示码的格式、所述第一长度、所述第二长度和所述采集宽度来计算有效数据比特的位置。

作为示例,可以根据以下等式来计算有效数据比特的位置j:

j=(i+b+[(c+1)/2])%(n-1)(1)

其中i表示接收到的串行数据中指示码的有效跳变沿的位置,b表示指示码在跳变沿之后部分的长度,n表示采集宽度,[]表示取整运算,%表示取余运算。

在步骤s704,判断有效数据比特是否在采集范围之外,如果是则执行步骤s705,否则执行步骤s706。例如可以判断是否满足i+b+[(c+1)/2]>n,如果是,则认为有效数据比特在采集范围之外,执行步骤s705,否则认为有效数据比特在采集范围之内,执行步骤s706。

在步骤s705,接收下一组数据,例如下一组8比特数据,并将步骤s703计算出的有效数据比特的位置j作为该下一组数据中有效数据比特的位置。

在步骤s706,确定有效数据比特的位置j处的有效数据比特值。

在步骤s707,判断是否存在另一个指示码,例如可以判断是否存在另一个上述有效跳变沿,如果是,则确定其位置并返回步骤s703计算其后面的有效数据比特的位置,否则返回步骤s701继续接收下一组数据。

下面以a=2,b=2,c=4,n=8,并且采用下降沿作为有效跳变沿(例如,如图4所示的情况)为例来描述上述解码方法。

接收数据,先采集的数据比特放置在低位,例如当前接收的n比特数据为data(n),n为大于1的整数。判定data(n)中是否存在有效跳变沿,例如可以从data(n)的低位开始查找,如果某一比特的电平为跳变沿前半部分的电平,而其上一个比特的电平为有效跳变沿后半部分的电平,则可以将这个出现有效跳变沿后半部分电平的比特位置标记为i。对于data(n)的最低位(例如,bit0)为跳变沿后半部分的电平的情况,可以结合上一个接收的n比特数据data(n-1)来判断位置i。

例如,对于当前接收到的n比特数据data(n)和上一个接收的数据为data(n-1)的情况,判定跳变沿的示例如下:

示例1:data(n)=11110011,data(n-1)=11111111,则i=2;

示例2:data(n)=00000001,data(n-1)=11111111,则i=1;

示例3:data(n)=11111100,data(n-1)=11111111,则i=0;

示例4:data(n)=11111100,data(n-1)=01111111,则i=7;在该情况下,有效跳变沿位于上一个数据data(n-1)中,因此计算出的位置i=7为上一个数据data(n-1)中有效跳变沿的位置,而不是当前数据data(n)的有效跳变沿位置;

示例5:data(n)=00111111,data(n-1)=11111111,则i=6。

在检测到有效跳变沿并且得到有效跳变沿的位置i后,计算有效数据比特的位置,例如可以利用上述等式(1)计算有效数据比特的位置j,在计算过程中可以在考虑是否满足i+b+[(c+1)/2]>n,如果是,则认为有效数据比特存在于下一个接收的数据data(n+1)中位于第j位(即,bit[j]);否则,认为有效数据比特存在于当前数据data(n)中位于第j位(即,bit[j])。

对应示例1:j=(2+2+[(4+1)/2])%(8-1)=6,有效数据比特为data(n)[6]=1;

对应示例2:j=(1+2+[(4+1)/2])%(8-1)=5,有效数据比特为data(n)[5]=0;

对应示例3:j=(0+2+[(4+1)/2])%(8-1)=4,有效数据比特为data(n)[4]=1;

对应示例4:j=(7+2+[(4+1)/2])%(8-1)=4,有效数据比特为data(n)[4]=1,在此示例中,i=7表示有效跳变沿位于上一个接收数据data(n-1)中第7位,而计算的结果表明(7+2+[(4+1)/2])>(8-1),即满足i+b+[(c+1)/2]>n,所以有效数据比特在当前接收数据data(n)中。

对应示例5:j=(6+2+[(4+1)/2])%(8-1)=3,有效数据比特为data(n+1)[3],在此示例中,i=6表示为当前接收数据data(n)中有效跳变沿在第6位,而计算结果表明(6+2+[(4+1)/2])>(8-1),即满足i+b+[(c+1)/2]>n,所以有效数据比特在下一个接收数据data(n+1)中。

通过上述方式,可以获知每个有效数据比特的值,从而完成解码。

在一些实施例中,考虑到存在一个低频时钟周期内传输一个以上的数据单元的情况(例如,如图6所示的情况),还可以每当采集完当前有效数据比特(据此可以获知其位置和比特值)之后,进一步判断当前接收数据中是否存在另一个有效跳变沿,如果是,则按照前述的方法确定跳变沿位置和有效数据比特的位置;否则接收下一个数据。

虽然以上实施例中以特定的顺序描述了各个步骤,然而本领域技术人员应清楚,本公开的实施例不限于此,可以根据需要来改变步骤的执行顺序,例如步骤s703至s706可以修改成:首先执行步骤s704,如果超出范围则返回步骤s701接收下一组数据,否则执行步骤s703和s706以确定当前接收到的数据中有效数据比特的位置和数值。

虽然以上实施例中指示码具有一个跳变沿,然而本公开的实施例不限于此,可以根据需要将指示码设计成任何其他格式,也可以根据需要来设置指示码的长度和有效数据比特的扩展长度,只要在解码时能够识别该指示码即可。

图8示出了根据本公开实施例的编码装置的示意框图。在本实施例中,编码装置可以实现在接收端中,用以对需要返回给发送端的数据进行编码,例如可以根据以上参考图3至图6描述的编码方法来进行编码。如图8所示,所示编码装置可以包括指示码生成模块801和逻辑模块802。

指示码生成模块801用于生成具有预设格式的指示码,所述指示码具有第一长度。

逻辑模块802用于将所述指示码插入用于根据第一时钟信号来传输的并行数据的每个有效数据比特之前,并将每个有效数据比特扩展到第二长度,以得到用于根据第二时钟信号来传输的串行数据。

图9示出了根据本公开实施例的解码装置的示意框图。在本实施例中,编码装置可以实现在发送端中,用以对接收端返回的反向数据进行解码,例如可以按照以上参考图7描述的解码方法来进行解码。如图9所示,解码装置可以包括采集模块901和计算模块902。

采集模块901用于基于第二时钟信号以预设的采集宽度来接收来自图8的编码装置的串行数据,所述采集宽度对应于第二时钟信号的频率与第一时钟信号的频率的比值。

计算模块902用于每当接收到一个采集宽度的串行数据时,确定指示码的位置,根据所述指示码的格式、所述第一长度、所述第二长度和所述采集宽度来计算有效数据比特的位置,并确定有效数据比特的位置处的有效数据比特值,直到确定所有有效数据比特值,以得到用于根据第一时钟信号来传输的并行数据。

本公开的实施例通过在编码时在每个有效数据比特前面插入固定格式的指示码并扩展有效数据比特的长度,并在解码时利用指示码的格式及有效数据比特的扩展长度来确定有效数据比特的值,使得能够运用已经存在的时钟信号(例如clk1和clk2),不需要复杂的数据采集电路,即使在使能ssc功能下,也能够实现对反向传输数据的正确恢复;同时能够实现对有效数据的连续或者间隔传输。

本公开的实施例通过将指示码的长度设置成大于等于4比特,将每个有效数据比特的扩展长度设置成大于等于3比特,可以有利于识别指示码的有效跳变沿,减少错误地识别该有效跳变沿的可能。

本公开的实施例使插入的无效数据比特的值等于指示码在有效跳变沿之前的比特值或者等于其前面的有效数据比特的值,使得无效数据比特与其前面或后面的数据段衔接一致,从而进一步有利于指示码的有效跳变沿的准确识别,提高解码的准确度。

本公开的实施例通过在解码时考虑有效数据超出采样宽度的情况以及一个低频时钟信号周期内传输一个以上的数据单元(例如图6所示)的情况,能够使得编码不受限于低频时钟信号周期的长度,可以更灵活地实现编解码。

以上所述仅为本公开的优选实施例,并不用于限制本公开,对于本领域技术人员而言,本公开可以有各种改动和变化。凡在本公开的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1