时钟跳变容错处理方法及装置的制造方法

文档序号:10665713阅读:377来源:国知局
时钟跳变容错处理方法及装置的制造方法
【专利摘要】本发明适用于计算机技术领域,提供一种时钟跳变容错处理方法及装置,应用于具有双CPU的驾驶舱语音记录仪QACVR,所述方法包括:在驾驶舱语音记录仪QACVR上电初始化时,获取所述QACVR上一次断电时的时钟信息、第一CPU的系统时钟信息、第二CPU的系统时钟信息;根据所述第一CPU的系统时钟信息和上一次断电时的时钟信息计算第一时钟差;根据所述第二CPU的系统时钟信息和上一次断电时的时钟信息计算第二时钟差;在所述第一时钟差和第二时钟差满足预设条件时,按照与所述预设条件对应的方式更新所述第一CPU的系统时钟和第二CPU的系统时钟。本发明实现了对QACVR的第一CPU和第二CPU的时钟容错处理,解决了现有的QACVR上电或下电时存在的时钟跳变问题。
【专利说明】
时钟跳变容错处理方法及装置
技术领域
[0001]本发明属于计算机技术领域,提供了时钟跳变容错处理方法及装置。
【背景技术】
[0002]早期软件版本的QACVR (驾驶舱语音记录仪)应用在空客飞机上时,未能采集飞机上的arinc429总线上的时钟信息。而实验室仿真测试发现,在给QACVR上电或下电的过程中,QACVR的实时时钟RTC硬件平台工作不稳定,通过实时时钟RTC硬件平台读取到的实时时钟会发生时钟跳变的现象。

【发明内容】

