一种计数器信号同步的方法、装置、设备及存储介质与流程

文档序号:26227994发布日期:2021-08-10 16:27阅读:107来源:国知局
一种计数器信号同步的方法、装置、设备及存储介质与流程

本发明涉及数字设备同步接口领域,尤其涉及跨时钟域的计数器信号同步的方法、装置、设备及存储介质领域。



背景技术:

一般计数器信号的跨时钟域同步均采用格雷码同步,包括以下步骤:

1、把源设备的计数器输出的计数器信号转换为格雷码;

2、把所述格雷码通过同步电路发给目标设备;

3、目标设备把所接收的格雷码恢复成为计数器信号。

由于格雷码的特点,要求编码后,任意两个数字之间只有1bit发生跳变。

图1a示出基于标准格雷码对周期为8的计数器信号的编码方法,其中,周期8是2的3次方,对应3bit的计数器,计数器输出从0计到7的计数信号,阈值为7,基于格雷码的编码后,任意两个数字之间只有1bit发生跳变,满足跨时钟域的同步要求。

然而实际使用中,计数器周期并不是计数到最大值max(2^n-1),即阈值不一定是max(2^n-1),其中,n为计数器的位数。如分秒计数是0到59,小时计数是0到23,天计数是0到365,星期计数是0到6。以下仍然以3bit的计数器的例子,如果计数器从0计到5,即阈值为5,用标准的格雷码的编码电路会发生错误。

图1b示出基于标准格雷码的对周期为6的计数器信号编码方法,可以看到基于格雷码的编码后,计数器信号从5到0,会发生3bit的跳变,这个编码的结果是不能接到同步电路的。

因此有一种常用的改进方法为“掐头去尾”法,对格雷码进行重新编码。图1c示出了基于掐头去尾的格雷码编码对周期为6的计数器信号的掐头去尾编码方法,可以看到从5到0,也只有1bit的跳变,这个改进后的编码的结果是满足要求的。

但是这个方法有一个缺陷,对于不同的阈值都必须设计不同的格雷码编码,图1a中计数信号3使用二进制格雷码“010”,而在图1c中计数信号3使用二进制格雷码“110”,二者不同,即每次要根据实际情况选用不同的格雷码,导致设计重用性降低,不便于移植。因此本设计提出一种适用于任意阈值的格雷码编码和同步方法。



技术实现要素:

有鉴于此,本发明实施例提供了一种计数器信号同步的方法、装置、设备及存储介质,基于一种适用于任意阈值的格雷码的同步,提高设计的重用性。

第一方面,本发明实施例提供了一种计数器信号同步的方法,其包括:基于计数器产生周期为n的第一计数信号,其中,所述第二计数信号包含周期为2n且长度为1bit的第一翻转信号和周期为2n的第三计数信号,每个时刻的所述第一翻转信号位于相同时刻的所述第二计数信号的一约定bit位置,所述第三计数信号的上半周为所述第一计数信号的基于格雷码的编码,下半周为其上半周信号的逆序,在时间连续且内容相同的两个所述第三计数信号的中间时间点所述第一翻转信号进行翻转;输出所述第二计数信号,用于其他时钟域的计数器信号。

由上,对任何计数周期和计数阈值的计数信号均采用相同编码方法,无需单独设计新的格雷码,相对于现有技术的“掐头去尾”法,上述方法更加简单和便于移植。

在第一方面的一种计数器信号同步的方法的可能实施方式中,所述基于所述第一计数信号生成周期为2n的第二计数信号包括:基于所述第一计数信号生成周期为所述第一翻转信号,其中,在所述第一计数信号每个周期对应的时间内,所述第一翻转信号相同,在所述第一计数信号的每个周期的结束时间点所述第一翻转信号翻转;对间隔周期的第一周期内所述第一计数信号进行保留,对间隔周期的第二周期内的所述第一计数信号以原顺序的逆序重新排列,从而生成第四计数信号,所述间隔周期为所述第一计数信号连续的两个周期;基于所述第一翻转信号和第四计数信号生成所述第二计数信号。

由上,基于对每个间隔周期的第二周期的所述第一计数信号逆序排列的方法适合任何计数周期和计数阈值的第一计数信号,实现更简单。

在第一方面的一种计数器信号同步的方法的可能实施方式中,所述基于所述第一翻转信号和第四计数信号生成所述第二计数信号包括:基于格雷码对所述第四计数信号进行编码,生成第三计数信号;在每个第三计数信号的所述约定bit位置插入所述第一翻转信号,形成所述第二计数信号。

由上,使用标准的格雷码进行编码,无需单独设计新的格雷码,相对于现有技术的“掐头去尾”法,上述方法更加简单和便于移植。

