通用串行总线传输转译器及微帧同步方法

文档序号:6516915阅读:119来源:国知局
通用串行总线传输转译器及微帧同步方法
【专利摘要】一种通用串行总线USB传输转译器,耦接于一主机与一装置之间,其包含:一控制器,用以将数据交替存储于至少二缓冲存储器;及一帧起始SOF计数器,用以计数所发送帧起始SOF分组的数目,其中该帧起始SOF计数器的计数值和一预设值作比较,当达到该预设值时,该控制器将该帧起始SOF分组发送时间予以重置,使得该帧起始SOF分组的发送时间同于该主机所发送的同步时间标记分组ITP的发送时间,其中当该主机发送该同步时间标记分组ITP时,该控制器据以将该帧起始SOF分组的发送时间予以延迟一段时间。
【专利说明】通用串行总线传输转译器及微帧同步方法
[0001]本案是申请日为2011年3月31日、申请号为201110080319.6、发明名称为“通用串行总线传输转译器及微帧同步方法”的发明专利申请的分案申请。
【技术领域】
[0002]本发明涉及一种通用串行总线(Universal Serial Bus, USB),特别涉及一种USB3.0传输转译器(U3TT)及其微帧同步方法。
【背景技术】
[0003]通用串行总线(USB)为一种外围装置(以下简称“装置”)的标准,用以提供装置(device)和主机(host)之间的通信。2008年公开了通用串行总线(USB) 3.0,其缆线如图1A所示。USB3.0除了提供相容于USB2.0的一对数据路径D+/D-,还提供二对超速(SuperSpeed)数据路径 SSTX+/SSTX-及 SSRX+/SSRX-。
[0004]当USB2.0装置连接至USB3.0主机时,将会以非超速的数据路径D+/D-来进行通信。为了让USB2.0装置能够升级为类似USB3.0装置,以提升其数据传送速度,本申请 申请人:曾于中国专利申请第201010129143.4号申请文件中公开一种通用串行总线(USB)3.0的传输转译器(transaction translator)(简称”U3TT”)10,如图1B所不,其连接于USB3.0主机12与USB2.0装置14之间,用以提升USB2.0装置14的通信效能。
[0005]通用串行总线(USB)提供四种信息传送(transfer)类型:控制传送(controltransfer)、大量传送(bulk transfer)、中断传送(interrupt transfer)及同步传送(isochronous transfer)。其中,同步传送通常使用于传送语音或图像数据,此种传送类型会保留足够的带宽(bandwidth),因此可保证传送速率;然而,此种传送类型并不会对错误进行更正或重试(retry),因而不能保证传输的完全正确。
[0006]目前USB3.0传输转译器(U3TT)于进行输入请求(IN)同步传输时,闲置(idle)时间过高且USB2.0总线带宽的利用率过低,因此本申请 申请人:于另一中国申请文件(题为”通用串行总线传输转译器及输入请求同步传输方法”)提出一种改良的传输转译器(U3TT)。在此改良的传输转译器(U3TT)中,使用二缓冲存储器(buffer),用以自装置预取(pre-fetch)数据,因而得以提高USB2.0总线带宽的利用率。然而,由于USB3.0主机侧的微中贞时间(micro-frame time)(其为125微秒)与USB2.0装置侧的微巾贞时间,两者之间并没有同步,因而会产生以下问题。
[0007]图2显示主机侧及装置侧的微帧时间时序图。对于主机侧,主机于每一微帧时间发送同步时间标记分组(isochronous timestamp packet, ITP),用以宣告其微巾贞时间;主机可能在一微帧时间内的任一时间从缓冲存储器(例如,缓冲存储器I或缓冲存储器2)读取数据。对于装置侧,传输转译器(U3TT)于每一微巾贞时间发送巾贞起始(start-of-frame,SOF)分组,用以宣告其微帧时间;传输转译器(U3TT)可控制在每一微帧时间的一半周期时间内(例如前半周期时间)进行数据的预取。如图2所示,主机与装置可能于同一时间内(如图中所圈出的重叠时间)对同一缓冲存储器(如图示的缓冲存储器I)进行存取,因而造成存取冲突(access conflict)问题。在这个例子中,装置侧的微巾贞时间可能和主机侧的前一微帧时间产生重叠冲突。
[0008]此外,由于主机与传输转译器(U3TT)使用不同的时钟源,因此两者往往会有些微的周期时间差异。此时间差异于经过许多周期后,会累积成一个相当大的差异,造成另一个同步的问题。
[0009]为了克服上述问题,因此亟需提出一种改良的传输转译器(U3TT)及其微帧同步方法,以解决上述的同步问题。

