首页> 中国专利> 低速总线时间戳记方法和电路

低速总线时间戳记方法和电路

摘要

在本公开中呈现了用于低速总线时间戳记和触发的方法和电路。主设备和从设备可以经由包括数据线和时钟线的通信链路接口连接。主设备生成并控制时钟线上的时钟信号,并在数据线上将同步命令发送给从设备。响应于同步命令,主设备接收在每个从设备处检测到的事件的时间戳记信息。主设备跟踪时钟信号的转变和频率,并基于时间戳记信息、所跟踪的转变和频率来确定事件的时间。主设备还可以将延迟设置信息发送给每个从设备,以用于基于时钟信号的转变、同步命令和延迟设置信息,在该从设备处生成触发信号。

著录项

  • 公开/公告号CN112650355A

    专利类型发明专利

  • 公开/公告日2021-04-13

    原文格式PDF

  • 申请/专利权人 美国莱迪思半导体公司;

    申请/专利号CN202011556392.1

  • 发明设计人 B·沙佩-吉斯勒;

    申请日2016-07-18

  • 分类号G06F1/12(20060101);G06F1/14(20060101);G06F13/42(20060101);H04J3/06(20060101);H04L7/04(20060101);

  • 代理机构11256 北京市金杜律师事务所;

  • 代理人罗利娜

  • 地址 美国俄勒冈州

  • 入库时间 2023-06-19 10:35:20

说明书

本申请是于2016年07月18日提交的申请号为201680043146.1、名称为“低速总线时间戳记方法和电路”的中国发明专利申请的分案申请。

技术领域

本公开大体涉及低速总线消息协议,并且更具体地涉及用于低速总线时间戳记和触发的方法和电路。

背景技术

内部集成电路(I2C)接口通常用于将较低速外围集成电路(IC)附接到较高速处理器和微控制器。较低速外围IC通常被称为从设备,而较高速处理器或微控制器通常被称为主设备。通常,从设备可以耦合到诸如传感器、陀螺仪、罗盘、麦克风等的外围设备。从设备可以被配置为监测和/或控制耦合到从设备的外围设备的操作。

在I2C消息协议中,由两个或更多个从设备进行的同时操作可以利用(例如,由主设备生成的)共同触发信号,该共同触发信号独立于I2C低速串行总线。类似地,为了确定何时事件发生(例如,由耦合到从设备的外围设备执行的测量),每个从设备使用反馈到主设备的专用线,以信号通知主设备当事件发生时的时间。对于每个从设备,主设备可以当主设备接收到来自从设备的事件标记信号时捕获实际时间时钟的状态(即,事件的时间或事件的时间戳记)。该方法的缺点是在主设备与从设备之间的许多额外的通信线(即,板迹线)以及要求的额外的信号引脚。

发明内容

本公开的某些实施例提供一种用于低速总线触发的系统,系统包括:主设备,耦合到通信链路,主设备用以:经由通信链路发射时钟信号和同步命令,以及经由通信链路发射延迟设置信息,延迟设置信息指示要在同步命令与在耦合到通信链路的一个或多个从设备处的触发信号的生成之间发生的时钟信号的选择转变的数量;从设备,耦合到通信链路,从设备用以:经由通信链路接收同步命令和第一延迟设置信息,以及跟踪在同步命令之后的时钟信号的选择转变的数量,并且响应于选择转变的数量达到由第一延迟设置信息指示的延迟设置而生成触发信号。

本公开的某些实施例提供一种从设备,包括:接口,用于耦合到运载时钟信号的通信链路,接口用以经由通信链路接收同步命令和第一延迟设置信息,以及控制电路,用以跟踪在同步命令之后的时钟信号的选择转变的数量,并且响应于选择转变的数量达到由第一延迟设置信息指示的延迟设置而生成触发信号。

本公开的某些实施例提供一种主设备,包括:接口电路,用于耦合到通信链路,接口电路用以:经由通信链路发射时钟信号和同步命令;以及经由通信链路接收延迟设置信息,延迟设置信息指示要在同步命令与在耦合到通信链路的一个或多个从设备处的触发信号的生成之间发生的时钟信号的选择转变的数量。

本公开的某些实施例提供一种用于低速总线触发的方法,方法包括:经由运载时钟信号的通信链路,接收同步命令和第一延迟设置信息;跟踪在同步命令之后的时钟信号的选择转变的数量;以及响应于选择转变的数量达到由第一延迟设置信息指示的延迟设置而生成触发信号。

附图说明

图1是图示了根据本公开的实施例的经由基于I3C的通信链路与多个从设备接口连接的I3C主设备的示意图。

图2是根据本公开的实施例的用于实现时间戳记和延迟触发的包括经由基于I3C的通信链路与从设备接口连接的主设备的系统的示意图。

图3图示了根据本公开的实施例的示例时间戳记同步命令和关于时间戳记同步命令驱动I3C串行总线的信号的波形。

图4是根据本公开的实施例的用于在从设备处实现时间同步的电路的示例示意图。

图5是根据本公开的实施例的可以在从设备处被实现的用于改进时间同步的分辨率的振荡器电路的示例示意图。

图6是根据本公开的实施例的可以在从设备处被实现的用于实现时间戳记的电路的示例示意图。

图7是根据本公开的实施例的由主设备从多个从设备捕获和读取事件的时间的示例图。

图8是根据本公开的实施例的由主设备和/或监测设备从多个从设备捕获和读取事件的时间的示例图。

图9是根据本公开的实施例的用于在没有振荡器电路(例如,来自图5的振荡器电路)的从设备处实现时间戳记的电路的示例示意图。

图10是根据本公开的实施例的用于在从设备处实现延迟触发的电路的示例示意图。

图11是根据本公开的实施例的由主设备控制在多个从设备处的事件的时间的示例图。

图12是根据本公开的实施例的可以在主设备处被实现的用于支持时间戳记的电路的示例示意图。

图13是图示了根据本公开的实施例的在主设备处执行的用于对参考时钟信号中的变化进行时间戳记的方法的图。

图14是图示了根据本公开的实施例的可以在主设备处被执行的用于时间戳记的方法的流程图。

图15是图示了根据本公开的实施例的可以在从设备处被执行的用于延迟触发的方法的流程图。

图16是图示了根据本公开的实施例的可以在主设备处被执行的用于延迟触发的方法的流程图。

附图仅出于图示的目的描绘了本公开的实施例。本领域技术人员从下文描述将容易意识到,可以在不脱离本文中描述的公开内容的原理或宣扬的益处的情况下采用本文中图示的结构和方法的备选实施例。

具体实施方式

本公开的实施例涉及根据消息传送协议来使结合主设备进行操作的多个从设备同步,消息传送协议诸如为I3C消息协议,其是内部集成电路(I2C)消息协议的增强版本。本文中呈现的多个从设备的同步可以提供对在从设备处检测到的事件的准确时间戳记,以及对在多个从设备处的延迟触发事件的高效启动。

本公开的某些实施例支持启动对耦合到从设备的外围设备的同时读/操作。例如,本文中呈现的方法和电路可以使测量在(耦合到一对从设备的)陀螺仪与磁罗盘之间同步,同时陀螺仪和磁罗盘两者都被定位在旋转对象上。本公开中呈现的方法和电路还可以启动多个从设备上的延迟触发事件,其可以有用于断层摄影。

根据本公开的实施例,如下面更详细地讨论的,多个从设备可以经由I3C时间同步触发启动同时操作(例如,测量)。以这种方式,可以消除对用于使事件同步的边信道的需要。不关注时间单位或本地时钟信号,因为所有从设备可以被同时触发。更一般地,本公开的实施例支持对时间同步命令的使用,时间同步命令在每个从设备处启动定时器,该定时器在预定时间段结束时触发事件。用于在每个从设备处触发事件的时间延迟可以由指引命令设置,指引命令可以在时间同步命令前面。

