串行发送的数字数据的同步方法与流程

文档序号:22477548发布日期:2020-10-09 22:20阅读:97来源:国知局
串行发送的数字数据的同步方法与流程

本发明涉及一种用于同步由发射器向接收器串行发送的数字数据的方法,并且涉及一种能够实现这种方法的装置。



背景技术:

数字数据通常由时钟信号与接收器的时钟信号不同的发射器发送。为了确保这些串行发送的数据被接收器正确接收,需要将这些数据与接收器的时钟信号同步。

存在用于使发射器发送的数据与接收器的时钟同步的各种解决方案,例如使用锁相环或数据的过采样。

使用锁相环是一种模拟解决方案,可能难以实现,特别是因为实现该环需要研究该环的稳定性,该环的漫长的设计过程以及在规格改变的情况下的不可重用性。

数据过采样的方法基于使用接收器的时钟生成许多时钟相移,并且基于表决系统(votingsystem),该表决系统可以选择被称为当选时钟(electedclock)的时钟,该当选时钟是输入数据的眼图(其表示在与接收器的时钟信号同步的示波器上接收到的数据流)的眼睛最中心的时钟。此外,对于到达接收器的所有数据,当选时钟也必须与接收器的时钟同步,因为当选时钟可能仅相对于接收器的时钟是亚稳态的。这需要用于生成时钟相位的单元、表决系统以及用于对输入数据进行重新采样的系统。用于生成时钟相位的单元通常是双时钟fifo(先进先出)存储器。fifo存储器不生成时钟相移,它只允许以第一时钟写入数据,并以第二时钟读取这些数据。这使得能够在接收器的时钟和当选时钟之间形成接口。该存储器的缺点是体积大、功耗高并且占用较大的空间,因为它必须存在于接收器的每个输入信道。



技术实现要素:

本发明旨在弥补现有技术的上述缺点,更具体地,本发明旨在提供一种不使用fifo存储器而使串行数字数据同步的方法,该方法基于使用单个时钟,具体地,基于接收器的时钟。

因此,本发明的一个主题是一种用于同步数字数据的方法,所述数字数据通过具有频率为freq1的时钟信号的发射器串行地发送到具有频率为freq2的时钟信号的接收器,其特征在于,所述方法包括进行迭代直到停止条件得到满足的步骤a)至d),以及在步骤d)的最后一次迭代之后执行的步骤e),所述步骤a)至e)如下:

步骤a)利用发射器将数字数据发送到接收器;

步骤b)生成n个信道,n个信道的每个信道包含由接收器接收的数据,并且每个第i个信道相对于第(i-1)个信道进行时移,n为大于或等于3的整数,i为包括在2和n之间的整数;

步骤c)以接收器的时钟h2的频率freq2对n个信道进行采样,从而生成与时钟h2在时间上对准的数字数据;

步骤d)比较(2m+1)个连续信道的组中的n个信道的数据,并选择在每次迭代中(2m+1)个连续信道包含相同数据的(2m+1)个信道的组,其中m为大于或等于1的整数,并且(2m+1)小于或等于n;

步骤e)选择属于在前一步骤中选择的组的信道的其中一个信道,该信道中包含的数据被认为与接收器的时钟h2同步且同相,并将变量p定义为等于所选择的信道的值i。

根据本发明的多个实施方案:

-在步骤d)的第一次迭代过程中,在n个信道上进行(2m+1)个连续信道的组中的值的比较,并且在随后的迭代过程中,在步骤d)的前一迭代中选择的组中包含的所有(2m+1)个连续信道上进行(2m+1)个连续信道的组中的值的比较;

-该方法包括在步骤d)的最后一次迭代和步骤e)之间执行的步骤d'),其中在步骤d)的最后一次迭代中选择的组中选择(2m+1)个连续信道的一组,所选择的一组可能是在步骤d)的最后一次迭代中选择的唯一一组;或在步骤d)的最后一次迭代中选择的组中,所选择的一组可能是具有最大m值的组;或在步骤d)的最后一次迭代中选择的组中,如果n为偶数,所选择的一组可能是其连续信道最接近信道n/2的组,如果n为奇数,所选择的一组可能是其连续信道最接近信道(n+1)/2的组;