第二方面,本发明实施例提供了一种计数器信号同步的方法,其包括:从其他时钟域接口获取周期为2n的第二计数信号;其中,所述第二计数信号包含周期为2n且长度为1bit的第一翻转信号和周期为2n的第三计数信号,每个时刻所述第一翻转信号位于相同时刻的所述第二计数信号的一约定bit位置,所述第三计数信号的上半周为n个连续整数的格雷码,下半周为其上半周信号的逆序,在时间连续且内容相同的两个所述第三计数信号的中间时间点所述第一翻转信号进行翻转;基于所述第二计数信号生成周期为n的第一计数信号,用于作为计数器信号。

由上,对由任何计数周期和计数阈值的计数信号的生成的所述第二计数信号,均采用相同译码方法,无需单独设计新的格雷码,相对于现有技术的“掐头去尾”法,上述方法更加简单和便于移植。

在第二方面的一种计数器信号同步的方法的可能实施方式中,所述基于所述第一计数信号生成周期为n的第二计数信号包括:提取所述第一计数信号中的所述第一翻转信号;提取所述第一计数信号中的所述第三计数信号;基于所述第三计数信号和第一翻转信号生成所述第一计数信号。

由上,从所述第一计数信号采用标准的方法提取所述第一翻转信号和第三计数信号,适合任何计数信号,实现简单。

在第二方面的一种计数器信号同步的方法的可能实施方式中,所述基于所述第三计数信号和第一翻转信号生成所述第一计数信号包括:基于格雷码对所述第三计数信号进行译码,生成第四计数信号;对于相邻且相同的所述第三计数信号以所述第一翻转信号的翻转点为界;在所述第四计数信号的每个周期内,保留其上半周信号,对其下半周数信号以原顺序的逆序排列,从而生成所述第一计数信号;所述上半周与下半周之间以所述第一翻转信号的翻转点为界。

由上,使用标准的格雷码进行译码,无需单独设计新的格雷码,相对于现有技术的“掐头去尾”法,上述方法更加简单和便于移植。

第三方面,本发明实施例提供了一种计数器信号同步的装置,其包括:第一计数信号生成模块,用于基于计数器产生周期为n的第一计数信号,其中,所述第二计数信号包含周期为2n且长度为1bit的第一翻转信号和周期为2n的第三计数信号,每个时刻的所述第一翻转信号位于相同时刻的所述第二计数信号的一约定bit位置,所述第三计数信号的上半周为所述第一计数信号的基于格雷码的编码,下半周为其上半周信号的逆序,在时间连续且内容相同的两个所述第三计数信号的中间时间点所述第一翻转信号进行翻转;输出模块,用于输出所述第二计数信号,用于其他时钟域的计数器信号。

由上,对任何计数周期和计数阈值的计数信号均采用编码装置,无需单独设计新的格雷码,相对于现有技术的“掐头去尾”方法对应的装置,上述装置更加简单和便于移植。

在第三方面的一种计数器信号同步的装置的可能实施方式中,所述第二计数信号生成模块具体用于基于所述第一计数信号生成所述第一翻转信号,其中,在所述第一计数信号每个周期内,所述第一翻转信号相同,在所述第一计数信号的每个周期的结束时间点所述第一翻转信号翻转;还具体用于对间隔周期的第一周期内所述第一计数信号进行保留,及对间隔周期的第二周期内的所述第一计数信号以原顺序的逆序重新排列,从而生成第四计数信号,所述间隔周期为所述第一计数信号连续的两个周期;还具体用于基于所述第一翻转信号和第四计数信号生成所述第二计数信号。

由上,基于上述装置对每个间隔周期的第二周期的所述第一计数信号逆序排列,适合任何计数周期和计数阈值的第一计数信号,实现更简单。

在第三方面的一种计数器信号同步的装置的可能实施方式中,所述第二计数信号生成模块具体还具体用于基于格雷码对所述第四计数信号进行编码,生成所述第三计数信号;还具体用于在每个第四计数信号的所述约定bit位置插入所述第一翻转信号,形成所述第二计数信号。

由上,使用标准的格雷码编码器进行编码,无需单独设计新的格雷码,相对于现有技术的“掐头去尾”法,上述装置更加简单和便于移植。

第四方面,本发明实施例提供了一种计数器信号同步的装置,其包括:第二计数信号获取模块,用于从其他时钟域接口获取周期为2n的第二计数信号;其中,所述第二计数信号包含周期为2n且长度为1bit的第一翻转信号和周期为2n的第三计数信号,每个时刻的所述第一翻转信号位于相同时刻的所述第二计数信号的一约定bit位置,所述第三计数信号的上半周为n个连续整数的格雷码,下半周为其上半周信号的逆序,在时间连续且内容相同的两个所述第三计数信号的中间时间点所述第一翻转信号进行翻转;第一计数信号生成模块,用于基于所述第二计数信号生成周期为n的第一计数信号,用于作为计数器信号。