【发明内容】

[0010]鉴于上述,本发明实施例的目的之一在于提出一种USB3.0传输转译器(U3TT)及其微帧同步方法,不但可解决装置侧和主机侧之间的存取冲突问题,也能解决主机侧和传输转译器(U3TT)的时钟源周期时间差异所造成的累积差异问题。本发明实施例的另一目的在于增进数据的传送效能。
[0011]根据本发明实施例,通用串行总线(USB)传输转译器包含装置接口、主机接口、至少二缓冲存储器、控制器及帧起始(SOF)计数器。装置接口通过装置总线连接至一装置,而主机接口通过主机总线连接至一主机,其中,主机所规范的USB版本高于装置所规范的USB版本。缓冲存储器设置于装置接口和主机接口之间,用以存储数据。控制器用以将数据交替存储于缓冲存储器。帧起始(SOF)计数器用以计数所发送帧起始(SOF)分组的数目,其中帧起始(SOF)计数器的计数值和一预设值作比较,当达到该预设值时,控制器将帧起始(SOF)分组发送时间予以重置(reset),使得帧起始(SOF)分组的发送时间同于主机所发送的同步时间标记分组(ITP)的发送时间。其中,当主机发送同步时间标记分组(ITP)时,控制器据以将帧起始(SOF)分组的发送时间予以延迟(delay) —段时间。
[0012]根据本发明另一实施例所公开的通用串行总线(USB)的输入请求(IN)同步传输(isochronous transaction)的微巾贞同步方法,首先,传输转译器(transactiontranslator)对一巾贞起始(SOF)分组发送时间予以重置(reset),使得巾贞起始(SOF)分组的发送时间同于主机所发送的同步时间标记分组(ITP)的发送时间。接着,自主机接收同步时间标记分组(ITP)。根据同步时间标记分组(ITP),将帧起始(SOF)分组的发送时间予以延迟(delay)—段时间。计数所发送的巾贞起始(SOF)分组。其中,当巾贞起始(SOF)计数值未达一预设值,则继续进行计数;否则,当已达到该预设值时,则重新执行重置步骤。
[0013]根据本发明又一实施例,通用串行总线(USB)传输转译器包含装置接口、主机接口、至少一缓冲存储器、控制器、帧起始(SOF)定时器及帧起始(SOF)产生器。装置接口通过装置总线连接至装置,主机接口通过主机总线连接至主机,其中,主机所规范的USB版本高于装置所规范的USB版本。缓冲存储器设置于装置接口和主机接口之间,用以存储数据,而控制器则用以将数据存储于缓冲存储器。帧起始(SOF)定时器自控制器接收一动态调整的帧起始(SOF)分组的发送周期,以进行定时控制,而帧起始(SOF)产生器受控于控制器,以动态产生帧起始(SOF)分组。
【专利附图】