-在步骤e)中选择的信道是在前一步骤中选择的(2m+1)个连续信道的组中的信道m+1;

-停止条件选自由用户定义的迭代次数或者当步骤d)中仅剩唯一一组包含相同数据的(2m+1)个连续信道时;

-步骤b)还包括对n个信道的数据进行插值;

-m包括在1和4之间;

-步骤c)包括多个子步骤,所述子步骤以严格低于频率freq2的频率对n个信道进行采样,使得在所有采样子步骤之后,n个信道以频率freq2进行了采样;

-该方法包括在步骤e)之后执行的以下附加步骤:

f)利用发射器将数字数据发送到接收器,生成n个信道,n个信道的每个信道包含由接收器接收的数据,并且每个第i个信道相对于第(i-1)个信道进行时移,n为大于或等于3的整数,i包括在2和n之间,并且以频率freq2对n个信道进行采样,从而生成与时钟h2在时间上对准的数字数据;

g)比较在步骤d)中选择并包含第p个信道的组的(2m+1)个连续信道的数字数据,p在步骤e)中定义;

h)如果在步骤g)中比较的(2m+1)个信道的数据的值不同,则修改p的值,使得如果(2m+1)个信道的组的信道m的数据与信道(m+1)的数据不同,则p的值变为等于(p-1);或者使得如果(2m+1)个信道的组的信道m+2的数据与信道(m+1)的数据不同,则p的值变为等于(p+1)。

本发明的另一个主题是一种用于同步数字数据的装置,所述装置用于实现根据本发明的同步方法,所述装置包括:

-用于格式化在装置的输入端接收到的数字数据的电路,所述电路包括n个输出并且连接到装置的输入端,所述电路配置为:生成n个信道,每个信道包含数字数据;将每个信道相对于在前信道进行时移,n为大于或等于3的整数,并且n个信道对应于电路的n个输出;

-触发器,其配置为以低于或等于接收器的时钟频率的频率对n个信道进行采样,n个信道包括至少一个触发器;以及

-状态机,其配置为接收至少n个采样的信道作为输入,并比较相同组中包含的(2m+1)个信道的数据,选择至少一组(2m+1)个连续信道,选择属于所选择的组的信道,并定义p的值。

附图说明

通过阅读参考附图给出的描述,本发明的其他特征、细节和优点将变得显而易见,所述附图分别以示例和示出的方式给出:

图1是根据本发明第一实施方案的方法的步骤的示意图;

图2是根据本发明的方法的步骤a)、b)和c)的时序图;

图3是根据本发明的第二实施方案的方法的步骤的示意图;

图4是能够实现根据本发明的方法的根据本发明的装置;以及

图5是能够实现所述方法的根据本发明另一实施方案的装置。

具体实施方式

图1示出了根据本发明第一实施方案的用于使串行发送的数字数据与接收器b的时钟信号同步的方法的步骤的示意图。该方法包括进行迭代直到满足停止条件为止的四个步骤a)至d),以及在步骤d)的最后一次迭代之后执行的步骤e)。该方法还可包括:在步骤d)的最后一次迭代与步骤e)之间执行的步骤d')。

第一步(步骤a)是通过发射器a将包含一组比特位(bit)的数字数据d发送到接收器b。发射器a与频率为freq1的时钟h1同步,而接收器b与频率为freq2的时钟h2同步。在步骤a)的每次迭代中,通过发射器a将新的数据d发送到接收器b,这些数据可能与前一次迭代中发送的数据d相同或不同。频率freq1可以等于频率freq2。

在步骤b)中,生成n个信道,每个信道包含在步骤a)中发送的数据d,n是大于或等于3的整数。每个信道相对于前一个信道是时移的。因此,在第i个信道和第i-1个信道之间存在时移,i是包括在2至n之间的整数。该步骤b)允许生成这样的多个信道,每个信道包含通过发射器a发送的数据d,并且每个信道相对于时钟h2具有相移,所生成的信道数量足以覆盖时钟信号h2的一个完整周期,该信道数量至少为3。

