数据流同步的制作方法

文档序号:6568404阅读:184来源:国知局
专利名称:数据流同步的制作方法
技术领域
本发明主要涉及信号处理技术,尤其是异步环境中的数据分组 流同步技术。
背景技术
以稳定速率对如视频与音频信号等同步数据进行成流处理,以 确保以最好的质量向用户呈现视频或音频。同步数据处理或传输过 程中的严重延迟会导致视频或音频呈现混乱。这将降低所提供给用 户的视频或音频的质量,而这在很多应用中都是不可接受的。在实时异步系统中,数据同步处理将变得更加困难。在异步系 统中,数据会以分组的形式从第一设备传输到第二设备。图l示出了一种现有系统100,用于将数据流(例如,音频或视频数据)从 计算设备101 (例如,个人计算机(PC))通过通用串行总线(USB) 连接115传输到输出设备120。如图所示,计算设备101包括主机 控制器110,通过USB连接115与USB设备120相连。在典型的现有系统中,输出设备120的USB设备控制器接收主 机控制器110通过USB连接115传输过来的数据分组流。在输出设 备能够进行数据分组采样或处理前,设备控制器125在缓冲存储器 130中存储这些数据分组。采样接口以基于输出设备时钟的采样速 率从缓冲存储器130中获取数据,然后再将这些数据传输至数模 (D/A)转换器160。 D/A转换器将数字信号转换成模拟形式,以便 输出设备将这些数据输出给用户。主机控制器110与输出设备120之间传输数据分组的速率由 CLK1 (计算设备101的时钟信号)所决定。这正如前文所述,采样 速率或者输出设备120处理来自主机控制器110数据的速率是由CLK2 (输出设备时钟)所决定。由于系统的异步特性,计算设备110 向输出设备120发送数据分组的速率可能与输出设备120处理数据 分组的速率不同。如果主机控制器110以比输出设备120处理数据分组的速率更 快的速率发送数据分组,缓冲存储器将可被填满。这种情况被称作 缓冲器上溢出情况。当缓冲存储器被填满之后,任何随后到达的数 据分组都将被丢弃。当处理如音频和视频这些同步数据时,缓冲器 上溢出是不可接受的,因为它将导致丢失的数据无法呈现给用户。 这种情况会导致所呈现的音频或视频的混乱或不完整。如果输出设备120以比主机控制器IIO发送数据分组的速率更 快的速率处理数据分组, 一段时间后,缓冲存储器将会完全变空。 输出设备将等候下一个数据分组的抵达以回放给用户。这种情况被 称为缓冲器下溢出情况。当传输如音频和视频这些同步数据时,缓 冲器下溢出也是不可接受的,因为它将导致在输出设备等候下一个 数据分组时所造成的音频或视频的停顿。在相反的情况下也是如此。当音频或视频数据被输入设备获取 到并传输至计算设备(如个人计算机)时,相同的问题也可能会发 生。如果设备正在以高于计算设备处理数据分组的速率获取并发送 数据至计算设备,那么获取设备中的缓冲器则会发生上溢出情况, 进而导致数据丢失。同样,如果设备以低于计算设备处理数据分组 的速率来获取并发送数据至计算设备,那么下溢出情况就将发生。发明内容本发明将接收设备处理从异步设备接收到的数据分组流的速 率与异步设备传输数据分组的速率同步。在一个实施例中,设备在 缓冲存储器中保存所接收到的数据分组,并以由采样速率控制器所 决定的采样速率对来自缓冲存储器的数据进行处理。可以调整采样 速率,以使处理数据的速率与接收异步设备所发送的数据的速率同 步。通过对上述速率进行同步,可以避免缓冲器上溢出和下溢出情 况。在一个实施例中,可以监测缓冲存储器的缓冲程度,以确定该 如何调整采样速率。在一个实施例中,缓冲存储器中包括用来指示 缓冲存储器的缓冲程度的指针。缓冲存储器的缓冲程度可与缓冲存 储器内的阈值位置进行比较,以确定该如何调整采样速率。在一个 实施例中,如果缓冲存储器的缓冲程度低于所述阈值,可降低采样 速率,以使设备处理数据分组的速率与传输数据分组的速率接近同 步。如果缓冲存储器的缓冲程度高于所述阈值位置,可提高采样速 率。经过一段时间,采样速率将变得与异步设备传输数据分组的速 率同步。可参考本发明的实施例,在附图中示出了这些实施例的示例。 这些附图是示例性的,并非限制性的。尽管通过这些实施例对本发 明进行描述,但应该了解的是并不倾向于将本发明的范围仅限定为 这些特定的实施例。