由上,对由任何计数周期和计数阈值的计数信号的生成的所述第一计数信号,均采用译码装置,无需单独设计新的格雷码,相对于现有技术的“掐头去尾”方法对应的装置,上述装置更加简单和便于移植。

在第四方面的一种计数器信号同步的装置的可能实施方式中,所述第一计数信号生成模块具体用于提取所述第一计数信号中的所述第一翻转信号;还具体用于提取所述第一计数信号的所述第三计数信号;还具体用于基于所述第三计数信号和第一翻转信号生成所述第一计数信号。

由上,从所述第一计数信号采用标准的装置提取所述第一翻转信号和第三计数信号,适合任何计数信号,实现简单。

在第四方面的一种计数器信号同步的装置的可能实施方式中,所述第一计数信号生成模块还具体用于基于格雷码对所述第三计数信号进行译码,生成周期为2n的第四计数信号,对于相邻且相同的所述第三计数信号以所述第一翻转信号的翻转点为界;还具体用于在所述第四计数信号的每个周期内,保留其上半周的信号,及对其下半周的信号以原顺序的逆序排列,从而生成周期为n的所述第一计数信号;所述上半周与下半周之间以所述第一翻转信号的翻转点为界。

由上,使用标准的格雷码器进行译码,无需单独设计新的格雷码,相对于现有技术的“掐头去尾”法,上述装置更加简单和便于移植。

第五方面,本发明实施例提供了一种计算设备,包括,

总线;

通信接口,其与所述总线连接;

至少一个处理器,其与所述总线连接;以及

至少一个存储器,其与所述总线连接并存储有程序指令,所述程序指令当被所述至少一个处理器执行时使得所述至少一个处理器执行本发明第一方面或第二方面任一所述实施方式。

第六方面,提供了一种计算机可读存储介质,其上存储有程序指令,其特征在于,所述程序指令当被计算机执行时使得所述计算机执行申请第一方面或第二方面任一所述实施方式。

附图说明

图1a为基于标准格雷码对周期为8的计数器信号的编码方法的示意图;

图1b为基于标准格雷码对周期为6的计数器信号的编码方法的示意图;

图1c为基于标准格雷码对周期为6的计数器信号的掐头去尾的编码方法的示意图;

图2a为本发明的一种计数器信号同步的方法实施例一的系统结构示意图;

图2b为本发明的一种计数器信号同步的方法实施例一的流程示意图;

图2c为本发明的一种计数器信号同步的方法实施例一的编码器编码过程中信号变化方法的示意图;

图3a为本发明的一种计数器信号同步的方法实施例二的系统结构示意图;

图3b为本发明的一种计数器信号同步的方法实施例二的流程示意图;

图3c为本发明的一种计数器信号同步的方法实施例二的编码方法的流程示意图;

图3d为本发明的一种计数器信号同步的方法实施例二的编码过程中信号变化方法的示意图;

图3e为本发明的一种计数器信号同步的方法实施例二的编码方法的流程示意图;

图3f为本发明的一种计数器信号同步的方法实施例二的编码过程中信号变化方法的示意图;

图4a为本发明的一种计数器信号同步的装置实施例一的结构示意图;

图4b为本发明的一种计数器信号同步的装置实施例一的结构示意图;

图4c为本发明的一种计数器信号同步的装置实施例二的计数信号编码模块的结构示意图;

图4d为本发明的一种计数器信号同步的装置实施例二的计数信号译码模块的结构示意图;

图5为本发明各实施例的一种计算设备的结构示意图。

具体实施方式

在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。

在以下的描述中,所涉及的术语“第一\第二\第三等”或模块a、模块b、模块c等,仅用于区别类似的对象,或用于区别不同的实施例,不代表针对对象的特定排序,可以理解地,在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本发明实施例能够以除了在这里图示或描述的以外的顺序实施。

在以下的描述中,所涉及的表示步骤的标号,如s110、s120……等,并不表示一定会按此步骤执行,在允许的情况下可以互换前后步骤的顺序,或同时执行。

除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。

本发明实施例用于跨时钟域计数信号同步,在一个时钟域产生计数信号,在另一个时钟域使用。

下面结合图2a至图3f介绍本发明的一种计数器信号同步的各方法实施例。

【一种计数器信号同步的方法实施例一】

图2a示出了一种计数器信号同步的方法实施例一的系统结构,其包括接收端、发送端及同步电路。

