CN1787370A - 一种确定时钟域转换异常的装置及方法 - Google Patents
一种确定时钟域转换异常的装置及方法 Download PDFInfo
- Publication number
- CN1787370A CN1787370A CN 200410098542 CN200410098542A CN1787370A CN 1787370 A CN1787370 A CN 1787370A CN 200410098542 CN200410098542 CN 200410098542 CN 200410098542 A CN200410098542 A CN 200410098542A CN 1787370 A CN1787370 A CN 1787370A
- Authority
- CN
- China
- Prior art keywords
- write address
- address
- conversion
- difference
- read
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Synchronisation In Digital Transmission Systems (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种确定时钟域转换异常的装置,包括写地址变换模块和读写地址变换比较模块,写地址变换模块用于将异步信号所处时钟域的写地址转换为格雷码,读写地址变换比较模块用于在主时钟域将读、写地址转换为同一种码制后计算它们的差值,将该差值与预设值比较,通过比较结果判断时钟域转换是否异常。本发明同时公开了一种确定时钟域转换异常的方法,在异步信号所处时钟域将写地址由二进制转换为格雷码,然后在主时钟域将读、写地址变换为同一种码制后计算读、写地址的差值,将该差值与预设值比较后即可判断时钟域转换是否异常。本发明提供的装置和方法保证了主时钟域对写地址的较稳定采集,实现了对时钟域转换异常的及时发现。
Description
技术领域
本发明涉及数据传输领域,具体涉及一种确定时钟域转换异常的装置及方法。
背景技术
目前,为满足人们不断增长的各种需求,现代信息电子设备中使用多种数字芯片搭建起数字电路系统来处理各种信息流、数据流。来自不同数字芯片的的数据流有可能是属于不同时钟域的异步信号。如果需要处理的数据没有同步到一个时钟域,数据同主时钟间的时序关系就不能够满足要求的建立时间和保持时间,这样,在处理时就不能稳定正确地识别和使用数据,导致整个数字电路系统出现许多不稳定状况,甚至不能正常工作。所以,对数据进行时钟域转换,将各个时钟域的异步信号转为同步信号后,再由统一的时钟信号驱动来进行信号分析和处理成为现代数字信号处理系统中的关键问题。
现在,通常使用随机存储器(RAM,Random Access Memory)或先进先出存储器(FIFO,First In First Out)来完成时钟域转换的处理。图1是时钟域转换的示意图,图中的时钟域转换模块实际上就是一个RAM模块或FIFO模块,该模块用于存储时钟域1,即异步信号所处的时钟域写入的数据。现有技术实现时钟域转换的过程如下:
首先,在时钟信号1的驱动下产生初始写地址和写使能等控制信号将数据写入RAM的一个端口。每写入一次数据,写地址增加一固定值。
其次,在RAM的另一个端口,利用主时钟域的时钟信号驱动产生初始读地址和读使能等控制信号读出写入的数据。每读出一次数据,读地址增加一固定值,且读地址每次增加值的大小与写地址每次增加值的大小相同。
这样就完成了时钟域转换,然后就可以在主时钟域对数据进行统一处理。在实际应用中,可以用同样的方式将多个不同时钟域的信号转换到主时钟域内进行统一处理。
在时钟域的转换过程中,由于外界干扰、时钟信号丢失或者异步漂移等原因会引起数据的丢失和遗漏,从而导致电路异常,电路异常会导致整个系统的不稳定,因此当电路异常时及时发现并找到异常原因,以便根据系统要求采取纠正措施使得电路重新正常,有着极为重要的意义。
由上述时钟域转换的过程可以看出,在写、读正常的情况下,每一次写、读完成后,读地址和写地址的差应该保持在同一个值上。因此,可以通过在主时钟域采集写地址,然后观察读、写地址的差值是否保持恒定来判断电路是否正常工作。但是,由于写地址变化过程中过渡带的存在使得该方法的准确性不能得到保证,具体原因如下:由于写地址属于二进制,当写地址发生变化时,写地址的每个比特都有可能改变,以4比特的写地址信号为例,当地址从“7”变换到“8”时,二进制信号是从“0111”变化到“1000”,此时4个比特都要发生改变,由于各个比特变化的时间可能不完全一致,在主时钟域就有可能采集到写地址的过渡带“0111”、“0110”、“0101”、“0011”、“1011”、“1110”等信号。这样,在主时钟域无法保证采集到正确的写地址,因此也就无法准确判断电路是否正常工作,当然也就无法查看异常原因并采取解决措施。
发明内容
有鉴于此,本发明的主要目的在于提供一种确定时钟域转换异常的装置和方法,以检测时钟域转换是否异常。为达到上述目的,本发明的技术方案是这样实现的:
一种确定时钟域转换异常的装置,包括:
写地址变换模块,用于在异步信号所处时钟域将采集到的时钟域转换模块的写地址的码制转换为格雷码,并将转换后的写地址输出到读写地址变换比较模块;
读写地址变换比较模块,用于在主时钟域,将采集到时钟域转换模块的读地址和接收到的写地址转换为同一种码制后计算它们的差值,并将得到的差值与预设值比较,根据比较结果,确定时钟域转换是否异常。
所述读写地址变换比较模块包括,
读地址变换模块,用于将采集到的时钟域转换模块的读地址的码制转换为格雷码,并将转换后的读地址输出到读写地址比较模块;
读写地址比较模块,用于接收写地址变换模块输出的写地址,计算读、写地址的差值,并将该差值与预设值比较。
所述读写地址变换比较模块包括,
写地址反变换模块,用于将接收到的写地址变换模块输出的写地址由格雷码转换为与读地址相同的码制,并将转换后的写地址输出到读写地址比较模块;
读写地址比较模块,用于计算采集到的时钟域转换模块的读地址和接收到的写地址的差值,并将该差值与预设值比较。
一种确定时钟域转换异常的方法,该方法包括,
A、在异步信号所处时钟域将写地址的码制转换为格雷码;
B、在主时钟域将读地址和转换后的写地址转换为同一种码制后计算它们的差值,若得到的差值与预设值相同,则判定当前时钟域转换正常,否则,判定当前时钟域转换异常。
所述将读地址和转换后的写地址转换为同一种码制为将读地址转换为格雷码。
所述将读地址和转换后的写地址转换为同一种码制为将转换后的写地址由格雷码转换为与读地址相同的码制。
所述在判定当前时钟域转换异常之后进一步包括,将此异常状况上报给系统,系统由此结果查看异常原因并作出处理或者直接调整当前的读地址,使得读地址与写地址的差值等于预设值。
所述步骤A之前进一步包括,将异步信号所处时钟域上电时的写地址转换为格雷码,在主时钟域将上电时的读地址和转换后的上电时的写地址转换为同一种码制后,计算它们的差值,该差值即为初始差值,该初始差值或初始差值加上1为步骤B所述预设值。
所述步骤A之前进一步包括,将异步信号所处时钟域上电时的写地址转换为格雷码,在主时钟域将上电时的读地址和转换后的上电时的写地址转换为同一种码制后,计算它们的差值,该差值即为初始差值,该初始差值或初始差值减去1为步骤B所述预设值。
与现有技术相比,本发明通过在异步信号所处时钟域将写地址由二进制转换为格雷码,减少了过渡带对主时钟域采集写地址准确性的影响,保证了主时钟域对写地址的较稳定采集,然后通过在主时钟域将读、写地址转换为同一种码制后计算它们的差值,并将此差值与预设值相比较,实现了对时钟域转换电路工作是否异常的及时判断。另外,由于主时钟域对写地址的较稳定采集,使得时钟域转换电路发生异常后可定位到一个比较确定的状态,系统可根据此状态查找异常原因,并作出相应处理后使得时钟域转换重新正常。
附图说明
图1为时钟域转换示意图;
图2为本发明具体实施例中提供的装置示意图;
图3为本发明读写地址变换比较模块的组成结构一;
图4为本发明读写地址变换比较模块的组成结构二;
图5为本发明确定时钟域转换异常的具体实施例一的流程图。
具体实施方式
下面结合附图及具体实施例对本发明再作进一步详细的说明。
图2是本发明具体实施例中提供的装置示意图,如图2所示,图中的异常判断模块即为本发明装置,该模块包括:
写地址变换模块21:用于在时钟域1将采集到的时钟域转换模块的写地址由二进制转换为格雷码,并将转换后的写地址输出到读写地址变换比较模块22。
格雷码的特点是:每一次数值增加或减少时,只有一个比特发生改变。因此,将写地址由二进制转换为格雷码后,在主时钟域就不会采集到写地址的过渡带。
读写地址变换比较模块22:用于在主时钟域接收转换后的写地址和采集时钟域转换模块的读地址,并将读、写地址转换为同一种码制后,计算其差值,若得到的差值与预设值相同,则判定当前时钟域转换正常;否则,判定当前时钟域转换异常。
图3是本发明读写地址变换比较模块的组成结构一,如图3所示,读写地址变换比较模块包括:
读地址变换模块:用于将采集到的时钟域转换模块的读地址由二进制转换为格雷码,并将转换后的读地址输出到读写地址比较模块。
读写地址比较模块:用于接收转换后的写地址和读地址,计算读、写地址的差值,并将得到的差值与预设值比较。
图4是本发明读写地址变换比较模块的组成结构二,如图4所示,读写地址变换比较模块包括:
写地址反变换模块:用于将写地址变换模块输出的写地址由格雷码转换为二进制,并将转换后的写地址输出到读写地址比较模块。
读写地址比较模块:用于采集时钟域转换模块的读地址,计算读、写地址的差值,并将得到的差值与预设值比较。
以下是本发明确定时钟域转换异常的两个具体实施例的详细描述。
具体实施例一:
图5是本发明确定时钟域转换异常的具体实施例一的流程图。如图5所示,步骤如下:
步骤501:写地址变换模块将时钟域1上电时的二进制写地址转换为格雷码后输出到读写地址比较模块。
步骤502:读地址变换模块将主时钟域上电时的二进制读地址转换为格雷码后输出到读写地址比较模块。
步骤503:读写地址比较模块计算读地址与写地址的差值,并保存该初始差值。
计算初始差值是为了得到后续步骤507用到的预设值。
步骤504:在时钟域1,写地址变换模块将采集到的写地址由二进制转换为格雷码,并将转换后的写地址输出到读写地址比较模块。
步骤505:在主时钟域,读地址变换模块将采集到的读地址由二进制转换为格雷码,将转换后的读地址输出到读写地址比较模块。
步骤506:读写地址比较模块计算读、写地址的差值。
步骤507:读写地址比较模块判断得到的差值是否与预设值相同,若是,执行步骤508;否则,执行步骤509。
将写地址由二进制转化为格雷码后,当写地址变化时,没有过渡带的存在,但是在主时钟域采集写地址时仍有可能采集到变化前和变化后的写地址,例如:对于地址“2”,有可能采集到“1”、“2”和“3”,所以预设值有两组设定方式,一组是初始差值或初始差值加上1,即读、写地址的差值等于初始差值或者等于初始差值加上1,就保持当前的读、写状态不变;另一组是初始差值减去1或初始差值,即读、写地址的差值等于初始差值减去1或者等于初始差值,就保持当前的读、写状态不变。
步骤508:判定当前电路工作正常,保持当前的读、写状态。
步骤509:判定当前电路工作异常,读写地址变换比较模块将此异常状况上报给系统,系统由此结果查看异常原因并作出相应处理或者直接调整读地址,使其与写地址的差值与预设值相同。
在具体应用中,若系统具有较强的容错能力,当发现电路异常后,系统也有可能不作任何处理。
具体实施例二:
该实施例的实现步骤与具体实施例一的差别是:
步骤501改为:写地址变换模块将采集到的时钟域1上电时的二进制写地址转换为格雷码后输出到写地址反变换模块。
步骤502改为:在主时钟域写地址反变换模块将接收到的写地址由格雷码转换为二进制后输出到读写地址比较模块。
步骤504改为:在时钟域1,写地址变换模块将采集到的写地址由二进制转换为格雷码,并将转换后的写地址输出到写地址反变换模块。
步骤505改为:在主时钟域,写地址反变换模块将接收到的写地址由格雷码转换为二进制,并将转换后的写地址输出到读写地址比较模块。
需要指出的是,本发明尤其适用于某些需要固定时钟域转换的处理时延的系统,当时钟域转换正常时,处理时延是固定不变的,当时钟域转换异常时,处理时延会发生改变,本发明在电路异常时可通过纠正读地址使电路重新正常,从而使得处理时延重新稳定。
另外,本发明可及时抑制常见的异步漂移。异步漂移是引起时钟域转换的主要原因,所谓异步漂移是指由于时钟域转换电路两端的数字电路属于不同的时钟域,两个时钟源即时钟信号1和主时钟信号也是不同步的,它们的定时关系存在着随机误差,随机误差长时间累积使得处理时延产生很大的变化,导致数据的丢失和遗漏,相比于外部信号干扰或者时钟信号丢失引起的电路异常,异步漂移具有难检测和难消除的特点,由于过渡带的存在,更增加了对异步漂移的检测难度。本发明方法在发现时钟域异常时可及时纠正,避免了异步漂移的累积。
以上所述仅为本发明的过程及方法的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1、一种确定时钟域转换异常的装置,其特征在于包括:
写地址变换模块,用于在异步信号所处时钟域将采集到的时钟域转换模块的写地址的码制转换为格雷码,并将转换后的写地址输出到读写地址变换比较模块;
读写地址变换比较模块,用于在主时钟域,将采集到时钟域转换模块的读地址和接收到的写地址转换为同一种码制后计算它们的差值,并将得到的差值与预设值比较,根据比较结果,确定时钟域转换是否异常。
2、如权利要求1所述的装置,其特征在于,所述读写地址变换比较模块包括,
读地址变换模块,用于将采集到的时钟域转换模块的读地址的码制转换为格雷码,并将转换后的读地址输出到读写地址比较模块;
读写地址比较模块,用于接收写地址变换模块输出的写地址,计算读、写地址的差值,并将该差值与预设值比较。
3、如权利要求1所述的装置,其特征在于,所述读写地址变换比较模块包括,
写地址反变换模块,用于将接收到的写地址变换模块输出的写地址由格雷码转换为与读地址相同的码制,并将转换后的写地址输出到读写地址比较模块;
读写地址比较模块,用于计算采集到的时钟域转换模块的读地址和接收到的写地址的差值,并将该差值与预设值比较。
4、一种确定时钟域转换异常的方法,其特征在于,该方法包括,
A、在异步信号所处时钟域将写地址的码制转换为格雷码;
B、在主时钟域将读地址和转换后的写地址转换为同一种码制后计算它们的差值,若得到的差值与预设值相同,则判定当前时钟域转换正常,否则,判定当前时钟域转换异常。
5、如权利要求4所述的方法,其特征在于,所述将读地址和转换后的写地址转换为同一种码制为将读地址转换为格雷码。
6、如权利要求4所述的方法,其特征在于,所述将读地址和转换后的写地址转换为同一种码制为将转换后的写地址由格雷码转换为与读地址相同的码制。
7、如权利要求4所述的方法,其特征在于,所述在判定当前时钟域转换异常之后进一步包括,将此异常状况上报给系统,系统由此结果查看异常原因并作出处理或者直接调整当前的读地址,使得读地址与写地址的差值等于预设值。
8、如权利要求4所述的方法,其特征在于,所述步骤A之前进一步包括,将异步信号所处时钟域上电时的写地址转换为格雷码,在主时钟域将上电时的读地址和转换后的上电时的写地址转换为同一种码制后,计算它们的差值,该差值即为初始差值,该初始差值或初始差值加上1为步骤B所述预设值。
9、如权利要求4所述的方法,其特征在于,所述步骤A之前进一步包括,将异步信号所处时钟域上电时的写地址转换为格雷码,在主时钟域将上电时的读地址和转换后的上电时的写地址转换为同一种码制后,计算它们的差值,该差值即为初始差值,该初始差值或初始差值减去1为步骤B所述预设值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100985423A CN100492908C (zh) | 2004-12-09 | 2004-12-09 | 一种确定时钟域转换异常的装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100985423A CN100492908C (zh) | 2004-12-09 | 2004-12-09 | 一种确定时钟域转换异常的装置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1787370A true CN1787370A (zh) | 2006-06-14 |
CN100492908C CN100492908C (zh) | 2009-05-27 |
Family
ID=36784716
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004100985423A Expired - Fee Related CN100492908C (zh) | 2004-12-09 | 2004-12-09 | 一种确定时钟域转换异常的装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100492908C (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101299204B (zh) * | 2008-06-10 | 2010-06-02 | 北京天碁科技有限公司 | 一种异步fifo及其地址转换方法 |
CN101145117B (zh) * | 2007-10-30 | 2010-10-13 | 华为技术有限公司 | 检错处理方法及装置 |
CN102222048A (zh) * | 2011-06-02 | 2011-10-19 | 中国兵器工业集团第二一四研究所苏州研发中心 | 基于二级流水线adc的动态参数采集与存储的方法 |
-
2004
- 2004-12-09 CN CNB2004100985423A patent/CN100492908C/zh not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101145117B (zh) * | 2007-10-30 | 2010-10-13 | 华为技术有限公司 | 检错处理方法及装置 |
CN101299204B (zh) * | 2008-06-10 | 2010-06-02 | 北京天碁科技有限公司 | 一种异步fifo及其地址转换方法 |
CN102222048A (zh) * | 2011-06-02 | 2011-10-19 | 中国兵器工业集团第二一四研究所苏州研发中心 | 基于二级流水线adc的动态参数采集与存储的方法 |
CN102222048B (zh) * | 2011-06-02 | 2013-04-17 | 中国兵器工业集团第二一四研究所苏州研发中心 | 基于二级流水线adc的动态参数采集与存储的装置 |
Also Published As
Publication number | Publication date |
---|---|
CN100492908C (zh) | 2009-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1916933A (zh) | 视频直读式自动抄表系统及其图像处理方法 | |
CN102023808A (zh) | 多通道同步数据采集卡 | |
CN1604493A (zh) | 带有串行ata接口的电子设备及信号幅度自动调整方法 | |
EP2985699A1 (en) | Memory access method and memory system | |
CN1928576A (zh) | 芯片测试系统和芯片测试方法 | |
CN1836414A (zh) | 多条串行字节线的自动重新对齐 | |
CN1551237A (zh) | 具有先进的数据选通脉冲电路的半导体内存装置 | |
CN112052010B (zh) | 一种icd字节序自动转换方法 | |
CN1487528A (zh) | 数据输出电路和数据输出方法 | |
CN1522496A (zh) | 处理磁泡的模拟变量位转换器校准 | |
CN1787370A (zh) | 一种确定时钟域转换异常的装置及方法 | |
CN1066591C (zh) | 半导体电路和半导体器件 | |
CN101034373A (zh) | 一种外部存储器控制器及基于外部存储器控制器的地址变换的方法 | |
CN1283060C (zh) | 基于时钟信号的数据接收方法及其装置 | |
CN1133174C (zh) | 半导体存储器件及老化检测的方法 | |
CN115765743A (zh) | 基于zynq的多通道adc同步采集的装置及方法 | |
CN1315018C (zh) | 时钟脉冲切换系统及其时钟脉冲切换方法 | |
CN100341297C (zh) | 总线交换方法以及总线交换器 | |
CN1858853A (zh) | 异步时钟域转换时地址调整的系统及其方法 | |
US6799250B2 (en) | Cache control device | |
CN1355631A (zh) | 帧定位查找及码流转换电路和方法 | |
CN111988310B (zh) | 基于iec61850协议的数据获取方法及装置 | |
CN215416357U (zh) | 一种基于微控制器的多路编码器控制系统 | |
CN2831617Y (zh) | 一种数字锁相环装置 | |
CN1200330C (zh) | 可降低同时切换输出效应的输出电路及其控制方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090527 Termination date: 20191209 |
|
CF01 | Termination of patent right due to non-payment of annual fee |