在本公开的说明性实施例中,可以考虑基于蜂窝电话的断层摄影。每个从设备可以驱动(例如,位于蜂窝电话的背部的)换能器阵列中的一个换能器,其中,换能器在上述各个时间延迟间隔的结束时(例如,基于来自从设备的触发信号)生成声脉冲(例如,以控制用于波束形成的相位)。之后很快地,每个换能器可以接收反射的波形,其中,反射的波形的每个特征(例如,如由早前命令定义的,其处于预设时间孔径内并且处于当前幅值/导数/二阶导数界限内)可以被时间戳记,其被记录在从设备处的寄存器中。然后,主设备可以轮询每个从设备并且读回所存储的时间戳记的数据。例如,在特定数量的触发/时间戳记操作之后,存在充分的操作来做出腹部(或某个其他内部器官)的内部的图像。

根据本公开的实施例,不同从设备中的独立时钟信号和计数器电路可以被同步以用于对它们的读数进行时间戳记。以这种方式,来自不同传感器的事件可以被准确地在时间上相关。例如,由I3C麦克风阵列产生的多个测量结果可以被相关以确定声音(例如,“掌声”)源自的方向,其中,阵列中的每个麦克风可以具有它自己的时钟信号。

本公开的实施例支持利用新的共同命令代码(CCC)串行总线命令,即,用于时间同步的“时间同步(Time Sync)”命令。在一些实施例中,主设备可以发出时间同步CCC以使所有从设备同步到驱动串行时钟线(SCL)总线的时钟信号的具体选择转变(例如,下降沿)。每个从设备可以被配置为对在检测到时间同步CCC之后的SCL信号的所有选择转变进行计数,并且可以使用SCL时钟信号的选择转变作为用于对事件进行时间戳记的时间标记。主设备可以对在检测到时间同步CCC之后的SCL时钟信号的所有选择转变进行计数,同时还针对(稳定)时间基础监测SCL时钟信号的转变的周期。主设备还可以监测针对时间戳记数据的总线业务,收集时间戳记数据,并执行计算以针对时间基础确定在从设备处检测到的事件(例如,传感器测量)的计时。在其他实施例中,与主设备分离的监测设备可以执行SCL转变的计数和时间戳记的数据的收集。

本公开的实施例促进准确的时间戳记和触发。在一个或多个实施例中,为了时间戳记,从设备可以监测传感器并记录感测到的事件发生的时间(计数)。在一个或多个其他实施例中,为了触发,主设备可以发出用于一组中的所有从设备的命令,以在精确时间(计数)处启动某些操作。应当指出,这可以为时间延迟的启动,在该时间延迟之后动作发生,其中,时间延迟可以在每个从设备的基础上被预设为不同的延迟值。

图1是图示了根据本公开的实施例的与多个从设备104接口连接的主设备102的示意图100。在一个或多个实施例中,每个从设备104可以为较低速外围集成电路(IC),而主设备102可以为较高速处理器或微控制器。在一个实施例中,主设备102可以耦合到生成用于主设备102的时钟信号108的实际时间时钟源106。在另一实施例中,主设备102可以包括用于生成时钟信号的内部时钟信号源。

如图1所示,主设备102可以经由通信链路110与从设备104接口连接。在一些实施例中,通信链路110是包括串行数据线(SDA)总线112和SCL总线114的双接线通信链路。SDA总线112是可以被用于根据诸如I3C的通信协议使用单端信号在主设备102与从设备104之间运载命令和/或数据的单接线总线。SCL总线114是可以用于运载可以由主设备102生成和/或控制的单端时钟信号(例如,时钟信号108)的单接线总线。时钟信号108被用作用于在SDA总线112上发送和接收命令和/或数据的计时参考。每个从设备104可以耦合到由从设备104控制的外围设备(例如换能器、麦克风、传感器等)。

对于如下面更详细地讨论的一些实施例,主设备102可以经由SDA总线112发出时间同步命令,以使不同从设备104中的时钟信号的选择转变(例如,时钟信号的下降沿)的本地计数同步,以便准确地对来自耦合到从设备104的设备(例如,传感器)的读数(事件)进行时间戳记。本地存储在每个从设备104处的时间戳记的事件可以(例如,经由SDA总线112)被提供到主设备102以计算每个事件的实际发生时间,其中,全局实际时间可以由主设备102基于时钟信号108(例如,由SCL总线114运载的信号)的转变来准确地跟踪。以这种方式,来自耦合到不同从设备104的不同传感器的事件(例如,测量)可以在主设备102处被准确地在时间上相关。

对于如下面更详细地讨论的一些其他实施例,多个从设备104可以经由由主设备102(例如,通过经由SDA总线112发送合适的命令)控制的时间同步触发来启动同步操作(例如,测量)。因此,可以消除对用于操作(事件)的同步的主设备102与从设备104之间的边通信信道的需要。

图2是根据本公开的实施例的可以实现时间戳记和延迟触发的包括经由通信链路205与从设备204接口连接的主设备202的系统200的示意图。对于一些实施例,主设备202可以对应于图1中示出的主设备102,并且从设备204可以对应于图1中示出的从设备104中的任何从设备。尽管在图2中图示了一个从设备204,但是本公开的实施例支持将多个从设备204接口连接到主设备202。如图2所示,通信链路205可以包括SDA总线206和SCL总线208。如图2进一步所示,主设备202和从设备204可以两者都驱动SDA总线206,而仅仅主设备202可以提供和控制可以由SCL总线208运载的时钟信号(在下文中被称为SCL时钟信号208)。从设备204可以经由SDA总线206与主设备202进行通信,并且从设备204可以利用SCL时钟信号208以用于对由从设备204检测到的事件进行时间戳记和/或同步延迟触发(如下面更详细地讨论的)。

在一些实施例中,主设备204可以经由SDA总线206将单倍数据速率(SDR)命令210广播给从设备204。在一个或多个实施例中,SDR命令210可以包括时间同步CCC。在(例如,由解码逻辑212)解码了SDR命令210后,从设备204可以根据所解码的SDR命令210来操作。在一个实施例中,时间同步CCC可以在时间跟踪/触发控制电路214处被检测。基于检测到的时间同步CCC,时间同步标记(未示出)可以由时间跟踪/触发控制电路214生成,以开始时间同步和时间跟踪直到事件发生并被检测到(如下面更详细地讨论的)。如图2所示,从设备204可以耦合到传感器216,传感器216生成指示环境特性的测量结果的传感器输出信号218。事件检测器电路220根据传感器输出信号218检测事件的发生,并在检测到事件时生成从低逻辑电平切换到高逻辑电平的事件检测信号222。

在一些实施例中,时间跟踪/触发控制电路214可以被配置为参考时间同步的开始来对事件(例如,传感器测量)222的发生进行时间戳记,时间同步的开始可以由时间同步标记(未示出)指示。如下面更详细地讨论的,时间跟踪/触发控制电路214可以至少部分地基于可以由主设备202生成和控制的SCL时钟信号208(即,参考时钟信号)的选择转变来执行事件222的时间戳记。时间跟踪/触发控制电路214可以存储事件222的时间戳记224。如图2所示并且下面更详细地讨论的,通信逻辑226可以读取时间戳记224的值并将时间戳记值224提供给SDA总线206(例如,当SDA总线206没有其他业务时)。如图2进一步所示的,通信逻辑226和解码逻辑212表示将从设备204耦合到SDA总线206的接口228。

