掌桥专利:专业的专利平台
掌桥专利
首页

技术领域

本申请涉及时钟同步技术领域,尤其涉及一种SoC双核系统时钟同步方法及装置。

背景技术

随着配电网的飞速发展,对运行设备实时检测的能力和保护自动化设备运行的可靠性有了更加严格的要求,片上系统(System on Chip)双核系统中集成了两个ARM处理器与FPGA,数据交换在芯片内部完成,协同高效工作,能够有效提高数据交换的可靠性,降低单板复杂度,减小功耗。

目前,配电自动化终端大都采用时钟芯片进行时钟守时,双核的核一为管理核,在操作系统上运行,负责与主站数据交互及高级应用;核二为实时核,负责处理高实时任务。系统中进行标准化守时精度测试时需要获取管理核时钟,但RTC时钟芯片运行在实时核,管理核只有软时钟,停电重启后管理核的系统时钟无法停电保存,因此无法满足配电终端产品的守时精度要求。

发明内容

本申请提供了一种SoC双核系统时钟同步方法及装置,用于解决现有技术中管理核在时钟重启后无法保存系统时钟,导致产品守时精度受到影响的技术问题。

有鉴于此,本申请第一方面提供了一种SoC双核系统时钟同步方法,包括:

在实时核开启中断时,通过所述实时核将第一系统时钟以及校验信息发送至共享内存中,同时设置第一时钟同步标志;

在管理核定时检测到所述共享内存中存在所述第一时钟同步标志时,通过所述管理核获取所述共享内存中的所述第一系统时钟和所述校验信息;

在根据所述校验信息对所述第一系统时钟进行反校验通过后,采用所述第一系统时钟更新所述管理核的时钟数据,实现时钟同步。

可选的,所述在实时核开启中断时,通过所述实时核将第一系统时钟以及校验信息发送至共享内存中,同时设置第一时钟同步标志,之前还包括:

通过所述管理核对接收到主站的主站时钟的格式进行格式校验完成后,将所述主站时钟存储在所述共享内存中,同时设置第二时钟同步标志;

在所述实时核定时检测到所述共享内存中存在第二时钟同步标志时,通过所述实时核获取所述共享内存中的主站时钟;

采用所述主站时钟更新所述实时核的时钟数据,实现下发时钟同步。

可选的,所述在实时核开启中断时,通过所述实时核将第一系统时钟以及校验信息发送至共享内存中,同时设置第一时钟同步标志,之前还包括:

在SoC双核系统上电后,分别对所述管理核和所述实时核进行初始系统时钟设置。

可选的,所述在SoC双核系统上电后,分别对所述管理核和所述实时核进行初始系统时钟设置,包括:

通过所述实时核将在RTC芯片上获取到的RTC时钟发送至所述共享内存,使得所述管理核根据在所述共享内存中获取的所述RTC时钟进行初始系统时钟设置,得到第一初始系统时钟,所述实时核以所述RTC时钟为第二初始系统时钟。

可选的,所述通过所述实时核将在RTC芯片上获取到的RTC时钟发送至所述共享内存,还包括:

若所述实时核在所述RTC芯片上获取所述RTC时钟失败,则所述管理核以所述共享内存中经过所述实时核维护后的Linux系统时钟作为所述第一初始系统时钟,所述实时核以所述共享内存中的Linux系统时钟作为第二初始系统时钟。

本申请第二方面提供了一种SoC双核系统时钟同步装置,包括:

共享存储模块,用于在实时核开启中断时,通过所述实时核将第一系统时钟以及校验信息发送至共享内存中,同时设置第一时钟同步标志;

第一时钟获取模块,用于在管理核定时检测到所述共享内存中存在所述第一时钟同步标志时,通过所述管理核获取所述共享内存中的所述第一系统时钟和所述校验信息;

校验更新模块,用于在根据所述校验信息对所述第一系统时钟进行反校验通过后,采用所述第一系统时钟更新所述管理核的时钟数据,实现时钟同步。

可选的,还包括:

主站对时模块,用于通过所述管理核对接收到主站的主站时钟的格式进行格式校验完成后,将所述主站时钟存储在所述共享内存中,同时设置第二时钟同步标志;

第二时钟获取模块,在所述实时核定时检测到所述共享内存中存在第二时钟同步标志时,通过所述实时核获取所述共享内存中的主站时钟;

更新时钟模块,用于采用所述主站时钟更新所述实时核的时钟数据,实现下发时钟同步。

可选的,还包括:

初始化模块,用于在SoC双核系统上电后,分别对所述管理核和所述实时核进行初始系统时钟设置。

可选的,所述初始化模块具体用于:

通过所述实时核将在RTC芯片上获取到的RTC时钟发送至所述共享内存,使得所述管理核根据在所述共享内存中获取的所述RTC时钟进行初始系统时钟设置,得到第一初始系统时钟,所述实时核以所述RTC时钟为第二初始系统时钟。

可选的,还包括:

