数据流的时钟同步的制作方法

文档序号:7659533阅读:219来源:国知局
专利名称:数据流的时钟同步的制作方法
技术领域
本发明涉及定时,并更特别地涉及使设备之间的数据传输同步。
技术背景数字系统依靠设备之间协调的通信。 一些系统依靠定时信号来决 定何时检査到来的信息流。分配定时信息或许是一项重大的挑战。或 许要产生、分配定时信号并使其同步,以便发送设备与接收设备之间 能够进行通信。一些系统使用各自独立的时钟进行设备之间的通信。当漂移发生 时,由于一个设备处理信息可能不能与另一个设备一样快,所以信息 可能会丢失。 一些系统有意地删除大信息块以补偿时钟速率的某些不 期望的偏差。这些处理方法缺乏在时间上的出现次数。由于大信息块 丢失,可能会将非自然信号引入数据流,从而损坏或破坏数据流。数 据丢失或改变可能会导致灾难性事件或故障,这不仅会影响正在接收 的信息,而且会影响正在处理的信息。因此,需要有能够补偿时钟漂 移或偏差而不删除大量信息的系统。发明内容本发明公开了一种使第一设备和第二设备之间的数据流同步的系 统。该系统包括配置成感测和传输信息的捕获设备。同步器存储通过 捕获设备接收到的数据。读控制器以与捕获设备所接收到的数据的长 度不相等的长度复制或读取数据。监控器检测输入同步器或从同步器 输出的下溢状况或上溢状况并补偿时钟漂移。对于本领域的技术人员,在研究了以下附图和详细说明后,本发 明的其它系统、方法、特征和优势将是或将变得显而易见。所有这些 另外的系统、方法、特征和优势都应包括在本说明书中,处于本发明 的范围内,并由所附权利要求书保护。