图1是一种在异步环境中处理数据流的现有系统的方框图。图2是根据本发明一个实施例的数据流同步系统的方框图。图3示出了包括多个数据分组310的数据流300。图4示出了根据本发明一个实施例的缓冲存储器230的实现方式。图5是示出了在输出设备以与主机控制器向输出设备传输数据 分组的速率相同的速率处理数据分组流的系统中,数据分组流、分 组结尾(EOP)标识符和缓冲程度之间的关系的曲线图。图6是根据本发明一个实施例的采样速率控制器240的方框图。图7示出了根据本发明一个实施例的用于调整釆样速率的方框图。图8是示出了数据分组、分组结尾(EOP)标识符、缓冲存储 器缓冲程度、相对于阈值的锁定程度与采样校正之间的关系的曲线图。图9是根据本发明一个实施例的、对从获取设备920传输至计 算设备的数据流进行同步的系统的方框图。图10是根据本发明一个实施例的同步数据分组流的流程图1000。
具体实施方式
下面所描述的是用于对两个异步设备之间处理数据分组流的 速率与传输数据分组流的速率进行同步的系统、设备和方法。在下 面的描述中,为了解释说明的目的,将会列出详细的细节以便于理 解本发明。但是显然,对于本领域普通技术人员,也可以不需要这 些细节来实施本发明。此外,本领域普通技术人员将会意识到以下 所描述的关于本发明的实施例可由多种媒介实现,包括软件、硬件、 固件或其组合。因此,下面所描述的流程图既是为了对本发明特定 的实施例进行举例说明,也是为了避免对本发明的模糊理解。说明书中所提及的"一个实施例"、"优选实施例"或"实施例" 意味着所描述的与实施例相关的特定特征、结构、特性或功能至少 包括于本发明的一个实施例中。本说明书不同地方出现的短语"在 一个实施例中"不必全都表示同一个实施例。图2是根据本发明一个实施例的数据流同步系统200的方框 图。系统200包括USB主机控制器110,通过USB连接115与输出 设备220相连。输出设备220包括设备控制器125、缓冲存储器230、 缓冲锁存器235、采样速率控制器240、采样接口 150和数模(D/A) 转换器160。主机控制器110、设备控制器125、采样接口 150和D/A 转换器160都是本领域公知的器件。缓冲存储器230可使用包括固 态存储设备在内的公知存储设备来实现。类似地,缓冲锁存器235 可使用包括但不局限于D锁存器、SR触发器和JK触发器在内的公知锁存器来实现。如图所示,主机控制器110可位于PC或其它计算设备101上,用于在计算设备101与输出设备220之间传输数据分组流。图3示 出了数据分组流300的示例。流300由按照有规则的时间间隔(图 3中以T标注)传输的多个数据分组310A-N构成。每个数据分组310 可包括一个或多个报头字段320、数据330和用于标识数据分组结 尾的分组结尾(E0P)标识符325。输出设备220通过设备控制器125顺序地接收数据分组流,其 中包括用于从USB连接115接收数据的低层硬件。在设备控制器125 接收到每个数据分组后,将其存储在缓沖存储器230内。设备控制 器125还对每个数据分组的EOP标识符325进行检测,当检测到EOP 标识符时,将EOP信号输出到缓冲锁存器335。采样接口 150对来 自缓冲存储器230的数据进行存取,并将其提供给D/A转换器160。 采样接口对来自缓冲存储器230的数据进行存取的速率被称为采样 速率。在一个实施例中,采样速率由采样速率控制器240使用输出 设备时钟(CLK2)和缓冲偏移值(详见下文)决定。D/A转换器160 将从缓冲存储器230获得的数字数据转换为模拟形式,以便由输出 设备220回放。应当注意的是主机控制器110由计算设备的系统时钟CLK1 控制,而输出设备220则由设备时钟CLK2控制。系统的异步特性意 味着主机控制器110向输出设备220传输数据分组的速率可能与 输出设备220处理数据分组的速率不同。如果主机控制器传输数据 分组流的速率快于输出设备220处理数据分组的速率,则一段时间 后,可能发生上溢出情况。如果主机控制器传输数据分组的速率慢 于输出设备220处理数据的速率,则一段时间后,可能发生下溢出 情况。如图3所示,主机控制器110以有规则的时间间隔将数据分 组传输或下载至设备控制器125。在一个实施例中,每个分组的EOP 标识符可用于标示出主机控制器向输出设备220发送数据分组的速 率。图4示出了根据本发明一个实施例的缓冲存储器230的示例。 在本示例中,缓冲存储器230是先进先出(FIFO)存储器,具有等 同于三个数据分组大小的缓冲器容量。就本示例而言,假设每个数据分组的尺寸为Q(如图3所示)。因此,缓冲存储器230的尺寸P^3Q。 在一个实施例中,缓冲存储器230包括用于指示缓冲存储器230的 缓冲程度的缓冲程度指针440。如稍后所述,缓冲程度指针440可 作为用于调整采样速率的反馈信号,以使输出设备220处理数据的 速率与主机控制器110传输数据的速率相同步。在一个实施例中,可以将目标指针450用作缓冲存储器230内 的阈值参考位置。用户可根据优化缓冲器使用的系统需要来定义目 标指针450。在一个实施例中,目标指针标识缓冲存储器230内的 阈值位置。此阈值位置可以是接收到每个EOP标识符时、有效地避 免了上溢出或下溢出情况的发生的、缓冲存储器230的最佳缓冲程 度。图5示出了在输出设备处理数据分组的速率与主机控制器向输 出设备传输数据分组流的速率同步的系统中,数据分组流、EOP指 示符和缓冲程度之间的关系。如图5所示,缓冲程度开始增长,直 至缓冲器填充至程度Q, Q表示数据分组的大小。此时,已经接收到 第一数据分组。在本示例中,在第一数据分组到达后,输出设备开 始将数据回放T/2的持续时间(即第一E0P到达后的T/2)。当流中 的下一个数据分组开始抵达时,缓冲存储器已经存储了大约X2=Q/2 个字节的数据,而缓冲存储器230中至少有2Q字节的空闲空间。如 图5所示,随着输出设备接收与回放数据分组,缓冲存储器230持 续被填充与清空。应当注意的是在图5所示的同步系统中,缓冲存储器230被 填充至一半位置,随即开始降低,直至达到缓冲程度X2,随后当下 一个数据分组抵达时,再次被填充至缓冲器的中间。还要注意的是-每次在EOP标识符出现时,缓冲器都处于一半被填充的位置点。在 一个实施例中,这是缓冲存储器230内的阈值位置。因此,如图4 所示,目标指针450为缓冲存储器230的中心点提供了参照。在图 4所示的缓冲存储器230的实施例中,缓冲存储器230以先进先出 的方式由右至左被填充。如果缓冲程度指针440处于目标指针450 右侧,则缓冲器尚未被填充至一半;如果缓冲程度指针440处于目标指针450左侧,则缓冲器已被填充过半。无论缓冲程度指针所示 缓冲程度低于或高于由目标指针450所代表的阈值位置,均可以调 整采样速率,以使采样速率与主机控制器向输出设备传输数据分组 流的速率接近同步。在图2所示的实施例中,每当设备控制器遇到EOP标识符225 时,将缓冲程度指针440和目标指针450锁存至缓冲锁存器235中。 可以将缓冲程度指针440与目标指针450和一个缓冲偏移值xl进行 比较,用于表示缓冲程度指针440相对于目标指针450的位置,可 以将其输出至釆样速率控制器240。采样速率控制器240可使用缓 冲偏移值xl来调整采样接口 150处理数据分组的采样速率。在调整采样速率的同时,缓冲存储器230的缓冲程度将相应地 增长或降低。因此,当接收到下一个EOP指针时,缓冲程度指针440 的缓冲程度将逐渐接近目标指针450的阈值。在接收到每一个EOP 指针时,持续调整采样速率,直到缓冲程度指针440落在目标指针 450上为止。此时,输出设备处理从主机控制器接收的数据的速率 与主机控制器传输数据流的速率相同步。图6示出了根据本发明的采样速率控制器240的一个实施例。 在此实施例中,采样速率控制器包括与校正功能模块620相连的除 法计数器610。除法计数器是本领域普通技术人员所公知的。校正 功能模块620可通过硬件、软件、固件或其组合来实现。在一个实施例中,采样速率控制器接收来自缓冲锁存器235的 缓冲偏移值xl和输出设备220的设备时钟(CLK2)作为输入。将设 备时钟(CLK2)输入除法计数器610,除法计数器610将设备时钟 除以整数值N,将设备时钟(CLK2)的频率降低N倍。输出时钟是 采样时钟,决定了采样接口 150的采样频率。本领域普通技术人员 将意识到可以根据多种与应用有关的因素来确定N的取值,其中包括所需采样速率等。在本发明的一个实施例中,校正功能模块620接收缓冲偏移值 xl作为输入。缓冲偏移值xl是目标指针450 (阈值位置)与缓冲程 度指针440之间的差值。如果缓冲程度指针440小于目标指针450,xl的值为正值。与之相反,如果缓冲程度指针440大于目标指针450, xl的值为负值。在一个实施例中,可根据公式N(xl)调整N的取值,其中N(xl)是基于Xl的取值的函数。本领域普通技术人员将意识到存在多种函数,可用于根据缓冲偏移值xl来调整N的取值,以实现所需的釆 样频率升高或降低。在一个实施例中,如果xl的值为负数,则= 1;如果xl的值为正数,则7\^1) = ^ + 1。这些函数根据xl 的取值将N的取值增加或减小1。如果xl-O, N的值保持不变。如果xl的值为正数,则缓冲程度低于缓冲存储器230内的阈 值指针。这表示输出设备220处理从主机控制器110接收到的数据 的速率比数据分组流传输至输出设备220的速率快。如果不对数据 处理速率进行调整,输出设备220可能会进入需要等待下一个用于 回放给用户的数据分组的阶段。如果输出设备220正在输出音频或 视频,这将引起数据回放的延迟,用户则可能将其看作断续 (choppiness)。在这种情况下,本发明增大N的取值,以降低采样 速率的频率。这将降低输出设备220处理数据分组的速率。可以在 设备控制器125每次接收到EOP时,调整N的取值。 一段时间后, 可以使处理数据分组的速率与主机控制器iio传输数据分组流的速 率同步。同样,如果xl为负数,缓冲程度高于缓冲存储器230内的阈 值指针。通过减小N的取值,提高采样速率的频率,从而提高输出 设备220处理数据的速率。随着N值经过一段时间的调整,输出设 备220处理数据分组的速率可变得与主机控制器110传输数据分组 流的速率同步。图7示出了根据本发明、用于调整采样速率的可选实施例。图 7示出了与用于调整设备时钟(CLK2)的校正功能模块720相连的 用于产生设备时钟(CLK2)的锁相环(PLL)710,以使设备时钟(CLK2) 与主机控制器IIO传输数据分组流的速率同步。PLL 710包括两个 除法计数器730和740、相位检测器750和数控振荡器(DCO) 760。 在另一个实施例中,可使用压控振荡器(VC0)来替代DC0 760。除法计数器730和740、相位检测器750和数控振荡器760都是本领域 公知的器件。在这个实施例中,PLL 710接收输入时钟和调整值N和M,作 为输入。将输入时钟fin输入除法计数器730。在一个实施例中, 输入时钟fin为输出设备220的源时钟。除法计数器730将输入时 钟的频率除以输入值N。将降低了频率的时钟输出至相位检测器 750。相位检测器750将降低了频率的时钟与由DC0 760产生的反馈 时钟信号对准。在本实施例中,已将除法计数器740插入在DC0 760 和相位检测器750之间的反馈环路中,以增加从相位检测器750输 出的时钟的频率。在本实施例中,从DCO 760输出的时钟的频率等 于M乘以从除法计数器730输出的时钟的频率。图7的实施例得到从PLL 710输出的设备时钟CLK2为 CM2 = ( *(M/iV)。如图7所示,可将设备时钟(CLK2)输出至除 法计数器780,以生成决定设备采样速率的采样时钟。采样时钟的 频率/l-CiX2/Z,可重写为/l-((力""(M/AO)"。可将采样时钟输出 至采样接口 150,以控制采样速率,并由此控制输出设备220处理 数据分组的速率。M、 N和L的取值可由用户或设计人员根据应用的需要来设置, 以提供所需采样频率。例如,假设输入时钟的频率y^-48M/fe,而 用户想得到频率/l-12.228M/fe的初始采样时钟,可以将初始值设置 为M二6144、 A^6000禾口"4。这将产生所需频率/1 = 12.228 M抢的采样 时钟。可调整M和/或N的取值来改变从PLL 710输出的设备时钟 (CLK2)的频率。在本发明的一个实施例中,校正功能模块720根 据输入的缓冲偏移值xl来调整M和/或N的取值。在一个实施例中, xl为目标指针450 (阈值位置)与缓冲程度指针440之间的差值。 如果缓冲程度指针440小于目标指针450, xl的值为正值。相反, 如果缓冲程度指针440大于目标指针,xl的值为负值。在一个实施例中,可分别根据函数M(xl)和/或N(xl),调整M 和/或N的取值。在一个实施例中,当xl为正数时,可根据函数M(jd)-M-l和iV(;cl^iV-1来调整N和M,以降低设备时钟(CLK2)和 采样时钟的频率(如上文所述)。当xl为负数时,可根据函数 M(;d)-M + i和/vXxl)^V + l来调整M和N,以提高设备时钟(CLK2)和 采样时钟的频率。本领域普通技术人员将意识到存在多种函数M(xl)和N(xl),可用于根据输入xl来调整M和N的取值。应该注 意的是可彼此独立地调整M和N的值。例如,在一个实施例中, 对于减小N的取值的给定缓冲偏移值xl,增加M的取值,反之亦然。 此类调整也将对设备时钟(CLK2)和采样时钟的频率产生提高或降 低的影响。回到上面的示例中,假设M、 N和L的取值已被设定,以获得 初始采样频率12. 288MHz。如果缓冲偏移值xl为负,可将M和N的 取值增加1,以调整从PLL 710输出的设备时钟(CLK2)的频率, 从而调整采样时钟的频率。使用上述函数M(xl)和N(xl),新的设备 时钟为CZ尺2 = (48M/fe) * (6145 / 6001) = 49.1518080ilfflz 。将设备时钟除以L , 得到采样时钟/1 = (49.1518080M他)/ 4 = 12.287952M历。采样时钟频率的这 个小改变将降低输出设备的采样速率。采样速率的小幅下降可引起 缓冲存储器230的缓冲程度小幅提高,从而当下一个EOP标识符到 达时,缓冲程度指针440将更接近目标指针450。应该注意的是图6和图7中的实施例仅为基于缓冲存储器230 的缓冲程度提高或降低采样速率的众多方法中的两种。本领域普通 技术人员将意识到其他实施方式也是可能的并应当包括在本发明的 范围内。图8是示出了数据分组、分组结尾信号、缓冲存储器缓冲程度、 相对于阈值的锁定程度和釆样校正之间的关系。如图所示,数据分 组每隔时间间隔T到达。时间间隔T表示主机控制器110向输出设 备220传输数据分组流的速率。应当注意当遇到每个分组结尾 (EOP)标识符时,将缓冲程度指针440 (图8中以x3代表)锁存 到缓冲锁存器235中。虚线810表示阈值,即目标指针450。缓冲偏移值xl表示锁存值x3与阈值位置之间的差值。当xl 高于阈值位置时,降低采样速率,在图表中的采样速率校正部分以负号(_)表示。应当注意当采样速率降低时,缓冲程度指针X3 也降低,直至其低于阈值。 一旦发生此情况,增加采样速率,在采 样校正速率图表中以正号(+)表示。采样速率得到持续调整直至系 统达到稳定状态,当在每个EOP标识符抵达时,缓冲程度指针均落 在阈值位置上时,系统即达到稳定状态。在图8中,稳定状态发生在第17个数据分组处。从这点开始,釆样速率与主机控制将数据发送或下载至输出设备的速率相匹配。在这种情况下,系统不可能发生关于缓冲存储器230的上溢出或下溢出情况。应当注意图表的釆样速率校正部分在数据分组17之后全部为零。这表明采样速率已经达到稳定状态,不再需要进一步的 调整。如果主机控制器改变其传输数据分组的速率,系统将再次开 始调整采样速率,直至确定与主机控制器的数据分组速率相匹配的 新采样速率。前文所讨论的几个实施例描述了当从主机控制器iio向输出设备220传输数据流以便由输出设备220输出时,如何将采样速率与 主机控制器110的数据速率同步。图9示出了本发明的一个实施例, 用于在从获取设备920向主机控制器110传送数据流时,将采样速 率与主机控制器的数据速率同步。这种情况会发生在获取设备920 获取数据时,如视频或音频记录设备。当从视频或音频获取设备上传数据时,主机控制器iio发起"流 开始"命令,以启动获取设备920中的获取处理。获取设备920获 取模拟音频或视频数据,并将其输入至模数(A/D)转换器960, A/D 转换器960将模拟音频或视频信号转换为相应的数字表示。采样接 口 150可持续对来自A/D转换器960的数据进行采样,并将数据存 储在缓冲存储器230中。采样接口 150的数据采样速率由采样速率 控制器240决定。缓冲存储器230持续填充数据,直至设备控制器125接收到来 自主机控制器110的输入令牌。每当设备控制器125接收到输入令 牌时,设备控制器125将数据分组从缓冲存储器230传递至主机控 制器110。设备控制器125还向缓冲锁存器235输出输入令牌已接收信号。输入令牌可用作主机控制器110请求来自获取设备920的 数据分组的速率的表示。因此,输入令牌已接收信号起到了与图2 所示的实施例中所描述的EOP标识符相同的作用。如果输入设备的采样速率大于主机控制器传输输入令牌的速 率,则可能发生缓冲器上溢出情况,进而导致数据丢失。类似地, 如果输入设备的采样速率低于主机控制器传输输入令牌的速率,则 可能发生缓冲器下溢出情况。如果缓冲器下溢出情况发生,当接收 到下一个输入令牌时,缓冲器内可能没有足够的数据用来发送数据 分组。本发明可通过将从主机控制器110接收输入令牌的速率与获取 设备920处理数据的速率同步,防止上溢出或下溢出情况的发生。 如图9所示,在一个实施例中,每当输入令牌己接收信号被输出至 缓冲锁存器235时,可将缓冲程度指针440锁存在缓冲锁存器235 中。通过按照由输入令牌所决定的时间间隔对缓冲程度进行监测并 调整采样速率(如前文所述),可将采样速率与主机控制器110请求 数据分组的速率相同步。图10示出了根据本发明的、用于调整采样速率的方法的流程 图。在步骤1010中,接收数据分组流。在步骤1020中,当接收到 数据分组流中的每个数据分组时,将其存储在缓冲存储器中。如前 文所述,可将数据分组顺序地存储到先迸先出(FIFO)存储器中, 直至系统准备好对这些数据分组进行处理。如前文所述,所述系统 根据采样速率来处理这些分组。在步骤1030中,监测缓冲存储器的缓冲程度,以确定在给定 时间点,缓冲存储器内填充了多少数据分组流中的数据分组。在一 个实施例中,当接收到EOP标识符时,监测缓冲存储器的缓冲程度。 在步骤1040中,根据缓冲存储器的缓冲程度相对于缓冲存储器阈值 位置的关系,调整采样速率。在一个实施例中,阈值位置可为缓冲 存储器的中间点。在此实施例中,可根据缓冲存储器的填充程度相 对于缓冲存储器中间点的关系,来调整采样速率。在另一个实施例 中,阈值可由用户确定。在一个实施例中,可以将缓冲存储器的缓冲程度与阈值位置进 行比较,以确定缓冲程度与阈值位置之间的关系。如果缓冲程度低 于阈值位置,可降低采样速率,以使缓冲器被进一步填充。降低采 样速率可使采样速率进一步与接收设备请求发送数据分组的速率同 步。如果缓冲程度高于阈值位置,可提高采样速率,以降低输入数 据分组填充缓冲器的量。此外,降低采样速率可使其进一步与接收 设备请求传输数据分组的速率保持一致。虽然已经参照特定实施例,对本发明进行了描述,但本领域普 通技术人员应当意识到可以提供多种修改。例如,虽然已经参照通 过USB连接相连的设备,对本发明进行了描述,但本领域普通技术人员应当意识到本发明并不局限于USB设备,也可用于数据流需要同步或受益于同步的任何异步环境。可受益于本发明的其他数据流技术的示例包括但不局限PCI、火线(IEEE 1394)和语音IP(VoIP) 数据流。可以对本发明进行变更和修改,本发明仅由所附权利要求 限定。
权利要求
1.一个系统,用于将第一设备处理从异步设备接收到的数据分组的第一速率与所述异步设备传输所述数据分组的第二速率同步,所述系统包括缓冲存储器,用于存储从所述异步设备接收到的数据分组,所述缓冲存储器包括用于指示缓冲存储器的缓冲程度的指针;以及采样速率控制器,用于根据所述指针的位置与所述缓冲存储器内的阈值位置之间的关系,调整所述第一速率,其中经过一段时间后,将处理来自所述缓冲存储器的数据分组的所述第一速率与所述异步设备传输数据分组的第二速率同步。
2. 根据权利要求1所述的系统,其特征在于如果所述指针高 于所述阈值位置,则所述采样速率控制器增大所述第一速率。
3. 根据权利要求1所述的系统,其特征在于如果所述指针低 于所述阈值位置,则所述采样速率控制器减小所述第一速率。
4. 根据权利要求1所述的系统,其特征在于所述阈值位置为 所述缓冲存储器的中间。
5. 根据权利要求1所述的系统,其特征在于所述阈值位置由 用户定义。
6. 根据权利要求1所述的系统,其特征在于所述缓冲存储器 为先进先出(FIFO)存储器设备。
7. —种方法,用于调整在第一设备中处理多个数据分组的釆 样速率,以防止缓冲存储器发生下溢出或上溢出情况,所述方法包括接收来自第二设备的数据分组流;在接收到每个数据分组时,将其存储在所述缓冲存储器中; 以由所述采样速率所决定的速率,处理来自所述缓冲存储器的 数据分组;监测所述缓冲存储器的缓冲程度;以及根据所述缓冲存储器的缓冲程度与所述缓冲存储器内的阈值 位置之间的关系,调整所述采样速率,其中经过一段时间后,将所述采样速率与所述第二设备向所述 第一设备传输数据分组流的速率同步。
8. 根据权利要求7所述的方法,其特征在于所述缓冲程度提供了关于缓冲器有多少正在被使用的指示。
9. 根据权利要求7所述的方法,其特征在于如果所述缓冲存储器的缓冲程度高于所述阈值位置,则减小所述采样速率。
10. 根据权利要求7所述的方法,其特征在于如果所述缓冲存 储器的缓冲程度低于所述阈值位置,则增大所述采样速率。
11. 根据权利要求7所述的方法,其特征在于所述阈值位置为 所述缓冲存储器的中间。
12. —种方法,用于调整将数据存储到获取设备的缓冲存储器 的采样速率,所述方法包括接收来自第二设备的输入令牌;将所述获取设备所获取的数据存储在缓冲存储器中,其中以由 所述采样速率所决定的速率,存储所述数据; 监测所述缓冲存储器的缓冲程度;以及根据所述缓冲存储器的缓冲程度与所述缓冲存储器内的阈值位置之间的关系,调整所述采样速率,其中经过一段时间后,将所述采样速率与所述第二设备传输所 述输入令牌的速率同步。
13. 根据权利要求12所述的方法,其特征在于所述缓冲程度 提供了关于缓冲器有多少正在被使用的指示。
14. 根据权利要求12所述的方法,其特征在于如果所述缓冲存储器的缓冲程度高于所述阈值位置,则减小所述采样速率。
15. 根据权利要求12所述的方法,其特征在于如果所述缓冲 存储器的缓冲程度低于所述阈值位置,则增大所述采样速率。
16. 根据权利要求12所述的方法,其特征在于所述阈值位置 为所述缓冲存储器的中间。
17. —种采样速率控制器,用于根据用于存储数据分组流的缓 冲存储器的缓冲程度来调整采样时钟,所述采样速率控制器包括除法计数器,用于接收输入时钟,并将输入时钟除以一除数, 以生成所述采样时钟;以及校正功能模块,用于根据所述缓冲存储器的缓冲程度与所述缓 冲存储器内的阈值位置之间的关系,调整所述除数的值。
18. 根据权利要求17所述的采样速率控制器,其特征在于如 果所述缓冲存储器的缓冲程度高于所述阈值位置,则增大所述除数 的值。
19. 根据权利要求17所述的采样速率控制器,其特征在于如 果所述缓冲存储器的缓冲程度低于所述阈值位置,则减小所述除数 的值。
全文摘要
将接收设备处理从异步设备接收到的数据分组流的速率与异步设备传输数据分组的速率同步。设备在缓冲存储器中存储接收到的数据分组,并以由采样速率控制器所决定的采样速率对来自缓冲存储器的数据进行处理。根据存储器填充程度指针的阈值比较,调整采样速率,以将处理数据的速率与从异步设备接收数据的速率进行同步。通过上述速率的同步,可避免缓冲器上溢出和下溢出情况。
文档编号G06F5/06GK101233706SQ200680027835
公开日2008年7月30日 申请日期2006年7月28日 优先权日2005年7月29日
发明者郭阳滨 申请人:Nxp股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1