接收端和发送端使用不同时钟,因为是不同的时钟,二者之间可能不同步,会产生计数毛刺,为了在接收端能正确接收计数信号,要求二者之间传送的相邻的计数器信号只能有一bit差别,便于检测出计数器信号的变化。

发送端的计数器产生第一计数信号a1,发送端的编码器对其进行编码生成第二计数信号b1,第二计数器信号b1符合跨时钟域传送的要求,并送至所述发送端的输出电路输出,形成第三计数信号c1。所述输出电路的一种可能实施方式是添加一些固定位置添加0或1,以满足同步电路,所以变化后的第三计数信号c1继续满足跨时钟域传送的要求,在一些实施例也可以不使用输出电路,直接把编码器的输出发送给同步电路。

第三计数信号c1经过同步电路同步后,形成第四计数信号d1,并送至接收端。同步电路的一种可能实现方式是二级触发器,通过二级触发器把第三计数信号c1变成与同步电路的时钟同步的第四计数信号d1,二者除了时钟差别外,其他均相同,所以第四计数信号d1仍然满足跨时钟域传送的要求。

接收端的输入电路接收第四计数信号d1,生成第五计数信号e1,输入电路的实施方式是与接收端的输出电路对应,所以第五计数信号e1与第二计数信号b1除了时钟差别外,其他均相同,第五计数信号e1经过接收端的译码器译码,生成第六计数信号f1,接收端的译码器译码方式与所述发送端的编码器解码方式对应,所以第六计数信号f1与第一计数信号a1除了时钟差别外,其他均相同,实现了二者计数信号的同步。

需要指出,在一种计数器信号同步的方法实施例一中,第一计数信号a1为发明内容中第一方面的所述第一计数信号,第二计数信号b1为发明内容中第一方面的所述第二计数信号,第一翻转信号p1为发明内容中第一方面的所述第一翻转信号,第七计数信号g1为发明内容中第一方面的所述第三计数信号。第五计数信号e1为发明内容中第二方面的第二计数信号,第五计数信号e1为发明内容中第二方面的第一计数信号。

下面基于图2b介绍一种计数器信号同步的方法实施例一的方法和优点。

图2b示出了一种计数器信号同步的方法实施例一的流程,其包括以下步骤:

s110、发送端计数器产生周期为n的第一计数信号a1。

其中,所述第一计数信号的周期n为任意大于1的正整数,可以不是2的幂次方,第一计数信号a1的计数初始值为m,m为大于1的正整数;第一计数信号递增时,计数阈值为m+n-1;第一计数信号递减时,计数阈值为m-n+1;计数初始值和计数阈值均不一定为2的幂次方,依据实际需求设置。

s120、发送端编码器对第一计数信号a1进行编码,生成周期为2n的第二计数信号b1。

示例地,所述第二计数信号b1第一种描述形式为:包含周期为2n的1bit的第一翻转信号p1和周期为2n的第七计数信号g1;每个第一翻转信号p1位于相应的第二计数信号b1的一约定bit位置,经过所述第二计数信号b1的每半个周期第一翻转信号p1翻转一次;所述第七计数信号g1的上半周为第一计数信号a1的格雷码,下半周为其上半周信号的逆序。所述编码器输出的第二计数信号b1满足跨时钟域传送的要求,且从中可提取出第一计数信号a1。

示例地,所述第二计数信号b1的第二种描述形式为:第一计数信号递增时,计数阈值m+n-1向上最接近的2幂次方为2^k,k为整数,则第二计数信号b1上半周为第一计数信号a1的格雷码的编码,即m到m+n-1的的格雷码的编码,下半周为2^(k+1)-m-n至2^(k+1)-m-1的格雷码的编码;第一计数信号递减时,计数初值向上最接近的2幂次方为2^j,j为整数,则第二计数信号b1上半周为第一计数信号a1的格雷码的编码,即m到m-n+1的的格雷码的编码,下半周为2^(j+1)-m+n-2至2^(j+1)-m-1的格雷码的编码。

无论采取什么描述方式,第二计数信号b1码结构未改变,不同描述下对应相同的第二计数信号b1都是本发明的保护范围。

本实施例对编码器的实现方式不做限制,各种满足要求的编码器均可使用。

图2c示出了一种计数器信号同步的方法实施例一的编码器编码过程中信号变化方法,以起点为0、周期为6的第一计数信号a1为例,编码后的第二计数信号b1周期翻倍了,即从6变成12,其约定bit位置为最高位,约定bit位置信号在第一翻转信号p1在第一计数信号a1每个周期结束时间点翻转,即每6个信号翻转一次。第二计数信号b1的非约定bit位置的信号为其后三位信号,组成第七计数信号g1,一个周期内前6个第二计数信号b1的第七计数信号g1分别是从0到5的格雷码的编码,后6个第二计数信号b1的第七计数信号g1分别是从5到0的格雷码的编码,从下表中可以看出相邻的第二计数信号b1只差一个比特,且可以恢复出第一计数信号a1。

