用于时钟信号丢失检测的装置和方法_3

文档序号:9581368阅读:来源:国知局
047]图9是表示图4或图7中组合逻辑另一实施例的电路图。组合逻辑90进一步包括第二异或门X0R2、与非门NAND、第四或门0R4和第五与门AND5。组合逻辑90的第二端口(被配置为接收信号cnt2_clr)包括第二异或门X0R2的第一端口。组合逻辑90的第一端口(配置为接收信号cntl_clr)包括第二异或门X0R2的第二端口。第二异或门X0R2的第二端口还连接至与非门NAND的第一端口。第二异或门X0R2的输出端连接至第四或门0R4的第一端口和与非门NAND的第二端口。第四或门0R4的第二端口连接至第五D触发器D5的Q端。第四或门0R4和与非门NAND的输出都连接至第五与门AND5。且第五与门AND5的输出连接至第五D触发器D5的Q端。组合逻辑90的输出包括第五与门AND5的输出。例如,当cntl_clr是逻辑低(0),且cnt2_clr是逻辑高(1),XOR2输出逻辑高(1),且与非门NAND输出逻辑低(1),且第五与门AND5输出逻辑高(1)。当cntl_clr是逻辑高(1),且cnt2_clr是逻辑低(0),XOR2输出逻辑高(1),且与非门NAND输出逻辑低(0),且第五与门AND5输出逻辑低(0)。与图4相似,尽管未在图9中显示,第五触发器D5的时钟端连接至监控时钟信号mck。
[0048]图10是检测时钟信号丢失的方法的实施例的流程图。方法100可运行在例如图1显示的装置10中。方法100包括分别通过第一计数器和第二计数器交替地对监控时钟信号的周期个数进行计数(块1000);通过控制单元基于输入时钟产生(块1010)分别启用或禁止第一计数器和第二计数器的第一计数器使能信号和第二计数器使能信号,其中第一计数器使能信号和第二计数器使能信号相反;且如果通过第一计数器和第二计数器之一对监控时钟信号计数的周期个数超过预设阈值,通过比较单元检测到(块1020)输入时钟的丢失错误。
[0049]图11是检测时钟信号丢失的方法的另一实施例的流程图。注意到所有在括号内的数字表示第二实施例。因此,在第一实施例中,所有在括号内的数字应该被忽略,而当在第二实施例中,应只考虑在括号内的数字且在括号之前的数字不应被考虑。例如cntl(2)_en表示第一计数器使能信号cntl_en或第二计数器使能信号cnt2_en。
[0050]参见图11,考虑括号内的数字应被忽略的情形。首先考虑监控时钟信号mck域。在块1100中,初始地,cntl_en从逻辑0变为逻辑1且cntl在计数,而cnt2_en从逻辑1变为逻辑0且cnt2复位。换句话说,CNT1工作,且cntl_en从逻辑0变为逻辑1,且CNT2不工作。
[0051]接着在块1110中,该方法检测CNT1是否达到最大值或cntl_clr = 1。
[0052]具体而言,如果CNT1达到最大值,该方法转至块1140和1150,在块1150中检测到号丢失。
[0053]如果cntl_clr = 1 (在图12中的时间b),那么该方法前进至块1120。在块1120中,cntl_en从逻辑1变为逻辑0且cntl复位(图12中时间c) ;cnt2_en从逻辑0至逻辑1且cnt2开始计数。接着在块1130中,该方法检测CNT1是否达到最大值或cntl_clr =
Ιο
[0054]如果在块1110中,CNT1没有达到最大值且cntl_clr不等于1,那么该方法返回至块 1100。
[0055]如果在块1130的判断中,CNT1达到最大值,该方法转向块1140、1150和1100,在块1150中检测到信号丢失,且在块1100中第一计数器CNT1和第二计数器CNT2持续地交替计数。
[0056]如果在块1130的判断中,cnt2_clr = 1 (图12中的时间B),那么该方法前进至块1100, cntl_en从逻辑0变为逻辑1且cntl计数(图12中的时间D) ;cnt2_en从逻辑1变为逻辑0且cnt2复位(图12中的时间C)。
[0057]如果CNT1没有达到最大值且cntl_clr不等于1,那么该方法返回至块1120。
[0058]接着考虑in_ck域,在块1160中,D1和D3在工作,而D3和D4复位,因此产生cntl_clr信号且被传送至在mck域中的块1110。
[0059]接着块1170判断cntl_en是否从逻辑1变为逻辑0。
[0060]如果是,该方法前进至块1180,其中Dl和D3复位,D2和D4工作。同时产生cnt2_clr信号并送至mck域中的块1130。接着该方法前进至块1190,且块1190确定cntl_en是否从逻辑I变为逻辑O。如果块1190确认为是,该方法返回至块1160。如果块1190判断为否,该方法返回至块1180。
[0061]如果1170判断为否,该方法返回至块1160。
[0062]同时注意到块1120同样产生cntl_en信号且该信号送至块1170。块1100产生cntl_en信号且该信号送至块1190。注意到横跨不同域的块的编号并不意味着特定的顺序。例如在mck域的块1100和在in_ck域中的块1160并不一定如所述的顺序那样执行。块1100和块1160可按照不同顺序实施。注意到上述方法对于在括号内的信号同样适用。
[0063]图12是表示输入时钟in_ck、监控时钟信号mck、两个计数器使能信号cntl_en和cnt2_en和两计数器信号cntl和cnt2的时序图。注意到计数器信号cntl和cnt2是第一计数器CNTl和第二计数器CNT2各自的输出。图12同样显示了第一计数器CNTl复位信号cntl_clr和第二计数器CNT2复位信号cnt2_clr。
[0064]参见图12,在运行过程中,第一计数器CNTl和第二计数器CNT2同为同步步进计数器。两计数器(CNT1&CNT2)、两比较器(C0MPARE1&C0MPARE2)、控制单元(CTRL)工作在监控时钟信号(mck)域。Mck域是一个完全同步电路。四个D触发器工作在输入时钟in_ck的上升沿或下降沿。
[0065]如果cntl_clr是活跃的(例如时间点a),在被mck采样后(例如监控时钟信号的上升沿,例如时间点b), ‘cntl_en’被拉低(例如时间点c),且同时‘cnt2_en’被拉高(例如时间点d,注意到时间点c和时间点d实质上同步)ο当cntl_en被拉低,第一计数器CNTl停止计数,且第二计数器CNT2开始计数。cntl_en同样通过第一反相器INVl送至第一和第三D触发器Dl和D3的清零端CLR,因此Dl和D3被复位并停止工作(当Dl和D3被复位时,这意味着Q输出总是等于O,且Q输出忽略D端和时钟输入),同时第二和第四D触发器D2和D4开始工作。
[0066]类似地,如果cnt2_clr是活跃的(例如时间点A),在被mck采样后(例如监控时钟信号的上升沿,例如时间点B),‘cntl_en’被拉高(例如时间点D),且同时‘cnt2_en’被拉低(例如时间点C,注意到时间点C和时间点D实质上同步)ο当cntl_en被拉高,第一计数器CNTl开始计数,且第二计数器CNT2停止计数。如果mck监测到‘cntl_clr’或‘cnt2_clr’的高,当前计数器被复位且另一计数器立即开始计数。
[0067]cntl_en同样通过第一反相器INVl送至第一触发器Dl和第三D触发器D3的清零端CLR,因此D2和D4被复位并停止工作,第一计数器Dl和第三计数器D3开始工作。即对一计数器的复位同时开始另一计数器的计数,在由因果控制系统保证的一些延迟之后,先前工作的D触发器对进入复位状态且另一对开始工作。在这里因果控制系统表示通过对在mck域的I比特信号‘cntl_clr’采样来确定I比特信号‘cntl_en’发生改变。通过‘cntl_en’对‘cntl_clr’的异步复位动作(例如时间点e)仅在‘cntl_en’被在‘cntl_clr’的有效采样后(例如时间点c)发生。同样的机制也适用于‘cnt2_en’和‘cnt2_clr’上。
[0068]在正常的操作中,‘cntl_en’和‘cnt2_en’控制两个计数器CNTl和CNT2轮流工作。例如,当第一计数器CNTl工作时,第二计数器CNT2停止工作。当第一计数器CNTl停止工作时,第二计数器CNT2工作。
[00
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1