在一些实施例中,在广播具有时间同步CCC的SDR命令210之前,主设备202可以(例如,经由SDA总线206)将具有延迟设置信息的其他SDR命令传达给从设备204,延迟设置信息确定用于由从设备204生成触发信号的时间延迟。如图2所示,触发延迟设置电路230生成延迟设置信息232,其指示形式为SCL时钟信号208的要在具有时间同步CCC的SDR命令210与在从设备204处生成触发信号之间发生的选择转变的数量的触发延迟。在一个实施例中,触发延迟设置电路230基于要在具有时间同步CCC的SDR命令210之后发生的SCL时钟信号208的预期频率变化来生成延迟设置信息232。在主设备202处已知关于SCL时钟信号208的预期频率变化的信息。主设备通信接口236的编码器234编码SDR命令210内的延迟设置信息232。具有经编码的延迟设置信息232的SDR命令210然后经由SDA总线206被广播给一个或多个从设备204,以启动延迟触发。如图2进一步所示,一旦从设备204的解码逻辑212解码了由主设备202在SDR命令210内提供的延迟设置信息(例如,粗糙延迟设置和精细延迟设置)、之后检测到编码于另一SDR命令210中的时间同步CCC,时间跟踪/触发控制电路214就可以被配置为以基于所提供的延迟设置信息确定的时间延迟来生成延迟触发信号238(如下面更详细地讨论的)。在一个实施例中,延迟触发信号238可以启动耦合到从设备204的外围设备的操作(例如,测量),例如,耦合到从设备204的输出换能器240的操作。

在一些实施例中,图2中图示的主设备202的时间跟踪电路242可以被配置为跟踪从在同步信号244后生成的时间同步标记开始的实际时间。编码器234编码同步信号244以生成具有时间同步CCC的SDR命令210,SDR命令210然后可以经由SDA总线206被广播给一个或多个从设备204以启动时间同步。同步CCC广播246(即,时间同步CCC)还可以在时间跟踪电路242内被检测到,时间跟踪电路242然后可以生成时间同步标记,时间同步标记指示基于跟踪SLC时钟信号208的选择转变的数量来跟踪在主设备202处的系统参考时间的开始。

在一些实施例中,时间跟踪电路242内的计数器电路248可以被配置为保持跟踪SCL时钟信号208的选择转变(例如,下降沿)的数量。对于SCL时钟信号208的每个频率,SCL信号208的选择转变的数量(例如,在图2中表示为SCL计数C0)可以被保存到锁存器250中,锁存器250可以由频率变化(COF)信号252控制。如下面更详细地讨论的,SCL计数C0可以表示在时间同步标记与SCL时钟信号208在SCL时钟信号208的频率变化之前的最后选择转变(例如,下降沿)之间的SCL时钟信号208的选择转变的数量。在SCL时钟信号208的每次频率变化之后,更新的SCL计数C0可以被存储在由COF信号252控制的锁存器250中。更新的SCL计数C0可以指示在时间同步标记与SCL时钟信号208在SCL时钟信号208的频率变化之前的最后选择转变之间的SCL时钟信号208的选择转变的数量。在SCL时钟信号208的每次频率变化之后并且基于对应的COF信号252,SCL计数C0的先前(旧)值还可以被保存在寄存器文件(例如查找表)254中。因此,寄存器文件254可以包括对应于SCL时钟信号208的N个不同频率的SCL计数C0的不同值(例如,值CNT_1、CNT_2、…、CNT_N)。存储在寄存器文件254中的每个值CNT_i还可以与编码SCL时钟信号208的每个频率的周期的值Ti相关联。因此,存储在寄存器文件254中的CNT_i和Ti(i=1,…,N)的值可以提供关于从时间同步标记的系统参考时间的信息。

在一些实施例中,主设备202可以经由SDA总线206接收关于在从设备204处检测到的事件222的时间戳记224的信息。主设备202可以使用存储在寄存器文件254中的关于从时间同步标记的启动跟踪的系统参考时间的信息,以将其与时间戳记224相关(例如,在实际时间计算电路256处)来确定事件222发生的确切全局(系统)时间258。所计算的时间258表示基于从在主设备202处的时间同步标记的启动开始的SCL时钟信号208的选择转变测量的全局时间。在一个实施例中,SCL时钟信号208可以在主设备202处由可调节时钟发生器260生成,可调节时钟发生器260可以基于关于SCL时钟信号208的期望周期的指示262(例如,指示Ti)来提供SCL时钟信号208的频率。

如以上所讨论的,本公开的实施例支持将新时间戳记同步CCC广播命令添加到消息协议中。主设备202可以经由SDA总线206发出时间戳记同步命令,以使耦合到SDA总线206的一个或多个从设备204同步到驱动SCL总线的时钟信号的具体选择转变(例如,下降沿)。图3图示了根据本公开的实施例的示例时间戳记同步命令300和与时间戳记同步命令300相关地驱动SDA和SCL总线的信号的波形。时间戳记同步命令300可以由主设备202启动并经由SDA总线206广播给一个多个从设备204。如图3所示,时间戳记同步命令300的开始部分302可以被跟随有利用值0x7E指示的广播部分304。朝向广播部分304的结束,主设备可以将写操作(‘W’)信号发送到从设备,其中,至少一个从设备可以在SDA总线上利用确认(ACK)对写操作(‘W’)做出响应,以确认对时间戳记同步命令300的广播部分304的接收。

如图3所示,时间戳记同步命令300的SDR命令CCC部分306可以跟随广播部分304。命令代码0x28对应于时间戳记同步命令。部分308(例如,‘T’位)可以与SDA总线上的特定信号波形310相关联。在时间戳记同步命令300的‘T’位期间,在SCL时钟信号的第一选择转变(例如,上升沿)后,从设备204可以检测时间同步CCC 312。SCL时钟信号的下一选择转变(例如,下降沿)可以表示时间同步标记314,时间同步标记314也在从设备204处被检测。如下面更详细地讨论的,时间同步标记314可以表示当一个或多个从设备204与由主设备202产生的系统参考时间基础的同步开始时的时刻。如图3进一步所示,时间戳记同步命令300可以结束于启动经由SDA总线从从设备204读取数据的部分316。

在一些实施例中,如下面更详细地讨论的,时间同步标记314提供用于多个从设备同步以对事件进行时间戳记的方式。时间同步标记314还允许多个从设备经由时间同步触发来启动同时操作(例如,测量)。结果,可以消除对用于使事件同步的主设备与从设备之间的边信道的需要。应当指出,在触发情况下,不关注时间单位或本地时钟,因为所有从设备被同时触发。

在一些其他实施例中,可以基于时间同步标记314来支持在从设备处检测到的事件的时间戳记。如下面更详细地讨论的,从设备内的控制电路可以基于时间同步标记314来初始化,并且可以被配置为跟踪SCL时钟信号的选择转变的数量。一旦检测到事件,所跟中的SCL时钟信号的选择转变的数量就可以被保存在从设备的本地存储器中,以由主设备在稍后的时间读回。生成和控制SCL时钟信号的主设备也可以保持跟踪SCL时钟信号的选择转变的数量,并且可以将其计数与从从设备读回的所保存的时间戳记计数相关,以便确定事件发生的全局系统时间。

图4是根据本公开的实施例的用于在诸如从设备204的从设备处实现时间同步的电路400的示例示意图。在一些实施例中,电路400可以为图2中图示的时间跟踪/触发控制电路214的一部分。触发器420在检测到(时间)同步CCC时(即,在检测到脉冲406的上升沿时)将同步脉冲402输出到重置线404上。参考回图2,同步CCC检测到的脉冲406可以由从设备204的解码逻辑212在检测到时间同步命令210后生成。同步脉冲402的选择转变(其为如图4所示的下降沿408)可以表示时间同步标记。参考回图3,时间同步标记314可以与在检测到时间同步CCC之后在时间戳记同步命令300的‘T’位期间的SCL时钟信号的选择转变对齐。因此,如图4所示,时间同步标记可以与在指示检测到同步CCC的脉冲406的上升沿之后的SCL时钟信号412的选择转变410对齐。