继续以图2c的第二计数信号b1为例,第二计数信号b1一个周期内前6个信号为第一计数信号a1的一个周期内信号的格雷码的编码,即0到5的格雷码的编码,第一计数信号a1相关的m、n和k分别为0、6、3,则第二计数信号b1一个周期内后6个信号为10至15的格雷码的编码,即2^(3+1)-0-6至2^(3+1)-0-1的格雷码的编码。

需要强调的,针对第二计数信号b1的各种变形,依然是本发明的保护范围,如把各第二计数信号b1的任意两个比特换位,或在把各第二计数信号b1的任意位置插入1或0,或对第二计数信号b1整体编排排列顺序等,都是非本质的变化。

由上,第二计数信号b1满足跨时钟域传送的要求,而且相对于现有技术的“掐头去尾”法,现有编码方法可采用同一实现方式,实现方式简单,便于移植。

s130、发送端输出电路把第二计数信号b1向外输出,生成第三计数信号c1。

其中,第三计数信号c1是对第二计数信号b1的对外输出,在一些场景中需要匹配同步电路添加一些固定信号,不影响其编码结构,第三计数信号c1继承第二计数信号b1的编码特点,依然满足相邻的第三计数信号c1只差一个比特,且可以恢复出第一计数信号a1,满足跨时钟域传送的要求。

s140、同步电路对第三计数信号c1同步,生成第四计数信号d1,发送给接收端。

示例地,同步电路使用二级触发器,第一级触发器实现接收,第二级触发器实现发送,整个过程中未修改任何第三计数信号c1的信息,只时间上存在差别,第四计数信号d1继承第三计数信号c1的编码特点,所以第四计数信号d1满足跨时钟域传送的要求。

s150、接收端输入电路接收第四计数信号d1,生成第五计数信号e1。

其中,第五计数信号e1是第四计数信号d1的对内输入,如果在s130中为匹配同步电路进行的变换,在本步骤中采取相应的反变换,所述反变换不影响其编码结构,第五计数信号e1继承第四计数信号d1的编码特点,第五计数信号e1与第二计数信号b1只存在时间上差别,可以从中恢复第一计数信号a1。

s160、接收端译码器对第五计数信号e1进行译码,生成第六计数信号f1。

其中,接收端译码器采用与发送端对应的编码方法对应的译码方法,因为第五计数信号e1与第二计数信号b1只存在时间上差别,所以译码器输出的第六计数信号f1与第一计数信号a1只存在时间上差别,计数初始值、计数周期和计数阈值均相同,实现了发送端的计数信号同步。接收端译码器的具体实施方式本实施例不做限制。

综上,一种计数器信号同步的方法实施例一采用的编码方法,对任何计数周期和计数阈值的计数信号均可同一种编码方法,无需单独设计新的格雷码,相对于现有技术的“掐头去尾”法,本实施例的方法更加简单和便于移植。

【一种计数器信号同步的方法实施例二】

图3a示出了一种计数器信号同步的方法实施例二的系统结构,相对于所述方法实施例一的系统结构,本实施例把所述方法实施例一中发送端的编码器分成第一翻转器和格雷码编码器,把所述方法实施例一中接收端的译码器分成格雷码译码器和第二翻转器。其中,格雷码编码器和格雷码译码器都是标准格式,无需任何特殊设计。

发送端的计数器产生第一计数信号a2;发送端的第一翻转器对其进行间隔周期翻转,即每两个周期中把第二个周期的第一计数信号a2逆序排列,生成第二计数信号b2;发送端的第一翻转器还同时生成第一翻转信号p2,在第一计数信号a2的每个周期结束时对第一翻转信号p2,在第一计数信号a2的每个周期内所述第一翻转信号p2均相同;第二计数信号b2经过标准的格雷码编码器编码后,生成第三计数信号c2;第三计数信号c2和第一翻转信号p2送至发送端的输出电路,把第一翻转信号p2添加到第三计数信号的约定bit位置,生成第四计数信号d2,相邻的两个第四计数信号d2只相差一个比特,符合跨时钟域传送的要求。

第四计数信号d2经过同步电路同步后,形成第五计数信号e2,并送至接收端,同步电路的一种可能实现方式是二级触发器,通过二级触发器把第四计数信号d2变成与同步电路的时钟同步的第五计数信号e2,二者除了时钟差别外,其他均相同,所以第五计数信号e2仍然满足跨时钟域传送的要求。

