数据速率控制器及其控制方法技术

技术编号:2849163 阅读:179 留言:0更新日期:2012-04-11 18:40
一种数据速率控制器及其控制方法。本发明专利技术提供数据速率控制器,通过缓存器以控制主机及功能装置之间的数据传输。本发明专利技术提供中断装置,将缓存器状态回授至主机以控制数据传输率。数据速率控制器包括中断装置及具有缓存器及缓存器监控器的等时装置。本发明专利技术避免因时钟失配所导致缓存器缓冲溢位或缓冲数据不足的问题。

【技术实现步骤摘要】

本专利技术涉及一种,特别是涉及一种应用于等时传输的。
技术介绍
对于一个仰赖等时传输(isochronous transfer)的电子装置而言,数据传输的速率须经由精确的控制。图1(已知技术)所示为传统等时电子装置100。等时电子装置100例如为音效或电话通信装置,其通常包括有功能装置140及具有至少一个缓存器112的等时终端110。在操作上,主机90作为数据源,对等时电子装置100输出数据包,而等时终端110则相对地作为数据槽以接收此些数据包。数据的传输通常是先由主机90的驱动器(未示)所初始化,以将由主机90产生的数据包在一主机时钟率CLK0下输出至等时终端110。起源于主机90的数据包首先储存于缓存器112,之后,数据包经由缓存器112以一终端逻辑时钟率CLK1输出至功能装置140。功能装置140则依据所收到的数据包而对应地执行相关功能。举例说明,假设主机是一台个人计算机,等时电子装置100是一USB电子装置,而功能装置140是一USB声效卡,声效数据包因此而通过等时终端110的缓存器112,由个人计算机输出至声效卡,而声效卡则依据所接收的声效数据包而触发音效扩大器以播放音效。然而,因数据连续地从个人计算机输出,故主机时钟率CLK0及端点逻辑时钟率CLK1之间的时钟偏差容易导致缓存器缓冲溢位(buffer overrun)或缓冲数据不足(buffer under run)。因此,对于须仰赖等时传输的应用中(例如有实时性的音效传输),时钟的偏差及失配(mismatch)将影响数据的完整性,造成音效的断断续续或爆音等情况发生。
技术实现思路
有鉴于此,本专利技术的目的是改善上述传统等时传输因时钟失配所导致的缓存器缓冲溢位或缓冲数据不足的问题。根据上述目的,本专利技术提出一种数据速率控制器,用以控制主机及功能装置之间的数据传输。主机以一数据传输率输出多个数据包至数据速率控制器。数据速率控制器包括一中断装置及一含有缓存器及缓存器监控器的等时装置。缓存器暂时储存由主机输出的数据包以进而将数据包输出至功能装置。当数据包由主机输出至缓存器时,缓存器监控器用以记录数据计数,并产生缓存器状态。中断装置将输出从缓存器监控器所接收的缓存器状态,并在受主机轮询时,回授缓存器状态至主机以调整数据输出率。根据上述目的,本专利技术还提供一种控制数据传输的方法,其中该数据由主机通过缓存器传输至功能装置。此方法包括依据一主机时钟率由主机输出多个数据包至缓存器;接着,由缓存器输出数据包至功能装置;接着,监控该缓存器的一数据计数;接着,根据该数据计数产生缓存器状态,其中该缓存器状态是于高电平状态或低电平状态;接着,轮询(polling)以接收缓存器状态;最后,依据缓存器状态以调整主机时钟率。为使本专利技术的上述目的、特征、和优点能更明显易懂,下文特举一较佳实施例,并结合附图详细说明如下。附图说明图1为传统等时电子装置。图2为本专利技术一较佳实施例的一种等时电子装置的方块图。图3为本专利技术一较佳实施例的一种具有多个等时装置的等时电子装置。图4为本专利技术一较佳实施例的一种控制数据通过缓存器由主机传输至功能装置的方法流程图。图5为本专利技术方法的另一实施例的流程图。图6为图5中步骤S530的流程图。附图符号说明20、40、100等时电子装置30、90主机200、400数据速率控制器110等时终端 210、411、412等时装置112、212缓存器214缓存器监控器220中断装置222指针缓存器230同步电路240、140功能装置413中断装置414指针缓存器420功能装置CLK0、CLK2、CLK3主机时钟率CLK1终端逻辑时钟率L低临界计数M中间临界计数H高临界计数具体实施方式请参照图2,其示出了依照本专利技术一较佳实施例的一种等时电子装置的帧图。等时电子装置20,包括数据速率控制器200及功能装置240,用以自外部的主机30接收多个数据包。这些数据包以一主机时钟率CLK0,即数据传输率,由主机30所输出。数据速率控制器200包括两个端点,等时装置210及中断装置220。等时装置210包括缓存器212及缓存器监控器214。缓存器212在接收数据包后,将其暂存,之后并将包输出至功能装置240。功能装置240因而由缓存器212接收数据包。缓存器监控器214耦接至缓存器212,用以在数据包由主机30输出至记录缓存器212时,以及由缓存器212输出至功能装置240时,记录缓存器212的数据计数。缓存器监控器214以实时的方式记录缓存器212的数据计数。较佳地,缓存器212是一先进先出缓存器(First-In-First-Out Buffer)。除了记录数据计数,缓存器监控器214还依据数据计数产生缓存器状态以供输出。缓存器状态提供缓存器是否处于满或空的状态等信息。数据速率控制器200所包括的另一端点,即中断装置220,接收来自于由缓存器监控器214所输出的缓存器状态,并将缓存器状态输出至主机30。主机30则经由中断装置220所发出的中断讯号或由轮询中断装置220的方式接收缓存器状态,进而依据缓存器状态调整主机时钟率。数据包通常包含有多个子信息帧。因此,主机30可藉由传送特定数目的子信息帧后决定询问的周期。例如,在USB装置的应用上,可设定在缓存器212每接收到32个子信息帧后(4ms),主机30便轮询中断装置有关缓存器状态。在数据包被传送至等时电子装置20之前,主机30依据缓存器212的大小及主机时钟率CLK0以分别设定一低临界计数L及一高临界计数H。低临界计数L及高临界计数H的重要性在于其是缓存器监控器214设定缓存器状态的依据。较佳地,缓存器状态包括一字节,含括一高位及一低位。因此,若数据计数大于或等于高临界计数H,缓存器监控器214则致能该字节中的高位;若数据计数小于或等于低临界计数L,缓存器监控器则致能该字节中的低位。利用此机制,主机30可轻易地得知主机时钟率CLK0相对于缓存器212的容量是否过快或慢以便进行调整,藉此避免缓存器212缓冲溢位(overrun)或数据不足(under run)的情形发生。再者,于本专利技术的另一较佳实施例中,缓存器状态的更新是采用依据画面起始(Start of Frame)讯号的方式。意即,主机30检测数据包中指示帧起始讯号的脉冲以作为缓存器状态的更新。利用帧起始讯号为依据,缓存器监控器214分别比较数据计数与高临界计数H及低临界计数L。当数据计数高于或等于高临界计数H时,则致能缓存器状态中的高位;当数据计数低于或等于低临界计数L时,则致能缓存器状态中的低位。藉此,缓存器状态得以更新。另外,中断装置220可包括指针缓存器(register)222,每当缓存器状态更新时,中断装置220得以锁存缓存器状态的高位及低位于指针缓存器222中。为成功控制主机30与等时电子装置20之间的主机时钟率CLK0,若所接收缓存器状态中,其高位是致能状态,主机30便降低主机时钟率CLK0;若低位是致能状态,主机30则提高主机时钟率CLK0。为详述本专利技术较佳实施例,等时电子装置20举例为一种USB装置应用。假设以个人计算机PC作为主机30,其主机时钟率为768bytes/子信息帧,而缓存器212以192kb/s的终端逻辑时钟率CLK1输出数据包(8声本文档来自技高网...

【技术保护点】
一种数据速率控制器,用以控制一主机及一功能装置之间的数据传输,该主机以一数据传输率将多个数据包输出至该数据速率控制器,该数据速率控制器包括:    至少一等时终端,该等时终端包括:    一缓存器,暂时储存由该主机所输出的该数据包以进而将该数据包输出至该功能装置;以及    一缓存器监控器,耦接该缓存器,该缓存器监控器用以记录当该数据包由该主机输出至该缓存器时的一数据计数,并产生一缓存器状态;以及    一中断装置,用以回授该缓存器监控器所产生的缓存器状态至该主机。

【技术特征摘要】
US 2005-3-18 11/082,8611.一种数据速率控制器,用以控制一主机及一功能装置之间的数据传输,该主机以一数据传输率将多个数据包输出至该数据速率控制器,该数据速率控制器包括至少一等时终端,该等时终端包括一缓存器,暂时储存由该主机所输出的该数据包以进而将该数据包输出至该功能装置;以及一缓存器监控器,耦接该缓存器,该缓存器监控器用以记录当该数据包由该主机输出至该缓存器时的一数据计数,并产生一缓存器状态;以及一中断装置,用以回授该缓存器监控器所产生的缓存器状态至该主机。2.如权利要求1所述的数据速率控制器,其中该缓存器状态包括具有一高位及一低位的一字节,当该数据计数大于或等于一高临界计数,该缓存器监控器致能该高位,当该数据计数小于或等于一低临界计数,该缓存器监控器致能该低位。3.如权利要求2所述的数据速率控制器,其中该主机在输出该数据包之前,对应该缓存器的大小及该数据传输率设定该低临界计数及该高临界计数。4.如权利要求2所述的数据速率控制器,其中该中断装置包括一指针缓存器,用以锁存在该高位及该低位。5.如权利要求2所述的数据速率控制器,其中当该缓存器监控器致能该高位时,该主机降低该数据传输率,当该缓存器监控器致能该低位时,该主机提高该数据传输率。6.如权利要求2所述的数据速率控制器,其中该缓存器监控器依据一帧起始讯号更新该缓存器状态。7.如权利要求1所述的数据速率控制器,其中该缓存器是一先进先出的缓存器。8.如权利要求1所述的数据速率控制器还包括一同步电路,用以接收来自于该缓存器的该数据包,并输出该数据包至该功能装置。9.如权利要求1所述的数据速率控制器,其中该数据包通过一通用串行总线接口,由该主机传送至该数据速率控制器。10.如权利要求1所述的数据速率控制器,其中该数据包藉由I2S接口从该数据速率控制器输入至该功能装置。11.一种控制数据传输的方法,通过一缓存器由一主机传输至一功能装置,该方法包括在一主机时钟率下由该主机输出多个数据包至该缓存器;从该缓存器输出该些数据包至该功能装置;监控该缓存器的一数据计数;对应该数据计数产生一缓存器状态,其中该缓存器状态为一高电平或一低电平;轮询并接收该缓存器状态;以及依据该缓存器状态以调整该主机时钟率。12.如权利要求1...

【专利技术属性】
技术研发人员:白金洲
申请(专利权)人:威盛电子股份有限公司
类型:发明
国别省市:71[中国|台湾]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1