在一些实施例中,在重置线404处存在的同步脉冲402可以将计数器414重置为全零,如由在计数器414的输出处的波形416所示。计数器414在被重置为全零之后,在SCL时钟信号412的每个选择转变后(例如,每个下降沿后)递增。可以指出,本文中呈现的并且图4中图示的方法提供跨包括图4中示出的电路400的所有从设备的均一时间参考,该方法基于同步脉冲402和与SCL时钟信号(其可以由主设备控制)的选择转变对齐的时间同步标记。

在一些实施例中,可以在从设备处采用突发振荡器,以改进时间戳记和延迟触发的分辨率。图5是根据本公开的实施例的可以在从设备204处被实现的用于改进时间同步的分辨率的振荡器电路500的示例示意图。在一个或多个实施例中,振荡器电路500可以为图2中示出的从设备204的时间跟踪/触发控制电路214的一部分。

如图5所示,振荡器电路500可以包括突发振荡器502和计数器504。突发振荡器502包括若干串联连接的反相器,该若干串联连接的反相器在使能信号508处于高逻辑电平时生成高速时钟信号506。高速时钟信号506的频率高于SCL时钟信号的频率。在由重置信号510启动后,计数器504开始对高速时钟信号506的选择转变进行计数。突发振荡器502的输出F(0)和计数器504的m位输出F(1:m)形成振荡器电路500的输出512。在一个或多个实施例中,突发振荡器502可以被配置为操作达足以在检测到事件之后进行特定数量的测量(例如,一次或两次测量)的有限时间量。因此,突发振荡器502消耗有限功率量。

在一个实施例中,耦合到从设备的某种类型的传感器(例如,加速度计、陀螺仪)固有地具有相对稳定的时间基础,并且可以使用该时间基础来提供可以用于改进时间戳记和延迟触发的分辨率的时钟信号。其他传感器可以不具有稳定的时间基础并且需要采用用于生成本地时钟信号的本地振荡器。在一个实施例中,在从设备处的本地振荡器可以基于锁相环(PLL)设备,其使用SCL时钟信号作为参考时钟来生成具有比SCL时钟信号高的频率的同步且稳定的本地时钟。然而,该方法具有消耗连续功率和大硅面积的缺点。

图6是根据本公开的实施例的用于在从设备204处实现时间戳记的电路600的示例示意图。电路600可以为图2中示出的从设备204的时间跟踪/触发控制电路214的一部分。如图6所示,电路600可以包括来自图4的电路400和来自图5的振荡器电路500。在一些实施例中,电路600可以被配置为在从设备204处实现时间戳记,并且振荡器电路500用于在与仅仅使用SCL时钟信号的选择转变的计数来进行时间戳记相比较时提高时间戳记的分辨率。

如以上参考图4中图示的电路400所讨论的,在重置线602处存在的同步脉冲(例如,图4中示出的同步脉冲402)可以在检测到(时间)同步CCC时被生成,即,在输入604处检测到图4中示出的脉冲406的上升沿时被生成。同步脉冲(例如,图4中示出的同步脉冲402)的下降沿可以表示时间同步标记,时间同步标记与在输入604处检测到同步CCC之后在时间戳记同步命令(例如,从图2中示出的主设备202广播的SDR时间同步命令210、图3中示出的时间戳记同步命令300)的‘T’位期间的SCL时钟信号606的选择转变(例如,图4中示出的下降沿410)对齐。在重置线602处存在的同步脉冲可以将计数器608重置为全零。在一个实施例中,计数器608可以为图4中示出的电路400的相同计数器414。计数器608可以被配置为在SCL时钟信号606的每次选择转变(例如,下降沿)时递增,并且可以提供跨所有从设备(例如,图1中图示的从设备104、图2中示出的多个从设备204)的均一时间参考,其中,SCL时钟信号606可以由主设备(例如,图1中图示的主设备102、图2中示出的主设备202)生成和控制。

在一些实施例中,可以至少部分地基于计数器608的值612来对事件610进行时间戳记。在检测到事件610的发生后,表示在时间同步标记与SCL时钟信号606在检测到事件610之前的最后选择转变614之间的SCL时钟信号606的选择转变的数量的值612可以被存储在锁存器616中(例如,图6中示出的值C0可以被存储在锁存器616中)。

在一些实施例中,如所讨论的,振荡器电路500可以结合计数器608使用以提供更精细分辨率来进行时间戳记。包括来自图5的突发振荡器502的振荡器电路500可以被配置为生成具有比SCL时钟信号606的频率高的频率的周期性振荡器信号。如图6所示,在检测到事件610后,触发器618生成激活振荡器电路500内的突发振荡器502的使能信号620。在基于使能信号620的激活后,振荡器电路500的突发振荡器502可以生成高速时钟信号(振荡器信号)506,并且振荡器电路500的计数器504可以保持跟踪振荡器信号506的选择转变(例如,下降沿)的数量。

在一个或多个实施例中,紧跟着检测到事件610的SCL时钟信号606的第一选择转变622使触发器624的输出变高,由此启动在锁存器628中对在振荡器&计数器电路500的输出处的值626的存储。该值被示出为C1。C1的值表示形式为在检测到事件610与在检测到事件610之后的SCL时钟信号606的第一选择转变622之间的振荡器信号506的选择转变的数量的延迟。

在第一选择转变622之后的SCL时钟信号606的下一选择转变630使触发器632的输出变高。结果,这启动在锁存器634中对在振荡器&计数器电路500的输出处的新值626的存储。该值被示出为C2。C2的值表示形式为在检测到事件610与在第一选择转变622之后的SCL时钟信号606的第二选择转变630之间的振荡器信号506的选择转变的数量的延迟。

在一些实施例中,关于在时间同步标记与检测到事件610(即,事件610的时间戳记)之间的逝去时间的信息可以基于所存储的值C0、C1和C2。在一个或多个实施例中,来自图2的时间戳记224可以在从设备204处由图6中示出的时间戳记计算电路636计算为:

在方程(1)中,T0表示时间戳记224。关于事件610的时间戳记的信息可以在SDA总线206可用时经由从设备204的接口228被传达给主设备202。在一个实施例中,如图6所示,由方程(1)定义的时间戳记值T0还可以在被传达给主设备202之前被存储在延迟寄存器638中。延迟寄存器638可以保持时间戳记值T0直到SDA总线206变得可用。

图7是根据本公开的实施例的由主设备702从多个从设备704和706捕获和读取事件的时间的示例图700。主设备702可以对应于图2中示出的主设备202,并且从设备704和706中的每个从设备可以对应于图2中示出的从设备204。如图7所示,主设备702可以将时间同步CCC 708广播到从设备704、706。从设备704、706可以跟踪在当在从设备704、706处检测到同步CCC 708时生成的时间同步标记(图7中未示出)与在每个从设备处检测到事件之间的时间延迟710、712。当在从设备704处检测到事件714并且在从设备706处检测到事件716时,表示为在每个从设备处跟踪的SCL时钟信号的选择转变(图7中未示出)的数量的时间延迟被锁存,即事件被时间戳记在每个从设备中并存储在延迟寄存器中。如图7所示,从设备704可以将所跟踪的延迟710作为事件714的时间戳记存储到延迟寄存器718中;从设备706可以将所跟踪的延迟712作为事件716的时间戳记存储到延迟寄存器720中。在一个或多个实施例中,从设备704的延迟寄存器718和从设备706的延迟寄存器720可以对应于图6中图示的延迟寄存器638。