接收端的输入电路从第五计数信号e2的约定bit位置和剩下位置,抽取第二翻转信号q2和第六计数信号f2,第二翻转信号q2与第一翻转信号p2除了时间上有差别,其他均相同,第六计数信号f2与第三计数信号c2除了时间上有差别,其他均相同,实现二者同步;第六计数信号f2经过接收端的标准的格雷码译码器译码后,生成第七计数信号g2,其中,第六计数信号f2上半周的最后一个信号与下半周的第一信号相同,利用第二翻转信号q2为界区分二者;接收端的第二翻转器保留第七计数信号g2的上半周的信号,对其下半周的信号进行翻转,即逆序排列,生成第八计数信号h2,其中,第七计数信号g2上半周的最后一个信号与下半周的第一信号相同,利用第二翻转信号q2为界区分二者。

第八计数信号h2与第一计数信号a1除了时钟差别外,其他均相同,实现了二者计数信号的同步。

需要指出,在一种计数器信号同步的方法实施例二中,第一计数信号a2为发明内容中第一方面的所述第一计数信号,第二计数信号b2为发明内容中第一方面的所述第四计数信号,第一翻转信号p2为发明内容中第一方面的所述第一翻转信号,第三计数信号c2为发明内容中第一方面的所述第三计数信号,第四计数信号d2为发明内容中第一方面的所述第二计数信号。第五计数信号e2为发明内容中第二方面的第二计数信号,第六计数信号f2为发明内容中第二方面的第三计数信号,第一翻转信号q2为发明内容中第二方面的所述第一翻转信号,第七计数信号g2为发明内容中第二方面的第四计数信号,第八计数信号h2为发明内容中第二方面的第一计数信号。

一种计数器信号同步的方法实施例二对一种计数器信号同步的方法实施例一的优化,对每两个周期中第二周期的计数器输出的信号进行翻转,然后利用标准的格雷码编码产生满足跨时钟域要求的计数信号。一种计数器信号同步的方法实施例二具有一种计数器信号同步的方法实施例一的一切优点,下面基于图3b介绍一种计数器信号同步的方法实施例二的不同地方和其带来的优点。

图3b示出了一种计数器信号同步的方法实施例二的流程,其包括以下步骤:

s210、发送端计数器产生周期为n的第一计数信号a2。

其中,本步骤的方法和优点同一种计数器信号同步的方法实施例一的步骤110,这里不再详述。

s220、发送端通过第一计数信号a2间隔周期翻转、编码和输出变化后生成周期为2n的第四计数信号d2。

其中,第四计数信号d2的变化。可以看出相邻的第四计数信号d2只差一个比特,满足跨时钟域传送的要求,且可以恢复出第一计数信号a2。

s230、同步电路对第四计数信号d2同步,生成第五计数信号e2,发送给接收端。

其中,本步骤的方法和优点同一种计数器信号同步的方法实施例一的步骤140,这里不再详述。

s240、接收端接收第五计数信号e2,经过抽取编码数据、译码和翻转后,生成周期为n的第八计数信号h2。

其中,第八计数信号h2与第一计数信号a2只存在时间上差别,实现二者跨时钟域的同步。

图3c示出了一种计数器信号同步的方法实施例二的编码方法的流程,其包括以下子步骤:

s2210、发送端的第一翻转器保留每两个周期第一计数信号a2中第一个周期的信号,把第二个周期信号逆序排列,生成周期为2n的第二计数信号b2。

示例地,本步骤选择对所述第二个周期的第一计数信号a2进行逆序排列,也可以对所述第一个周期的第一计数信号a2进行逆序排列。

s2220、发送端的第一翻转器生成周期为2n的第一翻转信号p2。

其中,在第一计数信号a2的每个周期结束时翻转第一翻转信号p2。在第一计数信号a2的每个周期内所述第一翻转信号p2均相同,可以是0或1。

示例地,在后面描述中,在所述第一个周期的第一翻转信号p2是0,在所述第二个周期的第一翻转信号p2是1。

其中,s2210和s2210同步进行,没有时间上先后区分。

s2230、第二计数信号b2经过发送端的格雷码编码器编码后,生成第三基数信号c2。

其中,第三基数信号c2与第一翻转信号p2组成第三计数信号cp2,相邻的两个第三计数信号cp2只相差一个bit,其符合跨时钟域传送的要求。

由上,本步骤使用标准的格雷码进行编码,实现简单,易于移植。

s2240、发送端的输出电路把第一翻转信号p2添加到第三计数信号c2的约定bit位置,生成第四计数信号d2。

其中,基于同步电路的需求,输出电路还可以插入其他固定的信号。

其中,还可以不使用输出电路,直接把第一翻转信号p2和第三计数信号c2一起送至同步电路。