接下来,在步骤c)中,以接收器b的时钟信号h2的频率freq2同时对n个信道进行采样。这使得对于每个信道并且对于所述方法的每次迭代,能够获得表示进行采样的时刻信道中包含的“数据状态”的比特位的值。

图2示出了该方法的步骤a)、b)和c)的时序图的示例,其中生成了12个信道,并且其一次迭代对应于h2的一个时钟滴答(clocktick)。在步骤a)中,通过发射器a将数字数据d发送到接收器b。在步骤b)中,生成12个信道(v1至v12),并且两个连续信道之间存在时移δt。图2中针对步骤b)所示的数据是在三次迭代结束时接收到的数据。接下来,在步骤c)中,对生成的12个信道进行采样,这可以在h2的每时钟滴答获得每个信道中包含的“数据状态”,因为在该示例中,h2的每个时钟滴答发生一次迭代。因此,在第一信道(v1)中,在数据状态改变期间(即比特位的值从0变为1的时刻)发生时钟滴答,因此,在第一次迭代中,对于信道1(v1),返回值将严格包括在0和1之间,而对于信道2(v2),返回值将为0。因此,对于图2所示的三次迭代,可以看到,在信道1(v1)中,将获得比特位的序列xx–xx–0,其中xx表示严格包括在0和1之间的数字,而对于信道2至11(v2至v11),将获得序列0–1–0,对于信道12(v12),将获得序列0–xx–xx。

该采样步骤可以是以频率freq2进行采样的单个步骤,也可以是以严格低于freq2的频率进行采样的一系列子步骤c')、c”)、c”'),从而使总采样(即在所有子步骤c')、c”)、c”')之后)产生以频率freq2采样的n个信道。每个采样子步骤相对于前一采样子步骤(例如,在子步骤c')与子步骤c”)之间或者在子步骤c”)与子步骤c”')之间),时移了接收器b的时钟信号h2的半周期,因为对于给定的信道,不可能同时执行采样子步骤。采样子步骤使得能够使用高频时钟信号。例如,对于必须以12ghz采样的数据,可以以3ghz执行四个采样子步骤。因此,在该步骤结束时,存在于n个采样信道中的数据将与时钟h2同步且同相。该方法的以下步骤将可以确定哪些信道数据可以被接收器b使用,即确定哪些数据可以认为是在眼图的眼睛中心。

接下来,在步骤d)中,在(2m+1)个连续信道的组中比较n个信道的数字数据(即,比特位的值),其中m为大于或等于1的整数,并且(2m+1)小于或等于n。然后选择在步骤a)至d)的每次迭代中(2m+1)个连续信道具有相同的数据的(2m+1)个连续信道的组。以图2为例,对于第一次迭代,因此比较12个信道的比特位的值,可以看出信道2至12具有相同的值;因此,可以选择包括11个包含相同数据的连续信道的组v2至v12,包括9个包含相同数据的连续信道的组v2至v10、v3至v11以及v4至v12等等。对于第二次迭代,信道2至11具有相同的值,因此可以选择包括9个连续信道的组v2至v10,以及也包括9个连续信道的组v3至v11等等。

最后,在步骤e)中,选择属于在前一步骤中选择的组的信道的其中一个。从统计角度上讲,如果观察眼图,该信道中包含的数据将是在眼睛中间的那些数据,因此,这些数据被认为是与接收器b的时钟h2同步且同相的。在该步骤中,还定义了表示为p的变量,其等于所选择的信道的编号,即等于所选择的信道的值i。接收器b使用的是第p个信道的数据。

该方法还可以包括就在步骤e)之前执行的步骤d'),步骤d')为在步骤d)的最后一次迭代所选择的组中选择一组。具体地,在步骤d)的最后一次迭代中,可能已经选择了多个组;然而,实际上只有一个信道与接收器b的时钟h2同步且同相,并且在眼图的眼睛中间;因此,需要选择包含眼睛中间的信道的“正确的组”。

如果在步骤d)的迭代结束时仅选择了一组,则所选择的组就是该唯一所选择的组。