在一些实施例中,图2中示出的从设备204可能需要在从设备可以启动对图2中示出的主设备202的中断之前等待SDA总线206上的总线空闲状况。如图7所示,从设备704、706可能需要等待直到SDA总线上的业务722完成。然后,从设备706可以启动带内中断(IBI)724,其向主设备702信号通知事件716的时间戳记712可用于由主设备702读取。在接收到IBI 724后,主设备702可以经由SDA总线将请求726发送给从设备706,请求726请求读取关于存储在从设备706的延迟寄存器720中的事件716的时间戳记712的信息。在接收到请求726后,从设备706可以从延迟寄存器720读取728时间戳记712,并且经由SDA总线将关于事件716的时间戳记712的信息提供给主设备702。在那之后,主设备702可以启动从从设备704的延迟寄存器720的另一读取730,延迟寄存器720存储关于事件714的时间戳记710的信息。关于事件714的时间戳记710的信息然后可以经由SDA总线被提供给主设备702。

在图7中示出的说明性实施例中,从设备706可以比从设备704具有更高的优先级。尽管从设备704也可以启动IBI,但是在这种情况下从设备704没有机会这么做,因为主设备702决定响应于从从设备706接收到的IBI 724而自动读取事件714的时间戳记710。还应当指出,由于在同步CCC 708之后的业务722,SCL时钟信号(图7中未示出)可以在检测到的事件714、716之前和之后连续地切换,由此提供用于从设备704、706参考的连续时间基础。

图8是根据本公开的实施例的由主设备802和监测设备808从多个从设备804和806捕获和读取事件的时间的示例图800。在一些实施例中,监测设备808可以经由SDA总线和SCL总线与从设备804和806接口连接。不同于主设备802,监测设备808既不发出任何命令也不生成/控制任何时钟信号。代替地,监测设备808可以简单地监测SDA总线上的业务,并收集由主设备802和/或从设备804、806在SDA总线上传达的对应信息。主设备802可以对应于来自图2的主设备202,并且每个从设备804、806可以对应于来自图2的从设备204。

如图8所示,主设备802可以将时间同步CCC 810广播到从设备804、806,从设备804、806可以跟踪在当在从设备804、806处检测到同步CCC 810时生成的时间同步标记(图8中未示出)与在每个从设备处检测到事件之间的时间延迟812和814。同步CCC 810也可以由监测设备808检测。当在从设备804处检测到事件816并且在从设备806处检测到事件818时,在每个从设备处跟踪的时间延迟被锁存,即事件被时间戳记在每个从设备中并存储在延迟寄存器中。如图8所示,从设备804可以将所跟踪的在时间同步标记与检测到事件816之间的延迟812存储到延迟寄存器820中;从设备806可以将所跟踪的在时间同步标记与事件818之间的延迟814存储到延迟寄存器822中。在一个或多个实施例中,从设备804的延迟寄存器820和从设备806的延迟寄存器822可以对应于图6中图示的延迟寄存器638。

如图8进一步所示,其他业务824可以由主设备802提供在SDA总线上。相同的业务824也可以由监测设备808监测。在一些实施例中,每个从设备可能需要在从设备可以启动对主设备的中断之前等待SDA总线上的总线空闲状况。如图8所示,从设备804、806可能需要等待直到SDA总线的业务824完成。然后,从设备806可以启动IBI,IBI经由SDA总线信号通知826事件818的时间戳记814可用于被读取。经由SDA总线发送的相同中断826可以由主设备802和监测设备808两者接收。在接收到中断826后,主设备802可以向从设备806提供具有从设备806的地址的请求828,请求828请求读取关于存储在从设备806的延迟寄存器822中的事件818的时间戳记814的信息。包括从设备806的地址的请求828还可以由监测设备808接收。

在接收到请求828后,从设备806可以从延迟寄存器822读取830时间戳记814,并且经由SDA总线将关于事件818的时间戳记814的信息提供到主设备802。同时,由于关于事件818的时间戳记814的信息在SDA总线处可用,所以监测设备808也可以获得事件818的时间戳记814。在那之后,主设备802可以通过发送具有从设备804的地址的请求832来启动从延迟寄存器820的另一读取834,延迟寄存器820存储关于事件816的时间戳记812的信息。从设备804的地址832还可以由监测SDA总线上的所有业务的监测设备808接收。关于事件816的时间戳记812的信息然后可以经由SDA总线被提供到主设备802和监测设备808。如本文中关于图2和图12更详细地讨论的,在分别从从设备804和806接收到时间戳记数据812和814后,参考由主设备802生成和控制的全局系统参考时钟信号(即SCL时钟信号)(图8中未示出),主设备802计算事件816和818的时间。

在一些实施例中,主设备802不能够处理时间戳记数据812、814,即,主设备802不支持将时间戳记数据812、814转换成参考全局系统参考时钟信号的事件的实际时间。在这种情下,监测设备808可以被配置为处理对从从设备804、806接收到的时间戳记数据812、814的处理,由此允许对不支持时间戳记的主设备的使用。在该配置中,如以上所讨论的,主设备802仍然可以控制SDA总线和SCL总线,以及处理自/至从设备804、806的读/写/中断。然而,主设备802不处理时间戳记的复杂性。代替地,监测设备808被配置为将接收到的时间戳记数据812、814转换成参考全局系统参考时钟信号的事件816、818的时间。如关于图2和图12更详细地讨论的,监测设备808被配置为以主设备802将进行的相同方式,保持跟踪SCL时钟信号的选择转变并相对于它自己的准确时间基础对SCL时钟信号的转变进行计时。

当从设备806通过在业务824完成之后的总线闲置状态期间下拉SDA总线而启动IBI 826时,主设备802通过切换SCL时钟信号来做出响应,并通过发送请求828来启动从从设备对时间戳记信息814的读回。然而,主设备802可以忽略接收到的时间戳记信息814。代替地,主设备802可以依靠监测设备808,监测设备808用于也读取相同时间戳记数据814并使用时间戳记814来计算在从设备806处检测到的事件818的实际时间。类似地,监测设备808利用从从设备804接收到的时间戳记812,并计算在从设备804处检测到的事件816的时间。在稍后的时间,监测设备808可以将关于事件816、818的时间的信息发送到主设备802。

在图8中示出的说明性实施例中,从设备806可以比从设备804具有更高的优先级。尽管从设备804也可以启动IBI,但是在这种情况下从设备804没有机会这么做,因为主设备802决定响应于从从设备806接收到的IBI 826而自动读取事件816的时间戳记812。应当指出,由于在同步CCC 810之后的业务824,SCL时钟信号(图8中未示出)可以在检测到的事件816、818之前和之后连续地切换,由此提供用于从设备804、806参考的连续时间基础。

图9是根据本公开的实施例的用于在从设备(例如图2中示出的从设备204)处实现时间戳记的电路900的示例示意图,该从设备不具有被示出为图6中的时间戳记电路600的一部分的来自图5的振荡器电路500。电路900可以为图2中示出的从设备204的时间跟踪/触发控制电路214的一部分。

如以上参考图4中图示的电路400所讨论的,在重置线902处存在的同步脉冲402可以在检测到(时间)同步CCC时被生成,即,在输入904处检测到图4中示出的脉冲406的上升沿时被生成。同步脉冲402的下降沿可以表示时间同步标记,该时间同步标记与在输入904处检测到同步CCC之后在时间戳记同步命令(例如,从图2中示出的主设备202广播的SDR时间同步命令210、图3中示出的时间戳记同步命令300)的‘T’位期间的SCL时钟信号906的选择转变410对齐。在重置线902处存在的同步脉冲可以将计数器908重置为全零。计数器908可以对应于图4中示出的电路400的计数器414。计数器908可以被配置为在SCL时钟信号906的每次选择转变时递增,并且可以提供跨所有从设备的均一时间参考,同时SCL时钟信号906可以由主设备生成和控制。