其中,相邻的两个第四计数信号d2只相差一个bit,符合跨时钟域传送的要求。

图3d示出了一种计数器信号同步的方法实施例二的编码过程中的信号变化方法,继续以起点为0周期为6的第一计数信号a2为例,参照图3d,说明从s2210到s2230过程中的从第一计数信号a2到第四计数信号d2的变化。可以看出相邻的第四计数信号d2只差一个比特,满足跨时钟域传送的要求,且可以恢复出第一计数信号a2。

图3e示出了一种计数器信号同步的方法实施例二的译码方法的流程,其包括以下子步骤:

s2410、接收端的输入电路基于第五计数信号e2从所述约定的位置抽取第二翻转信号q2。

其中,所述约定的位置是与发送端的输出电路的约定。

其中,如果发送端未使用输出电路,接收端也可以不是用输入电路,同步电路对第一翻转信号p2直接同步,生成第二翻转信号q2。

s2420、接收端的输入电路基于第五计数信号e2从非所述约定的位置抽取周期为2n的第六计数信号f2。

其中,第六计数信号f2与第三计数信号c2除了时间上差别,其他均相同。

s2430、接收端的格雷码译码器对第六计数信号f2进行译码,生成周期为2n的第七计数信号。

其中,第七计数信号g2与第二计数信号b2除了时间上差别,其他均相同。

其中,本步骤使用标准的格雷码译码器。

s2440、接收端的第二翻转器保留第七计数信号g2上半周的信号,及对其下半周的信号进行逆序排列,从而生成周期为n的第八计数信号h2。

其中,第八计数信号h2与第一计数信号a2除了时间上差别,其他均相同,因此,第八计数信号h2为恢复的第一计数信号a2,实现接收端与发送端的计数信号的同步。

图3f示出了一种计数器信号同步的方法实施例二的译码过程中的信号变化方法,继续以起点为0周期为6的第一计数信号a2为例,经过发送端和同步电路变换后生成的第五计数信号e2,参照图3f,说明从s2410到s2440过程中的从第五计数信号e2到第八计数信号h2的变化。可以看出最终输出的第八计数信号h2与第一计数信号a2同步。

综上,一种计数器信号同步的方法实施例二采用标准的格雷码的编译和码方法,对于任何计数周期和计数阈值的计数信号进行同步,本实施例的方法更加简单和便于移植。

下面基于图4a至图4d介绍本发明的一种计数器信号同步的装置实施例。

【一种计数器信号同步的装置实施例一】

图4a示出了一种计数器信号同步的装置实施例的结构,其包括以下模块:

计数信号生成模块310、用于发送端计数器产生周期为n的第一计数信号a1。其原理和优点请参考一种计数器信号同步的方法实施例一的步骤s110。

计数信号编码模块320、用于发送端编码器对第一计数信号a1进行编码,生成周期为2n的第二计数信号b1。其原理和优点请参考一种计数器信号同步的方法实施例一的步骤s120。

计数信号输出模块330、用于发送端输出电路对第二计数信号b1进行简单变化,输出第三计数信号c1。其原理和优点请参考一种计数器信号同步的方法实施例一的步骤s130。

计数信号传播模块340、用于同步电路对第三计数信号c1同步,生成第四计数信号d1,发送给接收端。其原理和优点请参考一种计数器信号同步的方法实施例一的步骤s140。

计数信号接收模块350、用于接收端输入电路接收第四计数信号d1,实现与发送端输出电路约定的变换,生成第五计数信号e1。其原理和优点请参考一种计数器信号同步的方法实施例一的步骤s150。

计数信号译码模块360、用于接收端译码器对第五计数信号e1进行译码,生成第六计数信号f1。其原理和优点请参考一种计数器信号同步的方法实施例一的步骤s160。

综上,一种计数器信号同步的装置实施例一采用的编码方法,对任何计数周期和计数阈值的计数信号均可同一种编码方法,无需单独设计新的格雷码,相对于现有技术的“掐头去尾”法,本实施例的装置更加简单和便于移植。

【一种计数器信号同步的装置实施例二】

图4b示出了一种计数器信号同步的装置实施例的结构,其包括以下模块:

计数信号生成模块410、用于发送端计数器产生周期为n的第一计数信号a2。其原理和优点请参考一种计数器信号同步的方法实施例二的步骤s210。

计数信号编码模块420、用于发送端通过第一计数信号a2间隔周期翻转、编码和输出变化后生成周期为2n的第四计数信号d2。其结构请参考一种计数器信号同步的装置实施例二的计数信号编码模块,其原理和优点请参考一种计数器信号同步的方法实施例二的步骤s220。

