时间同步方法、装置及系统制造方法及图纸

技术编号:30046586 阅读:14 留言:0更新日期:2021-09-15 10:47
一种时间同步方法、装置及系统,该方法包括:预先在各子系统中分别设置相同频率的高频时钟源和低频时钟源;接收第一子系统唤醒后发送的映射关系节点信息,所述映射关系节点信息包括:架构计数器的计数值、空转计数器的计数值、第一子系统启动时间;第二子系统中有事件触发时,获取所述第一子系统的状态、以及所述高频时间源计数器的计数值和所述低频时间源计数器的计数值;根据所述第一子系统的状态确定基准时钟,并根据所述映射关系节点信息中及所述第二子系统中与所述基准时钟相关的计数值确定所述事件的触发时间。利用本发明专利技术,可以实现不同系统间的精准同步。实现不同系统间的精准同步。实现不同系统间的精准同步。

【技术实现步骤摘要】
时间同步方法、装置及系统


[0001]本专利技术涉及时间同步
,具体地涉及一种时间同步方法、装置及系统。

技术介绍

[0002]在性能和功耗敏感的终端芯片领域,SoC(System on Chip,片上系统或称系统级芯片)已占据主导地位,而且其应用正在扩展到更广的领域。在有些应用中,SoC上可能会存在多个不同的子系统,这些子系统各自维护它们的本地时钟,但不同子系统间需要在时间上保持同步。
[0003]在现有技术中,考虑到功耗问题,通常是作为同步基准的子系统采用高精度时钟源,作为被同步的子系统采用低精度时钟源。时间同步通常有两种方式:一种方式是基准子系统定时向待同步的子系统同步时间;另外一种方式是由待同步的子系统定时向基准子系统发送授时请求,以获取基准时间。
[0004]这种方式会存在以下问题:
[0005]1)基准子系统接收到上述授时请求时如果正处在睡眠状态,则会被唤醒,会增加系统功耗;
[0006]2)数据包的传输会有一定的延迟,待同步子接收基准子系统发送的包含当前时间的数据包后,需要对其进行解析,解析出其中包含的时间那一刻,已晚于当前时间,因而无法满足一些需要保持高精度时间同步的应用需求。比如,情境感知应用中,需要AP(Application Processor,应用处理器)与CH(Context Hub,情境感知中枢)两个子系统间保持高精度的时间同步,以便于CH上的传感器获取事件发生的精准时间,完成VR(Virtual Reality,虚拟现实)的需求。
专利技术内
[0007]本专利技术实施例提供一种时间同步方法、装置及系统,以满足不同子系统间高精度的时间同步需求。
[0008]为此,本专利技术实施例提供如下技术方案:
[0009]一种时间同步方法,所述方法包括:
[0010]预先在各子系统中分别设置相同频率的高频时钟源和低频时钟源;第一子系统中的高频时钟源为架构计数器,第一子系统中的低频时钟为空转计数器,并且第一子系统休眠时,所述架构计数器停止计数;第二子系统中的高频时钟源为高频时间源计数器,第二子系统中的低频时钟源为低频时间源计数器;
[0011]接收第一子系统唤醒后发送的映射关系节点信息,所述映射关系节点信息包括:架构计数器的计数值ATC0、空转计数器的计数值SFRT0、第一子系统启动时间T0;
[0012]第二子系统中有事件触发时,获取所述第一子系统的状态、以及所述高频时间源计数器的计数值ATC1和所述低频时间源计数器的计数值SFRT1;
[0013]根据所述第一子系统的状态确定基准时钟,并根据所述映射关系节点信息中及所
述第二子系统中与所述基准时钟相关的计数值确定所述事件的触发时间。
[0014]可选地,所述根据所述第一子系统的状态确定基准时钟,并根据所述映射关系节点信息中及所述第二子系统中与所述基准时钟相关的计数值确定所述事件的触发时间包括:如果所述第一子系统的状态为睡眠状态,则将所述第一子系统中的低频时钟源作为基准时钟,并根据所述映射关系节点信息中的空转计数器的计数值SFRT0和第一子系统启动时间T0、以及所述低频时间源计数器的计数值SFRT1确定所述事件的触发时间;
[0015]如果所述第一子系统的状态为唤醒状态,则将所述第一子系统中的高频时钟源作为基准时钟,并根据所述映射关系节点信息中的架构计数器的计数值ATC0和子系统启动时间T0、以及所述高频时间源计数器的计数值ATC1确定所述事件的触发时间。
[0016]可选地,所述方法还包括:
[0017]设置寄存器组,所述寄存器组包括:第一寄存器、第二寄存器、状态寄存器;所述状态寄存器用于存储指示所述第一子系统的状态的数值;
[0018]在所述事件触发时,触发所述第一寄存器锁存所述高频时间源计数器的计数值ATC1;触发所述第二寄存器锁存所述低频时间源计数器的计数值SFRT1;
[0019]所述获取所述第一子系统的状态包括:
[0020]读取所述状态寄存器的数值,并根据所述状态寄存器的数值确定所述第一子系统的状态;
[0021]所述分别获取所述高频时间源计数器的计数值ATC1和所述低频时间源计数器的计数值SFRT1包括:
[0022]读取所述第一寄存器的数值得到所述高频时间源计数器的计数值ATC1;
[0023]读取所述第二寄存器的数值得到所述低频时间源计数器的计数值SFRT1。
[0024]可选地,所述方法还包括:
[0025]将所述寄存器设置在所述第二子系统中、或者设置在所述第二子系统外的不掉电区域。
[0026]可选地,所述方法还包括:
[0027]预先设置触发方式,所述触发方式包括:电平触发、上升沿或下降沿触发;
[0028]在所述事件触发时,利用预先设置的触发方式触发所述第一寄存器锁存所述高频时间源计数器的计数值ATC1;利用预先设置的触发方式触发所述第二寄存器锁存所述低频时间源计数器的计数值SFRT。
[0029]可选地,所述寄存器组有多个,不同寄存器组对应不同的事件。
[0030]可选地,所述方法还包括:
[0031]在所述事件触发时,设置中断触发标志;
[0032]在读取所述第一寄存器的数值、以及所述第二寄存器的数值后,清除所述中断触发标志;
[0033]在所述中断触发标志被清除前,如果所述事件再次触发,则丢弃所述事件。
[0034]可选地,所述方法还包括:
[0035]使用全局结构体变量存储所述映射关系节点信息。
[0036]可选地,所述第一子系统和所述第二子系统位于同一SoC上。
[0037]一种时间同步装置,所述装置包括:
[0038]节点信息接收模块,用于接收第一子系统唤醒后发送的映射关系节点信息,所述映射关系节点信息包括:架构计数器的计数值ATC0、空转计数器的计数值SFRT0、第一子系统启动时间T0;所述架构计数器和所述空转计数器分别为设置在第一子系统中的高频时钟源和低频时钟源;并且所述第一子系统休眠时,所述架构计数器停止计数,所述第一子系统唤醒时,所述架构计数器继续计数;
[0039]状态获取模块,用于第二子系统中有事件触发时,获取所述第一子系统的状态;
[0040]计数值获取模块,用于所述事件触发时,分别获取所述高频时间源计数器的计数值ATC1和所述低频时间源计数器的计数值SFRT1;所述高频时间源计数器和所述低频时间源计算器分别为设置在第二子系统中的高频时钟源和低频时钟源;所述第二子系统中的高频时钟源与所述第一子系统中的高频时钟源频率相同,所述第二子系统中的低频时钟源与所述第一子系统中的低频时钟源频率相同;
[0041]同步模块,用于根据所述第一子系统的状态确定基准时钟,并根据所述映射关系节点信息中及所述第二子系统中与所述基准时钟相关的计数值确定所述事件的触发时间。
[0042]可选地,所述同步模块,具体用于在所述第一子系本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种时间同步方法,其特征在于,所述方法包括:预先在各子系统中分别设置相同频率的高频时钟源和低频时钟源;第一子系统中的高频时钟源为架构计数器,第一子系统中的低频时钟为空转计数器,并且第一子系统休眠时,所述架构计数器停止计数;第二子系统中的高频时钟源为高频时间源计数器,第二子系统中的低频时钟源为低频时间源计数器;接收第一子系统唤醒后发送的映射关系节点信息,所述映射关系节点信息包括:架构计数器的计数值、空转计数器的计数值、以及第一子系统启动时间;第二子系统中有事件触发时,获取所述第一子系统的状态、以及所述高频时间源计数器的计数值和所述低频时间源计数器的计数值;根据所述第一子系统的状态确定基准时钟,并根据所述映射关系节点信息中及所述第二子系统中与所述基准时钟相关的计数值确定所述事件的触发时间。2.根据权利要求1所述的方法,其特征在于,所述根据所述第一子系统的状态确定基准时钟,并根据所述映射关系节点信息中及所述第二子系统中与所述基准时钟相关的计数值确定所述事件的触发时间包括:如果所述第一子系统的状态为睡眠状态,则将所述第一子系统中的低频时钟源作为基准时钟,并根据所述映射关系节点信息中的空转计数器的计数值和第一子系统启动时间、以及所述低频时间源计数器的计数值确定所述事件的触发时间;如果所述第一子系统的状态为唤醒状态,则将所述第一子系统中的高频时钟源作为基准时钟,并根据所述映射关系节点信息中的架构计数器的计数值和子系统启动时间、以及所述高频时间源计数器的计数值确定所述事件的触发时间。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:设置寄存器组,所述寄存器组包括:第一寄存器、第二寄存器、状态寄存器;所述状态寄存器用于存储指示所述第一子系统的状态的数值;在所述事件触发时,触发所述第一寄存器锁存所述高频时间源计数器的计数值;触发所述第二寄存器锁存所述低频时间源计数器的计数值;所述获取所述第一子系统的状态包括:读取所述状态寄存器的数值,并根据所述状态寄存器的数值确定所述第一子系统的状态;所述分别获取所述高频时间源计数器的计数值和所述低频时间源计数器的计数值包括:读取所述第一寄存器的数值得到所述高频时间源计数器的计数值;读取所述第二寄存器的数值得到所述低频时间源计数器的计数值。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:将所述寄存器设置在所述第二子系统中、或者设置在所述第二子系统外的不掉电区域。5.根据权利要求3所述的方法,其特征在于,所述方法还包括:预先设置触发方式,所述触发方式包括:电平触发、上升沿或下降沿触发;在所述事件触发时,利用预先设置的触发方式触发所述第一寄存器锁存所述高频时间源计数器的计数值;利用预先设置的触发方式触发所述第二寄存器锁存所述低频时间源计
数器的计数值。6.根据权利要求3所述的方法,其特征在于,所述寄存器组有多个,不同寄存器组对应不同的事件。7.根据权利要求3所述的方法,其特征在于,所述方法还包括:在所述事件触发时,设置中断触发标志;在读取所述第一寄存器的数值、以及所述第二寄存器的数值后,清除所述中断触发标志;在所述中断触发标志被清除前,如果所述事件再次触发,则丢弃所述事件。8.根据权利要求1至7任一项所述的方法,其特征在于,所述方法还包括:使用全局结构体变量存储所述映射关系节点信息。9.根据权利要求1至7任一项所述的方法,其特征在于,所述第一子系统和所述第二子系统位于同一SoC上。10.一种时间同步装置,其特征在于,所述装置包括:节点信息接收模块,用于接收第一子系统唤醒后发送的映射关系节点信息,所述映射关系节点信息包括:架构计数器的计数值、空转计数器的计数值、第一子系统启动时间;所述架构计数器和所述空转计数器分别为设置在第一子系统中的高频时钟源和低频时钟源;并且所述第一子系统休眠时,所述架构计数器停止计数,所述第一子系统唤醒时,所述架构计数器继续计数;状态获取模块,用于第二子系统中有事件触发时,获取所述第一子系统的状态;计数值获取模块,用于所述事件触发时,分别获取所述高频时间源计数器的计数值和所述低频时间源计数器的计数值;所述高频时间源计数器和所述低频时间源计算器分别为设置在第二子系...

【专利技术属性】
技术研发人员:张瑞峰柏年福
申请(专利权)人:北京紫光展锐通信技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1