在一些实施例中,可以至少部分地基于计数器908的值912来对事件910进行时间戳记。在检测到事件910后,可以在锁存器914中存储值912,值912表示在时间同步标记与SCL时钟信号906在检测到事件910之前的最后选择转变之间的SCL时钟信号906的选择转变的数量。如图9所示,表示在时间同步标记与检测到事件910之间的SCL时钟信号906的选择转变的数量的值C0被存储在锁存器914中。

由于来自图5的包括突发振荡器502的振荡器电路500不被包括在图9中图示的电路900中,所以与时间戳记的更精细分辨率相关联的C1和C2的值为占位符并被设置为零。在读取由存储在锁存器914中的C0的值给出的与事件910的时间相关联的时间戳记数据224之后,图2中图示的主设备202可以通过实际时间计算单元256分别将C0+1的值和C0+2的值转化成针对每个值的系统参考时间,即,转化成实际时间T1和T2。在一些实施例中,C0+1的值表示时间同步标记与事件910之后的SCL时钟信号906的第一选择转变之间的SCL时钟信号906的选择转变的数量,并且C0+2的值表示时间同步标记与在事件910之后的SCL时钟信号906的第二选择转变之间的SCL时钟信号906的选择转变的数量。然后主设备202可以与T1和T2一起确定事件910的系统参考(实际)时间T。因此,

在图9中示出的说明性实施例中,C1和C2的值两者都被设置为零,并且事件910的实际时间T可以仅仅基于C0+1的值来确定,即,事件910的实际时间T可以等于T1。

根据本公开的实施例,如以上讨论的,多个从设备可以基于由主设备经由SDA总线控制的时间同步触发来启动同时操作(例如,测量)。基于该方法,可以消除主设备与从设备之间的额外通信信道。本公开的实施例支持对由主设备广播的时间同步命令的使用,时间同步命令可以启动在每个从设备处的定时器,该定时器在预定时间段结束时触发事件(例如,测量)。在一个或多个实施例中,用于在每个从设备处触发事件的时间延迟可以由主设备经由SDA总线传达的命令设置,该命令可以在时间同步命令前面。

图10是根据本公开的实施例的用于在图2中图示的从设备204处实现延迟触发的电路1000的示例示意图。电路1000可以为图2中示出的从设备204的时间跟踪/触发控制电路214的一部分。在一些实施例中,图2中图示的主设备202可以控制在每个从设备204处生成的触发的确切时间。

当在输入1004处检测到(时间)同步CCC时(即,当检测到时间同步命令时),触发器1040在重置线1002上生成同步脉冲。同步脉冲的下降沿可以表示时间同步标记1006,时间同步标记1006与在输入1004处检测到时间同步命令之后在时间同步命令(例如,从图2中示出的主设备202广播的SDR时间同步命令210)的‘T’位期间的SCL时钟信号1008的选择转变对齐。在重置线1002处存在的同步脉冲可以将计数器1010重置为全零。在一个实施例中,计数器1010可以对应于图4中示出的电路400的计数器414。计数器1010在SCL时钟信号1010的每个选择转变时递增,并且可以提供跨所有从设备204的均一时间参考,其中,SCL时钟信号1008可以由主设备202生成和控制。

图10中图示的电路1000可以大体被配置为跟踪SCL时钟信号1008在检测到时间同步命令之后的选择转变的数量,并且被配置为响应于SCL时钟信号1008的选择转变的数量达到延迟设置而生成触发信号,该延迟设置由延迟设置信息1012指示,延迟设置信息1012可以由主设备202提供到延迟寄存器1014中。在一些实施例中,延迟设置信息1012可以包括粗糙延迟设置信息1016和精细延迟设置信息1018,它们可以由主设备202经由SDA总线在广播时间同步命令之前传达的命令中设置。粗糙延迟设置信息1016指示形式为要在时间同步标记1006与触发信号的生成之间发生的SCL时钟信号1008的选择转变的数量的触发延迟。如图10所示,比较器1020可以被配置为将粗糙延迟设置信息1016与计数器1010的值1022进行比较,值1022表示在时间同步标记1006之后发生的SCL时钟信号1008的选择转变的数量。当计数器1010的值1022等于粗糙延迟设置信息1016并且所跟踪的SCL时钟信号1008的选择转变的数量达到粗糙延迟设置信息1016时,比较器1024的输出变成逻辑‘1’。结果,触发器1050使得使能信号1026变成逻辑‘1’,并且使得能够操作振荡器和计数器电路1028。振荡器和计数器电路1028可以结合计数器1010和比较器1024使用,以提供用于延迟触发的更精细分辨率。

对于一些实施例,振荡器和计数器电路1028可以对应于图5中图示的振荡器电路500,其包括突发振荡器502和计数器504。当由使能信号1026使能时,振荡器和计数器电路1028在内部生成具有高于SCL时钟信号1008的频率的频率的突发振荡器信号1030。如图10所示,在由使能信号1026激活振荡器和计数器电路1028后,振荡器和计数器电路1028内的突发振荡器可以生成突发振荡器信号1030,而振荡器和计数器电路1028内的计数器可以保持跟踪突发振荡器信号1030的选择转变的数量。精细延迟设置信息1018指示形式为要在使能信号1026与触发信号的生成之间发生的突发振荡器信号1030的选择转变的数量的触发延迟。一旦由在振荡器和计数器电路1028的输出处的信号1032表示的突发振荡器信号1030的选择转变的数量达到精细延迟设置1018,比较器1034就使触发信号1036的逻辑电平变成逻辑“1”。在由主设备202基于粗糙延迟设置信息和精细延迟设置信息而控制的确切时刻,触发信号1036切换逻辑状态。由图10中图示的电路1000生成的触发信号1036可以对应于由图2中示出的从设备204的时间跟踪/触发控制电路214生成的延迟触发信号238。在由主设备202控制的确切时刻,延迟触发信号238可以启动耦合到从设备204的换能器240的操作。

图11是根据本公开的实施例的由主设备控制在多个从设备处的事件的时间的示例图1100。如图11所示,主设备1102可以向从设备1104和1106提供延迟设置信息,即,延迟设置信息1108可以被存储在从设备1104的延迟寄存器1110处,并且延迟设置信息1112可以被存储在从设备1106的延迟寄存器1114处。从设备1104的延迟寄存器1110和从设备1106的延迟寄存器1114可以对应于图10中示出的延迟寄存器1014。在一些实施例中,如所讨论的,延迟设置信息1108和1112可以经由SDA总线经由从主设备1102发送的SDR命令被传达到从设备1104和1106。主设备1102可以对应于来自图2的主设备202,并且每个从设备1104、1106可以对应于来自图2的从设备204。

如图11进一步所示,在传达延迟设置信息1108和1112之后,主设备1102可以经由SDA总线广播时间同步命令(同步CCC 1116)。在从设备1104和1106处检测到同步CCC 1116后,时间同步标记(图11中未示出)可以在每个从设备处被生成,即,从设备1104和1106可以通过清除它们相应的计数器来同步。从时间同步标记开始,从设备1104和1106可以跟踪参考时间,参考时间可以由主设备1102经由SCL时钟信号提供。当在从设备1104处跟踪的时间达到延迟设置信息1108时,从设备1104可以生成形式为触发事件1118的触发,触发事件1118可以从时间同步标记被延迟特定参考时间1120。类似地,当在从设备1106处跟踪的时间达到延迟设置信息1112时,从设备1106可以生成形式为触发事件1122的触发,触发事件1122可以从时间同步标记被延迟特定参考时间1124。