计数信号传播模块430、用于其原理和优点请参考一种计数器信号同步的方法实施例二的步骤s220。

计数信号译码模块440、用于其结构请参考一种计数器信号同步的装置实施例二的计数信号译码模块,其原理和优点请参考一种计数器信号同步的方法实施例二的步骤s240。

图4c示出了一种计数器信号同步的装置实施例二的计数信号编码模块的结构,其包括以下子模块:

第一翻转模块4210、用于发送端的第一翻转器保留每两个周期第一计数信号a2中第一个周期的信号,把第二个周期信号逆序排列,生成周期为2n的第二计数信号b2。其原理和优点请参考一种计数器信号同步的方法实施例二的编码方法的步骤s2210。

翻转信号获取模块4220、用于发送端的第一翻转器生成周期为2n的第一翻转信号p2。其原理和优点请参考一种计数器信号同步的方法实施例二的编码方法的步骤s2220。

信号编码模块4230、用于第二计数信号b2经过发送端的标准格雷码的编码后,生成第三基数信号c2。其原理和优点请参考一种计数器信号同步的方法实施例二的编码方法的步骤s2230。

信号组合模块4240、用于发送端的输出电路把第一翻转信号p2添加到第三计数信号c2的约定bit位置,生成第四计数信号d2。其原理和优点请参考一种计数器信号同步的方法实施例二的编码方法的步骤s2240。

图4d示出了一种计数器信号同步的装置实施例二的计数信号译码模块的结构,其包括以下子模块:

翻转信号抽取模块4410、用于接收端的输入电路基于第五计数信号e2从所述约定的位置抽取第二翻转信号q2。其原理和优点请参考一种计数器信号同步的方法实施例二的译码方法的步骤s2410。

计数信号抽取模块4420、用于接收端的输入电路基于第五计数信号e2从非所述约定的位置抽取周期为2n的第六计数信号f2。其原理和优点请参考一种计数器信号同步的方法实施例二的译码方法的步骤s2420。

信号译码模块4430、用于接收端的标准格雷码的译码器对第六计数信号f2进行译码,生成周期为2n的第七计数信号。其原理和优点请参考一种计数器信号同步的方法实施例二的译码方法的步骤s2430。

信号恢复模块4440、用于接收端的第二翻转器保留第七计数信号g2上半周的信号,及对其下半周的信号进行逆序排列,从而生成周期为n的第八计数信号h2。其原理和优点请参考一种计数器信号同步的方法实施例二的译码方法的步骤s2440。

综上,一种计数器信号同步的装实施例二采用标准的格雷码的编码器和译码器,对于任何计数周期和计数阈值的计数信号进行同步,本装置实施例的装置实现更加简单和便于移植。

【计算设备】

本发明还提供的一种计算设备,下面图5详细介绍。

该计算设备500包括,处理器510、存储器520、通信接口530、总线540。

应理解,该图所示的计算设备500中的通信接口530可以用于与其他设备之间进行通信。

其中,该处理器510可以与存储器520连接。该存储器520可以用于存储该程序代码和数据。因此,该存储器520可以是处理器510内部的存储单元,也可以是与处理器510独立的外部存储单元,还可以是包括处理器510内部的存储单元和与处理器510独立的外部存储单元的部件。

可选的,计算设备500还可以包括总线540。其中,存储器520、通信接口530可以通过总线540与处理器510连接。总线540可以是外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(efstendedindustrystandardarchitecture,eisa)总线等。所述总线540可以分为地址总线、数据总线、控制总线等。为便于表示,该图中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。

应理解,在本发明实施例中,该处理器510可以采用中央处理单元(centralproce同步ingunit,cpu)。该处理器还可以是其它通用处理器、数字信号处理器(digitalsignalproce同步or,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(fieldprogrammablegatearray,fpga)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。或者该处理器510采用一个或多个集成电路,用于执行相关程序,以实现本发明实施例所提供的技术方案。

该存储器520可以包括只读存储器和随机存取存储器,并向处理器510提供指令和数据。处理器510的一部分还可以包括非易失性随机存取存储器。例如,处理器510还可以存储设备类型的信息。

在计算设备500运行时,所述处理器510执行所述存储器520中的计算机执行指令执行各方法实施例的操作步骤。

应理解,根据本发明实施例的计算设备500可以对应于执行根据本发明各实施例的方法中的相应主体,并且计算设备500中的各个模块的上述和其它操作和/或功能分别为了实现本实施例各方法的相应流程,为了简洁,在此不再赘述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本发明所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括,u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomacce同步memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

【计算介质】

本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时用于执行各方法实施例的操作步骤。

本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是,但不限于,电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括,具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括、但不限于无线、电线、光缆、rf等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,均属于本发明保护范畴。

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