获取失败模块,用于若所述实时核在所述RTC芯片上获取所述RTC时钟失败,则所述管理核以所述共享内存中经过所述实时核维护后的Linux系统时钟作为所述第一初始系统时钟,所述实时核以所述共享内存中的Linux系统时钟作为第二初始系统时钟。

从以上技术方案可以看出,本申请实施例具有以下优点:

本申请中,提供了一种SoC双核系统时钟同步方法,包括:在实时核开启中断时,通过实时核将第一系统时钟以及校验信息发送至共享内存中,同时设置第一时钟同步标志;在管理核定时检测到共享内存中存在第一时钟同步标志时,通过管理核获取共享内存中的第一系统时钟和校验信息;在根据校验信息对第一系统时钟进行反校验通过后,采用第一系统时钟更新管理核的时钟数据,实现时钟同步。

本申请提供的SoC双核系统时钟同步方法,在管理核与实时核之间配置一个共享内存,通过共享内存存储实时核中的系统时钟,由管理核获取该系统时钟,并完成自身的时钟数据更新,避免了管理核因停电重启导致的时钟不同步的情况,通过实时核与管理核的时钟同步的方式保证SoC双核系统的时钟均来自实时核,通过校验的方式确保SoC双核系统的守时精度。因此,本申请能够解决现有技术中管理核在时钟重启后无法保存系统时钟,导致产品守时精度受到影响的技术问题。

附图说明

图1为本申请实施例提供的一种SoC双核系统时钟同步方法的一个流程示意图;

图2为本申请实施例提供的一种SoC双核系统时钟同步方法的另一个流程示意图;

图3为本申请实施例提供的一种SoC双核系统时钟同步装置的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

为了便于理解,请参阅图1,本申请提供的一种SoC双核系统时钟同步方法的实施例一,包括:

步骤101、在实时核开启中断时,通过实时核将第一系统时钟以及校验信息发送至共享内存中,同时设置第一时钟同步标志。

共享内存是实时核与管理核均可以访问的内存,可以根据需要提前设置,主要用于存储时钟同步过程中的时钟,相关标志等信息。校验信息不仅包括实时核对第一系统时钟校验得到的信息,还包括校验方式信息,便于管理核反校验并验证。时钟同步标志根据是否完成同步而提供不同状态,从而确认时钟是否已经被管理核获取并完成时钟同步操作。

实时核开启中断时,管理核中的软时钟无法保存,实时核将此时的第一系统时钟发送至共享内存中,并设置好第一时钟同步标志,用于提示管理核作时钟同步操作。

步骤102、在管理核定时检测到共享内存中存在第一时钟同步标志时,通过管理核获取共享内存中的第一系统时钟和校验信息。

管理核实时检测到共享内存中的第一时钟同步标志是未同步状态,则获取共享内存中的第一系统时钟以及校验信息,为管理核的时钟同步过程获取必要信息。

步骤103、在根据校验信息对第一系统时钟进行反校验通过后,采用第一系统时钟更新管理核的时钟数据,实现时钟同步。

根据校验信息对第一系统时钟进行反校验对时,反校验成功则可以进行管理核时钟的同步操作,以第一系统时钟更新管理核的时钟数据,即可完成同步任务。

时钟同步的意义是守时测试,在主站需要对双核系统进行守时测试时,实时核将授时设备的时钟存在独立的存储点上,管理核通过获取的时钟进行时钟数据更新,实现时钟同步,主站就可以对双核系统进行较为准确的守时测试操作。反校验也能够进一步确保时钟的准确性。

本申请实施例提供的SoC双核系统时钟同步方法,在管理核与实时核之间配置一个共享内存,通过共享内存存储实时核中的系统时钟,由管理核获取该系统时钟,并完成自身的时钟数据更新,避免了管理核因停电重启导致的时钟不同步的情况,通过实时核与管理核的时钟同步的方式保证SoC双核系统的时钟均来自实时核,通过校验的方式确保SoC双核系统的守时精度。因此,本申请实施例能够解决现有技术中管理核在时钟重启后无法保存系统时钟,导致产品守时精度受到影响的技术问题。

以上为本申请提供的一种SoC双核系统时钟同步方法的一个实施例,以下为本申请提供的一种SoC双核系统时钟同步方法的另一个实施例。

为了便于理解,请参阅图2,本申请提供了一种SoC双核系统时钟同步方法的实施例二,包括:

步骤201、在SoC双核系统上电后,分别对管理核和实时核进行初始系统时钟设置。

管理核的时钟主要由实时核提供,初始系统时钟设置过程也不例外,而实时核的时钟由RTC芯片提供,实时核可以从RCT芯片获取到时钟数据,但是若是获取失败,则采用管理核Linux内核中的系统时钟同时更新实时核和RTC芯片的时钟。

进一步地,步骤201包括:

通过实时核将在RTC芯片上获取到的RTC时钟发送至共享内存,使得管理核根据在共享内存中获取的RTC时钟进行初始系统时钟设置,得到第一初始系统时钟,实时核以RTC时钟为第二初始系统时钟。

RTC时钟T

进一步地,还包括:

若实时核在RTC芯片上获取RTC时钟失败,则所述管理核以所述共享内存中经过所述实时核维护后的Linux系统时钟作为所述第一初始系统时钟,所述实时核以所述共享内存中的Linux系统时钟作为第二初始系统时钟。

在实时核获取RCT时钟失败的情况下,管理核会将管理核Linux内核中的系统时钟T

步骤202、通过管理核对接收到主站的主站时钟的格式进行格式校验完成后,将主站时钟存储在共享内存中,同时设置第二时钟同步标志。

当接收到主站时钟对时信号时,首先需要处理解析对时报文帧,获取主站下发的主站时钟T

步骤203、在实时核定时检测到共享内存中存在第二时钟同步标志时,通过实时核获取共享内存中的主站时钟。

实时核也会定时检测共享内存,判断第二时钟同步标志是否处于未完成同步的状态,若是,则获取共享内存中的主站时钟。

步骤204、采用主站时钟更新实时核的时钟数据,实现下发时钟同步。

实时核采用主站时钟更新自身的时钟数据,同时还需要将主站时钟更新值RTC芯片中。

可以理解的是,以上为主站向管理核与实时核的授时过程,在进行实时核到管理核的时钟同步前,管理核与实时核的时钟首先由主站下发一次,然后再由实时核维护这个时钟,达到守时目的。但实际过程中,主站授时并非仅在守时过程之前发生,还可以在守时过程中发生,即在实时核维护管理核时钟的过程中,主站可以不定时的向管理核与实时核下发系统时钟,更新管理核、实时核与RTC芯片中的时钟,具体过程与上述操作类似,在此不再赘述。

步骤205、在实时核开启中断时,通过实时核将第一系统时钟以及校验信息发送至共享内存中,同时设置第一时钟同步标志。

步骤206、在管理核定时检测到共享内存中存在第一时钟同步标志时,通过管理核获取共享内存中的第一系统时钟和校验信息。

步骤207、在根据校验信息对第一系统时钟进行反校验通过后,采用第一系统时钟更新管理核的时钟数据,实现时钟同步。

步骤205-步骤207的详细过程请参阅步骤101-步骤103,需要说明的是,实时核是定时开启中断,开启中断时,实时核需要当前系统时钟,即第一系统时钟的走时,所以实时核将第一系统时钟写入共享内存中,同时设置对应的同步标志。管理核首先也会检测同步标志,并判断是否需要进行同步操作,若是,则读取第一系统时钟以及校验信息,校验过后再执行本地时钟同步操作,即更新管理核时钟数据。

时钟同步操作是为了进行守时测试,以授时设备为基准,使授时设备与被测设备同时触发一个外部硬接点,获取两个设备的时钟,进行时钟对比得到时钟误差即可;具体操作过程可以通过现有技术实现,在此不再赘述。

以上为本申请提供的一种SoC双核系统时钟同步方法的一个实施例,以下为本申请提供的一种SoC双核系统时钟同步装置的一个实施例。

为了便于理解,请参阅图3,本申请提供了一种SoC双核系统时钟同步装置的实施例,包括:

共享存储模块301,用于在实时核开启中断时,通过实时核将第一系统时钟以及校验信息发送至共享内存中,同时设置第一时钟同步标志;

第一时钟获取模块302,用于在管理核定时检测到共享内存中存在第一时钟同步标志时,通过管理核获取共享内存中的第一系统时钟和校验信息;

校验更新模块303,用于在根据校验信息对第一系统时钟进行反校验通过后,采用第一系统时钟更新管理核的时钟数据,实现时钟同步。

进一步地,还包括:

主站对时模块304,用于通过管理核对接收到主站的主站时钟的格式进行格式校验完成后,将主站时钟存储在共享内存中,同时设置第二时钟同步标志;

第二时钟获取模块305,在实时核定时检测到共享内存中存在第二时钟同步标志时,通过实时核获取共享内存中的主站时钟;

更新时钟模块306,用于采用主站时钟更新实时核的时钟数据,实现下发时钟同步。

进一步地,还包括:

初始化模块307,用于在SoC双核系统上电后,分别对管理核和实时核进行初始系统时钟设置。

进一步地,初始化模块307具体用于:

通过实时核将在RTC芯片上获取到的RTC时钟发送至共享内存,使得管理核根据在共享内存中获取的RTC时钟进行初始系统时钟设置,得到第一初始系统时钟,实时核以RTC时钟为第二初始系统时钟。

进一步地,还包括:

获取失败模块308,用于若实时核在RTC芯片上获取RTC时钟失败,则所述管理核以所述共享内存中经过所述实时核维护后的Linux系统时钟作为所述第一初始系统时钟,所述实时核以所述共享内存中的Linux系统时钟作为第二初始系统时钟。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以通过一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文全称:Read-OnlyMemory,英文缩写:ROM)、随机存取存储器(英文全称:Random Access Memory,英文缩写:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

相关技术
  • 一种SoC双核系统时钟同步方法及装置
  • 一种仿真系统时钟同步方法、装置、设备及存储介质
技术分类

06120112901936