在一些实施例中,如所讨论的,图2中图示的主设备202可以从由时间同步命令指示的时间同步标记开始跟踪系统参考时间,以便将在从设备204处检测到的事件的时间戳记转换为参考由主设备202生成和控制的全局时钟信号的系统(实际)时间。图12是根据本公开的实施例的在主设备202处被实现的用于支持时间戳记的电路1200的示例示意图。图12中图示的电路1200可以对应于图2中示出的主设备202的时间跟踪电路234。

当由在输入1206处的具有高逻辑电平的信号指示同步CCC广播时,触发器1202在重置线1204上生成同步脉冲。同步脉冲的下降沿可以表示时间同步标记,时间同步标记与在输入1206处检测到的时间同步命令的‘T’位期间的SCL时钟信号1208的选择转变对齐。在重置线1204处存在的同步脉冲可以将计数器1210重置为全零。计数器1210可以对应于图2中示出的主设备202的计数器电路248。计数器1210在SCL时钟信号1208的每个选择转变时递增,并且可以提供主设备与所有从设备之间的均一时间参考。在一个实施例中,当主设备控制SCL总线(例如,如在SDR和双倍数据速率(DDR)模式中)时,SCL时钟信号1208可以由来自图2的时钟发生器260从参考时钟得出,并且由主设备202控制。

在一些实施例中,SCL时钟信号1208的频率变化可以使用计数器1210的值1212进行戳记。一旦指示SCL时钟信号1208的频率变化的频率变化(COF)信号1214变成逻辑‘1’,计数器1210的值1212就可以被存储到锁存器1216中,在图12中被指示为值C0。在一个实施例中,C0的值表示时间同步标记与SCL时钟信号1208在SCL时钟信号1208的第一个频率变化之前的最后选择转变之间的SCL时钟信号1208的选择转变的数量。参考回图2,存储到图12中的锁存器1216中的值C0可以对应于在COF信号252变高时存储在主设备202的锁存器250中的SCL计数C0。

在一些实施例中,寄存器或查找表1218可以存储与和SCL时钟信号1208的不同频率相关联的不同周期相关的信息。例如,如图12所示,位T(1,0)可以编码在SCL时钟信号1208的频率为12MHz时的周期的持续时间;位T(0,1)可以编码在SCL时钟信号1208的频率为1MHz时的周期的持续时间;并且位T(0,0)可以编码在SCL时钟信号1208的频率为400KHz时的周期的持续时间。在寄存器1218的输出处由位T(0:m)编码的值1220可以结合存储在锁存器1216中的C0的值使用,以提供SCL时钟信号1208的选择转变的数量与实际时间参考之间的关系。一旦指示SCL时钟信号1208的频率变化的COF信号1214变成逻辑‘1’,在寄存器1218的输出处由位T(0:m)编码的值1220可以被存储到锁存器1222中,被指示为值C1。因此,C1的值可以表示在SCL时钟信号1208的频率变化之前的SCL时钟信号1208的周期。锁存的C0和C1的值可以提供关于时间同步标记与COF之间的系统时间参考的信息。

在一些实施例中,如图12所示,当指示在时间同步标记与SCL时钟信号1208的频率变化之间的SCL时钟信号1208的选择转变的数量的值1212和表示在频率变化之前的SCL时钟信号1208的频率的编码的周期的值1220分别被存储为值C0和C1时,SCL时钟信号1208的下一选择转变可以使触发器1224产生中断(INT)信号1226,启动将值C0和C1存储到缓存或寄存器文件中。在那之后,可以脉冲发送清除信号1228,其可以重置锁存器1216和1222,即,锁存的值C0和C1在基于INT信号1226被存储到缓存或寄存器文件中之后被清除。参考回图2,存储到缓存或寄存器文件中的C0和C1的值可以对应于在COF信号252变高时存储在图2中示出的主设备202的寄存器文件254中的CNT_1和T1值。

参考回图12,在重置了锁存器1216、1222之后,电路1200可以继续跟踪在SCL时钟信号1208的第一个频率变化之后的SCL时钟信号1208的选择转变的数量,直到SCL时钟信号1208的下一频率变化。图12中的锁存的值C0和C1可以提供关于时间同步标记与由COF信号1214指示的SCL时钟信号1208的该下一频率变化之间的参考时间的信息。以这种方式,图2中的主设备202可以基于在时间同步标记处开始的由主设备202生成和控制的SCL时钟信号1208来跟踪参考时间,并且利用该参考时间信息来将其与在从设备204处检测到的事件的时间戳相关,以计算在从设备204处检测到的事件的发生的参考SCL时钟信号1208的实际时间。

从由时间同步标记表示的同步的时间开始,主设备202存储时间同步标记的时间,并且通过计数器1210对SCL时钟信号1208的每个选择转变进行计数。主设备202在锁存器1222和1216中存储表示SCL时钟信号1208的频率的度量1220(即,值C1)和由COF信号1214指示的SCL时钟信号1208的频率变化发生的SCL时钟信号1208的选择转变的计数1212(即,值C0)。在由COF信号1214启动INT1226之后,所存储的C0和C1的值可以从锁存器1216、1222转移到缓存或寄存器文件中。参考回图2,转移到缓存或寄存器文件中的C0和C1的值可以分别对应于CNT_i和Ti值,每当COF信号252变高时它们被存储在主设备202的寄存器文件254中,提供参考时间信息。在一些实施例中,如所讨论的,主设备202可以经由SDA总线206接收在从设备204处检测到的事件222的时间戳记224。主设备202可以使用存储在寄存器文件254中的参考时间信息,即,CNT_i和Ti值,来重建SCL时钟信号的任何选择转变的时刻,而无需实际上存储每个这样的转变的时间。当主设备202接收SCL时钟信号计数或在从设备204处检测到的事件222的时间戳记224时,主设备202在实际时间计算单元256处将时间戳记224与寄存器文件254的参考时间信息相关,以确定事件222相对于系统参考时钟的确切时刻258。

图13是图示了根据本公开的实施例的在图2中图示的主设备202处执行的用于对SCL时钟信号中的变化进行时间戳记的方法的图1300,该方法可以由图12中的电路1200执行。如图13所示,驱动SCL总线的SCL时钟信号1302可以改变其频率,这可以由主设备202控制。另外,对于某一时间段,SCL时钟信号1302可以不具有转变,这对应于总线空闲状况。因此,如图13所示,SCL时钟信号1302对于在总线空闲状况期间的特定时间段不是周期性的,而SCL时钟信号1302可以再次变为周期性的。如以上关于图12中图示的电路1200所讨论的,主设备202可以对在SCL时钟信号1302的频率变化之前的SCL时钟信号1302的最后选择转变进行时间戳记。如图13所示,与SCL时钟信号1302的先前时钟频率1306相关的选择最后转变1304可以相对于时间同步标记(未示出)被时间戳记。在那之后,针对下一时钟频率1308的SCL时钟信号1302的最后选择转变也被时间戳记,即,在总线空闲状况1312之前的SCL时钟信号1302的最后高到低转变1310被时间戳记。时间戳记1310与时间戳记1304一起指示SCL时钟信号1302的两个相继频率变化之间的时间。应当指出,当SCL时钟信号1302不是周期性时的总线空闲状况1312也可以被认为是SCL时钟信号1302的频率变化,因为SCL时钟信号1302的频率实际上从非零频率1308变化为零。因此,当从总线空闲状况1312转变为新时钟频率1316时的SCL时钟信号1302的高到低转变1314也被时间戳记。时间戳记1314与时间戳记1310一起指示总线空闲状况1312的持续时间。

在一些实施例中,如所讨论的,图2中图示的主设备202可以使用SCL时钟信号1302的时间戳记的选择转变(例如,时间戳记的转变1304、1310、1314等),以确定从设备204已经检测到的任何时间戳记的事件的系统参考时间。时间戳记1304、1310、1314可以对应于存储在主设备202的寄存器文件254中的值CNT_i。主设备204可以将在从设备204处检测到的事件222的时间戳记224与包括关于SCL时钟信号的周期Ti的信息的SCL时钟信号的时间戳记的转变1304、1310、1314相关,并且通过实际时间计算电路256确定事件的系统参考时间258。

本公开的实施例涉及一种用于将在主设备处的系统时间基础转化为在从设备处的本地时间基础以进行时间戳记和延迟触发的方法。参考回图2,主设备202可以被配置为生成参考SCL时钟信号208,参考SCL时钟信号208在一个或多个从设备204处也可用。在一个或多个实施例中,参考SCL时钟信号208可以具有特定分辨率并且可以能转化为系统时间。然后主设备202可以在SDA总线206上提供同步指示,其形式为图2和图3中示出的时间同步命令210和300。通过提供同步指示,主设备202还可以在SDA总线206上设置参考点,其可以对应于在时间同步命令期间的参考SCL时钟信号208的选择转变。由主设备202提供的参考点可以在每个从设备204被接收,作为与参考SCL时钟信号208的选择转变对齐的时间同步标记。在一些实施例中,如所讨论的,响应于接收到参考点,每个从设备204可以以本地时间参考来跟踪已经过去的时间量。响应于在该从设备204处检测到事件,当检测到事件时已经过去的本地时间量的指示可以被加载到寄存器中和/或可以被发送到SDA总线206。另外,基于由主设备202提供的参考点和参考SCL时钟信号208,每个从设备204可以在直接由主设备202控制的并且基于系统时间基础参考的时刻生成触发信号。

本公开的实施例还涉及一种用于将在从设备处的本地时间基础转化为在主设备处的系统时间基础以进行时间戳记的方法。一个或多个从设备204可以监测事件的发生。如所讨论的,在每个从设备204处,事件的发生可以以本地时间基础进行标记,并且事件的时间戳记可以被锁存在从设备204处。在开始监测事件的发生之前,每个从设备204可以经由SDA总线206从主设备202接收形式为时间同步标记的参考点信号。时间同步标记可以基于在主设备202处生成和控制的参考时钟(诸如SCL时钟信号208),并且可以因此能转化成系统范围的时间基础。在每个从设备204处,可以确定当该从设备204处接收到时间同步标记时的时间与当以本地时间基础检测到事件的发生时的时间之间的延时。延时对应于本地时间基础中的事件的时间,并且可以被报告给主设备202。在一些实施例中,如所讨论的,主设备202可以确定系统范围时间基础中的在从设备204处的事件中的每个事件发生的相应时间。

图14是图示了根据本公开的实施例的可以在图2中图示的主设备202处被执行的用于时间戳记的方法1400的流程图。

方法1400的操作可以开始于主设备202生成1402时钟信号(例如SCL时钟信号208)和同步命令(诸如时间同步命令210)。

主设备202经由通信链路(诸如图2中图示的包括SCL线208和SDA线206的通信链路205)发射1404时钟信号和同步命令。

主设备202经由通信链路接收1406时间戳记信息(例如,时间戳记224),时间戳记信息指示在同步命令与当在从设备处检测到事件(例如,在从设备204处检测到事件222)时的时刻之间逝去的时钟信号的选择转变的数量。

更详细地被示出为图12中的电路1200的主设备202的时间跟踪电路234跟踪1408同步命令与在同步命令之后发生的时钟信号的频率变化之间的时钟信号的选择转变的计数。

主设备202的实际时间计算单元256基于时间戳记信息和时钟信号的选择转变的计数,来确定1410在从设备处检测到的事件的时间。

图15是图示了根据本公开的实施例的可以在图2中图示的从设备204处被执行的用于延迟触发的方法1500的流程图。

方法1500的操作可以开始于:经由运载时钟信号(例如,SCL时钟信号208)的通信链路,从设备204接收1502同步命令(例如,时间同步命令210)和延迟设置信息,延迟设置信息可以在时间同步命令之前由主设备202生成的SDR命令210提供。在一些实施例中,如所讨论的,通信链路可以对应于包括SDA线206和SCL线208的通信链路205。

更详细地被示出为图10中的电路1000的从设备202的时间跟踪/触发控制电路214跟踪1504在同步命令之后的时钟信号的选择转变(例如,SCL时钟信号208的下降沿)的数量。

响应于选择转变的数量达到由延迟设置信息指示的延迟设置,从设备204生成1506触发信号(诸如延迟触发238)。

图16是图示了根据本公开的实施例的可以在图2中图示的主设备202处被执行的用于延迟触发的方法1600的流程图。

方法1600的操作可以开始于主设备202经由通信链路发射1602时钟信号(例如,SCL时钟信号208)和同步命令(例如,时间同步命令210)。在一些实施例中,如所讨论的,通信链路可以对应于包括SDA线206和SCL线208的通信链路205。

主设备202发射1604延迟设置信息,延迟设置信息指示要在同步命令与在耦合到通信链路的一个或多个从设备204处的触发信号(例如,延迟触发238)的生成之间发生的时钟信号的选择转变的数量。在一些实施例中,如所讨论的,延迟设置信息可以包括粗糙延迟设置信息和精细延迟设置信息,它们位于由主设备202在同步命令之前生成的SDR命令210中。

已经出于说明的目的呈现了本公开的实施例的前述描述;其不旨在为穷举的或将本公开限于所公开的精确形式。相关领域技术人员可以认识到,鉴于以上公开内容,许多修改和变型是可能的。

本说明书的一些部分在对信息的操作的算法和符号表示方面描述了本公开的实施例。这些算法的描述和表示通常由数据处理领域的技术人员用于将其工作的内容有效地传达给本领域其他技术人员。当在功能上、计算上或逻辑上描述时,这些操作被理解为由计算机程序或等效电路、微代码等来实施。另外,有时将对操作的这些布置指代为模块,也已证明是方便的,而不失一般性。所描述的操作和其相关联的模块可以被实现在软件、固件、硬件或它们的任何组合中。

本文中描述的任何步骤、操作或过程可以利用一个或多个硬件或软件模块单独地或与其他设备组合地来执行或来实施。在一个实施例中,软件模块利用一种计算机程序产品来实施,该计算机程序产品包括含有计算机程序代码的计算机可读介质,计算机程序代码可以由计算机处理器执行,以执行所描述的任何或全部步骤、操作或过程。

本公开的实施例还可以涉及一种用于执行本文中的操作的装置。该装置可以专门出于所需要的目的而被构造,和/或其可以包括由计算机中存储的计算机程序选择性地激活或重新配置的通用计算设备。这样的计算机程序可以被存储在可以耦合到计算机系统总线的非瞬态有形计算机可读存储介质或适合于存储电子指令的任何类型的介质中。另外,在本说明书中引用的任何计算系统可以包括单个处理器或,可以是采用用于增大计算能力的多个处理器设计的架构。

最后,在本说明书中使用的语言已经在原则上出于可读性和指导目的而被选择,并且其可以不是为了划定或限制本发明的技术方案而被选择的。因此,本公开的范围不旨在由该详细描述限制,而是确切地说,由基于申请发布的任何权利要求限制。因此,实施例的公开内容旨在为说明性的,而非对本公开的范围的限制,本公开的范围被阐述在所附权利要求书中。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号