[0003]本发明实施例提供了一种时钟跳变容错处理方法及装置,以解决QACVR上电或下电时存在的时钟跳变问题。
[0004]第一方面,一种时钟跳变容错处理方法,应用于具有双CPU的驾驶舱语音记录仪QACVR,所述方法包括:
[0005]在驾驶舱语音记录仪QACVR上电初始化时,获取所述QACVR上一次断电时的时钟信息、第一 CPU的系统时钟信息、第二 CPU的系统时钟信息;
[0006]根据所述第一 CPU的系统时钟信息和上一次断电时的时钟信息计算第一时钟差;
[0007]根据所述第二 CPU的系统时钟信息和上一次断电时的时钟信息计算第二时钟差;
[0008]在所述第一时钟差和第二时钟差满足预设条件时,按照与所述预设条件对应的方式更新所述第一 CPU的系统时钟和第二 CPU的系统时钟。
[0009]进一步地,所述预设条件为第二时钟差大于零且第二时钟差小于第一时钟差与预设时间阈值的差值;
[0010]所述在所述第一时钟差和第二时钟差满足预设条件时,按照与所述预设条件对应的方式更新所述第一 CPU的系统时钟和第二 CPU的系统时钟包括:
[0011]判断所述第二时钟差是否大于零;
[0012]在所述第二时钟差大于零时,计算所述第一时钟差与预设时间阈值之间的差值;
[0013]判断所述第二时钟差是否小于所述差值;
[0014]在所述第二时钟差小于所述差值时,更新所述第一 CPU的系统时钟为所述第二CPU的系统时钟;
[0015]所述预设时间阈值为第一 CPU与第二 CPU的时钟差最大值。
[0016]进一步地,所述预设条件为第二时钟差大于零且第一时钟差小于零;
[0017]所述在所述第一时钟差和第二时钟差满足预设条件时,按照与所述预设条件对应的方式更新所述第一 CPU的系统时钟和第二 CPU的系统时钟包括:
[0018]判断所述第二时钟差是否大于零;
[0019]在所述第二时钟差大于零时,判断所述第一时钟差是否小于零;
[0020]在所述第一时钟差小于零时,更新所述第一 CPU的系统时钟为所述第二 CPU的系统时钟。
[0021]进一步地,所述预设条件为第一时钟差小于零且第二时钟差小于零;
[0022]所述在所述第一时钟差和第二时钟差满足预设条件时,按照与所述预设条件对应的方式更新所述第一 CPU的系统时钟和第二 CPU的系统时钟包括:
[0023]判断所述第一时钟差是否小于零;
[0024]在所述第一时钟差小于零时,判断所述第二时钟差是否小于零;
[0025]在所述第二时钟差小于零时,更新所述第一 CPU的系统时钟和所述第二 CPU的系统时钟为所述QACVR上一次断电时的时钟信息。
[0026]进一步地,所述方法还包括:
[0027]在驾驶舱语音记录仪QACVR上电初始化过程完成后,每当接收到arinc49总线上的时钟,更新所述第一 CPU的系统时钟和所述第二 CPU的系统时钟为所述arinc49总线上的时钟。
[0028]第二方面,一种时钟跳变容错处理装置,应用于具有双CPU的驾驶舱语音记录仪QACVR,所述装置包括:
[0029]获取模块,用于在驾驶舱语音记录仪QACVR上电初始化时,获取所述QACVR上一次断电时的时钟信息、第一 CPU的系统时钟信息、第二 CPU的系统时钟信息;
[0030]第一计算模块,用于根据所述第一 CPU的系统时钟信息和上一次断电时的时钟信息计算第一时钟差;
[0031]第二计算模块,用于根据所述第二 CPU的系统时钟信息和上一次断电时的时钟信息计算第二时钟差;
[0032]第一更新模块,用于在所述第一时钟差和第二时钟差满足预设条件时,按照与所述预设条件对应的方式更新所述第一 CPU的系统时钟和第二 CPU的系统时钟。
[0033]进一步地,所述预设条件为第二时钟差大于零且第二时钟差小于第一时钟差与预设时间阈值的差值;
[0034]所述第一更新模块包括:
[0035]第一判断单元,用于判断所述第二时钟差是否大于零;
[0036]第二判断单元,用于在所述第一判断单元的判断结果为是时,计算所述第一时钟差与预设时间阈值之间的差值,并判断所述第二时钟差是否小于所述差值;
[0037]第一更新单元,用于在所述第二判断单元的判断结果为是时,更新所述第一 CPU的系统时钟为所述第二 CPU的系统时钟;
[0038]所述预设时间阈值为第一 CPU与第二 CPU的时钟差最大值。
[0039]进一步地,所述预设条件为第一时钟差小于零且第二时钟差大于零;
[0040]所述第一更新模块包括:
[0041]第三判断单元,用于判断所述第二时钟差是否大于零,并在所述第二时钟差大于零时,判断所述第一时钟差是否小于零;
[0042]第二更新单元,用于在所述第一时钟差小于零且第二时钟差大于零时,更新所述第一 CPU的系统时钟为所述第二 CPU的系统时钟。
[0043]进一步地,所述预设条件为第一时钟差小于零且第二时钟差小于零;
[0044]所述第一更新模块包括:
[0045]第四判断单元,用于判断所述第一时钟差是否小于零,并在所述第一时钟差小于零时,判断所述第二时钟差是否小于零;
[0046]第三更新单元,用于在所述第一时钟差小于零且第二时钟差小于零时,更新所述第一 CPU的系统时钟和所述第二 CPU的系统时钟为所述QACVR上一次断电时的时钟信息。
[0047]进一步地,所述装置还包括:
[0048]第二更新模块,用于在驾驶舱语音记录仪QACVR上电初始化过程完成后,每当接收到arinc49总线上的时钟,更新所述第一 CPU的系统时钟和所述第二 CPU的系统时钟为所述arinc49总线上的时钟。
[0049]与现有技术相比,本发明实施例在驾驶舱语音记录仪QACVR上电初始化的过程中增加了对时钟的逻辑比较,通过获取QACVR上一次断电时的时钟信息、第一 CPU的系统时钟、第二CPU的系统时钟;根据所述第一 CPU的系统时钟和上一次断电时的时钟信息计算第一时钟差;根据所述第二 CPU的系统时钟和上一次断电时的时钟信息计算第二时钟差;在所述第一时钟差和第二时钟差满足预设条件时,则按照与所述预设条件对应的方式更新所述第一 CPU的系统时钟和第二 CPU的系统时钟,从而实现了对QACVR的第一 CPU和第二 CPU的时钟容错处理,解决了现有的QACVR上电或下电时存在的时钟跳变问题,提高了第一 CPU和第二 CPU的系统时钟的准确性。
【附图说明】
[0050]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
[0051]图1是本发明实施例一提供的时钟跳变容错处理方法的第一实现流程图;
[0052]图2是本发明实施例二提供的时钟跳变容错处理方法中步骤S104的第一实现流程图;
[0053]图3是本发明实施例三提供的时钟跳变容错处理方法中步骤S104的第二实现流程图;
[0054]图4是本发明实施例四提供的时钟跳变容错处理装置的组成结构图。
【具体实施方式】
[0055]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0056]本发明实施例在驾驶舱语音记录仪QACVR上电初始化的过程中增加了对时钟信息的逻辑比较,通过获取QACVR上一次断电时的时钟信息、第一 CPU的系统时钟信息、第二CPU的系统时钟信息;并根据所述第一 CPU的系统时钟信息和上一次断电时的时钟信息计算第一时钟差,根据所述第二 CPU的系统时钟信息和上一次断电时的时钟信息计算第二时钟差;在所述第一时钟差和第二时钟差满足预设条件时,则按照与所述预设条件对应的方式更新所述第一 CPU的系统时钟和第二 CPU的系统时钟,从而实现了对QACVR的第一 CPU和第二 CPU的时钟容错处理,解决了现有的QACVR上电或下电时存在的时钟跳变问题,提高了第一 CPU和第二 CPU的系统时钟的准确性。本发明实施例还提供了相应的装置,以下分别进行详细的说明。
[0057]实施例一
[0058]图1示出了本发明实施例一提供的时钟跳变容错处理方法的第一实现流程,为了便于说明,仅示出了与本发明相关的部分。
[0059]在本发明实施例中,所述方法应用于QACVR (驾驶舱语音记录仪)。所述QACVR应用于空客飞机或者波音飞机上,包括两个独立工作的CPU。所述QACVR拥有四个录音通道,每个CPU负责两个录音通道的正常工作。本发明实施例提供的时钟跳变容错处理方法基于QACVR的设备特点,使用其内部的两个CPU的时钟信息来进行逻辑比较,以采用相对较准确的时钟。
[0060]如图1所示,所述方法包括:
[0061]在步骤SlOl中,在驾驶舱语音记录仪QACVR上电初始化时,获取QACVR上一次断电的系统时钟信息、第一 CPU的系统时钟信息、第二 CPU的系统时钟信息。
[0062]在本发明实施例中,当飞机掉电后,QACVR无外部供电电源,此时QACVR会通过电压的变化来判定飞机已掉电,获取并保存其本身的实时时钟RTC,并保存已录制的录音文件。在QACVR重新上电初始化的过程中,直接获取上一次断电时所保存的实时时钟RTC,即QACVR上一次断电时的时钟信息,记为T0,并获取第一 CPU的系统时钟信息Tl、第二 CPU的系统时钟信息T2。所述第一 CPU的系统时钟信息Tl为所述第一 CPU内部自带的RTC时钟,所述第二 CPU的系统时钟信息T2为所述第二 CPU内部自带的RTC时钟。
[0063]在步骤S102中,根据所述第一 CPU的系统时钟信息和上一次断电时的时钟信息计算第一时钟差。
[0064]优选地,所述第一时钟差tmpl为所述第一 CPU的系统时钟信息Tl减去上一次断电时的时钟信息T0,即tmpl = Tl-TOo
[0065]在步骤S103中,根据所述第二 CPU的系统时钟信息和上一次断电时的时钟信息计算第二时钟差。
[0066]优选地,所述第二时钟差tmp2为所述第一 CPU的系统时钟信息T2减去上一次断电时的时钟信息T0,即tmp2 = T2-T0。
[0067]在步骤S104中,在所述第一时钟差和第二时钟差满足预设条件时,按照与所述预设条件对应的方式更新所述第一 CPU的系统时钟和第二 CPU的系统时钟。
[0068]在本发明实施例中,所述第一时钟差tmpl为第一 CPU当前的系统时钟信息Tl与上一次断电时的时钟信息TO之间的差值,反应了第一 CPU的时钟是否发生跳变。同理,所述第二时钟差tmp2为第二 CPU当前的系统时钟信息T2与上一次断电时的时钟信息TO之间的差值,反应了第二 CPU的时钟是否发生跳变。本发明实施例结合第一时钟差tmpl和第二时钟差tmp2之间的逻辑比较,在所述第一时钟差tmpl和第二时钟差tmp2满足预设条件时,则按照与所述预设条件对应的方式更新所述第一 CPU和第二 CPU的时钟。其中,所述预设条件为预先根据第一 CPU和第二 CPU的性能特点设定的容错处理方式的判定标准,每一个预设条件有对应的容错处理方式,以使得第一 CPU和第二 CPU容错处理后为相对较准确的时钟。后续实施例将对每一个预设条件及其对应的容错处理方式进行详细的描述,具体请参见后续实施例的描述。
[0069]优选地,所述方法还包括:
[0070]在驾驶舱语音记录仪QACVR上电初始化过程完成后,每当接收到arinc49总线上的时钟,更新所述第一 CPU的系统时钟和所述第二 CPU的系统时钟为所述arinc49总线上的时钟。
[0071]在所述QACVR上电完成后,获取飞机的arinc49总线上的时钟,并根据所述arinc49总线上的时钟更新第一 CPU的系统时钟和第二 CPU的系统时钟,从而使得第一 CPU的系统时钟和第二 CPU的系统时钟分别与arinc总线上的时钟保持同步,及时地解决了所述QACVR上的时钟跳变问题。
[0072]本发明实施例在驾驶舱语音记录仪QACVR上电初始化的过程中增加了对时钟信息的逻辑比较,通过获取QACVR上一次断电时的时钟信息、第一 CPU的系统时钟信息、第二CPU的系统时钟信息;并根据所述第一 CPU的系统时钟信息和上一次断电时的时钟信息计算第一时钟差,根据所述第二 CPU的系统时钟信息和上一次断电时的时钟信息计算第二时钟差;在所述第一时钟差和第二时钟差满足预设条件时,则按照与所述预设条件对应的方式更新所述第一 CPU和第二 CPU的系统时钟,从而实现了对QACVR的第一 CPU和第二 CPU的时钟容错处理,解决了现有的QACVR上电或下电时存在的时钟跳变问题,提高了第一 CPU和第二 CPU的系统时钟的准确性。
[0073]实施例二
[0074]图2示出了本发明实施例二提供的时钟跳变容错处理方法中步骤S104的第一实现流程,为了便于说明,仅示出了与本发明相关的部分。
[0075]在本发明实施例中,所述预设条件为所述第二时钟差tmp2大于零且第一时钟差tmpl与第二时钟差tmp2的差值大于预设时间阈值。所述预设时间阈值为第一 CPU与第二CPU的时钟差最大值。
[0076]步骤S104具体包括:
[0077]在步骤S201中,判断所述第二时钟差是否大于零。
[0078]在本发明实施例中,在所述第二时钟差大于零时,执行步骤S202。
[0079]在步骤S202中,计算第一时钟差与预设时间阈值之间的差值。
[0080]假设所述预设时间阈值为△ t,则所述第一时钟差与所述预设时间阈值之间的差值为tmpl-Δ t。正常情况下QACVR的MCUl和MCU2的时钟差不会超过I秒。考虑到余量,选取预设时间阈值为2秒,即Δ t = 2秒。
[0081]在步骤S203中,判断所述第二时钟差是否小于所述差值。
[0082]对所述第二时钟差tmp2与所述差值进行逻辑判断。在所述第二时钟差tmp2和所述差值满足所述第二时钟差小于所述差值时,执行步骤S204。
[0083]在本发明实施例中,通过判断所述第二时钟差tmp2获知所述第二时钟差tmp2小于所述差值且所述第二时钟差tmp2大于零时,判定所述第一 CPU的时钟发生跳变,而第二CPU的时钟未发生跳变,则执行步骤S204。
[0084]在步骤S204中,更新所述第一 CPU的系统时钟为所述第二 CPU的系统时钟。
[0085]所述第二 CPU的时钟未发生跳变,而第一 CPU的时钟发生了跳变,则第二 CPU的系统时钟信息为相对较准确的时钟信息,采用所述第二 CPU的系统时钟更新所述第一 CPU的系统时钟。
[0086]示例性地,假设上次掉电的时间为2014年12月5日12:00,上电时第二CPU的系统时钟信息为2014年12月5日12:01,第一 CPU的系统时钟信息为2014年12月5日12:30,此时,第一时钟差tmpl为30秒,第二时钟差tmp2为I秒,预设时间阈值Δ t为2秒,则可以明显地得到tmp2>0且tmp2〈tmpl- Δ t,可以判定第一 CPU发生了时钟跳变,而第二 CPU未发生时钟跳变,采用第二 CPU的系统时钟信息更新所述第一 CPU的系统时钟,从而完成了对第一 CPU和第二 CPU时钟跳变的容错处理。
[0087]实施例三
[0088]图3示出了本发明实施例三提供的时钟跳变容错处理方法中步骤S104的第二实现流程,为了便于说明,仅示出了与本发明相关的部分。
[0089]在本发明实施例中,所述预设条件为第一时钟差tmpl小于零且第二时钟差tmp2大于零或者第一时钟差tmpl小于零且第二时钟差tmp2小于零。
[0090]如图3所示,步骤S104包括:
[0091]在步骤S301中,判断所述第一时钟差是否小于零。
[0092]在本发明实施例中,若第一时钟差tmpl小于零,则判定第一 CPU发生了时钟跳变,且第一 CPU的时钟跳变到上一次断电之前的时钟。继续执行步骤S302。
[0093]在步骤S302中,判断所述第二时钟差是否大于零。
[0094]在所述第二时钟差大于零时,判定第二 CPU的时钟未发生跳变,第二 CPU的时钟相对于第一 CPU的时钟来说更准确,则执行步骤S303 ;否则,执行步骤S304。
[0095]在步骤S303中,更新所述第一 CPU的系统时钟为所述第二 CPU的系统时钟。
[0096]在步骤S304中,判断所述第二时钟差是否小于零。
[0097]在本发明实施例中,若所述第二时钟差tmp2小于零,则判定第二 CPU发生了时钟跳变,且第二 CPU的时钟跳变到上一次断电之前的时钟。此时,第一 CPU和第二 CPU均发生了跳变,则执行步骤S305。
[0098]在步骤S305中,更新所述第一 CPU的系统时钟和所述第二 CPU的系统时钟为QACVR上一次断电时的时钟信息。
[0099]通过上述步骤,在驾驶舱语音记录仪QACVR上电初始化的过程中增加对时钟信息的逻辑比较,实现了 QACVR上电初始化时对第一 CPU和第二 CPU的时钟容错处理,使得第一CPU和第二CPU的时钟更新为相对较准确的时钟信息,解决了现有的QACVR上电或下电时存在的时钟跳变问题。
[0100]应理解,在本发明实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定。本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,而不应对本发明实施例的实施过程构成任何限定。
[0101]实施例四
[0102]图4示出了本发明实施例四提供的时钟跳变容错处理装置的组成结构,为了便于说明,仅示出了与本发明相关的部分。
[0103]在本发明实施例中,所述装置用于实现图1至图3实施例所述的时钟跳变容错处理方法,可以为设置于QACVR(驾驶舱语音记录仪)的软件单元、硬件单元或者软硬件结合的单元。所述QACVR应用于空客飞机或者波音飞机上,包括两个独立工作的CPU。
[0104]如图4所示,所述装置包括:
[0105]获取模块41,用于在驾驶舱语音记录仪QACVR上电初始化时,获取QACVR上一次断电时的时钟信息、第一 CPU的系统时钟信息、第二 CPU的系统时钟信息;
[0106]第一计算模块42,用于根据所述第一 CPU的系统时钟信息和上一次断电时的时钟ig息计算第一时钟差;
[0107]第二计算模块43,用于根据所述第二 CPU的系统时钟信息和上一次断电时的时钟ig息计算第二时钟差;
[0108]第一更新模块44,用于在所述第一时钟差和第二时钟差满足预设条件时,按照与所述预设条件对应的方式更新所述第一 CPU的系统时钟和第二 CPU的系统时钟。
[0109]优选地,所述预设条件为第二时钟差大于零且第二时钟差小于第一时钟差与预设时间阈值的差值;
[0110]所述第一更新模块44包括:
[0111]所述第一更新模块包括:
[0112]第一判断单元441,用于判断所述第二时钟差是否大于零;
[0113]第二判断单元442,用于在所述第一判断单元的判断结果为是时,计算所述第一时钟差与预设时间阈值之间的差值,并判断所述第二时钟差是否小于所述差值;
[0114]第一更新单元443,用于在所述所述第二判断单元的判断结果为是时,更新所述第一 CPU的系统时钟为所述第二 CPU的系统时钟;
[0115]所述预设时间阈值为第一 CPU与第二 CPU的时钟差最大值。
[0116]优选地,所述预设条件为第一时钟差小于零且第二时钟差大于零;
[0117]所述第一更新模块44包括:
[0118]第三判断单元444,用于判断所述第二时钟差是否大于零,并在所述第二时钟差大于零时,判断所述第一时钟差是否小于零;
[0119]第二更新单元445,用于在所述第一时钟差小于零且第二时钟差大于零时,更新所述第一 CPU的系统时钟为所述第二 CPU的系统时钟。
[0120]进一步地,所述预设条件为第一时钟差小于零且第二时钟差小于零;
[0121]所述第一更新模块44包括:
[0122]第四判断单元446,用于判断所述第一时钟差是否小于零,并在所述第一时钟差小于零时,判断所述第二时钟差是否小于零;
[0123]第三更新单元447,用于在所述第一时钟差小于零且第二时钟差小于零时,更新所述第一 CPU的系统时钟和所述第二 CPU的系统时钟为QACVR上一次断电时的时钟信息。
[0124]优选地,所述装置还包括:
[0125]第二更新模块45,用于在驾驶舱语音记录仪QACVR上电初始化过程完成后,每当接收到arinc49总线上的时钟,更新所述第一 CPU的系统时钟和所述第二 CPU的系统时钟为所述arinc49总线上的时钟。
[0126]需要说明的是,本发明实施例中的装置可以用于实现上述方法实施例中的全部技术方案,其各个功能模块的功能可以根据上述方法实施例中的方法具体实现,其具体实现过程可参照上述实施例中的相关描述,此处不再赘述。
[0127]本发明实施例在驾驶舱语音记录仪QACVR上电初始化的过程中增加了对时钟信息的逻辑比较,通过获取QACVR上一次断电时的时钟信息、第一 CPU的系统时钟信息、第二CPU的系统时钟信息;并根据所述第一 CPU的系统时钟信息和上一次断电时的时钟信息计算第一时钟差,根据所述第二 CPU的系统时钟信息和上一次断电时的时钟信息计算第二时钟差;在所述第一时钟差和第二时钟差满足预设条件时,则按照与所述预设条件对应的方式更新所述第一 CPU和第二 CPU的系统时钟,从而实现了对QACVR的第一 CPU和第二 CPU的时钟容错处理,解决了现有的QACVR上电或下电时存在的时钟跳变问题,提高了第一 CPU和第二 CPU的系统时钟的准确性。
[0128]本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0129]所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0130]在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0131]所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0132]另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0133]所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0134]以上所述,仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
【主权项】
1.一种时钟跳变容错处理方法,其特征在于,应用于具有双CPU的驾驶舱语音记录仪QACVR,所述方法包括: 在驾驶舱语音记录仪QACVR上电初始化时,获取所述QACVR上一次断电时的时钟信息、第一 CPU的系统时钟信息、第二 CPU的系统时钟信息; 根据所述第一 CPU的系统时钟信息和上一次断电时的时钟信息计算第一时钟差;根据所述第二 CPU的系统时钟信息和上一次断电时的时钟信息计算第二时钟差;在所述第一时钟差和第二时钟差满足预设条件时,按照与所述预设条件对应的方式更新所述第一 CPU的系统时钟和第二 CPU的系统时钟。2.如权利要求1所述的时钟跳变容错处理方法,其特征在于,所述预设条件为第二时钟差大于零且第二时钟差小于第一时钟差与预设时间阈值的差值; 所述在所述第一时钟差和第二时钟差满足预设条件时,按照与所述预设条件对应的方式更新所述第一 CPU的系统时钟和第二 CPU的系统时钟包括: 判断所述第二时钟差是否大于零; 在所述第二时钟差大于零时,计算所述第一时钟差与预设时间阈值之间的差值; 判断所述第二时钟差是否小于所述差值; 在所述第二时钟差小于所述差值时,更新所述第一 CPU的系统时钟为所述第二 CPU的系统时钟; 所述预设时间阈值为第一 CPU与第二 CPU的时钟差最大值。3.如权利要求1所述的时钟跳变容错处理方法,其特征在于,所述预设条件为第二时钟差大于零且第一时钟差小于零; 所述在所述第一时钟差和第二时钟差满足预设条件时,按照与所述预设条件对应的方式更新所述第一 CPU的系统时钟和第二 CPU的系统时钟包括: 判断所述第二时钟差是否大于零; 在所述第二时钟差大于零时,判断所述第一时钟差是否小于零; 在所述第一时钟差小于零时,更新所述第一 CPU的系统时钟为所述第二 CPU的系统时钟。4.如权利要求1所述的时钟跳变容错处理方法,其特征在于,所述预设条件为第一时钟差小于零且第二时钟差小于零; 所述在所述第一时钟差和第二时钟差满足预设条件时,按照与所述预设条件对应的方式更新所述第一 CPU的系统时钟和第二 CPU的系统时钟包括: 判断所述第一时钟差是否小于零; 在所述第一时钟差小于零时,判断所述第二时钟差是否小于零; 在所述第二时钟差小于零时,更新所述第一 CPU的系统时钟和所述第二 CPU的系统时钟为所述QACVR上一次断电时的时钟信息。5.如权利要求1所述的时钟跳变容错处理方法,其特征在于,所述方法还包括: 在驾驶舱语音记录仪QACVR上电初始化过程完成后,每当接收到arinc49总线上的时钟,更新所述第一 CPU的系统时钟和所述第二 CPU的系统时钟为所述arinc49总线上的时钟。6.一种时钟跳变容错处理装置,其特征在于,应用于具有双CPU的驾驶舱语音记录仪QACVR,所述装置包括: 获取模块,用于在驾驶舱语音记录仪QACVR上电初始化时,获取所述QACVR上一次断电时的时钟信息、第一 CPU的系统时钟信息、第二 CPU的系统时钟信息; 第一计算模块,用于根据所述第一 CPU的系统时钟信息和上一次断电时的时钟信息计算第一时钟差; 第二计算模块,用于根据所述第二 CPU的系统时钟信息和上一次断电时的时钟信息计算第二时钟差; 第一更新模块,用于在所述第一时钟差和第二时钟差满足预设条件时,按照与所述预设条件对应的方式更新所述第一 CPU的系统时钟和第二 CPU的系统时钟。7.如权利要求6所述的时钟跳变容错处理装置,其特征在于,所述预设条件为第二时钟差大于零且第二时钟差小于第一时钟差与预设时间阈值的差值; 所述第一更新模块包括: 第一判断单元,用于判断所述第二时钟差是否大于零; 第二判断单元,用于在所述第一判断单元的判断结果为是时,计算所述第一时钟差与预设时间阈值之间的差值,并判断所述第二时钟差是否小于所述差值; 第一更新单元,用于在所述第二判断单元的判断结果为是时,更新所述第一 CPU的系统时钟为所述第二 CPU的系统时钟; 所述预设时间阈值为第一 CPU与第二 CPU的时钟差最大值。8.如权利要求6所述的时钟跳变容错处理装置,其特征在于,所述预设条件为第一时钟差小于零且第二时钟差大于零; 所述第一更新模块包括: 第三判断单元,用于判断所述第二时钟差是否大于零,并在所述第二时钟差大于零时,判断所述第一时钟差是否小于零; 第二更新单元,用于在所述第二时钟差大于零且第一时钟差小于零时,更新所述第一CPU的系统时钟为所述第二 CPU的系统时钟。9.如权利要求6所述的时钟跳变容错处理装置,其特征在于,所述预设条件为第一时钟差小于零且第二时钟差小于零; 所述第一更新模块包括: 第四判断单元,用于判断所述第一时钟差是否小于零,并在所述第一时钟差小于零时,判断所述第二时钟差是否小于零; 第三更新单元,用于在所述第一时钟差小于零且第二时钟差小于零时,更新所述第一CPU的系统时钟和所述第二 CPU的系统时钟为所述QACVR上一次断电时的时钟信息。10.如权利要求6所述的时钟跳变容错处理装置,其特征在于,所述装置还包括: 第二更新模块,用于在驾驶舱语音记录仪QACVR上电初始化过程完成后,每当接收到arinc49总线上的时钟,更新所述第一 CPU的系统时钟和所述第二 CPU的系统时钟为所述arinc49总线上的时钟。
【文档编号】G06F11/00GK106033376SQ201510126523
【公开日】2016年10月19日
【申请日】2015年3月20日
【发明人】余贤沐, 周平华, 蔡朝阳, 林帆, 喻建黎
【申请人】深圳市航电技术研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1