【附图说明】
[0014]图1A显示通用串行总线(USB) 3.0的缆线。[0015]图1B的方块图显示USB3.0传输转译器(U3TT)连接至USB3.0主机及USB2.0装置。
[0016]图2显示主机侧及装置侧的微帧时间时序图。
[0017]图3的方块图显示本发明实施例的通用串行总线(USB)3.0传输转译器(U3TT),用以进行USB3.0主机和USB2.0装置之间的转译。
[0018]图4显示本发明实施例的微帧同步方法的流程图。
[0019]图5显示经延迟后的主机侧及装置侧的微帧时间时序图。
[0020]图6的方块图显示本发明另一实施例的通用串行总线(USB) 3.0传输转译器(U3TT),用以进行USB3.0主机和USB2.0装置之间的转译。
[0021]图1显示本发明实施例的通用串行总线(USB) 3.0传输转译方法的流程图。
[0022]图8A例示依照规范的微帧时间以发送帧起始(SOF)分组的时序图。
[0023]图SB例示依照调整后的微帧时间以发送帧起始(SOF)分组的时序图。
[0024]【主要元件符号说明】
[0025]10 USB3.0 传输转译器(U3TT)
[0026]12 USB3.0 主机
[0027]14 USB2.0 装置
[0028]30 USB3.0 传输转译器(U3TT)
[0029]301 USB2.0 接口
[0030]302 USB2.0 总线
[0031]303 USB3.0 接口
[0032]304 USB3.0 总线
[0033]305A第一缓冲存储器
[0034]305B第二缓冲存储器
[0035]306 寄存器
[0036]307 控制器
[0037]308 帧起始(SOF)计数器
[0038]32 USB3.0 主机
[0039]34 USB2.0 装置
[0040]30A USB3.0 传输转译器(U3TT)
[0041]1301 USB2.0 接口
[0042]130IA时钟产生器
[0043]1302 USB2.0 总线
[0044]1303 USB3.0 接口
[0045]1304 USB3.0 总线
[0046]1305缓冲存储器
[0047]1306 寄存器
[0048]1307 控制器
[0049]1309A帧起始(SOF)定时器
[0050]1309B帧起始(SOF)产生器[0051]41-44 步骤
[0052]71-78 步骤
【具体实施方式】
[0053]图3的方块图显示本发明实施例的通用串行总线(USB) 3.0传输转译器(U3TT)30,用以进行USB3.0主机32和USB2.0装置34之间的转译。传输转译器(U3TT) 30各组成方块的连接关系并不限定于图3所示。本实施例虽以USB3.0传输转译器(U3TT) 30为例,然而本发明也可适用于将来通用串行总线(USB)的更高版本。图3所示的传输转译器(U3TT) 30仅显示与本发明相关的组成方块,其余细节可参考前述本申请 申请人:的另一中国申请文件内容以及前述另一中国申请文件(题为“通用串行总线传输转译器及输入请求同步传输方法”)内容。关于USB2.0及USB3.0的细节可分别参考“通用串行总线规格书(Universal Serial Bus Specif ication)” 及“通用串行总线 3.0 规格书(UniversalSerial Bus3.0Specification),,。
[0054]在本实施例中,传输转译器(U3TT ) 30包含USB2.0接口(“装置接口 ”)301,其通过USB2.0总线(“装置总线”)302而连接至装置34,作为传输转译器(U3TT) 30和装置34之间的信号接口。此外,传输转译器(U3TT ) 30还包含USB3.0接口(“主机接口 ”)303,其通过USB3.0总线(“主机总线”)304而连接至主机32,作为传输转译器(U3TT)30和主机32之间的信号接口。
[0055]传输转译器(U3TT) 30包含二缓冲存储器(buffer):第一缓冲存储器305A和第二缓冲存储器305B,设置于USB2.0接口 301和USB3.0接口 303之间,用以存储数据。本实施例虽以二缓冲存储器305A/305B作为例示,然而也可扩展至三个或以上的缓冲存储器,依相同原则进行交替存储。再者,第一缓冲存储器305A和第二缓冲存储器305B的大小不一定要相同,其可根据实际应用情形作不同的调整。
[0056]传输转译器(U3TT) 30还包含寄存器(register) 306,用以记录USB2.0总线302的信息,例如相关于装置端点(endpoint)(亦即,装置的可寻址(addressable)部分)的端点号码(endpoint number)或带宽要求。再者,传输转译器(U3TT)30的控制器307不但用以进行转译,还用来控制上述其他组成方块的操作与协调。
[0057]根据本发明实施例的特征之一,传输转译器(U3TT) 30包含一帧起始(SOF)计数器308,用以计数所发送帧起始(SOF)分组的数目。帧起始(SOF)计数器308的计数值将可用来和一预设值作比较,当达到该预设值时,传输转译器(U3TT) 30的控制器307即可进行帧起始(SOF)分组发送时间的重置(reset),使得帧起始(SOF)分组的发送时间同于主机所发送的同步时间标记分组(ITP)的发送时间。藉此,可解决前述时钟源差异因累积所造成的问题。
[0058]图4显示本发明实施例的微帧同步方法的流程图,其适用于输入请求(IN)同步传输(isochronous transaction)。首先,在步骤41,传输转译器(U3TT)30对巾贞起始(SOF)分组发送时间予以重置(reset),使得帧起始(SOF)分组的发送时间同于同步时间标记分组(ITP)的发送时间。此外,还将帧起始(SOF)计数器308的计数值予以清除。
[0059]接着,在步骤42,传输转译器(U3TT)30自主机32接收到同步时间标记分组(ITP)时,控制器307据以将帧起始(SOF)分组的发送时间予以延迟(delay)—段时间。一般来说,延迟时间需小于微巾贞时间的一半,亦即62.5微秒,以确保USB2.0总线302的数据传输可以在一个微帧中完成。图5显示经延迟后的主机侧及装置侧的微帧时间时序图。如图所示,传输转译器(U3TT)30的控制器307可控制在每一微帧时间的前半周期时间内进行缓冲存储器305A/305B的数据预取。由观察图5可得知,经延迟后的装置侧微帧时间不再与主机侧的前一微帧时间产生重叠冲突(如图2所示)。
[0060]在步骤43,累积计数所发送的帧起始(SOF)分组。当帧起始(SOF)计数器308的计数值未达一预设值X (步骤44),则继续累积计数;否则,当已达到该预设值时,则执行步骤41以重置帧起始(SOF)分组的发送时间以及清除帧起始(SOF)计数器308的计数值。在一极端例子中,帧起始(SOF)计数器308的相关预设值设为”1”,因此,每一次接收到同步时间标记分组(ITP)时,也同时对帧起始(SOF)分组发送时间予以重置(reset)。
[0061]图6的方块图显示本发明另一实施例的通用串行总线(USB) 3.0传输转译器(U3TT)30A,用以进行USB3.0主机32和USB2.0装置34之间的转译。传输转译器(U3TT)30A各组成方块的连接关系并不限定于图6所示者。本实施例虽以USB3.0传输转译器(U3TT)30A为例,然而本发明也可适用于将来通用串行总线(USB)的更高版本。
[0062]在本实施例中,传输转译器(U3TT ) 30A包含USB2.0接口(“装置接口 ”)1301,其通过USB2.0总线(“装置总线”)1302而连接至装置34,作为传输转译器(U3TT)30A和装置34之间的信号接口。此外,传输转译器(U3TT ) 30A还包含USB3.0接口(“主机接口 ”)1303,其通过USB3.0总线(“主机总线”)1304而连接至主机32,作为传输转译器(U3TT)30A和主机32之间的信号接口。
[0063]传输转译器(U3TT) 30A包含至少一缓冲存储器(buffer)1305,其可由一或多个缓冲存储器所组成,设置于USB2.0接口 1301和USB3.0接口 1303之间,用以存储数据。传输转译器(U3TT) 30A还包含寄存器(register) 1306,用以记录USB2.0装置34的配置信息(configuration),例如描述符(descriptor)或带宽要求。再者,传输转译器(U3TT)30A的控制器1307不但用以进行转译,还用来控制上述其他组成方块的操作与协调。
[0064]根据本发明实施例的特征之一,传输转译器(U3TT) 30A包含一帧起始(SOF)定时器1309A及帧起始(SOF)产生器1309B。其中,帧起始(SOF)定时器(timer) 1309A自控制器1307接收一动态调整的帧起始(SOF)分组的发送周期,以进行定时控制;帧起始(SOF)产生器1309B受控于控制器1307,可动态产生帧起始(SOF)分组。根据本发明实施例的另一特征,USB2.0接口 1301内包含一时钟产生器1301A,其可动态调整传送于USB2.0总线1302的数据比特率(bit rate)。
[0065]图7显示本发明实施例的通用串行总线(USB)3.0传输转译方法的流程图。在步骤
71,控制器1307判定信息传送(transfer)类型。该判定的根据可自装置34取得描述符或自寄存器1306取得相关配置信息。如果步骤71的判定结果为大量传送(bulk transfer)类型,则控制器1307控制帧起始(SOF)定时器1309A及帧起始(SOF)产生器1309B,使其停止帧起始(S0F)分组的发送(步骤72 )。在大量传送时,装置34 —般并不会用到帧起始(S0F)分组,因此,在步骤72停止帧起始(SOF)分组的发送,并不会影响到数据的传送,但却能增进传送效能。
[0066]如果步骤71的判定结果为同步传送(isochronous transfer)类型,则控制器1307控制帧起始(SOF)定时器1309A及帧起始(SOF)产生器1309B,使其进行帧起始(SOF)分组的发送。在发送之前,在步骤73,控制器1307决定是否动态调整帧起始(SOF)分组的发送周期,例如微巾贞时间(micro-frame time)。如果不调整发送周期,则在步骤74,依照通用串行总线规格书所规范的微帧时间(其为125微秒),周期地发送帧起始(SOF)分组。如果要调整发送周期(例如调降发送周期),则在步骤75,依照调整后的微帧时间(例如,125微秒的百分之四十),周期地发送帧起始(SOF)分组。
[0067]图8A例示依照规范的微帧时间以发送帧起始(SOF)分组的时序图,图SB例示依照调整后的微帧时间以发送帧起始(SOF)分组的时序图。在一般的同步传送时,每一帧周期时间仅有一部分(例如百分之四十)时间是真正用来进行数据的同步传送。如果依据图8B所例示方式进行同步传送,则可大量地增进传送效能。也就是说,图8A的上述帧起始(SOF)分组的发送周期为一微巾贞时间(micro-frame time),图8B的上述调整后的发送周期为该微帧时间的一部分。
[0068]无论是进行大量传送(步骤72)、依照所规范的微帧时间进行同步传送(步骤74)或依照调整后的微帧时间进行同步传送(步骤75),本发明实施例还可在步骤76,选择是否通过时钟产生器1301A以动态调整传送于USB2.0总线1302的数据比特率(bit rate)。如果选择不调整比特率,则依照所规范的常态(normal)比特率以进行数据传送(步骤77)。如果选择要调整比特率,则调整(调升)时钟产生器1301A的时钟频率,并依照调整后的比特率进行数据传送(步骤78)。
[0069]通用串行总线规格书所规范的比特率,一般都会界定一容许误差(tolerance),例如10%。鉴于此,本实施例的时钟产生器1301A可将时钟频率加快10%,则可提高数据传送效能,且能符合规范。在另一实施例中,时钟产生器1301A更可将时钟频率加快而超过所规范的容许误差,虽然减低了装置的相容性,但可更加提高数据传送效能。
[0070]以上所述仅为本发明的优选实施例而已,并非用以限定本发明的申请专利范围;凡其它未脱离发明所揭示的精神下所完成的等效改变或修饰,均应包含在所附权利要求书要求保护的范围内。
【权利要求】
1.一 种通用串行总线USB传输转译器,耦接于一主机与一装置之间,其包含: 一控制器,用以将数据交替存储于至少二缓冲存储器 '及 一帧起始SOF计数器,用以计数所发送帧起始SOF分组的数目,其中该帧起始SOF计数器的计数值和一预设值作比较,当达到该预设值时,该控制器将该帧起始SOF分组发送时间予以重置,使得该帧起始SOF分组的发送时间同于该主机所发送的同步时间标记分组ITP的发送时间, 其中当该主机发送该同步时间标记分组ITP时,该控制器据以将该帧起始SOF分组的发送时间予以延迟一段时间。
2.如权利要求1所述的通用串行总线USB传输转译器,还包含: 一装置接口,其通过一装置总线连接至该装置 '及 一主机接口,其通过一主机总线连接至该主机,该主机所规范的USB版本高于该装置所规范的USB版本。
3.如权利要求1所述的通用串行总线USB传输转译器,还包含该至少二缓冲存储器,其中该控制器及该主机在USB所规范的一微帧时间内对该至少二缓冲存储器进行存取。
4.如权利要求1所述的通用串行总线USB传输转译器,在重置该帧起始SOF分组发送时间时,还包含将该帧起始SOF计数器的计数值予以清除。
5.如权利要求2所述的通用串行总线USB传输转译器,其中上述主机的USB版本为USB3.0,且该装置的USB版本为USB2.0。
6.如权利要求1所述的通用串行总线USB传输转译器,其中上述的延迟时间小于USB所规范的微帧时间的一半。
7.如权利要求1所述的通用串行总线USB传输转译器,其中上述的控制器控制在USB所规范的每一微帧时间的前半周期时间内,对该缓冲存储器进行数据预取。
8.如权利要求1所述的通用串行总线USB传输转译器,还包含一寄存器,用以记录该装置总线的信息,据以对该装置进行数据的预取。
9.一种通用串行总线USB的输入请求同步传输的微帧同步方法,包含: 一传输转译器对一帧起始SOF分组发送时间予以重置,使得该帧起始SOF分组的发送时间同于一主机所发送的一同步时间标记分组ITP的发送时间; 自该主机接收该同步时间标记分组ITP ; 根据该同步时间标记分组ITP,将该帧起始SOF分组的发送时间予以延迟一段时间;及 计数所发送的该帧起始SOF分组; 其中当该帧起始SOF计数值未达一预设值,则继续进行计数;否则,当已达到该预设值时,则重新执行该重置步骤。
10.如权利要求9所述的通用串行总线USB的输入请求同步传输的微帧同步方法,在重置该帧起始SOF分组发送时间时,还包含清除该帧起始SOF的计数值。
11.如权利要求9所述的通用串行总线USB的输入请求同步传输的微帧同步方法,其中上述的延迟时间小于USB所规范的微帧时间的一半。
12.如权利要求9所述的通用串行总线USB的输入请求同步传输的微帧同步方法,还包含于USB所规范的每一微帧时间的前半周期时间内,对一装置进行数据预取。
13.如权利要求10所述的通用串行总线USB的输入请求同步传输的微帧同步方法,其中上述主机的USB版本为·USB3.0,且该装置的USB版本为USB2.0。
【文档编号】G06F13/40GK103530268SQ201310520483
【公开日】2014年1月22日 申请日期:2011年3月31日 优先权日:2010年9月30日
【发明者】汤金宽, 赖瑾, 徐步衡, 江辉 申请人:威盛电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1