通过参考以下附图和说明书,可更好地理解本发明。附图中的组 件不一定依比例,而是将重点放在说明本发明的原理上。此外,在附 图中,同样的附图标记在不同的视图中始终指示相应的部分。图1是连接到设备驱动器的同步系统。图2为相等的块尺寸示出了环形缓冲区大小与时间的关系。图3为不相等的块尺寸示出了环形缓冲区大小与时间的关系。图4是图3在时间上的窗口平均。图5是连接到设备驱动器的可选同步系统。图6是与车辆通信或连接到车辆的同步系统。图7是与网络通信或连接到网络的同步系统。图8是与电话通信或连接到电话的同步系统。图9是与视频系统通信或连接到视频系统的同步系统。图IO是与降噪系统通信或连接到降噪系统的同步系统。图11是同步处理。
具体实施方式
同步系统或应用程序改善设备之间通过通信介质进行的信息交 换。该设备或应用程序可包括可向一个或多个设备提供数据和从一个 或多个设备接收数据的硬件设备或程序。该系统允许数据以包括大块 尺寸在内的预定长度进行通信,而不影响可能接收或处理该数据的控 制器、处理器、同步器或存储器的操作。 一些系统提供高分辨率或很 高的分辨率(可与单个数字样本一样小)的补偿,其在一些系统和应 用程序中可由用户控制,或可自动地发生。 一些系统提供使补偿的影 响最小化的频繁定时的同步。 一些系统中的监控或自监控软件或硬件 可检测数据被接收和处理的速率的差别。 一些监控系统或软件模块可 预测可能会发生补偿的时间或间隔,并安排补偿。有计划的同步可改 善一些系统的性能和/或可靠性。图1是连接到第一和第二设备驱动器102和104的同步系统或应 用程序100。在图1中,设备驱动器102和104包括使通信容易进行的 硬件设备或软件组件。这些设备驱动器102和104可以包括可连接到
适配器的翻译器。该翻译器将语言或数据格式翻译成一种或多种语言 或格式,以确保一个或多个设备之间的操作兼容性。决定设备驱动器102和104执行操作的顺序的定时,可包括两个或多个时钟。在图1 中,第一时钟Cl和第二时钟C2产生允许数据被共享的稳定的定时脉 冲流。在某些同步系统或应用程序中,设备驱动器102和104不共享 或交换定时信息。同步系统或应用程序100通过两个线程工作。在图1中,这些线 程包括两个异步软件例程或硬件线程。第一线程106阻塞(等待)在 对第一设备驱动器102的读调用上,而第二线程108阻塞在对第二设 备驱动器104的写调用上。这些线程106和108将数据推入和拉出缓 冲区,诸如临时存储数据的环形缓冲区110。在一些系统中,环形缓冲 区110包括提供存取的先进先出存储设备,使得调用、读取、或监控、 或自监控设备或程序可构造和/或解析数据。环形缓冲区110可包括连 续的存储器块,或者其可被分离在可读出和写入的不同的存储器当中 (例如,不连续的存储器)。在一些系统中,环形缓冲区110提供直接 存储器存取,其包括不涉及处理器的存储器存取,并可在存储器和外 围设备之间直接传输数据。在一些可选系统中,环形缓冲区110可以 包括可启动在读调用上的阻塞的溢出逻辑(例如,硬件或软件)。在一 些同步应用程序和系统100中,溢出逻辑可防止存取指针移出环形缓 冲区110所管理的预定地址范围。在这些同步应用程序和系统100中, 如果需要,则可通过软件指令或硬件选择来禁用溢出逻辑。第一捕获设备112通过输入总线与第一设备驱动器102进行通信。 第一捕获设备112可感测并向写控制器114传输信息,写控制器114 可通过内部总线对环形缓冲区110执行写入。如果第一和第二时钟C1 和C2以完全相同的频率运行,则监控或自监控软件或硬件116可检测 到存储在环形缓冲区110内的恒定的数据长度。当时钟速率不相等或 以不同的速率或频率运行时,存储在环形缓冲区110中的数据量可取 决于时钟Cl和C2的速度而增加或减少。当数据流入环形缓冲区110中时,其可由读控制器118通过内部 总线读取。读控制器118可配置成重新构造或复制存储的数据,并将 该数据通过输出总线传送到第二设备驱动器104。包括读控制器118的
软件或设备可重新构造或复制数据,并将该数据以预定的或期望的长度发送到第二设备驱动器104。一些同步系统或应用程序100可以以大致相等的长度接收和发送 信息。在这些系统和应用程序100中,监控或自监控软件或硬件116 可以以一定的分辨率检测或观察环形缓冲区110的大小的变化,该分 辨率大约为所接收或传送的数据长度的大小。在图2中,将分辨率指 示为"sl"。由于仅能够每"sl"长度(诸如(取决于采样率和位分辨 率而与预定的时间量相对应的)字节)才观察到变化,所以可以以数 据被传送、或处理、或接收的间隔对数据流应用时钟漂移补偿。在图2 中,该间隔可以是"sl"长度的倍数,或者可被"sl"长度除尽。在一 些同步系统或应用程序中,不完善的定时条件会引起数据的下溢或上 溢。在某些情况下,插入、复制和/或去除大数据块或数据单元会损坏 系统或应用程序。在图1中同样示出的可选同步系统或应用程序100中,该系统和 应用程序被配置成,将数据的数据流或数据分组分解成不均匀或不同 的块尺寸的数据。在该可选方案中,写入环形缓冲区110的数据大小 (例如,本说明中的块尺寸)可以不等于从环形缓冲区110重新构造 或复制的数据大小。在该系统或应用程序100中,两个线程106和108 分别与设备驱动器102和104进行通信。通过重复的软件或通信循环, 第一线程106与第一设备驱动器102进行通信,且第二线程108与第 二设备驱动器104进行通信。通过第一捕获设备112,第一线程106通 过输入总线捕获数据块。通过内部总线,写控制器114将该信息以C1 间隔、按sl块长度写入环形缓冲区110。因为读控制器118以与写入 环形缓冲区110的数据长度不同的长度读取和复制或重新构造数据块, 所以监控器或自监控器(例如,软件组件或硬件设备)116可检测流入 环形缓冲区IIO或从环形缓冲区IIO流出的数据的上溢或下溢。在图3 中,自监控器116及时检测到存储在环形缓冲区110中的数据量的增 加。当从环形缓冲区110中读取的数据块或数据帧的长度s2大于写入 环形缓冲区110中的数据块或数据帧的长度sl时,在一些系统和应用 程序中可通过等式1计算出补偿因子s3。在图3中,被除数包括sl而 除数包括s2。
S3=余数(s2/sl)(其中s2>sl) 等式1监控器或自监控器116可以得出用以补偿这些差别的时间。 一个 系统或应用程序跟踪存储在环形缓冲区中的数据量并计算N点窗口平 均,N在等式2中示出。N = ((s2/s3)—1) 等式2 如图4中所示,可以以s3字节的分辨率观察到两个时钟之间的漂 移。由于是从可由用户选择或者可由系统或应用程序设计决定的两个 块尺寸或帧尺寸sl和s2得出s3的,所以任何期望的时钟漂移补偿的 分辨率均可获得。系统可通过在环形缓冲区中插入或去除(同样,在 一些系统和应用程序中,取决于两个时钟的相对速度)数据来补偿时 钟漂移。由于s3可如期望的一样小,所以导致的对数据流的损坏可得 以最小化。图5是可选同步系统或应用程序500。该系统或应用程序500被配 置为主从布置,其中被称作主线程502的一个线程控制被称作从线程 504的另一个线程。在图5中,捕获设备112通过输入总线与第一设备 驱动器102进行通信。捕获设备112可检测并向写控制器506发送数 据块或数据帧,写控制器506可将该数据块或数据帧写入同步器508。 同步器508可包括补偿信息在两个、三个、四个或更多设备中被处理 的速率之间的差别的存储设备。当驱动设备驱动器102和104的定时 信号以不同频率发生时,监控器512 (例如,软件例程或硬件模块)可 检测到同步器508内变化的存储容量。当不同块尺寸被写入或读出同 步器508时,监控器512可观察到存储器使用的变化。如果发生上溢, 或者替代地,如果可能发生上溢,或者将要发生上溢,则监控器512 可传送阻塞调用,该阻塞调用防止捕获设备112从第一设备驱动器102 中抓取数据。替代地,或者组合地,监控器512可指示同步器508在 存储的数据块或数据帧上重写,或者可指示写控制器506写入可能是 远程但与同步器508通信的辅助存储器。如果发生下溢,或者替代地, 如果可能发生下溢,或者将要发生下溢,则监控器512可通过发送第 二阻塞调用来防止再现设备120向设备驱动器104传送信息;或者替 代地,可指示再现设备120重复或复制数据块或帧,直至下溢状况减 轻或终止。 在操作中,进入同步器508中的数据流可由读控制器510通过内 部总线读取。如果同步系统或应用程序500不对上溢状况或下溢状况 加以补偿,则读控制器510可在未补偿的情况下,复制或重新构造输 出数据并将该数据通过输出总线传送给一个或多个设备或设备驱动 器。通信可通过内部总线、读控制器510、再现设备120和输出总线发 生。替代地,补偿和传送处理可同时发生或几乎同时发生,或者在不 同时间发生。同步系统和应用程序100和500可适用于许多设备、设备驱动器 和接口 (例如,连接被建立到的点)。 一些语音同步系统或应用程序与 以下设备或系统进行接口连接、进行通信或进行连接用于运输人或 物的设备或结构(例如,如图6中所示的车辆),如图7中所示的公用 或私用可访问网络,将语音和其它声音转换成可传送到远距离处并可 在远距离处被重新构造的格式的仪器,诸如图8中所示的陆线和无线 电话及音频系统,图9中所示的视频系统,图10中所示的降噪系统, 以及易受时钟漂移影响的包括导航系统的其它移动或固定系统。同步 系统或应用程序可通过接口连接便携式模拟或数字音频和/或视频播放 器(例如,iPod ),导航系统,或者包括语音增强系统或通过接口连接 语音增强系统或保留语音增强逻辑的多媒体系统。同步系统和应用程 序还可使实现上述系统的一些或全部组件的数字信号处理系统内的数 据传输同步。图11是可使两个或多个设备之间的数据传输同步的同步处理的流 程图。当用在数字信号处理技术中时,该处理可通过与一个数字样本 一样小来补偿时钟漂移,并且可以以可由用户编程的频繁时间间隔、 可自动发生的频繁时间间隔、或者可在不同步的时间发生的频繁时间 间隔,使数据流同步。该方法可将数据流或数据分组分解成不均匀或 不同块尺寸的数据(有些可以在长度上大致或几乎相等)。在图11中 所示的同步处理中,分别写入环形缓冲区、同步器或存储设备的数据 的大小(例如,本说明中的块尺寸),不等于分别从环形缓冲区、同步 器或存储设备重新构造或复制的数据的大小。在图11中,各线程与可 包括接口或设备驱动器的设备进行通信。第一线程与第一设备进行通 信,且第二线程与第二设备进行通信。通过各线程进行的通信可重复 发生直至检测到一定的状况。在图11中,该状况可包括缺乏数据流或 者可被编程的另一状况。在1102,进行数据捕获。该数据可包括从一个或多个设备接收到 的数据块或数据帧。在1104,通过一个或多个硬件路径,按定时的间 隔、以块尺寸将数据写入环形缓冲区、同步器或存储设备中。因为数 据是以不同于写入环形缓冲区、同步器或存储设备的数据的长度进行 重新构造或复制的,所以在1106,监控器或自监控器(例如,软件程 序或硬件设备)可检测到流入环形缓冲区或从环形缓冲区流出的数据 的上溢或下溢。在图11中,自监控器可及时检测到存储在环形缓冲区、 同步器或存储设备中的数据量的增加。当从环形缓冲区、同步器或存 储设备中读取的数据块或数据帧的长度s2大于写入环形缓冲区、同步 器或存储设备中的数据块或数据帧的块长度sl时,在1108可得出补偿 因子s3。尽管可得出任何因子,但在一些处理中可通过等式1计算出 一个因子。在等式1中,被除数包括sl而除数包括s2。S3=余数(s2/sl)(其中s2>sl) 等式1监控器或自监控器可在1108得出用以补偿这些差别的时间。 一种方法 可跟踪环形缓冲区、同步器或存储设备的大小并计算N点窗口平均, N如等式2所示。N = ((s2/s3)-1) 等式2可以以s3字节的分辨率观察到两个时钟之间的漂移。由于是从可 由用户选择或编程、或者可由系统或应用程序设计决定的两个块尺寸 或帧尺寸sl和s2得出s3的,所以时钟漂移的任何期望的分辨率均可 获得。然后在1112,该方法可通过对从环形缓冲区、同步器或存储设 备中读取到输出端的数据进行数据插入(例如,对下溢状况1110的示 例性的补偿)、数据去除、数据删除或数据解析(同样,在一些方法中, 可取决于两个时钟的相对速度)来补偿时钟漂移。由于s3可如用户期 望的一样小,所以导致的对数据流的损坏可得以最小化。图11的方法可被编码在信号承载介质中,诸如存储器的计算机可 读介质中,被编程在诸如一个或多个集成电路、 一个或多个处理器(例 如,与各个或一些处理器进行通信的设备捕获处理器、写控制器处理 器、监控器处理器、读控制器处理器和再现控制处理器)的设备内,
或者由控制器或计算机处理。如果该方法由软件执行,则该软件可驻 存在驻留于或通过接口连接于存储设备、同步器或通信接口的存储器 中,或者驻存在与传送器进行通信的非易失性或易失性存储器中,其 中传送器是设计成将数据发送至另一地点的电路或电子设备。存储器 可包括用于实现逻辑功能的可执行指令的有序列表。所述的逻辑功能 或任何系统元件可通过光电路、数字电路,通过源代码,通过模拟电 路,通过诸如模拟电信号、音频信号或视频信号或其组合的模拟源来 实现。该软件可实施为用于被可执行指令的系统、装置或设备使用或 与其连接的任何计算机可读介质或信号承载介质。这样的系统可包括 基于计算机的系统、包含处理器的系统、或者可从可执行指令的系统、 装置或设备中选择性地取出指令并且还可执行指令的另外的系统。"计算机可读介质"、"机器可读介质"、"信号传播"介质和/或"信 号承载介质"可包括包含、存储、通信、传播或传输用于被可执行指 令的系统、装置或设备使用或与其连接的软件的任何设备。机器可读 介质可以选择性地是,但不局限于电子、磁、光、电磁、红外或半导 体系统、装置、设备或传播介质。机器可读介质的实例的非穷尽的列 表可包括具有一根或多根导线的电连接("电子的")、便携式磁盘或 光盘、诸如随机存取存储器"RAM"的易失性存储器(电子的)、只读存储器"ROM"(电子的)、可擦除可编程只读存储器(EPROM或闪 存)(电子的)、或者光纤(光学的)。机器可读介质还可包括其上印制 有软件的有形介质,因为软件可被电子地存储为图像或其它格式(例 如,通过光学扫描),然后被编译和/或解释,或以其它方式进行处理。 然后可将经处理的介质存储在计算机和/或机器存储器中。上述同步系统或方法可由用户选择或编程、或者可由系统或应用 程序设计决定。任何期望的补偿的分辨率均可通过该系统、应用程序 或方法以异步或同步的间隔来获得。通过在主要或辅助存储设备中插 入、去除、删除、解析数据或进行上述操作的组合,该系统可补偿时 钟漂移。期望的补偿的分辨率可如用户或编程者期望的一样小。任何 导致的对数据流的损坏可得以最小化。该系统或应用程序改善了设备之间通过通信介质的信息交换。该 系统允许数据以包括大块尺寸在内的预定长度进行通信,而不影响可
能接收或处理该数据的设备。 一些系统提供高分辨率或很高的分辨率 (可与单个数字样本一样小)的补偿,其在一些系统和应用程序中可由用户控制,或可自动地发生。 一些系统提供使补偿的影响最小化的 频繁定时的重新发生的同步。 一些系统中的监控或自监控软件或硬件 可检测数据被接收和处理的速率的差别。 一些监控系统或软件模块可 预测可能会发生补偿的时间或间隔,并安排补偿。尽管已说明了本发明的各种实施例,但是对于本领域的普通技术 人员将会显而易见的是,在本发明的范围内许多另外的实施例和实施 方案是可能的。因此,除了根据所附权利要求及其等效物之外,本发 明并不受其它限制。
权利要求
1.一种使第一设备和第二设备之间的数据流同步的系统,包括数据链路,其连接能够通过总线系统发送和接收数据的两个或多个设备;与所述数据链路进行通信的捕获设备,其被配置成通过所述总线系统感测和传输信息;与所述捕获设备进行通信的环形缓冲区,其临时存储通过所述数据链路接收到的数据;写控制器,其向所述环形缓冲区写入数据;与所述环形缓冲区进行通信的读控制器,其以与所述捕获设备所接收的数据的第一长度不同的第二长度复制或重新构造数据;再现设备,其向输出端口传送数据;以及监控器,其检测输入所述环形缓冲区或从所述环形缓冲区输出的数据的下溢或上溢,并通过向捕获设备或再现设备传送阻塞调用来补偿时钟漂移。
2. 如权利要求1所述的系统,其中所述第一数据链路包括外部总线。
3. 如权利要求1所述的系统,还包括与所述数据链路进行通信的 设备驱动器。
4. 如权利要求1所述的系统,其中所述设备驱动器包括翻译器, 所述翻译器将一种数据格式翻译成不同的数据格式,以确保两个不同 设备之间的操作兼容性。
5. 如权利要求1所述的系统,其中所述环形缓冲区包括先进先出 存储设备。
6. 如权利要求1所述的系统,其中所述监控器被配置成构造或解 析将由所述再现设备传送的数据。
7. 如权利要求1所述的系统,其中所述捕获设备被配置成接收以 与数据被所述再现设备传送的速率不同的速率处理的数据。
8. 如权利要求1所述的系统,其中所述环形缓冲区包括连续的存 储器块。
9. 如权利要求1所述的系统,其中所述环形缓冲区包括不连续的 存储器块。
10. 如权利要求1所述的系统,其中所述环形缓冲区包括溢出逻 辑,所述溢出逻辑防止存取指针移出预定的存储器地址范围。
11. 如权利要求10所述的系统,其中所述溢出逻辑被配置成通过 软件指令而被禁用。
12. 如权利要求1所述的系统,其中所述监控器被配置成通过窗口 函数得出补偿时间。
13. 如权利要求1所述的系统,其中所述监控器基于同步方式补偿 时钟漂移。
14. 如权利要求1所述的系统,其中所述监控器基于异步方式补偿 时钟漂移。
15. —种使第一设备和第二设备之间的数据流同步的系统,包括 与数据链路进行通信的捕获设备,其被配置成感测和传输信息; 与所述捕获设备进行通信的同步器,其存储通过所述捕获设备接收到的数据;与环形缓冲区进行通信的读控制器,其以与所述捕获设备所接收 的长度不同的第二长度复制数据;以及监控器,其检测输入所述同步器或从所述同步器输出的下溢或上 溢状况,并且在检测到上溢状况时通过向捕获设备传送阻塞调用来补 偿时钟漂移,并在检测到下溢状况时通过向再现设备传送阻塞调用来 补偿时钟漂移。
16. 如权利要求15所述的系统,其中所述捕获设备与设备驱动器 进行通信,其中所述设备驱动器包括翻译器,所述翻译器将一种数据 格式翻译成不同的数据格式,以确保两个不同设备之间的操作兼容性。
17. 如权利要求15所述的系统,其中所述监控器以异步间隔补偿 时钟漂移。
18. 如权利要求15所述的系统,其中所述同步器被连接到车辆。
19. 如权利要求15所述的系统,其中所述同步器被连接到公用可 访问网络。
20. —种通过以不同的块宽度处理数据来补偿时钟漂移的方法,包括在第一接口捕获数据;将数据写入存储设备,所述存储设备被配置成对信息在两个或多 个设备中被处理的速率之间的差别进行补偿;通过以两种不同的数据长度处理数据来检测输入所述存储设备或 从所述存储设备输出的数据的上溢或下溢;以及通过对输出数据流插入数据或删除数据来补偿时钟漂移。
21. 如权利要求20所述的方法,还包括将所述输出数据流传送给 设备驱动器。
22. 如权利要求20所述的方法,其中以异步间隔补偿所述时钟漂移。
23. 如权利要求20所述的方法,其中所述补偿发生在用于运输人员的设备上。
24. 如权利要求20所述的方法,其中所述补偿发生在降噪系统中。
25. —种通过以不同的块宽度处理数据来补偿时钟漂移的计算机 可读介质,包括在第一接口捕获数据;将数据写入存储器,所述存储器被配置成对信息在两个或多个设 备中被处理的速率之间的差别进行补偿;通过以两种不同的数据长度处理数据来检测输入所述存储器或从 所述存储器输出的数据的上溢或下溢;以及通过对输出数据流插入数据或删除数据来补偿时钟漂移。
26. —种使第一设备和第二设备之间的数据流同步的系统,包括 与数据链路进行通信的捕获设备,其被配置成感测和传输信息; 与所述捕获设备进行通信的同步器,其存储通过所述捕获设备接收到的数据;与环形缓冲区进行通信的读控制器,其以与所述捕获设备所接收 的长度不同的第二长度复制数据;以及检测输入所述同步器或从所述同步器输出的下溢或上溢状况,并 且在检测到上溢状况时通过向捕获设备传送阻塞调用来补偿时钟漂 移,并在检测到下溢状况时通过向再现设备传送阻塞调用来补偿时钟 漂移的装置。
27. 如权利要求26所述的系统,其中所述捕获设备与设备驱动器 进行通信,其中所述设备驱动器包括将一种数据格式翻译成不同的数 据格式以确保两个不同设备之间的操作兼容性的装置。
28. 如权利要求26所述的系统,其中检测所述下溢或上溢状况的 所述装置以异步间隔补偿时钟漂移。
29. 如权利要求26所述的系统,其中所述同步器被连接到车辆。
30.如权利要求26所述的系统,其中所述同步器与公用可i方问网 络进行通信。
全文摘要
一种使第一设备和第二设备之间的数据流同步的系统。该系统包括连接能够通过总线发送和接收数据的两个或多个设备的数据链路。捕获设备通过该总线感测和传输信息。环形缓冲区临时存储通过该总线传送的数据。读控制器以与接收到的数据的长度不同的长度复制或重新构造数据。监控器检测输入环形缓冲区或从环形缓冲区输出的下溢或上溢状况并补偿时钟漂移。
文档编号H04L7/00GK101159531SQ20071014029
公开日2008年4月9日 申请日期2007年8月8日 优先权日2006年8月16日
发明者A·埃斯科特 申请人:Qnx软件操作系统(威美科)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1