如果在步骤d)的迭代结束时选择了多个组,则有各种方法来选择该组:可以选择m值最大的组,即选择包括相同数据的9个连续信道的组,而不是包括相同数据的7个连续信道的组;或者,选择包括最接近信道n/2的连续信道的组(如果n为偶数)或包括最接近信道(n+1)/2的连续信道的组(如果n为奇数)。

也可以通过应用这两种选择标准来选择所选择的组中的其中一组。具体而言,可能有多个具有相同最大数量的相同信道的组,因此必须通过观察哪组包含最接近信道n/2或信道(n+1)/2(根据n的奇偶性)的信道来选择这些组的其中一组。

因此,这使得能够只有唯一一组被选择用于步骤e)中的信道选择。

此外,优选地,在步骤e)中选择的信道是所选择的组的“中间信道”,即,该信道是(2m+1)个连续信道的组中的信道m+1。因此,对于3个信道的组,所选择的信道将是该组的第二个信道,或者对于5个信道的组,所选择的信道将是该组的第三个信道。

在步骤d)中,也可以仅比较属于在前一迭代中选择的组的信道的数据。因此,在步骤d)的第一次迭代中,对所有n个信道进行数据比较,而在随后的迭代中,仅对在前一迭代中选择的组中包含的信道进行数据比较。这样可以加快迭代过程中的组的比较和选择。

在步骤d)中,优选地,首先寻求选择包括最多个包含相同数据的连续信道的组。因此,例如,选择包含9个信道的组而不是包含7个信道的组。因此,在迭代结束时,如果选择两个9个信道的组和三个7个信道的组,则仅在两个9个信道的组中包含的信道上搜索包含相同数据的信道的组。

优选地,在步骤d)期间,针对m的每个可能值,并行地搜索包含相同数据的(2m+1)个连续信道的组。因此,并行地搜索3个信道的组、5个信道的组、7个信道的组等等。

根据一个实施方案,步骤d)还可以包括定义指针,该指针包含在该步骤中选择的行的地址,即第p个信道的地址,并将该地址存储在存储器中。

根据一个实施方案,步骤a)至d)的迭代的停止条件可以是例如由用户选择的定义的迭代次数。典型的迭代次数为1000。

根据另一实施方案,当在步骤d)中仅剩唯一一个所选择的组时,即在步骤d的每次迭代中仅剩唯一一组包含相同数据的(2m+1)个连续信道时,停止条件得到满足。

根据本发明的一个实施方案,m的值选自{1;2;3;4},这使得可以按3个连续信道的组、按5个连续信道的组、按7个连续信道的组以及按9个连续信道的组来比较n个信道的值。

根据一个实施方案,对于所有信道,每个信道之间的时移都是相同的,并且这些信道有规律地进行时移。

根据一个实施方案,步骤b)还包括n个信道的数据的插值,这可以产生比传统延迟电路所传递的延迟(例如,反相器或缓冲器所传递的延迟)更短的时延。因此,两个连续信道之间的延迟更短。通过该插值,可以实现更精细的粒度(granularity),从而在时钟h2的一个周期中获得更多要进行比较的信道。

根据一个实施方案,步骤a)至d)的迭代与发射器a的时钟h1的每次滴答同步。因此,第一次迭代对应于时钟h1的第一个上升沿,第二次迭代对应于时钟h1的第二个上升沿,第i次迭代对应于时钟h1的第i个上升沿,i是大于或等于1的整数。

根据另一个实施方案,步骤a)至d)的迭代具有等于m×freq1的频率,其中m是大于2的整数。因此,第一次迭代例如将在时钟h1的第一个上升沿发生,而第i次迭代将在时钟h1的第(i×m)个上升沿发生。

根据另一个实施方案,步骤a)和d)的迭代与发射器a的时钟h1不同步。以低于时钟h1的频率freq1的频率有规律地发送数据d。

在将数据发送到接收器时,温度波动或者可能不同的发射器和接收器的电源都可能产生较小的可变时延。这具有随时间时移被认为与接收器同步的所选择的信道的效果。因此,所选择的信道将与时钟h2略微不同步,并且实际上与h2同步的信道将是相邻信道的其中一个信道。因此,重要的是要持续地验证所选择的信道是否仍与时钟h2同步,从而不需要修改p的值。

