CN106033376B - 时钟跳变容错处理方法及装置 - Google Patents
时钟跳变容错处理方法及装置 Download PDFInfo
- Publication number
- CN106033376B CN106033376B CN201510126523.5A CN201510126523A CN106033376B CN 106033376 B CN106033376 B CN 106033376B CN 201510126523 A CN201510126523 A CN 201510126523A CN 106033376 B CN106033376 B CN 106033376B
- Authority
- CN
- China
- Prior art keywords
- clock
- cpu
- difference
- zero
- less
- 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.)
- Active
Links
Landscapes
- Debugging And Monitoring (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明适用于计算机技术领域,提供一种时钟跳变容错处理方法及装置,应用于具有双CPU的驾驶舱语音记录仪QACVR,所述方法包括:在驾驶舱语音记录仪QACVR上电初始化时,获取所述QACVR上一次断电时的时钟信息、第一CPU的系统时钟信息、第二CPU的系统时钟信息;根据所述第一CPU的系统时钟信息和上一次断电时的时钟信息计算第一时钟差;根据所述第二CPU的系统时钟信息和上一次断电时的时钟信息计算第二时钟差;在所述第一时钟差和第二时钟差满足预设条件时,按照与所述预设条件对应的方式更新所述第一CPU的系统时钟和第二CPU的系统时钟。本发明实现了对QACVR的第一CPU和第二CPU的时钟容错处理,解决了现有的QACVR上电或下电时存在的时钟跳变问题。
Description
技术领域
本发明属于计算机技术领域,提供了时钟跳变容错处理方法及装置。
背景技术
早期软件版本的QACVR(驾驶舱语音记录仪)应用在空客飞机上时,未能采集飞机上的arinc429总线上的时钟信息。而实验室仿真测试发现,在给QACVR上电或下电的过程中,QACVR的实时时钟RTC硬件平台工作不稳定,通过实时时钟RTC硬件平台读取到的实时时钟会发生时钟跳变的现象。
发明内容
本发明实施例提供了一种时钟跳变容错处理方法及装置,以解决QACVR上电或下电时存在的时钟跳变问题。
第一方面,一种时钟跳变容错处理方法,应用于具有双CPU的驾驶舱语音记录仪QACVR,所述方法包括:
在驾驶舱语音记录仪QACVR上电初始化时,获取所述QACVR上一次断电时的时钟信息、第一CPU的系统时钟信息、第二CPU的系统时钟信息;
根据所述第一CPU的系统时钟信息和上一次断电时的时钟信息计算第一时钟差;
根据所述第二CPU的系统时钟信息和上一次断电时的时钟信息计算第二时钟差;
在所述第一时钟差和第二时钟差满足预设条件时,按照与所述预设条件对应的方式更新所述第一CPU的系统时钟和第二CPU的系统时钟。
进一步地,所述预设条件为第二时钟差大于零且第二时钟差小于第一时钟差与预设时间阈值的差值;
所述在所述第一时钟差和第二时钟差满足预设条件时,按照与所述预设条件对应的方式更新所述第一CPU的系统时钟和第二CPU的系统时钟包括:
判断所述第二时钟差是否大于零;
在所述第二时钟差大于零时,计算所述第一时钟差与预设时间阈值之间的差值;
判断所述第二时钟差是否小于所述差值;
在所述第二时钟差小于所述差值时,更新所述第一CPU的系统时钟为所述第二CPU的系统时钟;
所述预设时间阈值为第一CPU与第二CPU的时钟差最大值。
进一步地,所述预设条件为第二时钟差大于零且第一时钟差小于零;
所述在所述第一时钟差和第二时钟差满足预设条件时,按照与所述预设条件对应的方式更新所述第一CPU的系统时钟和第二CPU的系统时钟包括:
判断所述第二时钟差是否大于零;
在所述第二时钟差大于零时,判断所述第一时钟差是否小于零;
在所述第一时钟差小于零时,更新所述第一CPU的系统时钟为所述第二CPU的系统时钟。
进一步地,所述预设条件为第一时钟差小于零且第二时钟差小于零;
所述在所述第一时钟差和第二时钟差满足预设条件时,按照与所述预设条件对应的方式更新所述第一CPU的系统时钟和第二CPU的系统时钟包括:
判断所述第一时钟差是否小于零;
在所述第一时钟差小于零时,判断所述第二时钟差是否小于零;
在所述第二时钟差小于零时,更新所述第一CPU的系统时钟和所述第二CPU的系统时钟为所述QACVR上一次断电时的时钟信息。
进一步地,所述方法还包括:
在驾驶舱语音记录仪QACVR上电初始化过程完成后,每当接收到arinc49总线上的时钟,更新所述第一CPU的系统时钟和所述第二CPU的系统时钟为所述arinc49总线上的时钟。
第二方面,一种时钟跳变容错处理装置,应用于具有双CPU的驾驶舱语音记录仪QACVR,所述装置包括:
获取模块,用于在驾驶舱语音记录仪QACVR上电初始化时,获取所述QACVR上一次断电时的时钟信息、第一CPU的系统时钟信息、第二CPU的系统时钟信息;
第一计算模块,用于根据所述第一CPU的系统时钟信息和上一次断电时的时钟信息计算第一时钟差;
第二计算模块,用于根据所述第二CPU的系统时钟信息和上一次断电时的时钟信息计算第二时钟差;
第一更新模块,用于在所述第一时钟差和第二时钟差满足预设条件时,按照与所述预设条件对应的方式更新所述第一CPU的系统时钟和第二CPU的系统时钟。
进一步地,所述预设条件为第二时钟差大于零且第二时钟差小于第一时钟差与预设时间阈值的差值;
所述第一更新模块包括:
第一判断单元,用于判断所述第二时钟差是否大于零;
第二判断单元,用于在所述第一判断单元的判断结果为是时,计算所述第一时钟差与预设时间阈值之间的差值,并判断所述第二时钟差是否小于所述差值;
第一更新单元,用于在所述第二判断单元的判断结果为是时,更新所述第一CPU的系统时钟为所述第二CPU的系统时钟;
所述预设时间阈值为第一CPU与第二CPU的时钟差最大值。
进一步地,所述预设条件为第一时钟差小于零且第二时钟差大于零;
所述第一更新模块包括:
第三判断单元,用于判断所述第二时钟差是否大于零,并在所述第二时钟差大于零时,判断所述第一时钟差是否小于零;
第二更新单元,用于在所述第一时钟差小于零且第二时钟差大于零时,更新所述第一CPU的系统时钟为所述第二CPU的系统时钟。
进一步地,所述预设条件为第一时钟差小于零且第二时钟差小于零;
所述第一更新模块包括:
第四判断单元,用于判断所述第一时钟差是否小于零,并在所述第一时钟差小于零时,判断所述第二时钟差是否小于零;
第三更新单元,用于在所述第一时钟差小于零且第二时钟差小于零时,更新所述第一CPU的系统时钟和所述第二CPU的系统时钟为所述QACVR上一次断电时的时钟信息。
进一步地,所述装置还包括:
第二更新模块,用于在驾驶舱语音记录仪QACVR上电初始化过程完成后,每当接收到arinc49总线上的时钟,更新所述第一CPU的系统时钟和所述第二CPU的系统时钟为所述arinc49总线上的时钟。
与现有技术相比,本发明实施例在驾驶舱语音记录仪QACVR上电初始化的过程中增加了对时钟的逻辑比较,通过获取QACVR上一次断电时的时钟信息、第一CPU的系统时钟、第二CPU的系统时钟;根据所述第一CPU的系统时钟和上一次断电时的时钟信息计算第一时钟差;根据所述第二CPU的系统时钟和上一次断电时的时钟信息计算第二时钟差;在所述第一时钟差和第二时钟差满足预设条件时,则按照与所述预设条件对应的方式更新所述第一CPU的系统时钟和第二CPU的系统时钟,从而实现了对QACVR的第一CPU和第二CPU的时钟容错处理,解决了现有的QACVR上电或下电时存在的时钟跳变问题,提高了第一CPU和第二CPU的系统时钟的准确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1是本发明实施例一提供的时钟跳变容错处理方法的第一实现流程图;
图2是本发明实施例二提供的时钟跳变容错处理方法中步骤S104的第一实现流程图;
图3是本发明实施例三提供的时钟跳变容错处理方法中步骤S104的第二实现流程图;
图4是本发明实施例四提供的时钟跳变容错处理装置的组成结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例在驾驶舱语音记录仪QACVR上电初始化的过程中增加了对时钟信息的逻辑比较,通过获取QACVR上一次断电时的时钟信息、第一CPU的系统时钟信息、第二CPU的系统时钟信息;并根据所述第一CPU的系统时钟信息和上一次断电时的时钟信息计算第一时钟差,根据所述第二CPU的系统时钟信息和上一次断电时的时钟信息计算第二时钟差;在所述第一时钟差和第二时钟差满足预设条件时,则按照与所述预设条件对应的方式更新所述第一CPU的系统时钟和第二CPU的系统时钟,从而实现了对QACVR的第一CPU和第二CPU的时钟容错处理,解决了现有的QACVR上电或下电时存在的时钟跳变问题,提高了第一CPU和第二CPU的系统时钟的准确性。本发明实施例还提供了相应的装置,以下分别进行详细的说明。
实施例一
图1示出了本发明实施例一提供的时钟跳变容错处理方法的第一实现流程,为了便于说明,仅示出了与本发明相关的部分。
在本发明实施例中,所述方法应用于QACVR(驾驶舱语音记录仪)。所述QACVR应用于空客飞机或者波音飞机上,包括两个独立工作的CPU。所述QACVR拥有四个录音通道,每个CPU负责两个录音通道的正常工作。本发明实施例提供的时钟跳变容错处理方法基于QACVR的设备特点,使用其内部的两个CPU的时钟信息来进行逻辑比较,以采用相对较准确的时钟。
如图1所示,所述方法包括:
在步骤S101中,在驾驶舱语音记录仪QACVR上电初始化时,获取QACVR上一次断电的系统时钟信息、第一CPU的系统时钟信息、第二CPU的系统时钟信息。
在本发明实施例中,当飞机掉电后,QACVR无外部供电电源,此时QACVR会通过电压的变化来判定飞机已掉电,获取并保存其本身的实时时钟RTC,并保存已录制的录音文件。在QACVR重新上电初始化的过程中,直接获取上一次断电时所保存的实时时钟RTC,即QACVR上一次断电时的时钟信息,记为T0,并获取第一CPU的系统时钟信息T1、第二CPU的系统时钟信息T2。所述第一CPU的系统时钟信息T1为所述第一CPU内部自带的RTC时钟,所述第二CPU的系统时钟信息T2为所述第二CPU内部自带的RTC时钟。
在步骤S102中,根据所述第一CPU的系统时钟信息和上一次断电时的时钟信息计算第一时钟差。
优选地,所述第一时钟差tmp1为所述第一CPU的系统时钟信息T1减去上一次断电时的时钟信息T0,即tmp1=T1-T0。
在步骤S103中,根据所述第二CPU的系统时钟信息和上一次断电时的时钟信息计算第二时钟差。
优选地,所述第二时钟差tmp2为所述第一CPU的系统时钟信息T2减去上一次断电时的时钟信息T0,即tmp2=T2-T0。
在步骤S104中,在所述第一时钟差和第二时钟差满足预设条件时,按照与所述预设条件对应的方式更新所述第一CPU的系统时钟和第二CPU的系统时钟。
在本发明实施例中,所述第一时钟差tmp1为第一CPU当前的系统时钟信息T1与上一次断电时的时钟信息T0之间的差值,反应了第一CPU的时钟是否发生跳变。同理,所述第二时钟差tmp2为第二CPU当前的系统时钟信息T2与上一次断电时的时钟信息T0之间的差值,反应了第二CPU的时钟是否发生跳变。本发明实施例结合第一时钟差tmp1和第二时钟差tmp2之间的逻辑比较,在所述第一时钟差tmp1和第二时钟差tmp2满足预设条件时,则按照与所述预设条件对应的方式更新所述第一CPU和第二CPU的时钟。其中,所述预设条件为预先根据第一CPU和第二CPU的性能特点设定的容错处理方式的判定标准,每一个预设条件有对应的容错处理方式,以使得第一CPU和第二CPU容错处理后为相对较准确的时钟。后续实施例将对每一个预设条件及其对应的容错处理方式进行详细的描述,具体请参见后续实施例的描述。
优选地,所述方法还包括:
在驾驶舱语音记录仪QACVR上电初始化过程完成后,每当接收到arinc49总线上的时钟,更新所述第一CPU的系统时钟和所述第二CPU的系统时钟为所述arinc49总线上的时钟。
在所述QACVR上电完成后,获取飞机的arinc49总线上的时钟,并根据所述arinc49总线上的时钟更新第一CPU的系统时钟和第二CPU的系统时钟,从而使得第一CPU的系统时钟和第二CPU的系统时钟分别与arinc总线上的时钟保持同步,及时地解决了所述QACVR上的时钟跳变问题。
本发明实施例在驾驶舱语音记录仪QACVR上电初始化的过程中增加了对时钟信息的逻辑比较,通过获取QACVR上一次断电时的时钟信息、第一CPU的系统时钟信息、第二CPU的系统时钟信息;并根据所述第一CPU的系统时钟信息和上一次断电时的时钟信息计算第一时钟差,根据所述第二CPU的系统时钟信息和上一次断电时的时钟信息计算第二时钟差;在所述第一时钟差和第二时钟差满足预设条件时,则按照与所述预设条件对应的方式更新所述第一CPU和第二CPU的系统时钟,从而实现了对QACVR的第一CPU和第二CPU的时钟容错处理,解决了现有的QACVR上电或下电时存在的时钟跳变问题,提高了第一CPU和第二CPU的系统时钟的准确性。
实施例二
图2示出了本发明实施例二提供的时钟跳变容错处理方法中步骤S104的第一实现流程,为了便于说明,仅示出了与本发明相关的部分。
在本发明实施例中,所述预设条件为所述第二时钟差tmp2大于零且第一时钟差tmp1与第二时钟差tmp2的差值大于预设时间阈值。所述预设时间阈值为第一CPU与第二CPU的时钟差最大值。
步骤S104具体包括:
在步骤S201中,判断所述第二时钟差是否大于零。
在本发明实施例中,在所述第二时钟差大于零时,执行步骤S202。
在步骤S202中,计算第一时钟差与预设时间阈值之间的差值。
假设所述预设时间阈值为Δt,则所述第一时钟差与所述预设时间阈值之间的差值为tmp1-Δt。正常情况下QACVR的MCU1和MCU2的时钟差不会超过1秒。考虑到余量,选取预设时间阈值为2秒,即Δt=2秒。
在步骤S203中,判断所述第二时钟差是否小于所述差值。
对所述第二时钟差tmp2与所述差值进行逻辑判断。在所述第二时钟差tmp2和所述差值满足所述第二时钟差小于所述差值时,执行步骤S204。
在本发明实施例中,通过判断所述第二时钟差tmp2获知所述第二时钟差tmp2小于所述差值且所述第二时钟差tmp2大于零时,判定所述第一CPU的时钟发生跳变,而第二CPU的时钟未发生跳变,则执行步骤S204。
在步骤S204中,更新所述第一CPU的系统时钟为所述第二CPU的系统时钟。
所述第二CPU的时钟未发生跳变,而第一CPU的时钟发生了跳变,则第二CPU的系统时钟信息为相对较准确的时钟信息,采用所述第二CPU的系统时钟更新所述第一CPU的系统时钟。
示例性地,假设上次掉电的时间为2014年12月5日12:00,上电时第二CPU的系统时钟信息为2014年12月5日12:01,第一CPU的系统时钟信息为2014年12月5日12:30,此时,第一时钟差tmp1为30秒,第二时钟差tmp2为1秒,预设时间阈值Δt为2秒,则可以明显地得到tmp2>0且tmp2<tmp1-Δt,可以判定第一CPU发生了时钟跳变,而第二CPU未发生时钟跳变,采用第二CPU的系统时钟信息更新所述第一CPU的系统时钟,从而完成了对第一CPU和第二CPU时钟跳变的容错处理。
实施例三
图3示出了本发明实施例三提供的时钟跳变容错处理方法中步骤S104的第二实现流程,为了便于说明,仅示出了与本发明相关的部分。
在本发明实施例中,所述预设条件为第一时钟差tmp1小于零且第二时钟差tmp2大于零或者第一时钟差tmp1小于零且第二时钟差tmp2小于零。
如图3所示,步骤S104包括:
在步骤S301中,判断所述第一时钟差是否小于零。
在本发明实施例中,若第一时钟差tmp1小于零,则判定第一CPU发生了时钟跳变,且第一CPU的时钟跳变到上一次断电之前的时钟。继续执行步骤S302。
在步骤S302中,判断所述第二时钟差是否大于零。
在所述第二时钟差大于零时,判定第二CPU的时钟未发生跳变,第二CPU的时钟相对于第一CPU的时钟来说更准确,则执行步骤S303;否则,执行步骤S304。
在步骤S303中,更新所述第一CPU的系统时钟为所述第二CPU的系统时钟。
在步骤S304中,判断所述第二时钟差是否小于零。
在本发明实施例中,若所述第二时钟差tmp2小于零,则判定第二CPU发生了时钟跳变,且第二CPU的时钟跳变到上一次断电之前的时钟。此时,第一CPU和第二CPU均发生了跳变,则执行步骤S305。
在步骤S305中,更新所述第一CPU的系统时钟和所述第二CPU的系统时钟为QACVR上一次断电时的时钟信息。
通过上述步骤,在驾驶舱语音记录仪QACVR上电初始化的过程中增加对时钟信息的逻辑比较,实现了QACVR上电初始化时对第一CPU和第二CPU的时钟容错处理,使得第一CPU和第二CPU的时钟更新为相对较准确的时钟信息,解决了现有的QACVR上电或下电时存在的时钟跳变问题。
应理解,在本发明实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定。本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,而不应对本发明实施例的实施过程构成任何限定。
实施例四
图4示出了本发明实施例四提供的时钟跳变容错处理装置的组成结构,为了便于说明,仅示出了与本发明相关的部分。
在本发明实施例中,所述装置用于实现图1至图3实施例所述的时钟跳变容错处理方法,可以为设置于QACVR(驾驶舱语音记录仪)的软件单元、硬件单元或者软硬件结合的单元。所述QACVR应用于空客飞机或者波音飞机上,包括两个独立工作的CPU。
如图4所示,所述装置包括:
获取模块41,用于在驾驶舱语音记录仪QACVR上电初始化时,获取QACVR上一次断电时的时钟信息、第一CPU的系统时钟信息、第二CPU的系统时钟信息;
第一计算模块42,用于根据所述第一CPU的系统时钟信息和上一次断电时的时钟信息计算第一时钟差;
第二计算模块43,用于根据所述第二CPU的系统时钟信息和上一次断电时的时钟信息计算第二时钟差;
第一更新模块44,用于在所述第一时钟差和第二时钟差满足预设条件时,按照与所述预设条件对应的方式更新所述第一CPU的系统时钟和第二CPU的系统时钟。
优选地,所述预设条件为第二时钟差大于零且第二时钟差小于第一时钟差与预设时间阈值的差值;
所述第一更新模块44包括:
所述第一更新模块包括:
第一判断单元441,用于判断所述第二时钟差是否大于零;
第二判断单元442,用于在所述第一判断单元的判断结果为是时,计算所述第一时钟差与预设时间阈值之间的差值,并判断所述第二时钟差是否小于所述差值;
第一更新单元443,用于在所述所述第二判断单元的判断结果为是时,更新所述第一CPU的系统时钟为所述第二CPU的系统时钟;
所述预设时间阈值为第一CPU与第二CPU的时钟差最大值。
优选地,所述预设条件为第一时钟差小于零且第二时钟差大于零;
所述第一更新模块44包括:
第三判断单元444,用于判断所述第二时钟差是否大于零,并在所述第二时钟差大于零时,判断所述第一时钟差是否小于零;
第二更新单元445,用于在所述第一时钟差小于零且第二时钟差大于零时,更新所述第一CPU的系统时钟为所述第二CPU的系统时钟。
进一步地,所述预设条件为第一时钟差小于零且第二时钟差小于零;
所述第一更新模块44包括:
第四判断单元446,用于判断所述第一时钟差是否小于零,并在所述第一时钟差小于零时,判断所述第二时钟差是否小于零;
第三更新单元447,用于在所述第一时钟差小于零且第二时钟差小于零时,更新所述第一CPU的系统时钟和所述第二CPU的系统时钟为QACVR上一次断电时的时钟信息。
优选地,所述装置还包括:
第二更新模块45,用于在驾驶舱语音记录仪QACVR上电初始化过程完成后,每当接收到arinc49总线上的时钟,更新所述第一CPU的系统时钟和所述第二CPU的系统时钟为所述arinc49总线上的时钟。
需要说明的是,本发明实施例中的装置可以用于实现上述方法实施例中的全部技术方案,其各个功能模块的功能可以根据上述方法实施例中的方法具体实现,其具体实现过程可参照上述实施例中的相关描述,此处不再赘述。
本发明实施例在驾驶舱语音记录仪QACVR上电初始化的过程中增加了对时钟信息的逻辑比较,通过获取QACVR上一次断电时的时钟信息、第一CPU的系统时钟信息、第二CPU的系统时钟信息;并根据所述第一CPU的系统时钟信息和上一次断电时的时钟信息计算第一时钟差,根据所述第二CPU的系统时钟信息和上一次断电时的时钟信息计算第二时钟差;在所述第一时钟差和第二时钟差满足预设条件时,则按照与所述预设条件对应的方式更新所述第一CPU和第二CPU的系统时钟,从而实现了对QACVR的第一CPU和第二CPU的时钟容错处理,解决了现有的QACVR上电或下电时存在的时钟跳变问题,提高了第一CPU和第二CPU的系统时钟的准确性。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (8)
1.一种时钟跳变容错处理方法,其特征在于,应用于具有双CPU的驾驶舱语音记录仪QACVR,所述方法包括:
在驾驶舱语音记录仪QACVR上电初始化时,获取所述QACVR上一次断电时的时钟信息、第一CPU的系统时钟信息、第二CPU的系统时钟信息;
根据所述第一CPU的系统时钟信息和上一次断电时的时钟信息计算第一时钟差;
根据所述第二CPU的系统时钟信息和上一次断电时的时钟信息计算第二时钟差;
在所述第一时钟差和第二时钟差满足预设条件时,按照与所述预设条件对应的方式更新所述第一CPU的系统时钟和第二CPU的系统时钟;
其中,所述预设条件为第二时钟差大于零且第二时钟差小于第一时钟差与预设时间阈值的差值;
所述在所述第一时钟差和第二时钟差满足预设条件时,按照与所述预设条件对应的方式更新所述第一CPU的系统时钟和第二CPU的系统时钟包括:
判断所述第二时钟差是否大于零;
在所述第二时钟差大于零时,计算所述第一时钟差与预设时间阈值之间的差值;
判断所述第二时钟差是否小于所述差值;
在所述第二时钟差小于所述差值时,更新所述第一CPU的系统时钟为所述第二CPU的系统时钟;
所述预设时间阈值为第一CPU与第二CPU的时钟差最大值。
2.如权利要求1所述的时钟跳变容错处理方法,其特征在于,所述预设条件为第二时钟差大于零且第一时钟差小于零;
所述在所述第一时钟差和第二时钟差满足预设条件时,按照与所述预设条件对应的方式更新所述第一CPU的系统时钟和第二CPU的系统时钟包括:
判断所述第二时钟差是否大于零;
在所述第二时钟差大于零时,判断所述第一时钟差是否小于零;
在所述第一时钟差小于零时,更新所述第一CPU的系统时钟为所述第二CPU的系统时钟。
3.如权利要求1所述的时钟跳变容错处理方法,其特征在于,所述预设条件为第一时钟差小于零且第二时钟差小于零;
所述在所述第一时钟差和第二时钟差满足预设条件时,按照与所述预设条件对应的方式更新所述第一CPU的系统时钟和第二CPU的系统时钟包括:
判断所述第一时钟差是否小于零;
在所述第一时钟差小于零时,判断所述第二时钟差是否小于零;
在所述第二时钟差小于零时,更新所述第一CPU的系统时钟和所述第二CPU的系统时钟为所述QACVR上一次断电时的时钟信息。
4.如权利要求1所述的时钟跳变容错处理方法,其特征在于,所述方法还包括:
在驾驶舱语音记录仪QACVR上电初始化过程完成后,每当接收到arinc429总线上的时钟,更新所述第一CPU的系统时钟和所述第二CPU的系统时钟为所述arinc429总线上的时钟。
5.一种时钟跳变容错处理装置,其特征在于,应用于具有双CPU的驾驶舱语音记录仪QACVR,所述装置包括:
获取模块,用于在驾驶舱语音记录仪QACVR上电初始化时,获取所述QACVR上一次断电时的时钟信息、第一CPU的系统时钟信息、第二CPU的系统时钟信息;
第一计算模块,用于根据所述第一CPU的系统时钟信息和上一次断电时的时钟信息计算第一时钟差;
第二计算模块,用于根据所述第二CPU的系统时钟信息和上一次断电时的时钟信息计算第二时钟差;
第一更新模块,用于在所述第一时钟差和第二时钟差满足预设条件时,按照与所述预设条件对应的方式更新所述第一CPU的系统时钟和第二CPU的系统时钟;
其中,所述预设条件为第二时钟差大于零且第二时钟差小于第一时钟差与预设时间阈值的差值;
所述第一更新模块包括:
第一判断单元,用于判断所述第二时钟差是否大于零;
第二判断单元,用于在所述第一判断单元的判断结果为是时,计算所述第一时钟差与预设时间阈值之间的差值,并判断所述第二时钟差是否小于所述差值;
第一更新单元,用于在所述第二判断单元的判断结果为是时,更新所述第一CPU的系统时钟为所述第二CPU的系统时钟;
所述预设时间阈值为第一CPU与第二CPU的时钟差最大值。
6.如权利要求5所述的时钟跳变容错处理装置,其特征在于,所述预设条件为第一时钟差小于零且第二时钟差大于零;
所述第一更新模块包括:
第三判断单元,用于判断所述第二时钟差是否大于零,并在所述第二时钟差大于零时,判断所述第一时钟差是否小于零;
第二更新单元,用于在所述第二时钟差大于零且第一时钟差小于零时,更新所述第一CPU的系统时钟为所述第二CPU的系统时钟。
7.如权利要求5所述的时钟跳变容错处理装置,其特征在于,所述预设条件为第一时钟差小于零且第二时钟差小于零;
所述第一更新模块包括:
第四判断单元,用于判断所述第一时钟差是否小于零,并在所述第一时钟差小于零时,判断所述第二时钟差是否小于零;
第三更新单元,用于在所述第一时钟差小于零且第二时钟差小于零时,更新所述第一CPU的系统时钟和所述第二CPU的系统时钟为所述QACVR上一次断电时的时钟信息。
8.如权利要求5所述的时钟跳变容错处理装置,其特征在于,所述装置还包括:
第二更新模块,用于在驾驶舱语音记录仪QACVR上电初始化过程完成后,每当接收到arinc429总线上的时钟,更新所述第一CPU的系统时钟和所述第二CPU的系统时钟为所述arinc429总线上的时钟。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510126523.5A CN106033376B (zh) | 2015-03-20 | 2015-03-20 | 时钟跳变容错处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510126523.5A CN106033376B (zh) | 2015-03-20 | 2015-03-20 | 时钟跳变容错处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106033376A CN106033376A (zh) | 2016-10-19 |
CN106033376B true CN106033376B (zh) | 2019-11-15 |
Family
ID=57148853
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510126523.5A Active CN106033376B (zh) | 2015-03-20 | 2015-03-20 | 时钟跳变容错处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106033376B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112597635A (zh) * | 2020-12-09 | 2021-04-02 | 北京智联友道科技有限公司 | 基于cbtc仿真系统的虚拟时钟系统的生成方法、装置及设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101599807A (zh) * | 2009-06-19 | 2009-12-09 | 中兴通讯股份有限公司 | 一种使主备时钟相位对齐的方法和装置 |
CN101739011A (zh) * | 2009-12-08 | 2010-06-16 | 中国科学院声学研究所 | 一种基于cpci总线的高精度时钟同步方法及其系统 |
CN103869692A (zh) * | 2012-12-17 | 2014-06-18 | 飞亚达(集团)股份有限公司 | 一种指针式时钟校时方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5488634B2 (ja) * | 2012-03-29 | 2014-05-14 | 日本電気株式会社 | 情報処理装置、管理コントローラ、システム時刻同期方法、及びプログラム |
-
2015
- 2015-03-20 CN CN201510126523.5A patent/CN106033376B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101599807A (zh) * | 2009-06-19 | 2009-12-09 | 中兴通讯股份有限公司 | 一种使主备时钟相位对齐的方法和装置 |
CN101739011A (zh) * | 2009-12-08 | 2010-06-16 | 中国科学院声学研究所 | 一种基于cpci总线的高精度时钟同步方法及其系统 |
CN103869692A (zh) * | 2012-12-17 | 2014-06-18 | 飞亚达(集团)股份有限公司 | 一种指针式时钟校时方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106033376A (zh) | 2016-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103793545B (zh) | 电力系统稳定性优化系统 | |
CN105207798B (zh) | 软件定义网络中的业务编排方法及装置 | |
CN101652634B (zh) | 包括飞行器终端和便携资源的飞行器通信系统 | |
CN106302574B (zh) | 一种业务可用性管理方法、装置及其网络功能虚拟化架构 | |
US10185586B2 (en) | System, migration control method, and management apparatus | |
US10019329B2 (en) | In-line backup power source incorporating communication capability | |
EP2330525A1 (en) | Parallel computing method and computing platform for security and stability analysis of large power grid | |
CN106126338A (zh) | 一种虚拟机集群伸缩配置的方法及装置 | |
CN103716397B (zh) | 一种面向服务仿真时钟推进方法 | |
CN106293934A (zh) | 一种集群系统管理优化方法及平台 | |
CN112948063A (zh) | 云平台的创建方法、装置、云平台以及云平台实现系统 | |
CN109474467A (zh) | 网络自动化管理方法、装置、存储介质及电子设备 | |
CN106033376B (zh) | 时钟跳变容错处理方法及装置 | |
CN105404530B (zh) | 一种实现简易部署和使用私有云的系统及方法 | |
Saurez et al. | Oneedge: An efficient control plane for geo-distributed infrastructures | |
CN111625949A (zh) | 一种仿真引擎系统、仿真处理方法、设备和介质 | |
CN106856441A (zh) | Nfvo中的vim选择方法和装置 | |
CN109491762A (zh) | 容器状态控制方法及装置、存储介质、电子设备 | |
US20220011843A1 (en) | Software entity power consumption estimation and monitoring | |
KR20160109462A (ko) | 전자 장치에서 네트워크 온 칩을 생성하는 장치 및 방법 | |
CN112965836B (zh) | 服务控制方法、装置、电子设备及可读存储介质 | |
CN104168128B (zh) | 配置通信管理的方法、计算机装备项、通信系统和飞行器 | |
CN109671140B (zh) | 一种采用微服务的云渲染服务处理方法 | |
Batista et al. | Control and data acquisition ATCA/AXIE board designed for high system availability and reliability of nuclear fusion experiments | |
López-Pires et al. | Evaluation of two-phase virtual machine placement algorithms for green cloud datacenters |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |