通用串行总线数据采集中减小触发延迟的方法与系统的制作方法

文档序号:6477176阅读:270来源:国知局
专利名称:通用串行总线数据采集中减小触发延迟的方法与系统的制作方法
技术领域
本发明涉及用于降低通用串行总线数据采集中的触发延迟的方法与 系统,具体涉及但绝不仅限于提供同步与定时系统以及时钟的应用场合; 在测试和测量设备、仪表界面以及过程控制设备的数据采集和自动化以 及控制中的应用;并具体涉及在本地环境或分布式机制中使这些设备在
基本上任意的程度上同步的应用场合。
背景技术
USB标准旨在以开放式架构便于诸如来自不同厂商的设备进行互操 作。USB数据使用差分信号进行编码(即两条导线传输信息),差分信号表 现为这两条导线的信号电平之间的差异。USB标准的目的是对便携式、 台式以及家用环境中的PC架构进行增强。
USB标准假设多个设备是不同的。对于其中连接有来自多个制造商 的设备的目标环境而言来说的确如此,但存在其它一些环境(诸如一些常 见的工业或实验室环境),这些环境需要以同步的方式操作具有相似性质 的多个设备的标准。所述标准并不足以解决该问题。这些环境通常是进 行测试、测量或监测的环境,它们需要设备被同步到比规定的更精确的 程度。通过对所有设备提供lkHz时钟信号,USB标准实现了有限的设备 间同步。然而,许多实验室和工业环境需要在兆赫兹及更高的频率上同 步。
USB采用分层式星状拓扑,其中集线器为USB设备提供连接点。位 于用户的个人计算机(PC)、膝上型计算机或个人数字助手(PDA)处的USB 主机控制器包含根集线器,根集线器是系统中的所有USB端口的起点。根集线器提供了许多USB端口,所述USB端口可连接有USB功能设备或 其它的集线器。
依次地,可将更多集线器(诸如USB组合设备)连接到这些端口中的任 何一个,于是通过这些端口为更多的USB设备提供了另外的连接点。这 样,尽管没有设备可以有多于五级的连接,USB最多允许连接127个设备 (包括集线器)。
主机中的根集线器每lms将帧开始(SOF)信号包传送到每个设备,两 个SOF包之间的时间称为帧。由于USB拓扑中不可避免的信号传输延迟, 每个模块在不同时刻接收该SOF包。该拓扑意味着当接收相同的信号时, 直接连接于主机控制器的设备与五级以下的设备之间可能存在显著的时 间延迟(规定为。80ns)。当需要在兆赫兹及更高水平使设备同步时,这是 严格的限制。而且,USB标准允许主机控制器有多达五个连续的SOF令牌 (token)传送失败。
在一种现有方法中,通过两种类型的USB传输,即通过中断与同步, 可以实现USB主机和USB设备之间的同步。中断传输以125(iis的最小周期 提供有保障的设备的轮询频率,而同步传输确保恒定的传输速率。两种 方法都要求设备与主机之间存在通信以用于产生同步,并因此保留更多 带宽用于更高程度的同步。然而,这意味着在连接最大数目的设备之前, 可用的USB带宽可能便已用尽。该方法还对主机施加了用软件使127个设 备与主机同步的计算负担,且仍不能使各个设备之间与主机保持同步, 所述各个设备是代表独立处理的单个设备。
包含诸如激光二极管或光电探测器的物理传感器的设备可能需要时 钟和触发信息。例如具有lMHz调制光输出的激光二极管的设备,可能使 用时钟信号以规定的间隔或以恒定的频率完成传感器功能。触发信号通 常用于在设定的时刻启动或结束操作。在激光二极管的例子中,触发信 号可用于开启或关闭已调制的光输出。
假设所述时钟和触发信号对于所有设备是公共的并是同时的,则这 些时钟和触发信号可用于使多个设备彼此同步(并因此构成以下所谓的 "同步信息")。"公共"和"同时"在此意味着设备之间的这些信号的时间的变化少于指定量5t。在激光二极管的例子中,这将使得多个激光 二极管以一个频率调制其光输出。所有设备的调制频率将会相同,且其
波形将会同相。现行USB标准(g卩2.0)允许St最多为0.35iis。对于频率为 lMHz且周期为1.0)is的信号,该延迟表现为几乎半个周期。因此所述时钟 和触发信息不能用作常规使用的同步信息。
诸如集线器和USB控制器芯片的设备一般使用一定量的锁相以便对 USB协议进行解码。USB协议中的SYNC模式的目的是提供同步模式供另 一电路锁定。然而,这旨在使设备与USB比特流同步到足够的精度以解 译MHz比特流。而不是旨在使两个单独设备彼此同步到许多测试和测量 仪器所要求的水平。就解决设备间同步的方面来说,USB标准主要考虑 使USB-CD音频流足够同步以在一对USB扬声器上输出。这样一种配置的 要求处于kHz范围内,且对于该应用,USB标准符合要求。然而,该标准 不能解决例如使100对USB扬声器同步的潜在问题。
如上所述,USB通信在规定的lms帧期间(或在高速USB标准的情况
下,每lms帧的八个微帧中)传输数据。帧开始(SOF)包在每个帧的开始处
被传送到除了低速设备以外的所有设备,并在每个微帧的开始处被传送
到所有高速设备。因此,SOF包代表周期性低分辨率信号,该周期性低 分辨率信号被广播到连接于给定主机控制器的除了低速设备以外的所有设备。
该SOF包广播以lkHz(在高速USB标准的情况下为8kHz)的标称频率 发生。然而,USB标准允许大约百万分之500的非常大的频率偏差(根据 仪表标准)。
背景技术
使用被广播到每个设备的该低分辨率频率信号以提 供时钟同步,但仅能同步到由USB主机控制器提供的有点不确定的频率。
美国专利6,343,364号(Leydier等人)公开了针对USB通信的频率锁定 的例子,其用于智能卡读卡器。该文件教导了与USB SYNC和包ID流比 较而言本地的、独立运行的时钟;更新该时钟的周期以匹配所述频率, 从而得到标称频率为1.5MHz的本地时钟。这提供的同步程度足以将智能 卡信息读取到主机PC中,然而由于该方法适用于智能卡读卡器,未解决 设备间同步的问题。
12美国专利6,012,115号及后续的美国专利6,226,701号(Chambers等人) 用于解决USB SOF周期性和用于定时的编号问题。所述专利文献公开了 一种计算机系统,该计算机系统通过使用从USB主机控制器传送到连接 于USB主机控制器的周边设备的帧开始脉冲,可及时精确地测定在实时 周边设备内发生预定事件的时刻。
然而,这些专利文献所教导的方法不涉及包含于USB数据通信中的 周期性数据结构的频率的测量,并在一些情况下依赖于主机中提供的另 外的计数器,所述周期性数据结构的频率用于确定USB主机控制器中的 主时钟的绝对频率。
美国专利6,092,210号(Larky等人)公开了一种连接两个USB主机以用 于传输数据的方法,其采用USB至USB的连接装置以使本地设备的时钟 与两个USB主机的数据流同步。使用锁相环以使本地时钟同步,并使用 过采样以确保不发生数据丢失。然而,该专利文献涉及两个USB主机的 数据流的彼此同步(且精度有限),从而可以在所述主机之间传输信息。该 专利文献并未教导任何用于使多个USB设备与单个USB主机同步或与多 个USB主机同步的方法。
制定USB标准时考虑了音频应用,且美国专利5,761,537号(Sturges等 人)描述了如何使两对以上扬声器与单个时钟同步,其中一对扬声器依赖 于PC中的立体声音频电路工作而另一对由USB控制。两对扬声器都使用 它们自己的时钟,因此它们需要同步;该文件教导了一项用于保持音频 信号的同步的技术,尽管异步时钟之间可能存在时钟偏离(clock skew)。
美国专利申请10/620,769号(Foster等人)公开了USB的同步版本,其中 每个设备的本地时钟在给定的USB上任意程度地同步。该专利文献还公 开了用于对USB内的每个设备提供触发信号,从而可以由触发信号在多 个设备上同步启动事件的方法与设备。
然而,与传统USB消息传递相关联的延迟仍然阻碍着一个USB设备 接收触发信号并以最小的延迟将该触发信号分发到其它设备。这排除了 当多个设备中的一个接收外部触发信号时,多个USB数据采集设备在一 定标称偏差内同时地并同步地进行测量采样的可能。在诸如VXI或PXI的传统的机架式测量系统中,机架中存在定时背 板,定时背板允许多个设备共享机架中的槽之间的触发信号。USB不具 有这些能力中的任何能力,且这严重地限制了USB在数据采集、测量、 自动化与控制应用场合中的应用。
图1是背景技术的同步USB系统10的示意图,其中包括个人计算机 12,该个人计算机12包含具有USB的USB主机控制器,该个人计算机12 用作USB扩展集线器14和USB设备16的网络的主机。每个USB设备16具 有其各自的本地时钟(未图示)。
用于使这些本地时钟同步的这种架构依赖于USB通信中存在的周期 性数据结构。于是,美国专利申请10/620,769号(Foster等人)的优选实施例 基本上将本地时钟锁定于在USB设备处检测SOF包令牌的频率和相位中; 电路观察通过USB的通信并从总线通信(在优选实施例中包括SOF包)中 解码时钟载波信号,这造成lkHz(或用于USB高速的8kHz)的标称载波信 号频率。来自受控振荡器时钟的本地时钟信号在相位和频率上都锁定于 USB SOF包的接收。这确保了连接于根集线器的所有设备的频率锁定于 这些设备接收SOF包令牌的频率点。
在2007年2月15日提交的WO2007/092997(Foster等人)中公开了另一 同步USB设备,其采用了由已经同步的本地时钟提供时钟的本地基准时 钟寄存器。该文件公开了混合USB集线器(相当于图1的USB集线器14), 其具有可以降低控制环延迟的另外的数据通路。图2是该混合USB集线器 30的示意图,其具有上游端口32、多个下游端口34、低延迟数据旁路端 口36、传统USB集线器电路38以及数据旁路电路40。
图3是被WO2007/092997简化的图2的数据旁路电路40的详细示意 图,以更清晰地示出。数据旁路电路40具有用于连接于总线的主机控制 器侧的上游端口42、用于连接于总线的设备侧的下游端口44 (在优选实施 例中其连接于传统USB集线器电路芯片)、低延迟数据旁路端口46以及 USB数据多路开关48。
于是,数据旁路电路40能够监测所有USB数据包,并提供USB数据 信号的缓冲的复制信号50供外部电路使用。缓冲的复制信号50可被外部电路用于对来自于主机控制器的USB数据中的周期性信号结构进行解 码,以识别包含关于USB主机控制器的时钟速率的信息的载波信号。由 于缓冲的复制信号50自上游流向主机控制器,故缓冲的复制信号50还可 用于对来自所有下游USB设备的信息进行解码。这样,可对来自下游设 备的信息采取直接措施以处理并对数据作出反应,而无需首先要求主机 控制器和相关的操作系统。
数据旁路电路40还包括用于高级数据管理、切换并降低USB控制环 延迟的另外的电路,其包括USB数据多路开关48(为简单起见,表示为图 3的一对简单的单极开关52和54,然而实际中USB数据信号是差分的)。 USB数据多路开关48包含上游开关52和下游开关54,并配置用于将来自 上游端口42的USB数据信号同步地直接引导到下游端口44(图示的配置), 或者利用经由双向数据端口46来自于外部电路的双向数据流50。为简单 起见,未图示开关控制器逻辑。
数据旁路电路40还能够动态地配置为在USB数据流中插入数据。从 主机控制器到设备的消息可能被USB监测电路拦截并改变。这样,软件 可配置为以已知的数据包大小对具体USB设备提供定期轮询。通过同步 地使直接连接旁路(在USB数据开关48的图示配置中)并在事物的有效载 荷域中插入数据,USB监测电路可在事物的有效载荷内插入数据,所述 USB监测电路可以访问指定的被定期轮询的包的大小。
尽管该系统可达到降低USB中的消息延迟的期望结果,然而该系统 需要在专用混合USB集线器(或其它设备)中包括特定的硬件。所述硬件会 使系统不能使用传统USB架构在任意小的时间帧内来降低数据采集通知 并触发多个设备。

发明内容
在第一宽泛的方面中,本发明提供了一种控制与公共控制器进行数 据通信的一个以上设备(诸如USB设备)以执行一个以上功能的方法,每 个设备具有同步时钟、同步实时时钟寄存器以及存储器,该方法包括
设置所述设备以使得设备同步地开始执行所述功能,接收通过执行 所述功能而采集的数据并将该数据存储到所述设备各自的存储器中,并将表明已采集数据的采集时间的时间戳信息存储到所述设备各自的存储 器中;
与所述公共控制器进行数据通信的触发装置通过将第一消息发送给 主机控制器以响应执行所述功能的命令(诸如以外部触发信号的形式),所 述第一消息包括表明所述命令的接收时间的数据;
主机控制器通过将第二消息发送给设备以响应第一消息,所述第二 消息包括表明所述命令被其它设备接收的时间的数据;以及
所述设备从每个各自的存储器中对应于接收时间的位置或从下一 可用的位置开始,通过读取设备各自的存储器并将存储于所述存储器中 的已采集数据发送给主机控制器以响应第二消息。
本领域的技术人员应当明白,通常意义上的设备的时钟是"同步" 的(即彼此同步)是指根据任一时钟的时间和根据任何其它时钟的时间之 间存在已知的对应,这是一致性的一种。
触发装置可能是所述设备之一,但在一些实施例中触发装置不是设 备之一。
在一个实施例中,时钟是被锁定的频率和相位。
在一个实施例中,实时时钟寄存器与公共纪元(common epoch)同步 并以各个同步时钟作为时钟。
在特定实施例中,所述的设置多个设备包括由设备启动指令。
该方法可包括测量并记录多个外部提供的信号的状态(例如,包括测 量模拟信号的幅度)的设备。
存储器可配置为一旦变满便重写最旧的读入数据。
该方法包括给执行所述功能的命令提供表明所述触发装置的所述接 收时间的时间戳。
该方法包括将时间戳传送给设备。
控制器包括USB主机,且设备包括USB设备。
该方法可包括经由USB事务传送时间戳。
所述USB事务包括
16主机控制器轮询第一设备;
触发装置通过将第一消息发送给主机控制器来响应所述轮询请求, 所述第一消息包括表明相对于一般意义上的时间来说的所述命令的接收 时间的数据;以及
主机控制器将第二消息发送给设备,所述第二消息包括表明相对于 一般意义上的时间来说的所述命令的接收时间的数据。
该方法包括经由非USB事务传送时间戳。
该方法包括通过无线电传输、光学传输或其它电信号传送时间戳。
在一个实施例中,所述功能包括有时序的指令,所述指令在相对于 所述命令被所述触发装置接收的时刻的指定时刻执行。
在特定实施例中,所述功能包括选自下述一组的任一条或更多条指 令,该组包括釆集数据、测量物理传感器、监测外部设备或仪表、启 动或停止时钟信号的传输、启动或停止比特模式的传输、启动或停止控 制序列的传输以及控制外部设备或仪表。
根据该方面,在本发明的一个实施例中,提供了采用多个设备的第 一设备控制所述多个设备中的另一或更多设备以收集数据的方法,所述 多个设备与公共控制器存在数据通信,所述设备中的每一个具有同步时 钟、同步实时时钟寄存器以及存储器,该方法包括-
设置所述其它设备,以使得所述其它设备同步地开始采集数据,一 旦采集到数据就将该数据存储到各自的存储器中,并且将表明至少一些 已采集数据的采集时间的时间戳信息存储到各自的存储器中;
第一设备通过将第一消息发送给主机控制器(通常在正常的轮询程 序期间),响应数据收集命令以收集数据(诸如以外部触发信号的形式),
所述第一消息包括表明数据收集命令的接收时间的数据;
主机控制器通过将第二消息发送给其它设备以响应消息,所述第二
消息包括表明所述数据收集命令被第一设备接收的时间的数据;以及 其它设备从每个各自的存储器中对应于接收时间的位置或从下一可
用的位置开始,通过读取设备各自的存储器并将存储于所述存储器中的
已采集数据发送给主机控制器以响应第二消息。在一个实施例中,多个设备的形式为多个USB设备,且控制器包括
USB主机控制器,且该方法包括-
设置所述其它USB设备,以使得所述其它USB设备同步地开始采集
数据, 一旦采集到数据就将该数据存储到各自的存储器中,并将表明至 少一些已采集的数据的采集时间的时间戳信息存储到各自的存储器中;
第一USB设备通过将第一消息发送给主机控制器(通常在正常的轮 询程序期间),响应数据收集命令以收集数据(诸如以外部触发信号为形 式),所述第一消息包括表明数据收集命令的接收时间的数据;
主机控制器通过将第二消息发送给其它USB设备以响应消息,所述 第二消息包括表明所述数据收集命令被第一USB设备接收的时间的数 据;以及
其它USB设备从每个各自的存储器中对应于接收时间的位置或从下 一可用的位置开始,通过读取设备各自的存储器并将存储于所述存储器 中的已采集数据发送给主机控制器以响应第二消息。
于是,测量延迟因此仅受到例如USB数据采集设备的测量采样周期 的限制,该周期通常远小于被测信号的特征大小。在一个实施例中,同 步时钟通过相位锁定保持时间,且每个设备的实时时钟寄存器包含确切 的时间并由各自的同步时钟提供时钟。
在一些实施例中,该方法包括当设置其它USB设备时设置第一USB 设备,从而数据被第一USB设备和其它USB设备都采集到。
在一些实施例中,另外的USB设备与主机控制器进行数据通信,且 该方法包括有选择地设置所述其它USB设备,而不是设置所述另外的 USB设备。
每个其它USB设备的设置可比作设置示波器以接收触发信号。
在一个实施例中,时间戳信息包括用于每项已采集数据的单独时间 戳信息,且该方法包括将各自的时间戳信息与已采集数据的对应部分相 关联。在另一实施例中,该方法包括每个其它USB设备仅当开始采集数 据时存储时间戳信息,这种情况下,该方法的状态机属性使得每项已采 集数据能够与特定的采集时间相关联。在一个实施例中,如果任何存储器存满,该方法包括以环状缓存器 的形式重写先前保存的已采集数据。在该实施例中,如果时间戳信息仅 当开始数据的采集时被保存到各自的存储器,则该方法包括将新的时间 戳信息保存到各自的存储器。
在机架式系统中,由第一USB设备接收的收集数据的命令可能向下 传达到定时背板,并以最小的延迟与其它USB设备共享。然而由于信号 的传播时间,仍会存在一些延迟。
在第二宽泛的方面中,本发明提供了一种用于采集数据的系统,其 包括-
USB主机控制器;以及
与USB主机控制器进行数据通信的多个USB设备,每个USB设备具 有同步时钟、同步实时时钟寄存器以及存储器;
其中,所述USB设备控制为同步地开始采集数据, 一旦接收到数据 便将该数据存储到各自的存储器中,并将表明至少一些已采集数据的采 集时间的时间戳信息存储到各自的存储器中,第一所述USB设备配置为 通过将第一消息发送给主机控制器以响应收集数据的数据收集命令,所 述第一消息包括表明数据收集命令的接收时间的数据,主机控制器配置 为通过将第二消息发送给其它USB设备以响应第一消息,所述第二消息 包括表明所述数据收集命令被所述第一USB设备接收的时间的数据,且 其它USB设备配置为从每个各自的存储器中对应于接收时间的位置或从 下一可用的位置开始,通过读取设备各自的存储器并将存储于所述存储 器中的已采集数据发送给主机控制器以响应另一消息。
在一个实施例中,本发明提供了一种USB系统,其包括 多个USB网络,每个包括USB主机控制器和多个同步的USB设备,
所述多个USB网络是同步的,从而处于所述多个USB网络中的所述多个
USB设备是互相同步的;
其中,所述USB设备配置为(i)一旦接收到外部触发信号便执行多
条指令,所述指令包括使各自的USB设备进行所述各自的USB设备的一
个以上参数的测量,(ii)对所述各个测量标记时间戳,以及(iii)在各自的
本地存储器中记录所述测量;并且其中,第一所述USB设备配置为一旦接收到所述外部触发信号便通 知各自的USB主机控制器,所述各自的USB主机控制器配置为通过将所 述外部触发信号被所述第一USB设备接收以及与所述外部触发信号相关 联的时间戳通知到连接于各自的USB主机控制器和一个以上其它所述 USB主机控制器的每个所述其它USB设备,以对所述接收的通知作出响 应,其它所述USB主机控制器配置为将所述外部触发信号的发生及与所 述外部触发信号关联的时间戳通知USB主机控制器各自的USB设备,其 它所述USB网络上的所述多个USB设备配置为响应于接收到所述接收的 所述通知,将设备各自的本地存储器的内容传送给设备各自的USB主机 控制器,且在所述其它所述USB网络上的所述多个USB设备配置为响应 于接收到所述接收的通知,来执行这些设备各自的多条指令。
本发明还提供了一种触发装置,其包括
本地时钟,其与连接于公共USB主机控制器的多个USB设备的本地时 钟同步;
其中,所述触发装置配置为一旦接收到外部触发信号便给外部触发 信号标记时间戳,并将所述接收以及时间戳通知USB主机控制器。
触发装置可配置为执行一套指令并在本地存储器中缓存已标记了时 间戳的执行所述指令的结果,并在接收到外部触发信号之后将缓存的并 标记了时间戳的结果传送给USB主机控制器。
本发明还提供了一种USB设备,其包括
本地时钟;以及
本地存储器;
其中,本地时钟与一个以上其它USB设备的本地时钟同步,且该USB 设备配置为从USB主机控制器接收一套指令,以启动指令并在本地存储 器中缓存结果,并通过将缓存的结果传送给USB主机控制器,以对接收 到外部触发信号被触发装置接收的时间的通知作出响应。
在第三宽泛的方面中,本发明提供了一种用于降低多个各个网络中 的多个USB设备的触发延迟的方法,其中每个网络包括USB主机控制器 和多个同步的USB设备,且所述多个网络本身被源于外部的公共基准时 间信号同步。根据该宽泛的方面,本发明提供了一种控制处于多个USB网络中的 多个USB设备以执行至少一个功能的方法,其中每个USB网络具有主机 控制器,主机控制器彼此存在数据通信,且多个USB设备的每个USB设 备包括同步时钟、 一般意义上的时间(common notion of time)、同步实时 时钟寄存器以及存储器,该方法包括
使多个USB网络同步,从而多个USB网络上的多个USB设备的每个 USB设备以一般意义上的时间工作;
设置USB设备以使得设备同步地开始执行功能,将通过执行所述功 能而接收的数据存储到各自的存储器中,并将表明已采集数据的采集时 间的时间戳信息存储到各自的存储器中;
连接(通常在正常轮询程序期间)到第一主机控制器的触发装置通过 将包括表明命令的接收时间的数据的第一消息发送给第一主机控制器, 以响应执行所述功能的命令(诸如以外部触发信号的形式);
第一主机控制器通过将包括表明命令被第一设备接收的时间的数据 的第二消息发送给连接于第一主机控制器的USB设备,并通过将包括表 明命令被第一设备接收的时间的数据的第三消息发送给其它主机控制 器,以响应第一消息;
每个其它主机控制器将包括表明命令被第一设备接收的时间的数据
的多个其它消息发送给连接于该主机控制器的各USB设备;以及
USB设备从每个各自的存储器中对应于外部触发信号的接收时间的 位置或从下一可用的位置开始,通过读取设备各自的存储器并将存储于 所述存储器中的已采集数据发送给设备各自的主机控制器,以响应第二 和随后的消息。
需要注意,本发明的每个上述方面的各种特征可根据需要加以组合。
此外,根据本发明的设备可以以各种方式实施。例如,所述设备可 以以多个元件的形式在印刷电路或印刷线路板上、在陶瓷基板上构造, 或在半导体级、即以单个硅(或其它半导体材料)芯片构造。


为了更清楚地确定本发明,下面通过范例并参照附图来描述实施例, 在附图中
图1是背景技术的同步USB系统的示意图2是背景技术的可以降低在USB消息传递中的延迟的混合USB集
线器设备的示意图3是图2的混合USB集线器的数据旁路电路的示意图4是根据本发明的实施例的同步USB数据采集系统的示意图,其图 示了触发事件以及系统中的消息流;以及
图5是图4的一个同步USB设备中包含的存储设备的地址空间的示意图。
具体实施例方式
图4是根据本发明的实施例的同步USB数据采集系统60的示意图。系 统60包括个人计算机62、多个USB扩展集线器64、第一USB数据采集设 备66以及多个第二USB数据采集设备68。
数据采集设备66、 68是同步的,即具有同步实时时钟(未图示),所述 同步实时时钟本身由各自的同步本地时钟70、 72提供时钟(如国际专利申 请WO2007/092997所教导,通过引用将其内容并入此处)。
数据采集设备66、 68可以是相似的或不同的类型,例如是数字测量 设备、模拟信号测量设备、应变仪(strain gauge)或振动测量设备。
第一USB数据采集设备66配置为响应外部触发信号74并使用该信号 在所有USB数据采集设备66、 68上开始采集。第一数据采集设备66记录 外部触发信号74相对于第一数据采集设备66的内部实时时钟寄存器的接 收时间(比较WO2007/092997的图22的背景实时时钟寄存器)。
第一USB数据采集设备66随后将消息76发送到系统控制器个人计算 机62,消息76包括"触发有效"消息以及表示外部触发信号74被第一USB 设备66接收的时间的数据。个人计算机62将消息78广播(串行地或并行地) 到其它USB数据采集设备68中的每一个,消息78包括"触发有效"消息以及表示外部触发信号74被第一USB设备66接收的时间的数据。这样, 每个设备得知了外部触发信号74被提供给第一(或者,原则上可为任何其 它)USB设备66的真实时间。
图5是图4的每个第二USB数据采集设备68的物理存储器的存储器映 射80的示意图。存储器映射80包括可寻址的存储器结构82,可寻址的存 储器结构82对应于物理存储器设备并包括多个存储器地址(诸如存储器 地址84)。作为例子,诸如存储器地址84的空存储器地址以非阴影表示, 且包含数据的存储器位置以阴影表示,即数据按顺序存储于存储器地址 中。
每个USB数据采集设备66、68的存储器控制器(未图示)以对应于有序 测量的数据按顺序填充存储器结构82的存储器地址。通常,数据采集设 备会以严格的时序进行测量。这样,存储器设备中随后的物理存储器地 址之间存在已知的时间关系。
在该情况中,存储器控制器被组织为使得物理存储器设备构成环状 缓存器。以该存储器结构,存储器控制器按顺序用数据将存储器地址填 充。当最后的存储器地址已被填充时,存储器控制器进行如86的"翻滚", 即返回第一存储器地址并从该位置继续填充。这导致存储器中先前的数 据被重写。
在该实施例中,第一存储器地址(或根据大小要求,前几个存储器地 址)存储真实时间88(来自于真实时间寄存器),真实时间88对应于存储器 中的第一测量的时刻。每次当存储器控制器"翻滚"并开始重写数据时 其会被更新。
在一些时间点(对应存储于存储器地址卯的数据),外部触发信号74 记录在第一USB数据采集设备66中,这不为第二USB数据采集设备68所 知。第二USB数据采集设备68继续进行测量并在其存储器中记录数据。 随后,第二USB数据采集设备68收到消息,该消息告知第二USB数据采 集设备68在第一USB设备66上出现外部触发信号74的时间90。
第二USB数据采集设备68使用存储器中的第一位置中的时间标志和 已知的数据测量速率,以返回搜寻存储器中的数据记录,从而定位存储
23于存储器地址卯中的数据测量,所述数据测量是在对应于在第一USB数 据采集设备66上出现外部触发信号74的时刻作出的。随后,从那时起保 存的数据(存储于存储器地址92)被传输到主机计算机,后面接着进行进一 步的测量,所述进一步的测量由第二USB数据采集设备68的数据采集功 能完成。
这样,通常会因USB延迟而丢失的存储于存储器地址92中的数据被 恢复并可在测量记录中使用。
应当明白,第一USB数据采集设备66通常与第二USB数据采集设备 68—起介入到数据收集中,但这不是必须的。由于第一USB数据采集设 备66通常配置用于等候外部触发信号74并经由主机控制器将外部触发信 号74传递给其它USB设备68,故第一USB数据采集设备66通常被配置为 稍有不同。第一USB数据采集设备66还可能根据触发事件参与到数据采 集中的事实次于其稍微特别的作用或配置。
本领域技术人员可在本发明的范围内容易地进行变化。因此,需要 明白,本发明不限于通过上述例子描述的具体实施例,并且在此描述的
各种实施例的组合对本领域技术人员而言也是显而易见的。
在本发明的前面描述中,除了由于表达语言或必要含义的语境需要 夕卜,术语"主机控制器"指代标准USB主机控制器、USB-on-the-go(OTG) 主机控制器、无线USB主机控制器或任何其它形式的USB主机控制器。
在本发明的前面描述中,除了由于表达语言或必要含义的语境需要 外,术语"包括"或诸如"包含"或"含有"等变换说法是开放意义下 的,S卩,指定所陈述的特征的存在,但不排除在本发明的各种实施例中 存在或附加其他特征。
而且,在此对现有技术的任何引用不是暗示所述现有技术构成公知 常识的一部分。
权利要求
1.一种控制与公共控制器进行数据通信的一个以上设备以执行一个以上功能的方法,每个所述设备具有同步时钟、同步实时时钟寄存器以及存储器,该方法包括设置所述设备,以使得所述设备同步地开始执行所述功能,接收通过执行所述功能而采集的数据并将该数据存储到所述设备的各自的存储器中,并将表明所述已采集数据的采集时间的时间戳信息存储到所述设备的各自的存储器中;与所述公共控制器进行数据通信的触发装置通过将第一消息发送给所述主机控制器来响应执行所述功能的命令,所述第一消息包括表明所述命令的接收时间的数据;所述主机控制器通过将第二消息发送给所述设备来响应所述第一消息,所述第二消息包括表明所述命令被另一设备接收的时间的数据;以及所述设备从它们各自的存储器中的对应于所述接收时间的位置或下一可用的位置开始,通过读取所述设备各自的存储器并将存储于所述存储器中的所述已采集数据发送给所述主机控制器,以响应所述第二消息。
2. 如权利要求1所述的方法,其中,所述触发装置是所述设备之一。
3. 如权利要求l所述的方法,其中,所述触发装置不是所述设备之
4. 如权利要求l所述的方法,其中,所述时钟是被锁定的频率和相位。
5. 如权利要求4所述的方法,其中,所述实时时钟寄存器与公共纪元同步并由所述各个同步时钟提供时钟。
6. 如权利要求5所述的方法,其中,所述的设置所述设备包括所述设备启动所述指令。
7. 如权利要求5所述的方法,还包括所述设备测量并记录多个外 部提供的信号的状态。
8. 如权利要求7所述的方法,其中,所述存储器配置为一旦其被存满便重写最旧的读入数据。
9. 如权利要求8所述的方法,还包括给执行所述功能的命令提供表明所述第一设备的所述接收时间的时间戳。
10. 如权利要求9所述的方法,还包括将所述时间戳传送给所述设备。
11. 如权利要求IO所述的方法,其中,所述控制器包括USB主机, 且所述设备包括USB设备。
12. 如权利要求11所述的方法,包括经由USB事务传送所述时间戳。
13. 如权利要求10所述的方法,包括经由非USB事务传送所述时 间戳。
14. 如权利要求13所述的方法,包括通过无线电传输、光学传输或 其它电信号传送所述时间戳。
15. 如权利要求1所述的方法,其中所述功能包括在相对于所述命 令被所述第一设备接收的时间的指定时间执行的有时序的指令。
16. 如权利要求12所述的方法,其中,所述USB事务包括; 所述主机控制器轮询所述触发装置;所述触发装置通过将第一消息发送给所述主机控制器来响应轮询请求,所述第一消息包括表明相对于所述一般意义上的时间来说的所述命 令的接收时间的数据;以及所述主机控制器将第二消息发送给所述设备,所述第二消息包括表 明相对于所述一般意义上的时间来说的所述命令的接收时间的数据。
17. 如权利要求1所述的方法,其中,所述功能包括选自下列一组 的任意一条或者多条指令,所述组包括采集数据、测量物理传感器、 监测外部设备或仪表、启动或停止时钟信号的传输、启动或停止比特模 式的传输、启动或停止控制序列的传输以及控制外部设备或仪表。
18. 如权利要求l所述的方法,其中,所述主机控制器是USB主机, 且所述设备是USB设备。
19. 一种用于降低多个USB网络的触发延迟的方法,每个所述USB 网络包括USB主机控制器和多个USB设备,所述USB主机控制器彼此 存在数据通信,该方法包括使各个独立的USB网络的所述USB设备同步;将所述USB设备配置为一旦接收到外部触发信号便执行多条指令, 所述指令包括使各自的USB设备对所述各自的USB设备的一个以上参 数进行测量;每个所述USB设备为所述各个测量标记时间戳,并在各自的本地存 储器中记录所述测量;与至少一个所述USB主机控制器进行数据通信的触发装置一旦接收 到所述外部触发信号便通知至少一个所述USB主机控制器;所述各个USB主机控制器通过将所述触发装置接收到所述外部触发 信号以及与所述外部触发信号相关联的时间戳通知给与各个USB主机控 制器和一个以上其它所述USB主机控制器相连接的每个所述USB设备, 以对所述接收的通知作出响应;其它所述USB主机控制器将所述外部触发信号的发生以及与所述外 部触发信号相关联的时间戳通知所述USB主机控制器各自的USB设备;在其它所述多个USB网络上的所述多个USB设备响应于接收到所述接收的所述通知,将所述多个USB设备各自的本地存储器的内容传送 给所述各个USB主机控制器;以及所述多个USB设备响应于接收到所述接收的通知,执行所述多个 USB设备的各自的多条指令。
20. 如权利要求19所述的方法,其中,所述触发装置是所述USB 设备之一。
21. 如权利要求l所述的方法,其中,所述触发装置不是所述USB 设备之一。
22. —种用于采集数据的系统,其包括-USB主机控制器;以及与所述USB主机控制器进行数据通信的多个USB设备,每个USB 设备具有同步时钟、同步实时时钟寄存器以及存储器;其中,所述USB设备被控制为同步地开始采集数据, 一旦采集到数 据便将该数据存储到各自的存储器中,并将表明至少一些已采集数据的 采集时间的时间戳信息存储到各自的存储器中,第一所述USB设备配置 为通过将第一消息发送给所述主机控制器来响应数据收集命令以收集数 据,所述第一消息包括表明所述数据收集命令的接收时间的数据,所述 主机控制器配置为通过将第二消息发送给其它USB设备来响应所述第一 消息,所述第二消息包括表明所述数据收集命令被第一所述USB设备接 收的时间的数据,且其它USB设备配置为从各自的存储器中对应于所述 接收时间的位置或从下一可用的位置开始,通过读取所述USB设备各自 的存储器并将存储于所述存储器中的所述已采集数据发送给所述主机控 制器,以响应另一消息。
23. —种USB系统,其包括多个USB网络,每个所述USB网络包括USB主机控制器和多个同 步的USB设备,所述多个USB网络被同步,从而处于所述多个USB网 络中的所述多个USB设备互相同步;其中,所述USB设备配置为(i)一旦接收到外部触发信号便执行多 条指令,所述指令包括使各个USB设备对所述各个USB设备的一个以 上参数进行测量,(ii)对所述各个测量标记时间戳,以及(Hi)在所述USB 设备各自的本地存储器中记录所述测量;并且其中,第一所述USB设备配置为一旦接收到所述外部触发信号便通 知第一所述USB设备各自的USB主机控制器,所述各自的USB主机控 制器配置为通过将所述外部触发信号被第一所述USB设备接收以及与所 述外部触发信号相关联的时间戳通知到连接于各个USB主机控制器以及 一个以上其它所述USB主机控制器的每个所述其它USB设备,以对所 述接收被通知而作出响应,所述其它USB主机控制器配置为将所述外部 触发信号的发生以及与所述外部触发信号相关联的时间戳通知所述其它 USB主机控制器各自的USB设备,在其它所述USB网络上的所述多个 USB设备配置为响应于接收到所述接收的所述通知,将所述多个USB设 备各自的本地存储器的内容传送给所述多个USB设备各自的USB主机 控制器,且在所述其它所述USB网络上的所述多个USB设备配置为响 应于接收到所述接收的通知,以执行所述多个USB设备各自的多条指令。
24. 如权利要求23所述的系统,其中,所述多个USB设备的至少 一些配置为一旦启动就开始执行所述多个USB设备各自的指令,并在本 地存储器中缓存结果,直到接收到所述接收的通知为止。
25. —种USB系统,其包括多个同步的USB设备,每个所述USB设备连接于多个USB主机控 制器中的至少一个;以及触发装置,其连接于所述USB主机控制器中的一个; 其中,所述触发装置配置为对外部触发信号的接收作出响应,该响 应是通过将所述接收的通知与接收时间发送给连接有所述触发装置的 USB主机控制器来实现的,连接有所述触发装置的所述USB主机控制器 配置为通过将所述接收与所述接收时间通知与所述USB主机控制器连接 的USB设备以及一个以上其它所述USB主机控制器,以对接收所述通 知作出响应,且一个以上其它所述USB主机控制器配置为通过将所述接收及所述接收时间通知与一个以上其它所述USB主机控制器连接的所述 各个USB设备,以对所述接收与所述接收时间的通知作出响应。
26. 如权利要求25所述的系统,其中,所述触发装置是所述USB 设备之一。
27. 如权利要求所述的系统25,其中,所述触发装置不是所述USB 设备之一。
28. —种触发装置,其包括-本地时钟,其与连接于公共USB主机控制器的多个USB设备的本 地时钟同步;其中,所述触发装置配置为一旦接收到外部触发信号即给所述外部 触发信号标记时间戳,并将所述接收以及所述时间戳通知所述USB主机 控制器。
29. 如权利要求28所述的触发装置,其中,所述触发装置配置为执 行一套指令并在本地存储器中缓存已标记了时间戳的执行所述指令的结果,并在接收所述外部触发信号之后将所述缓存的并标记了时间戳的结 果传送给所述USB主机控制器。
30. —种USB设备,其包括 本地时钟;以及 本地存储器;其中,所述本地时钟与一个以上其它USB设备的本地时钟同步,且 所述USB设备配置为从USB主机控制器接收一套指令,以启动所述指 令并在所述本地存储器中缓存结果,并通过将所述缓存的结果传送给所 述USB主机控制器,以对接收到外部触发信号被触发装置接收的时间的 通知而作出响应。
31. 如权利要求30所述的USB设备,其中,所述USB设备配置为在接收到所述通知之后继续执行所述指令。
32. —种USB系统,其包括如权利要求28所述的触发装置;以及如权利要求30所述的多个USB设备;以及USB主机控制器,其连接有所述触发装置以及所述USB设备。
33. —种控制处于多个USB网络中的多个USB设备以执行至少一种 功能的方法,其中,每个所述USB网络具有主机控制器,所述主机控制 器彼此存在数据通信,且所述多个USB设备中的每一个包括同步时钟、 一般意义上的时间、同步实时时钟寄存器以及存储器,该方法包括使所述多个USB网络同步,从而在所述多个USB网络中的每一个 上的所述多个USB设备中的每一个以一般意义上的时间工作;设置所述USB设备,以使得所述设备同步地开始执行所述功能,将 作为执行所述功能的结果而接收的数据存储到各自的存储器中,并将表 明已采集数据的采集时间的时间戳信息存储到各自的存储器中;连接于第一所述主机控制器的触发装置通过将第一消息发送给所述 第一主机控制器来响应执行所述功能的命令,所述第一消息包括表明所 述命令的接收时间的数据;所述第一主机控制器通过将第二消息发送给连接于所述第一主机控 制器的所述USB设备,并通过将第三消息发送给其它所述主机控制器, 来响应所述第一消息,所述第一消息包括表明所述命令被第一所述设备 接收的时间的数据,所述第三消息包括表明所述命令被第一所述设备接 收的时间的数据;每个所述其它主机控制器将多个其它消息发送给连接于该主机控制 器的所述各个USB设备,所述多个其他消息包括表明所述命令被第一所 述设备接收的时间的数据;以及所述USB设备从每个各自的存储器中对应外部触发信号的所述接收 时间的位置或从下一可用的位置开始,通过读取所述USB设备各自的存 储器并将存储于所述存储器中的已采集数据发送给所述USB设备各自的 主机控制器,以响应所述第二及随后的消息。
34. 如权利要求33所述的系统,其中,所述触发装置是所述USB 设备之一。
35. 如权利要求33所述的系统,其中,所述触发装置不是所述USB 设备之一。
全文摘要
一种控制与公共控制器进行数据通信的一个以上设备以执行一个以上功能的方法,每个设备具有同步时钟、同步实时时钟寄存器以及存储器,该方法包括设置设备使得设备同步地开始执行功能,接收并将作为执行功能的结果接收的数据存储到设备各自的存储器并将表明已采集的数据的采集时间的时间戳信息存储到设备各自的存储器;与公共控制器数据通信的触发装置通过将包括表明命令的接收时间的数据的第一消息发送给主机控制器响应命令以执行功能;主机控制器通过将包括表明由另一设备接收命令的时间的数据的第二消息发送给设备以响应第一消息;以及设备从每个各自的存储器中对应接收时间的位置或从下一可用的位置开始,通过读取设备各自的存储器并将存储于设备中的已采集数据发送给主机控制器,响应第二消息。
文档编号G06F17/40GK101689209SQ200880016068
公开日2010年3月31日 申请日期2008年5月12日 优先权日2007年5月15日
发明者彼得·福斯特 申请人:克罗诺洛吉克有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1