图3示出了根据本发明一个实施方案的同步方法的步骤的示意图,其包括附加步骤,使得能够考虑由电源波动和/或温度波动产生的可能的时延,从而调整p的值。在步骤e)中定义了p的值之后,步骤f)中将数字数据d'从发射器a发送到接收器b,并生成每个信道都包含数字数据d'的n个信道,其中n为大于或等于3的整数,每个第i个信道相对于第(i-1)个信道进行时移,其中i是包括在2和n之间的整数。在生成n个信道之后,以接收器的时钟h2的频率freq2对n个信道进行采样。如在图1的描述中所指出的,可以一次或在多个采样子步骤(步骤c')、c”)和c”'))中对n个信道进行采样,使得总采样对应于以频率freq2进行采样。

在步骤g)中,对在步骤d)中选择并包含第p个信道(p在该方法的步骤e)中定义)的组的(2m+1)个连续信道的数字数据(其从数据d'生成)进行比较。

在步骤h)中,如果在步骤g)中比较的数字数据的值不同,则修改p的值。因此,如果(2m+1)个信道的组的信道m的数据与信道(m+1)的数据不同,则p的值变为(p-1),而如果(2m+1)个信道的组的信道(m+2)的数据与信道(m+1)的数据不同,则p的值变为(p+1)。如果数据相同,则不修改p的值。

然后,在步骤h)中修改或不修改的p的值使得可以定义哪个信道与接收器的时钟信号h2同步,从而定义将哪个信道提供给接收器。

图4示出了能够实现上述方法的根据本发明的用于同步数字数据的装置。该装置包括电路cmf,该电路cmf用于将由发射器a(其具有频率为freq1的时钟信号h1)发送的数字数据d格式化。格式化电路cmf连接到装置的输入端in,并且配置为从发射器a接收数字数据d并生成相对于彼此时移的n个信道,n是大于或等于3的整数。在图4所示的装置中,格式化电路cmf包括均衡器e,该均衡器e接收数据d并在其差分输出上输出数据d及其补码(因此从均衡器e输出两个不同的信道)。多个反相器(i1至i6以及i7至i12)串联连接到均衡器e的两个输出端。正是反相器(i1至i12)使得在每个信道都包含在装置的输入端in上接收到的数字数据d的n个信道(此处n=6)之间产生时移。因此,在包含补码数据的均衡器e的输出端的第一反相器i1的输出处生成第一信道v1,在包含数据d的均衡器e的输出端的第二反相器i8的输出处生成第二信道v2。

该装置还包括触发器bs,具体为d型触发器,即所谓的“数据触发器”,其能够以接收器b的频率freq2对n个信道进行采样。每个信道包括至少一个触发器bs。

n个信道的每个触发器bs的输出被施加到称为状态机me的时序数字电路上,因此该时序数字电路接收以频率freq2采样的n个信道作为输入。状态机me配置为接收n个被采样的信道,比较(2m+1)个连续信道的组中的n个信道的数字数据,选择包含相同数据的至少一组(2m+1)个连续信道,选择所选择的组的信道的其中一个信道并定义p的值。本领域技术人员将能够实现该时序数字电路,并且该时序数字电路的实现不会特别困难。

状态机me还可以配置为能够在所选择的组中选择一个组。该状态机me还可以包括存储器并且配置为定义包含所选择的信道的地址的指针,所述地址将被存储在存储器中。

多路复用器mux也可以出现在状态机me的输出处,以便在状态机me比较在状态机me的输入端接收的n个信道之后接收所述n个信道。在这种情况下,状态机me还配置为将所选择的信道的地址(例如,借助于指针)作为输入提供给多路复用器mux,从而可以使所选择的信道的数字数据在多路复用器mux的输出端传送。

接收器b中包括的处理电路ct_b可以连接到多路复用器mux的输出端,以便处理接收到的信道的数据。

