CN114791896A - 片上系统中的时域同步 - Google Patents

片上系统中的时域同步 Download PDF

Info

Publication number
CN114791896A
CN114791896A CN202210087343.0A CN202210087343A CN114791896A CN 114791896 A CN114791896 A CN 114791896A CN 202210087343 A CN202210087343 A CN 202210087343A CN 114791896 A CN114791896 A CN 114791896A
Authority
CN
China
Prior art keywords
time domain
trigger event
current timestamp
time
synchronization module
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.)
Pending
Application number
CN202210087343.0A
Other languages
English (en)
Inventor
V·昂德
D·埃姆斯利
P·瓦尔德奈雷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Italian Semiconductor (grenoble 2) Co
STMicroelectronics Rousset SAS
Original Assignee
Italian Semiconductor (grenoble 2) Co
STMicroelectronics Rousset SAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from FR2100697A external-priority patent/FR3119287B1/fr
Application filed by Italian Semiconductor (grenoble 2) Co, STMicroelectronics Rousset SAS filed Critical Italian Semiconductor (grenoble 2) Co
Publication of CN114791896A publication Critical patent/CN114791896A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0008Synchronisation information channels, e.g. clock distribution lines
    • H04L7/0012Synchronisation information channels, e.g. clock distribution lines by comparing receiver clock with transmitter clock
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0685Clock or time synchronisation in a node; Intranode synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/14Time supervision arrangements, e.g. real time clock
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Mathematical Physics (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

本公开涉及片上系统中的时域同步。一种用于使片上系统的第一时域与第二时域同步的方法,该方法包括:检测在第一时域、第二时域或第三时域中生成的至少一个周期性触发事件;在至少一个触发事件的瞬间,获取表示除触发时域之外的时域的瞬时状态的当前时间戳值;在第三时域中,对分别连续获得的当前时间戳值之间的差分持续时间进行比较;以及基于比较使第二时域与第一时域同步。

Description

片上系统中的时域同步
相关申请的交叉引用
本申请要求于2021年1月26日提交的第2100697号法国申请的权益,其通过引用结合于此。
技术领域
实施例和实施方式涉及片上系统,具体涉及片上系统中的时域同步。
背景技术
在包括多个微处理器或微控制器的电子设备中,它们之间必须共享一个共同的时间视角。
片上系统通常被指定为嵌入在同一集成电路中的系统,集成电路包括微处理器或微控制器和其他设备,例如至少一个通信接口。
共享时间可以是全局时间,即例如由真实日期产生的绝对时间,也可以是局部时间,称为网络时间,不一定具有绝对参考,但对网络的所有元素来说是相同的。
交换的时间信息必须是精确的,例如小于微秒的水平,并且是同步的,以便分布式过程可以同时启动,例如,机器人的多轴运动控制。
时间信息的共享通过通信接口完成,例如外围组件互连高速“PCIe”接口或通常称为“以太网”的有线网络接口。PCIe和以太网接口是本领域技术人员所熟知的。
通信接口通常用于在特定的通信协议下操作,并且通信协议可以提供特定的时间信息共享。
因此,每个通信接口通常适用于特定的时间共享协议,并且这被称为“时域”,用于由片上系统的不同通信接口获得的不同时间视角。
具体地,PCIe接口根据称为精确时间测量(通常为“PTM”)的过程提供共享时间信息,其中称为根复合体(通常为“RC”)的“主”设备共享公共时钟的时间信息,在该公共时钟上,称为端点(通常为“EP”)的“从”设备同步;并且,以太网接口根据称为精确时间协议(通常为“PTP”)过程提供共享时间信息,以便在端点之间共享公共时钟。
共享时间信息可以根据所使用的通信协议不同地编码,例如,PTM协议可以提供由以250MHz递增的64位二进制字编码的时钟,而PTP协议可以提供在32位上代表纳秒的数字值,以及提供在32位上代表秒的数字值。
用于共享时间信息和同步片上系统的传统技术存在困难,因为所使用的时域可能由不同的协议约束,并且彼此不直接兼容,例如,PCIe接口的PTM协议和以太网接口的PTP协议。
此外,希望不在通信接口中引入变化,因为它们通常需要与由标准或共识限定的第三方设备兼容。
因此,需要能够在同一片上系统中同步不同的时域。
发明内容
根据一个方面,提供了一种用于使第一设备的第一时域与第二设备的第二时域同步的方法。该方法包括检测在从第一时域、第二时域和第三设备的第三时域中选择的至少一个触发时域中生成的至少一个周期性触发事件。该方法包括在检测至少一个触发事件的瞬间,获取表示除至少一个触发时域之外的第一时域、第二时域和第三时域的瞬时状态的当前时间戳值。该方法包括在第三时域中,对分别连续获取的当前时间戳值之间的差分持续时间进行比较。方法包括基于比较将第二时域与第一时域同步。
换句话说,根据该方面的方法使用第三时域作为中间者,以便测量在第一时域的视角和第二时域的视角之间的时间流逝中的可能偏移,这两个视角潜在地彼此不直接可比。
实际上,将时域的两个时间戳值之间的逝去时间与两个触发事件之间的第三时域中的逝去持续时间进行比较,或者与至少一个其他时域的两个时间戳值之间的逝去持续时间进行比较,允许存在关于两个考虑域之间的时间的逝去速度差异的信息,即在提供时间戳值的时域和提供触发事件的时域之间,或者在由触发事件限定的时刻提供时间戳值的两个时域之间。
此外,根据该方面的方法不对第一时域或第二时域的元素引入任何功能或结构修改,而是有利地使用通常提供的时间戳信息,以从第三方第三时域同步这些时域。
例如,当前时间戳值的获取可以在检测相同周期性触发事件的相同时刻进行,或者在检测各种周期性触发事件的不同时刻进行。
根据一个实施方式,第一时域由外围组件互连高速“PCIe”接口的精确时间测量“PTM”协议限定,第二时域由网络接口“以太网”的精确时间协议“PTP”限定,第三时域由适于软件操作的自由运行本地时钟进行时钟控制。
实际上,考虑到PCIe和以太网接口通常被使用并且因此非常广泛,在使用由PTM限定的时域和由PTP限定的时域的传统片上系统中尤其存在一个问题。
因此,这种实施方式允许解决这个特定的和传统上非常普遍的问题。
根据一个实施方式,至少一个触发时域包括第一时域,并且当在表示第一时域的瞬时状态的当前时间戳值的至少一个位的转变上验证条件时,在第一时域中产生的至少一个触发事件发生,当前时间戳值的每个位在时间戳总线的专用信道上被传送。
一方面,触发事件可以通过时间戳总线的位的组合来调节,这允许构造具有周期性的“复杂”触发事件,这种周期性在通过时间戳总线的信号中是不可用的。例如,这可以允许在第三时域中为特定处理构造优化周期。
另一方面,应该注意,在时间戳总线的专用信道上的当前时间戳值的每一位的传送具体由使用PTM的PCIe接口使用。
根据一个实施方式,至少一个触发时域不包括第一时域,表示第一时域的瞬时状态的当前时间戳值的每个位在时间戳总线的专用信道上传送,并且获取表示第一时域的瞬时状态的当前值包括用时间戳总线的每个信道上存在的位来加载锁存器,在检测到至少一个周期性触发事件的瞬间控制锁存器的加载。
这里再次注意,在时间戳总线的专用信道上的当前时间戳值的每个位的传送具体由使用PTM的PCIe接口使用,并且该实施方式允许简单地检索第一时域的当前时间戳值,而不修改第一时域的结构或操作。
根据一个实施方式,至少一个触发时域包括第二时域,并且当在第二时域中产生周期性信号时,检测到在第二时域中产生的至少一个触发事件。
因此,在至少一个时域包括第一时域和第二时域两者的情况下,该方法包括在检测来自第一时域的第一触发事件的瞬间和分别在检测来自第二时域的第二触发事件的瞬间,获取表示第三时域的瞬时状态的第一当前时间戳值和分别获取第二当前时间戳值。在第一当前时间戳值之间的差分持续时间与第二当前时间戳值之间的差分持续时间之间进行比较。
并且,在至少一个第二时域仅包括第二时域的情况下,该方法包括在检测来自第二时域的第二触发事件的瞬间,获取表示第一时域的瞬时状态的当前时间戳值以及获取表示第三时域的瞬时状态的当前时间戳值。在各个当前时间戳值之间的差分持续时间之间进行比较。
根据另一方面,例如提供了一种用于以集成方式并入片上系统中的系统,包括:第一设备,包括被配置为具有代表第一时域的瞬时状态的当前时间戳值的第一计数器;第二设备,包括被配置为具有代表第二时域的瞬时状态的当前时间戳值的第二计数器;以及第三设备,包括被配置为对第三时域进行时钟控制的本地时钟生成器。第三设备包括同步模块,同步模块被配置为检测在从第一时域、第二时域和第三时域中选择的至少一个触发时域中生成的至少一个周期性触发事件。同步模块被配置为在检测到至少一个触发事件的瞬间,获取表示除至少一个触发时域之外的第一时域、第二时域和第三时域的当前时间戳值。同步模块被配置为比较分别连续获取的当前时间戳值之间的差分持续时间。同步模块被配置为基于比较来产生适于使第二时域与第一时域同步的控制。
同步模块可以被配置为在相同触发事件的相同检测瞬间,或者在不同触发事件的不同检测瞬间获取当前时间戳值。
根据一个实施例,第一设备包括被配置为通过精确时间测量“PTM”协议限定第一时域的外围组件互连高速“PCIe”接口,第二设备包括被配置为通过精确时间协议“PTP”限定第二时域的网络接口“以太网”,以及第三设备的本地时钟生成器适合于对软件操作进行时钟控制。
根据一个实施例,至少一个触发时域包括第一时域,第一计数器被配置为在时间戳总线的专用信道上传送当前时间戳值的每个位,并且同步模块被配置为当在时间戳总线的各个信道上的至少一个位的转变上验证了条件时,检测在第一时域中生成的至少一个触发事件。
根据一个实施例,至少一个触发时域不包括第一时域,第一计数器被配置为在时间戳总线的专用信道上传送当前时间戳值的每个位,并且同步模块包括时间戳总线上的锁存器,并被配置为通过在至少一个触发事件的瞬间利用存在于时间戳总线的每个信道上的位,控制锁存器的加载,来获取表示第一时域的瞬时状态的当前值。
根据一个实施例,至少一个触发时域包括第二时域(可选地除了第一时域之外),并且同步模块被配置为当在第二时域中产生周期性信号时,检测在第二时域中生成的至少一个触发事件。
附图说明
本发明的其他优点和特征将在检查实施方式和实施例的详细描述以及附图时变得显而易见,这些实施方式和实施例绝不是限制性的,其中:
图1A示出了SoC系统的第一替代方案;
图1B示出了SoC系统的第二替代方案;
图1C示出了SoC系统的第三替代方案;
图1D示出了SoC系统的第四替代方案;
图2示出了实施例的片上系统;
图3是示出第一时间域中的逝去时间与第三时间域中的逝去时间相比较的曲线图;以及
图4示出了实施例的片上系统。
具体实施方式
图1A、图1B、图1C和图1D示出了SoC系统的四个可能的替代方案,该SoC系统包括第一设备DIS1,该第一设备DIS1包括第一计数器TMR1,该第一计数器TMR1被配置为具有表示第一时域DMN1的瞬时状态的当前时间戳值;第二设备DIS2,该第二设备DIS2包括第二计数器TMR2,第二计数器TMR2被配置为具有表示第二时域DMN2的瞬时状态的当前时间戳值;第三设备DIS3,该第三设备DIS3包括第三计数器TMR3,该第三计数器TMR3被配置为具有表示第三时域DMN3的瞬时状态的当前时间戳值;以及同步模块MSYNC,被配置为在第一时域DMN1上同步SYNC第二时域DMN2。
系统SoC可以集成在相同的集成电路中,在这种情况下通常称为“片上系统”,或者集成在通过线链路互连的不同的片上系统中,每个系统包括第一设备DIS1、第二设备DIS2和第三设备DIS3中的至少一个。
在下面,将考虑三个设备DIS1、DIS2、DIS3和各自的时域DMN1、DMN2、DMN3属于同一片上系统SoC的非限制性示例。
当前时间戳值是瞬时时间的数字表示,也就是说,广义上的“日期”。在片上系统SoC中,所使用的不同时间戳“日期”具有很多年(数百年)的幅度(即最大值)以及可达纳秒的量级或更小的精度(即最小变化)。
每个时域DMN1、DMN2、DMN3由各自的本地时钟信号生成器clk1、clk2、clk3进行时钟控制。本地时钟信号生成器clk1、clk2、clk3可以以本地振荡器的形式产生,例如通常是具有锁相环的晶体振荡器(例如石英),并且可选地进行温度补偿;还有其他类型的振荡器,在时钟生成领域中不太常见,如变频振荡器、压控振荡器、锁相环,或者模拟或数字频率合成器。
根据特定的和非限制性的示例,第三设备DIS3可以包括或构成微处理器或微控制器,即更广泛地说,适于实现软件操作的计算单元,并且第三设备DIS3的本地时钟生成器clk3具体地旨在对软件操作进行时钟控制(clock)。
同步模块MSYNC可以通过属于第三设备DIS3的硬件来实现,或者通过在第三设备DIS3中实现的软件来实现。
在图1A、图1B、图1C和图1D的表示中,本地时钟生成器clk1、clk2、clk3集成了相应的设备DIS1、DIS2、DIS3,但是可以来自外部但属于相应时域DMN1、DMN2、DMN3的源。
根据特定且非限制性的示例(参见下文关于图2至图4),第一设备DIS1可包括或构成外围组件互连高速“PCIe”接口,其规范由PCI-SIG(“PCI利益集团”)联盟管理和开发,该接口为本领域技术人员所熟知。
根据特定且非限制性的示例(下面关于图2至图4进行描述),第二设备DIS2可以包括或构成有线物理网络接口“以太网”,例如由本领域技术人员熟知的标准IEEE802.3及其变体所限定。
然而,第一设备DIS1和第二设备DIS2可以包括或构成适于交换时间信息以便同步不同的时域的其他技术(通常是通信接口),例如具体是CAN(用于“控制器局域网络”)接口和FDCAN(用于“灵活数据CAN”)或TTCAN(用于“时间触发CAN”)变体,还可以包括具有微秒量级同步可能性的4G、5G、LTE通信。
图1A示出了集成在第三设备DIS3中的同步模块MSYNC的配置的第一替代方案,用于在片上系统SoC的第一时域DMN1上同步SYNC第二时域DMN2。
在该第一替代方案中,同步模块MSYNC被配置为检测在第一时域DMN1中周期性生成的触发事件TRG。在这方面,第一时域DMN1被称为“触发时域”。
在第一时域DMN1中考虑的触发事件的周期的持续时间可以通过构造由同步模块MSYNC了解。
同步模块MSYNC被配置为在周期性触发事件TRG的检测的连续瞬间获取表示第二时域DMN2的瞬时状态的当前时间戳值TS2。
同步模块MSYNC被配置为将连续触发事件TRG之间的差分持续时间与分别连续获取的当前时间戳值TS2之间的差分持续时间进行比较。
“差分持续时间”是指两个被考虑的测量值之间的差值,即时间戳值之间的差值,或触发事件之间的时间差值。
连续触发事件TRG之间的差分持续时间例如在第一时域DMN1中利用它们的周期性的先验知识和/或通过测量在检测源自第一时域DMN1的触发事件TRG的时刻获取的第三时域DMN3的当前时间戳值TS31之间的差分持续时间而得到的。
实际上,一方面,同步模块MSYNC通过检测周期性触发事件TRG的瞬间获取了关于第一时域DMN1中的时间流逝的信息。因此,如果触发事件TRG的两次检测之间的周期增加,则同步模块MSYNC例如可检测第一时域DMN1中时间流逝的减慢。
另一方面,同步模块MSYNC已经通过当前时间戳值TS2获取关于第二时域DMN2中的时间流逝的信息。时间戳值TS2之间的差实际上提供了对应的触发事件之间逝去的持续时间,这个时间在第二时域DMN2中考虑。
最后,同步模块MSYNC被配置为基于比较来产生适于使第二时域DMN2与第一时域DMN1同步的控制SYNC。
具体地,控制SYNC适于调整由第二时域DMN2的本地时钟生成器clk2生成的本地时钟信号的频率,并且可选地调整相位。
实际上,从关于第一时域DMN1中的时间流逝的信息和关于第二时域DMN2中的时间流逝的信息,同步模块MSYNC可以计算要应用于第二时域DMN2中的校正,使得它对应于第一时域DMN1。
例如,如果第一时域DMN1中的时间流逝已经变慢,则控制SYNC可以包括降低由第二时域DMN2的本地时钟生成器clk2生成的时钟的频率。
根据同步的另一个示例,如果由时间戳值TS2之间的差获得并因此在第二时域DMN2中考虑的两个触发事件TRG之间的持续时间,与利用触发事件TRG的周期性先验知识在第一时域DMN1中考虑或者在第三时域DMN3中考虑的对应的触发事件TRG之间的持续时间不同,控制SYNC可以调整第二时域DMN2的时钟clk2的频率,以将第二时域DMN2中的时间测量与第一时域DMN1中的时间测量相等。
实际上,同步模块MSYNC能够识别第一时域DMN1的时间(“y”)和第二时域DMN2的时间(“x”)之间的线性关系(例如“y=ax+b”)。控制SYNC允许应用比例校正(“a”)和偏移(“b”)参数。
图1B示出了集成在第三设备DIS3中的同步模块MSYNC的配置的第二替代方案,用于在片上系统SoC的第一时域DMN1上同步SYNC第二时域DMN2。
在该第二替代方案中,同步模块MSYNC被配置为检测在第二时域DMN2中周期性生成的触发事件TRG。在这方面第二时域DMN2被称为“触发时域”。
同步模块MSYNC被配置为在周期性触发事件TRG的检测的连续瞬间获取表示第一时域DMN1的瞬时状态的当前时间戳值TS1。
同步模块MSYNC被配置为将连续触发事件TRG之间的差分持续时间与分别连续获取的当前时间戳值TS1之间的差分持续时间进行比较。
连续触发事件TRG之间的差分持续时间例如在第二时域DMN2中利用它们的周期性的先验知识和/或通过测量在从第二时域DMN2检测触发事件TRG的时刻获得的第三时域DMN3的当前时间戳值TS32之间的差分持续时间而得到的。
最后,同步模块MSYNC被配置为基于比较来产生适于使第二时域DMN2与第一时域DMN1同步的控制SYNC。
这里,同步模块MSYNC再次获得表示第一时域DMN1和第二时域DMN2的信息。根据该信息计算的差分持续时间将允许识别第二时域DMN2中的时间逝去与第一时域DMN1中的时间逝去之间的关系,以便设置第二时域DMN2的同步的控制SYNC。
图1C示出了集成在第三设备DIS3中的同步模块MSYNC的配置的第三替代方案,用于在片上系统SoC的第一时域DMN1上同步SYNC第二时域DMN2。
在该第三替代方案中,同步模块MSYNC被配置为检测在第三时域DMN3中周期性生成的触发事件TRG。在这方面第三时域DMN3被称为“触发时域”。
为了澄清术语的使用,假定同步模块MSYNC是第三时域DMN3的第三设备DIS3的一部分,可以认为同步模块MSYNC被配置为自身生成周期性触发事件TRG。然而,严格地说,触发事件TRG来自本地时钟clk3的时间管理机制TMR3(通常是“定时器”),并且触发事件TRG本身不是由同步模块MSYNC直接生成的。因此,认为触发事件TRG是由第三设备DIS3生成的,并且第三设备DIS3的同步模块MSYNC被配置为检测触发事件TRG。
同步模块MSYNC被配置为在周期性触发事件TRG的检测的连续时刻获取代表第一时域DMN1的瞬时状态的当前时间戳值TS1,以及在周期性触发事件TRG的检测的连续时刻获取代表第二时域DMN2的瞬时状态的当前时间戳值TS2。
应当注意,获取TS1、TS2可以在检测相同周期性触发事件TRG的相同瞬间进行,或者在检测各种周期性触发事件的不同瞬间进行,具体地,可以将触发事件分别分配给第一设备DIS1和第二设备DIS2中的每一个。
同步模块MSYNC被配置为将连续获取的第一时域DMN1的当前时间戳值TS1之间的差分持续时间与连续获取的第二时域DMN2的当前时间戳值TS2之间的差分持续时间进行比较。
该比较可以进一步考虑相应的连续触发事件TRG之间的差分持续时间,具体是在使用几个不同的触发事件的情况下。
最后,同步模块MSYNC被配置为基于比较来产生适于使第二时域DMN2与第一时域DMN1同步的控制SYNC。
这里,同步模块MSYNC再次获得表示第一时域DMN1和第二时域DMN2的信息(即,当前时间戳值TS1、ST2)。根据该信息计算的差分持续时间将允许识别第二时域DMN2中的时间逝去与第一时域DMN1中的时间逝去之间的关系,以便设置第二时域DMN2的同步的控制SYNC。
图1D示出了集成在第三设备DIS3中的同步模块MSYNC的配置的第四替代方案,用于在片上系统SoC的第一时域DMN1上同步SYNC第二时域DMN2。
在该第四替代方案中,同步模块MSYNC被配置为检测在第一时域DMN1中周期性生成的第一触发事件TRG10和在第二时域DMN2中周期性生成的第二触发事件TRG20。在这方面,第一时间域DMN1和第二时间域DMN2被称为“触发时间域”。
同步模块MSYNC被配置为在检测第一周期性触发事件TRG10的连续瞬间获取表示第三时域DMN3的瞬时状态的第一当前时间戳值TS31。
类似地,同步模块MSYNC被配置为在检测第二周期性触发事件TRG20的连续瞬间获取表示第三时域DMN3的瞬时状态的第二当前时间戳值TS32。
同步模块MSYNC被配置为将分别连续获取的第一当前时间戳值TS31之间的差分持续时间与分别连续获取的第二当前时间戳值TS32之间的差分持续时间进行比较。
最后,同步模块MSYNC被配置为基于所述比较来产生适于使第二时域DMN2与第一时域DMN1同步的控制SYNC。
这里,同步模块MSYNC再次从第三时域DMN3的视角获取表示第一时域DMN1和第二时域DMN2的信息。根据该信息计算的差分持续时间将允许识别第二时域DMN2中的时间逝去与第一时域DMN1中的时间逝去之间的关系,以便设置第二时域DMN2的同步的控制SYNC。
图2示出了片上系统SoC的特定示例性实施例,其中第一设备DIS1是外围组件互连高速“PCIe”接口类型,并且其中第二设备DIS2是有线网络接口类型“以太网”。
第三设备DIS3是微处理器或微控制器中央处理单元“CPU”类型的计算单元,包括以硬件或软件形式产生的同步模块MSYNC。第三时域是软件应用时域APP(DMN3)。
PCIE接口(DIS1)被配置为通过精确时间测量“PTM”协议,共享与第一时域DMN1有关的时间信息。
在该上下文中,例如,本地时钟pipe_clk(clk1)可以具有250MHz(兆赫)的频率,即4ns(纳秒)的周期,并且第一计数器PTM_CNT(TMR1)提供64位二进制字,该二进制字由250MHz的本地时钟pipe_clk的定时递增。因此,第一计数器PTM_CNT(TMR1)的数字值对应于以4ns为单位的时间值。
在PTM协议中,通过在时间戳总线PTM_BUS_64位的相应专用信道上传送当前时间戳值PNT_CNT(TMR1)的64位中的每一位来进行共享时间信息。因此,总线PTM_BUS_64位处于不断更新的时间戳值。
此外,第一计数器PTM_CNT(TMR1)能够在使用PTM协议的各种设备之间接收和发射同步更新控制updt。
以太网接口ETH(DIS2)被配置为通过精确时间协议“PTP”共享与第二时域DMN2相关的时间信息。
在该上下文中,本地时钟ptp_clk(clk2)例如可以具有包括在125MHz和200MHz之间的频率,并且第二计数器PTP_CNT(TMR2)可以包括两个32位二进制字,一个编码时间戳值(32位s)的秒,另一个编码时间戳值(32位ns)的纳秒。
在PTP协议中,时间信息的共享可以通过以太网接口ETH(DIS2)的寄存器来完成,寄存器存储时间戳值TS2,并由同步模块MSYNC读取。通常称为每秒脉冲“PPS”但不一定限于每秒一个脉冲的信号,可以被配置为触发同步模块MSYNC在所需时刻在以太网接口ETH(DIS2)的寄存器中进行读取。
因此,在触发时域包括第一时域PTM(DMN1)的示例中,也就是说,根据上面关于图1A或图1D描述的替代方案,由第一计数器PTM_CNT(TMR1)生成至少一个周期性触发事件TRG1、TRG2。
有利地利用PCIe接口中总线PTM_BUS_64位的已有结构,周期性触发事件TRG1、TRG2由总线PTM_BUS_64位的信道上的至少一个信号的转换(即上升沿或下降沿)来限定。
实际上,通过用于递增第一计数器PTM_CNT(TMR1)的二进制字的机制,总线PTM_BUS_64位的最低有效位构成周期为4ns的周期信号,具体是权重17位(位17)构成周期接近1ms的周期信号,权重位20(位20)构成周期接近8ms的周期信号。
并且,在该示例中,使用两个单独的触发事件TRG1、TRG2,第一触发事件TRG1发生在位17的上升沿期间,并且第二触发事件TRG2发生在位20的上升沿期间。
此外,在未示出的示例中,每个触发事件可以由分布在总线PTM_BUS_64位上的当前时间戳值的几个位的转换上的逻辑条件来构造。这允许构造具有周期性的“复杂”触发事件,这种周期性在通过时间戳总线PTM_BUS_64位的信号中是不可用的。例如,在总线PTM_BUS_64位上不能直接获得接近1.5ms的周期,但可以通过检查位17和位16的上升沿上的“AND”条件而被大致构造。
在所示的示例中,两个触发事件TRG1、TRG2由同步模块MSYNC检测,但只有第二触发事件TRG2(位20)控制表示第二PTP时域(DMN2)的瞬时状态的PPS当前时间戳值(TS2)的获取。
在这方面,请参考图3。
图3是示出了与在x轴TMR3_t上的第三时域APP(DMN3)中的时间流逝相比较,在y轴PCIE_EP_t上的第一时域DMN1中的时间流逝的曲线图。
在第一时域DMN1中时间流逝的平台显示在“根联合物”RC类型的PCIe接口的外部时钟上“端点”EP类型的PCIe接口的本地时钟pipe_clk(clk1)的调整。
PCIe RC接口的外部时钟的频率可能因各种原因而变化,如虚线PCIE_RC_t1所示,对应于249MHz,然后如虚线PCIE_RC_t2所示,对应于248MHz,而本地时钟pipe_clk稳定在250MHz的频率。
PCIe EP接口的时域中的时间PCIE_EP_t相对于PCIe RC接口的时域的提前,通过在平台(plateau)期间基本上“停止”时钟pipe_clk(clk1)来补偿。
有利地,在每个第一触发事件TRG1_1、TRG1_2、TRG1_3、TRG1_4之后,PCIe EP接口在PCIe RC接口上的PTM同步由第三设备CPU通过信号updt(图2)控制。
因此,PCIe RC接口的时域越慢,触发事件TRG1_i,t2>t1之间的差分持续时间t1、t2越大。
同时,同步模块MSYNC在检测第二触发事件TRG2(PPS)的瞬间,读取表示第二PTP时域(DMN2)的瞬时状态的当前时间戳值TS2_1、TS2_2。
差“TRG1_i+1-TRG1_i”,即第三时域TMR3_t(DMN3)中的持续时间t1、t2,通过将其与由以太网接口ETH(DIS2)提供的当前时间戳值的差“TS2_j+1-TS2_j”进行比较,用于在第一PTM时域(DMN1)上对以太网接口ETH(DIS2)的本地时钟生成器ptp_clk(clk2)进行调整(discipline)SYNC。
换言之,在第三时域中比较连续触发事件TRG1_i(图3中1≤i≤4)之间的差分持续时间与连续获取的当前时间戳值PPS_j(图3中1≤j≤2)之间的差分持续时间,以便使第二时域DMN2与第一时域DMN1同步。
图4示出了先前关于图1B和图1C描述的片上系统SoC的替代方案的有利示例性实施例,即,其中触发时域不包括第一时域的替代方案。
在这个示例中,第一设备PCIE RC/EP(DIS1)再次是PCIe接口类型,并且第一计数器PTM_CNT(TMR1)在64位时间戳总线PTM_BUS_64位上提供64位二进制字,如前面关于图2所述。
同步模块包括在时间戳总线PTM_BUS_64位的各个信道上的64位锁存器LTCH,以便获取表示第一时域DMN1的瞬时状态的当前时间戳值Capt_64位(TS1)。在至少一个触发事件TRG的瞬间,即例如通过触发事件TRG本身,命令使用存在于时间戳总线PTM_BUS_64位的每个信道上的位来加载锁存器。
无论是EP还是RC类型,这特别允许不修改接口PCIe的操作,特别是关于与片上系统SoC外部的任何其他PCIe设备的PTM协议的实现。

Claims (20)

1.一种用于使第一设备的第一时域与第二设备的第二时域同步的方法,所述方法包括:
检测至少一个周期性触发事件,所述至少一个周期性触发事件是在从所述第一时域、所述第二时域和第三设备的第三时域中选择的至少一个触发时域中生成的;
在检测所述至少一个周期性触发事件的瞬间,获取表示除所述至少一个触发时域之外的所述第一时域、所述第二时域和所述第三时域的瞬时状态的当前时间戳值;
在所述第三时域中,比较分别连续获取的所述当前时间戳值之间的差分持续时间;以及
基于所述比较,使所述第二时域与所述第一时域同步。
2.根据权利要求1所述的方法,其中获取所述当前时间戳值是在检测相同周期性触发事件的相同瞬间、或在检测不同周期性触发事件的不同瞬间被执行的。
3.根据权利要求1所述的方法,其中所述第一时域由外围组件互连高速“PCIe”接口的精确时间测量协议“PTM”限定,所述第二时域由网络接口“以太网”的精确时间协议“PTP”限定,并且所述第三时域由自由运行本地时钟进行时钟控制,所述自由运行本地时钟被配置为对软件操作进行时钟控制。
4.根据权利要求1所述的方法,其中所述至少一个触发时域包括所述第一时域,并且在所述第一时域中生成的所述至少一个周期性触发事件响应于在表示所述第一时域的所述瞬时状态的当前时间戳值的至少一个位的转换上被验证的条件而发生,所述当前时间戳值的每个位在时间戳总线的专用信道上被传送。
5.根据权利要求1所述的方法,其中所述至少一个触发时域不包括所述第一时域,表示所述第一时域的所述瞬时状态的当前时间戳值的每个位在所述时间戳总线的专用信道上被传送,并且获取表示所述第一时域的所述瞬时状态的当前时间戳值包括用存在于所述时间戳总线的每个信道上的位加载锁存器,所述加载锁存器是在检测所述至少一个周期性触发事件的瞬间被控制的。
6.根据权利要求1所述的方法,其中所述至少一个触发时域包括所述第二时域,并且响应于在所述第二时域中生成的周期信号,在所述第二时域中生成的所述至少一个周期性触发事件被检测到。
7.一种系统,包括:
第一设备,包括第一计数器,所述第一计数器被配置为提供表示第一时域的瞬时状态的当前时间戳值;
第二设备,包括第二计数器,所述第二计数器被配置为提供表示第二时域的瞬时状态的当前时间戳值;以及
第三设备,包括:
本地时钟生成器,被配置为对第三时域进行时钟控制;以及
同步模块,被配置为:
检测在从所述第一时域、所述第二时域和所述第三时域中选择的至少一个触发时域中生成的至少一个周期性触发事件;
在检测所述至少一个周期性触发事件的瞬间,获取表示除所述至少一个触发时域以外的所述第一时域、所述第二时域和所述第三时域的当前时间戳值;
比较被分别连续获取的当前时间戳值之间的差分持续时间;以及
基于所述比较,生成控制,所述控制被配置为使所述第二时域与所述第一时域同步。
8.根据权利要求7所述的系统,其中所述同步模块被配置为在检测相同周期性触发事件的相同瞬间、或在检测不同周期性触发事件的不同瞬间,获取所述当前时间戳值。
9.根据权利要求7所述的系统,其中所述第一设备包括外围组件互连高速“PCIe”接口,所述外围组件互连高速“PCIe”接口被配置为通过精确时间测量“PTM”协议限定所述第一时域,所述第二设备包括网络接口“以太网”,所述网络接口“以太网”被配置为通过精确时间协议“PTP”限定所述第二时域,并且所述第三设备的所述本地时钟生成器被配置为对软件操作进行时钟控制。
10.根据权利要求7所述的系统,其中所述至少一个触发时域包括所述第一时域,所述第一计数器被配置为在时间戳总线的专用信道上传送所述当前时间戳值的每个位,并且其中所述同步模块被配置为响应于在所述时间戳总线的相应信道上的至少一个位的转换上被验证的条件,检测在所述第一时域中生成的所述至少一个周期性触发事件。
11.根据权利要求7所述的系统,其中所述至少一个触发时域不包括所述第一时域,第一计数器被配置为在时间戳总线的专用信道上传送所述当前时间戳值的每个位,并且其中所述同步模块包括所述时间戳总线上的锁存器,并且所述同步模块被配置为:通过在所述至少一个周期性触发事件的瞬间,利用存在于所述时间戳总线的每个信道上的位控制所述锁存器的加载,来获取表示所述第一时域的瞬时状态的所述当前时间戳值。
12.根据权利要求7所述的系统,其中所述至少一个触发时域包括所述第二时域,并且所述同步模块被配置为响应于在所述第二时域中生成的周期信号,检测在所述第二时域中生成的所述至少一个周期性触发事件。
13.一种片上系统,包括:
外围组件互连高速“PCIe”设备,包括第一计数器,所述第一计数器被配置为提供表示第一时域的瞬时状态的当前时间戳值;
以太网设备,包括第二计数器,所述第二计数器被配置为提供表示第二时域的瞬时状态的当前时间戳值;以及
中央处理单元“CPU”设备,包括:
本地时钟生成器,被配置为对第三时域进行时钟控制;以及
同步模块,被配置为:
检测至少一个周期性触发事件,所述至少一个周期性触发事件是在从所述第一时域、所述第二时域和所述第三时域中选择的至少一个触发时域中生成的;
在检测所述至少一个周期性触发事件的瞬间,获取表示除所述至少一个触发时域以外的所述第一时域、所述第二时域和所述第三时域的当前时间戳值;
比较分别连续获取的当前时间戳值之间的差分持续时间;以及
基于所述比较,生成控制,所述控制被配置为使所述第二时域与所述第一时域同步。
14.根据权利要求13所述的片上系统,其中所述同步模块被配置为在检测相同周期性触发事件的相同瞬间、或在检测不同周期性触发事件的不同瞬间,获取所述当前时间戳值。
15.根据权利要求13所述的片上系统,其中所述PCIe设备包括PCIe接口,所述PCIe接口被配置为通过精确时间测量“PTM”协议限定所述第一时域,所述以太网设备包括以太网接口,所述以太网接口被配置为通过精确时间协议“PTP”限定所述第二时域,并且所述CPU设备的所述本地时钟生成器被配置为对软件操作进行时钟控制。
16.根据权利要求13所述的片上系统,其中所述至少一个触发时域包括所述第一时域,所述第一计数器被配置为在时间戳总线的专用信道上传送所述当前时间戳值的每个位,并且其中所述同步模块被配置为:响应于在所述时间戳总线的相应信道上的至少一个位的转换上被验证的条件,检测在所述第一时域中生成的所述至少一个周期性触发事件。
17.根据权利要求13所述的片上系统,其中所述至少一个触发时域不包括所述第一时域,所述第一计数器被配置为在时间戳总线的专用信道上传送所述当前时间戳值的每个位,并且其中所述同步模块包括所述时间戳总线上的锁存器,并且所述同步模块被配置为:通过在所述至少一个周期性触发事件的瞬间,利用存在于所述时间戳总线的每个信道上的位控制所述锁存器的加载,来获取表示所述第一时域的瞬时状态的所述当前时间戳值。
18.根据权利要求13所述的片上系统,其中所述至少一个触发时域包括所述第二时域,并且所述同步模块被配置为响应于在所述第二时域中生成的周期信号,检测在所述第二时域中生成的所述至少一个周期性触发事件。
19.根据权利要求13所述的片上系统,其中所述CPU设备是微处理器。
20.根据权利要求13所述的片上系统,其中所述CPU设备是微控制器。
CN202210087343.0A 2021-01-26 2022-01-25 片上系统中的时域同步 Pending CN114791896A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
FR2100697 2021-01-26
FR2100697A FR3119287B1 (fr) 2021-01-26 2021-01-26 Procédé de synchronisation de domaines temporels d’un système sur puce.
US17/457,354 US11552777B2 (en) 2021-01-26 2021-12-02 Time domains synchronization in a system on chip
US17/457,354 2021-12-02

Publications (1)

Publication Number Publication Date
CN114791896A true CN114791896A (zh) 2022-07-26

Family

ID=82460771

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210087343.0A Pending CN114791896A (zh) 2021-01-26 2022-01-25 片上系统中的时域同步

Country Status (2)

Country Link
US (1) US11856080B2 (zh)
CN (1) CN114791896A (zh)

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1301261C (en) * 1988-04-27 1992-05-19 Wayne D. Grover Method and apparatus for clock distribution and for distributed clock synchronization
JP3748204B2 (ja) 2000-11-27 2006-02-22 三菱電機株式会社 周期制御同期システム
EP2366154A4 (en) * 2008-11-19 2016-08-10 Lsi Corp A CONNECTING ELEMENT USED IN A SELF-TIMED TIME-CONFIGURATED BUS
DE112014006949T5 (de) 2014-09-12 2017-05-24 Siemens Canada Limited Taktsynchronisation über redundante Netze
WO2016209102A1 (en) 2015-06-24 2016-12-29 Intel Corporation Time synchronization for nodes in a wireless personal area network (wpan)
WO2017152412A1 (zh) 2016-03-11 2017-09-14 华为技术有限公司 支持多时钟域时钟传递的设备和方法
US10095653B2 (en) * 2016-04-02 2018-10-09 Intel Corporation Apparatuses, systems, and methods for accurately measuring packet propagation delays through USB retimers
US10237008B2 (en) 2016-06-10 2019-03-19 Apple Inc. Synchronization with different clock transport protocols
US10396922B2 (en) 2017-02-07 2019-08-27 Texas Instruments Incorporated Apparatus and mechanism to support multiple time domains in a single soc for time sensitive network
US9979998B1 (en) 2017-05-02 2018-05-22 Amazon Technologies, Inc. System for time synchronization of audio devices
DE102018220302A1 (de) 2018-11-26 2020-05-28 Festo Ag & Co. Kg Kommunikationseinheit, Steuergerät, Feldgerät, Kommunikationssystem und Verfahren
DE102018220301A1 (de) 2018-11-26 2020-05-28 Festo Ag & Co. Kg Kommunikationseinheit, Steuergerät, Kommunikationssystem und Verfahren
US11693448B2 (en) 2019-03-05 2023-07-04 Intel Corporation Timestamp alignment across multiple computing nodes
DE112019007074T5 (de) 2019-04-22 2022-01-27 Mitsubishi Electric Corporation Zeitsynchronisationssystem, Master-Gerät, Slave-Gerät und Programm
US11424902B2 (en) 2020-07-22 2022-08-23 Microchip Technology Inc. System and method for synchronizing nodes in a network device
FR3119287B1 (fr) * 2021-01-26 2023-12-22 St Microelectronics Grenoble 2 Procédé de synchronisation de domaines temporels d’un système sur puce.

Also Published As

Publication number Publication date
US20230106507A1 (en) 2023-04-06
US11856080B2 (en) 2023-12-26

Similar Documents

Publication Publication Date Title
US20120005517A1 (en) Synchronisation and timing method and apparatus
EP2147361B1 (en) Usb based synchronization and timing system
US8819472B1 (en) Method and system for clock edge synchronization of multiple clock distribution integrated circuits by configuring master device to produce at least one gated clock output signal
EP2784621A2 (en) Distributed synchronization and timing system
US20040064750A1 (en) System and method for synchronizing multiple instrumentation devices
CN111385047A (zh) 一种时间同步方法及电子设备
US20160080138A1 (en) Method and apparatus for timing synchronization in a distributed timing system
JP3457459B2 (ja) 外部クロック周波数で送られるデータを内部クロック周波数と同期させる方法及び倍数クロック変換器
JP2928866B2 (ja) プログラマブルなデータ転送タイミング
US5592659A (en) Timing signal generator
CN109217852A (zh) 用于脉宽调制时钟信号的解调器
CN104426535A (zh) 同步系统以及分频电路
EP1115001B1 (en) Trigger node for measurement system
US11552777B2 (en) Time domains synchronization in a system on chip
CN114791896A (zh) 片上系统中的时域同步
US6928574B1 (en) System and method for transferring data from a lower frequency clock domain to a higher frequency clock domain
CN100405253C (zh) 数据传送同步化电路、方法及计算机
US7228450B2 (en) Method and device for the formation of clock pulses in a bus system having at least one station, bus system and station
US6931562B1 (en) System and method for transferring data from a higher frequency clock domain to a lower frequency clock domain
JP2000249747A (ja) 半導体試験装置のタイミング信号発生回路
JP5202628B2 (ja) 試験装置、伝送回路、試験装置の制御方法および伝送回路の制御方法
CN111193509B (zh) 源同步数据采样点自动校准方法及系统
Vásquez-Ortiz et al. FPGA-based GPS controlled timing system with nanosecond accuracy and leap second support
AU2013204446A1 (en) Synchronisation and Timing Method and Apparatus
Foster et al. Sub-nanosecond distributed synchronisation via the universal serial bus

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination