三冗余计算机时钟中断检测和同步方法及计算机系统与流程

文档序号:26101018发布日期:2021-07-30 18:12阅读:99来源:国知局
三冗余计算机时钟中断检测和同步方法及计算机系统与流程
本发明涉及星载电子计算机和控制技术,具体地,涉及一种三冗余计算机时钟中断检测和同步方法及计算机系统。
背景技术
:三冗余计算机是目前高可靠性电子系统最常用的架构。其中同步是整个系统的核心,也就是说,各冗余模块间要保持步调一致地工作,在“某一时刻”同时完成同一任务的某个基本动作。这样的容错系统的表决过程才有意义,才能保证系统中冗余模块的多数一致的原则,屏蔽工作中少数故障的侵害;也才能准确地切换故障模块,实现结构上的重构,达到容错系统的持续、正确、可靠地运转。同步的方法有很多,采用哪种方法主要取决于系统容错的颗粒度,如果容错颗粒度大就可以采用任务型同步方法,如果容错颗粒度小,就必须采用钟源级别的同步方法。基于钟源的时钟中断检测和同步方法可以确保系统在每个周期的同步脉冲产生时完成软件同步,具有容错颗粒度小的优点,国内未见相关产品和相关专利。技术实现要素:针对现有技术中的缺陷,本发明的目的是提供一种三冗余计算机时钟中断检测和同步方法及计算机系统,解决了三冗余计算机如何从三个独立钟源中选择正确的钟源同步脉冲,完成三冗余计算机的软件同步问题。根据本发明提供的三冗余计算机时钟中断检测和同步方法,包括如下步骤:s1:控制钟源产生同步脉冲;s2:检测所述同步脉冲的脉冲宽度以及周期,对所述同步脉冲的脉宽和周期进行计数,确定所述同步脉冲是否在处于正常状态,且在所述同步脉冲处于正常状态时触发步骤s2;s3:控制每个同步脉冲进行中断产生多个周期性脉冲信号;s4:设置三个同步周期性脉冲信号的钟源选择配置寄存器,以用于存储周期性脉冲信号对应的标志位;s5:检测所述周期性脉冲信号的脉冲宽度,判断所述周期性脉冲信号是否处于正常状态,且在处于正常状态时,通过提供所述标志位供应用软件读取,作为应用软件选源依据。优选地,周期性重复步骤s1至s5,以确保三冗余计算机软件每周期运行都同步。优选地,在步骤s1中采用分频提取的方法将每个钟源的高频周期信号处理成一个同步脉冲。优选地,在步骤s2中,当对3路同步脉冲进行脉宽计数时,负脉宽为1us±10%时产生5ms中断,负脉宽为2us±10%时产生10ms中断,且当负脉宽未超出±10%偏差范围,则置位同步脉冲为负脉宽正常状态;通过3个同步脉冲周期计数器对同步脉冲进行周期计数,当同步脉冲周期为5ms±1us,则置位同步脉冲周期正常状态;当同步脉冲周期大于10ms,则置位同步脉冲周期超时状态。优选地,在步骤s3中通过对输入的同步脉冲进行中断,按周期提取出两个周期性脉冲信号。优选地,在步骤s3中对同步脉冲进行5ms中断和100ms中断提取出两个周期性脉冲信号。优选地,在步骤s4中通过3个周期性脉冲信号选择寄存器,经三取二处理后作为周期性脉冲信号的选择判据,以确保三冗余计算机选择同一钟源。优选地,在所述步骤s5中,对所述周期性脉冲信号进行了脉冲宽度检测,检测的结果表明了信号的正常状态,设置相应的寄存器提供标志为用于应用软件读取,应用软件根据信号的监控状态判断是否切换钟源。根据本发明提供的计算机系统,包括多个功能模块,通过执行所述的三冗余计算机时钟中断检测和同步方法实现多个功能模块的同步运行。与现有技术相比,本发明具有如下的有益效果:本发明能够确保三冗余计算机软件每周期运行都同步,解决了三冗余计算机如何从三个独立钟源中选择正确的钟源同步脉冲,完成三冗余计算机的软件同步问题,提高了冗余系统软件运行的同步性和可靠性。附图说明通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:图1为本发明实施例中三冗余计算机机同步的模块逻辑图。图2为本发明实施例中三冗余计算机时钟中断检测和同步方法的步骤流程图。具体实施方式下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。图1是本发明一实施例中三冗余计算机机同步的模块逻辑图,图2为本发明实施例中三冗余计算机时钟中断检测和同步方法的步骤流程图,如图1、图2所示,本发明提供的三冗余计算机时钟中断检测和同步方法,包括如下步骤:s1:控制钟源产生5ms和10ms同步脉冲;由于三冗余计算机具备三个独立钟源,因此可以采用分频提取的方法将每个钟源的高频周期信号处理成一个同步脉冲,脉冲样式为5ms间隔输出一个1us宽度低电平,10ms间隔输出一个2us宽度低电平。三个同步脉冲称为同步脉冲a、同步脉冲b和同步脉冲c。s2:检测每一同步脉冲的脉冲宽度和脉冲间隔时间;同步脉冲a、同步脉冲b和同步脉冲c经过高频全局时钟模块同步后进入脉宽计数模块;所述脉宽计数模块分别对3路同步脉冲进行高频计数。在本发明实施例中,高频时钟为50ns,负脉宽计数180~220之间,即在负脉宽为0.9us~1.1us之间产生5ms中断,负脉宽为2us±10%时产生10ms中断。通过一个3位宽同步脉冲负脉宽计数器,用于分别存放同步脉冲a、同步脉冲b和同步脉冲c的负脉宽正常状态,如果负脉宽未超出±10%偏差范围,则置位同步脉冲负脉宽正常状态,可以设置0表示正常,1表示错误。通过1个3位宽同步脉冲周期计数器,用于分别存放同步脉冲a、同步脉冲b和同步脉冲c的周期正常状态,如果同步脉冲周期为5ms±1us,则认为正确,否则置位同步脉冲周期正常状态(0表示正常,1表示错误)。如果同步脉冲周期大于10ms,则置位超时状态(0表示正常,1表示超时),超时状态可由软件清除(硬件同时将超时计数器清零)。s3:控制每个同步脉冲产生两个周期性脉冲信号;在本发明实施例中,对同步脉冲进行5ms中断和100ms中断。通过一个输入的同步脉冲,按周期提取出两个周期性脉冲信号,该周期性脉冲信号满足处理器中断识别脉宽要求,实例设计200ns。s4:设置三个同步周期性脉冲信号的钟源的选择配置寄存器,由软件决定选用相应的中断源时钟;通过1个2位宽中断选择寄存器,有4种组合“00”、“11”、“10”、“01”,采用其中三种分别表示选择“同步脉冲a”、“同步脉冲b”和“同步脉冲c”。经三取二处理后作为中断选择判据,确保三冗余计算机选择同一钟源。s5:检测脉冲宽度识别周期性脉冲信号的正常状态,并置标志位供软件读取,作为软件选源依据。当负脉宽未超出±10%偏差范围,则置位周期性脉冲信号为负脉宽正常状态。在所述步骤s5中,所述脉冲宽度进行了宽度以及脉冲间隔时间的检测,检测的结果表明了信号的正常态,设计了相应的寄存器见表1提供标志用于软件读取,软件可根据状态判断是否切换钟源。表1序号信号描述输入/输出寄存器位宽软件读写控制1中断配置寄存器状态输入2写2超时状态清除命令输入1写3同步脉冲周期正常状态输出3读4同步脉冲负脉宽正常状态输出3读5超时状态输出3读以上步骤s1至s5周期性重复,确保三冗余计算机软件每周期运行都同步。本发明实施例中,能够确保三冗余计算机软件每周期运行都同步,解决了三冗余计算机如何从三个独立钟源中选择正确的钟源同步脉冲,完成三冗余计算机的软件同步问题,提高了冗余系统软件运行的同步性和可靠性。以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1