图5示出了能够实现根据本发明的方法的另一同步装置。该装置也包括格式化电路cmf,该格式化电路cmf可以生成相对于彼此时移的n个信道。在该另一装置中,不使用均衡器e的补码输出均衡器e的非补码输出包括串联的多个缓冲器,其可以生成n个信道及其延迟。在该示例中,示出了6个缓冲器t和6个信道(v1至v6)。因此,第一信道v1在第一缓冲器t的输出端传递,第二信道v2在第二缓冲器t的输出端传递,等等。

接下来,在通过触发器(bs1和bs2)时,以频率freq2对6个信道(更一般的是n个信道)进行采样。在该图中,示出了并联的两级触发器bs1和bs2,因此这里的每个信道包括两个触发器。第一级以频率freq2/2对n个信道进行采样,第二级以频率freq2/2+1/(2×freq2)进行采样。

然而,该装置可以包括单级触发器bs,如图4所示,每个触发器bs都将以频率freq2对n个信道的其中一个信道进行采样,或者该装置可以包括并联的多于两级的触发器bs,触发器bs的每一级都以严格低于freq2的频率对n个信道进行采样,并且触发器bs的所有级一起使得可以获得以频率freq2采样的n个信道,两个连续信道的两个触发器的两个时钟移位时钟信号h2的半周期,即移位1/(2×freq2)。

更一般地,该装置将包括与该方法中的采样子步骤一样多的并联的触发器bs的级。因此,在包括3个采样子步骤(步骤c')、c”)和c”'))的方法中,在装置中将存在并联的三级触发器bs。优选地,该装置的每个信道包括并联的偶数个触发器bs的级。

如果使用多级触发器bs,则每个触发器的级相对于前一级时移了接收器b的时钟信号h2的半周期。因此,对于与第一级不同的每个触发器的级,相对于前一级存在1/(2×freq2)的移位。

这使得可以使用更高频率的信号,也就是说使用具有较高时钟频率的接收器,尽管触发器存在物理限制(尤其是在制造过程中遇到的那些限制),因此无法以高频正确地采样。当前,该频率限制约为6ghz。

该装置还包括称为状态机me的时序数字电路,其接收所有触发器bs的输出作为输入。从而,这里,由于对于每个生成的信道n存在两级触发器bs,状态机接收两个信号,一个信号从信道的第一触发器bs1输出,而另一个信号从信道的第二触发器bs2输出。更一般地,状态机me接收的信道的信号与该信道中触发器bs的级一样多。

状态机me具有与上述相同的作用,即比较(2m+1)个连续信道的组中n个信道的数据,选择包含相同数据的信道的组,然后选择单个信道,并定义p的值,可选地,定义能够识别所选择的信道的指针。

当状态机me由于在信道中存在多个触发器bs而接收到多个信号时,对于单个信道,该状态机me通过比较经历了相同采样的信号来比较n个信道的数据。因此,该状态机me将比较来自第一级触发器bs1的n个信道的所有信号,并且并行地比较来自第二级触发器bs2的n个信道的所有信号。

该装置还包括与装置中的触发器bs的级一样多的多路复用器mux1、mux2。因此,在图5中,由于存在两级触发器bs1和bs2,该装置包括两个多路复用器mux1和mux2。多路复用器中的一个多路复用器mux1接收从第一级触发器bs1输出并且通过状态机me进行比较的n个信道的信号作为输入,而另一个多路复用器mux2接收从第二级触发器bs2输出并通过状态机me进行比较的n个信道的信号作为输入。这些多路复用器还分别接收由状态机定义的指针,这使得所述多路复用器能够返回由状态机me选择的信道作为输出。处理电路ct_b接收表示所选择的信道的多路复用器的输出(d1、d2),从而重建以频率freq2进行采样的该所选择的信道的数据。

根据本发明的另一实施方案,多路复用器包括在状态机me中,因此状态机的输出直接是以频率freq2进行采样的所选择的信道,或者是由于不同触发器级而以多个采样频率选择的信道的子信道(d1、d2)的其中一个。

根据另一个实施方案,该装置包括锁存器而不是触发器bs,以对n个信道的数据进行采样。需要两个锁存器来代替单个触发器bs。因此,每个信道包括至少两个锁存器。

根据一些实施方案,状态机可以是计算机、微控制器、现场可编程门阵列(fpga)或专用集成电路(asic)。

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