通用序列总线传输转译器及输入请求同步传输方法

文档序号:6334084阅读:154来源:国知局
专利名称:通用序列总线传输转译器及输入请求同步传输方法
技术领域
本发明涉及一种通用序列总线(Universal Serial Bus,USB),特别是涉及一种 USB 3. 0传输转译器(U3TT)及相关的输入请求(IN)同步传输(isochronous transaction) 方法。先前技术通用序列总线(USB)为一种周边装置(以下简称”装置”)的标准,用以提供装 置(device)和主机(host)之间的通讯。2008年公开了通用序列总线(USB)3.0,其缆线 如图1A所示。USB 3.0除了提供相容于USB 2.0的一对数据路径D+/D-,还提供二对超速 (SuperSpeed)数据路径 SSTX+/SSTX-及 SSRX+/SSRX-。当USB 2.0装置连接至USB 3. 0主机时,将会以非超速的数据路径D+/D-来进行 通讯。为了让USB 2.0装置能够升级为类似USB 3.0装置,以提升其数据传送速度,本案申 请人曾于中国专利申请第201010129143. 4号申请案中揭示了一种通用序列总线(USB) 3. 0 的传输转译器(transactiontranslator)(简称"U3TT”) 10,如图1B所示,其连接于USB 3. 0 主机12与USB 2. 0装置14之间,用以提升USB 2. 0装置14的通讯效能。通用序列总线(USB)提供四种信息传送(transfer)型态控制传送(control transfer)、大量传送(bulk transfer)、中断传送(interrupt transfer)及同步传送 (isochronous transfer)。其中,同步传送通常使用于传送语音或影像数据,此种传送型态 会保留足够的带宽(bandwidth),因此可保证传送速率;然而,此种传送型态并不会对错误 进行更正或重试(retry),因而不能保证传输的完全正确。图2显示使用USB 3. 0传输转译器(U3TT)以进行输入请求(IN)同步传输的流 程图。首先,于步骤21,USB 3.0主机发送输入请求(IN)确认分组(acknowledge packet) 给传输转译器(U3TT)。接着,于步骤22,传输转译器(U3TT)将USB 3. 0规范的输入请求 (IN)确认分组转译为USB2.0规范的输入请求(IN)标记分组(token packet),并藉由序列 接 口引擎(serial interface engine,SIE)而发送给 USB 2.0 装置。当 USB 2. 0 装置的 数据备妥时,则将USB 2.0规范的数据回应发送至传输转译器(U3TT)(步骤23)。最后,于 步骤24,传输转译器(U3TT)将USB 2. 0规范的数据转译为USB 3. 0规范的数据,并发送至 USB 3.0主机。根据上述流程,除非主机发送输入请求(IN)分组给装置,否则,装置并不会 回应任何的数据给主机。上述流程的缺点之一在于,装置从收到输入请求(IN)分组之后一直到数据备妥 为止的这一段时间,主机与装置都处于闲置(idle)状态,因而浪费了等待时间及总线带 宽。此外,上述流程的另一缺点为,如果装置的数据闲置时间超过一预设时间,则主机会取 消输入请求(IN)同步传输。为了克服上述缺点,因此亟需提出一种改良的传输转译器(U3TT)及新颖的输入 请求(IN)同步传输方法,以减少闲置时间及提高USB 2.0总线带宽的利用率。

发明内容
鉴于上述,本发明实施例的目的之一在于提出一种USB 3.0传输转译器(U3TT)及 一种输入请求(IN)同步传输方法,其不但可有效地减少主机与装置的闲置等待时间,还可 大量地增进USB 2.0总线带宽的利用率。根据本发明实施例,通用序列总线(USB)传输转译器包含装置接口、主机接口、至 少二缓冲存储器、控制器及寄存器。其中,装置接口藉由装置总线而连接至装置;主机接口 藉由主机总线而连接至主机,该主机所规范的USB版本高于该装置所规范的USB版本。缓 冲存储器设置于装置接口和主机接口之间,用以储存数据。控制器将数据交替储存于缓冲 存储器。寄存器记录装置总线的信息。其中,控制器根据装置总线的信息,于主机发送输入 请求(IN)分组之前即自装置预取(pre-fetch)数据而储存于缓冲存储器;于主机发送输入 请求(IN)分组之后,控制器将预取数据回应给主机。根据本发明另一实施例所揭示的通用序列总线(USB)的输入请求(IN)同步 传输(isochronous transaction)方法,首先,主机藉由传输转译器对装置进行配置 (configure),该主机所规范的USB版本高于该装置所规范的USB版本。暂存相关于装置 的装置总线的信息于传输转译器。接着,传输转译器根据装置总线的信息而发送输入请 求(IN)标记分组(token packet)给装置。装置回应数据给传输转译器,并交替储存得自 装置的数据于至少二缓冲存储器。当主机发送一输入请求(IN)确认分组(acknowledge packet)给传输转译器时,传输转译器即将储存于缓冲存储器的数据传送给主机。


图1A显示通用序列总线(USB) 3. 0的缆线。图1B的方块图显示USB 3. 0传输转译器(U3TT)连接至USB 3. 0主机及USB 2. 0
直o图2显示使用USB 3.0传输转译器(U3TT)以进行输入请求(IN)同步传输 (isochronous transaction)白勺、流禾呈图0图3的方块图显示本发明实施例的通用序列总线(USB)3. 0传输转译器(U3TT),用 以进行USB 3.0主机和USB 2.0装置之间的转译。图4显示本发明实施例的输入请求(IN)同步传输的流程图。
附图符号说明
10USB 3.0传输转译器(U3TT)
12USB 3.0主机
14USB 2.0装置
21-24步骤
30USB 3.0传输转译器(U3TT)
301USB 2.0接口
302USB 2.0总线
303USB 3.0接口
304USB 3.0总线
305A第一缓冲存储器
305B306307323441-44
第二缓冲存储器
寄存器
控制器
USB 3.0主机
USB 2.0装置
步骤
具体实施例方式图3的方块图显示本发明实施例的通用序列总线(USB) 3. 0传输转译器(U3TT) 30, 用以进行USB 3. 0主机32和USB 2. 0装置34之间的转译。传输转译器(U3TT) 30各组成 方块的连接关系并不限定于图3所示。本实施例虽以USB 3.0传输转译器(U3TT)30为 例,然而本发明也可适用于将来通用序列总线(USB)的更高版本。图3所示的传输转译器 (U3TT) 30仅显示与本发明相关的组成方块,其余细节可参考前述本案申请人的另一申请 案内容。关于USB 2.0及USB 3.0的细节可分别参考“通用序列总线规格书(Universal Serial Bus Specification) ” 及“通用序列总线 3. 0 规格书(Universal Serial Bus 3.0 Specification) ”。在本实施例中,传输转译器(U3TT)30包含USB 2.0接口(”装置接口”)301,其藉 由USB 2. 0总线(”装置总线”)302而连接至装置34,作为传输转译器(U3TT) 30和装置34 之间的信号接口。此外,传输转译器(U3TT)30还包含USB 3. 0接口(”主机接口”)303, 其藉由USB 3.0总线(”主机总线”)304而连接至主机32,作为传输转译器(U3TT) 30和 主机32之间的信号接口。USB 2.0接口 301或USB 3. 0接口 303内可包含序列接口引擎 (serial interface engine, SIE),其可对数据进行序列化(serialization)或逆序列化 (deserialization),用以将数据传送于USB 2. 0总线302或USB 3. 0总线304。根据本发明实施例的特征之一,传输转译器(U3TT)30包含二个缓冲存储器 (buffer)第一缓冲存储器305A和第二缓冲存储器305B,设置于USB 2. 0接口 301和USB 3.0接口 303之间,用以储存数据。控制器307会将数据储存于其中一个缓冲存储器(例如 第一缓冲存储器305A),当存满以后,再将数据储存于另一个缓冲存储器(例如第二缓冲存 储器305B)。使用此种交替(alternate)储存方式的缓冲存储器305A/305B也可称为乒乓 (ping-pong)缓冲存储器。本实施例虽以二个缓冲存储器305A/305B作为例示,然而也可扩 展至三个或以上的缓冲存储器,依相同原则进行交替储存。再者,第一缓冲存储器305A和 第二缓冲存储器305B的大小不一定要相同,其可根据实际应用情形作不同的调整。传输转译器(U3TT) 30还包含寄存器(register) 306,用以记录USB 2. 0总线302 的信息,例如相关于装置端点(endpoint)(亦即,装置的可定址(addressable)部分)的端 点号码(endpoint number)或带宽要求。再者,传输转译器(U3TT) 30的控制器307不但用 以进行转译,还用来控制上述其他组成方块的操作与协调。图4显示本发明实施例的输入请求(IN)同步传输(isochronoustransaction)的 流程图。首先,于步骤41,USB 3. 0主机32及传输转译器(U3TT) 30对USB 2. 0装置34进 行配置(configure)或枚举(emulate)(亦即,将USB 2. 0装置34升级为类似USB 3. 0装 置),并将USB 2. 0总线302的信息(例如端点号码(endpoint number)或带宽要求)记录
6于寄存器306。接着,于步骤42,在装置34与传输转译器(U3TT) 30之间建立好管路(pipe)连接 后,不论是否接收到主机32所发送的输入请求(IN)确认分组(acknowledge packet),传 输转译器(U3TT)30都会根据装置34的带宽要求而发送输入请求(IN)标记分组(token packet)给装置34。在本实施例中,传输转译器(U3TT) 30会于每一帧时间(frame time) (其为1毫秒,当装置34使用全速(full speed)或低速(low speed))发送输入请求(IN) 标记分组或者于每一微帧时间(micro-frame time)(其为125微秒,当装置34使用高速 (high speed))发送输入请求(IN)标记分组。于步骤43,装置34回应数据给传输转译器(U3TT)30。得自装置34的数据藉由控 制器307的控制而交替储存于第一缓冲存储器305A和第二缓冲存储器305B。例如,当存 满第一缓冲存储器305A后,则将数据储存于第二缓冲存储器305B ;当存满第二缓冲存储器 305B后,(即使第一缓冲存储器305A内的数据尚未被读取,)将数据储存于第一缓冲存储 器305A,如此循环重复。由于同步传输(isochronous transaction)要求传送速率但不保 证数据的完全正确,因此缓冲存储器305A/305B内数据的覆盖仍符合同步传输的要求。于步骤44,当主机32发送输入请求(IN)确认分组(acknowledge packet)给传 输转译器(U3TT)30时,传输转译器(U3TT)30会将预取(pre-fetch)而储存于缓冲存储器 305A/305B的数据直接传送给主机32。其中,控制器307会监测二个缓冲存储器305A和 305B的缓冲状态,以决定将哪一部份的数据要传送给主机32。例如,如果第一缓冲存储器 305A正在写入数据,则将第二缓冲存储器305B的数据作为有效数据以传送至主机32 ;反 之,如果第二缓冲存储器305B正在写入数据,则将第一缓冲存储器305A的数据作为有效数 据以传送至主机32。上述缓冲存储器305A/305B的数据可以使用USB 2. 0规范格式来储存,并于读取 时才进行格式的转译(亦即,从USB 2.0转译为USB 3.0)。反之,上述数据于储存之前也 可以先进行转译,并于读取时直接进行传送。例如,如果前述序列接口引擎(SIE)是设置 于USB 2.0接口 301内,则属于先储存后转译形式;如果序列接口引擎(SIE)是设置于USB 3.0接口 303内,则属于先转译后储存形式。以上所述仅为本发明的较佳实施例而已,并非用以限定本发明的申请专利范围; 凡其它未脱离发明所揭示的精神下所完成的等效改变或修饰,均应包含在本发明的权利要 求的范围内。
权利要求
一种通用序列总线传输转译器,包含一装置接口,其藉由一装置总线连接至一装置;一主机接口,其藉由一主机总线连接至一主机,该主机所规范的通用序列总线版本高于该装置所规范的通用序列总线版本;至少二缓冲存储器,设置于该装置接口和该主机接口之间,用以储存数据;一控制器,用以将数据交替储存于该至少二缓冲存储器;及一寄存器,用以记录该装置总线的信息;其中该控制器根据该装置总线的信息,于该主机发送输入请求分组的前即自该装置预取数据而储存于该至少二缓冲存储器,并于该主机发送该输入请求分组之后,该控制器将该预取数据回应给该主机。
2.如权利要求1所述的通用序列总线传输转译器,其中上述主机的通用序列总线版本 为USB 3.0,且该装置的通用序列总线版本为USB 2.0。
3.如权利要求1所述的通用序列总线传输转译器,其中上述的主机接口或装置接口包 含一序列接口引擎,其对数据进行序列化或逆序列化,用以将数据传送于相应的该主机总 线或该装置总线。
4.如权利要求1所述的通用序列总线传输转译器,其中上述的至少二缓冲存储器包含 一第一缓冲存储器及一第二缓冲存储器,其中该控制器将数据储存于该第一缓冲存储器, 当存满以后,再将数据储存于该第二缓冲存储器。
5.如权利要求4所述的通用序列总线传输转译器,其中上述的控制器监测该第一、第 二缓冲存储器的缓冲状态,如果该第一缓冲存储器正在写入数据,则将该第二缓冲存储器 的数据作为有效数据以传送至该主机;如果该第二缓冲存储器正在写入数据,则将该第一 缓冲存储器的数据作为有效数据以传送至该主机。
6.如权利要求1所述的通用序列总线传输转译器,其中上述装置总线的信息包含相关 于该装置的端点号码或带宽要求。
7. 一种通用序列总线的输入请求同步传输方法,包含一主机藉由一传输转译器对一装置进行配置,该主机所规范的通用序列总线版本高于 该装置所规范的通用序列总线版本;暂存相关于该装置的装置总线的信息于该传输转译器;该传输转译器根据该装置总线的信息而发送一输入请求标记分组给该装置;该装置回应数据给该传输转译器;交替储存得自该装置的数据于至少二缓冲存储器;及当该主机发送一输入请求确认分组给该传输转译器时,该传输转译器即将储存于该缓 冲存储器的数据传送给该主机。
8.如权利要求7所述通用序列总线的输入请求同步传输方法,其中上述装置总线的信 息包含相关于该装置的端点号码或带宽要求。
9.如权利要求7所述通用序列总线的输入请求同步传输方法,其中上述的输入请求标 记分组于每一帧时间发送给该装置,其中该帧时间为1毫秒,且该装置使用全速或低速。
10.如权利要求7所述通用序列总线的输入请求同步传输方法,其中上述的输入请求 标记分组于每一微帧时间发送给该装置,其中该微帧时间为125微秒,且该装置使用高速。
11.如权利要求7所述通用序列总线的输入请求同步传输方法,其中上述的至少二缓 冲存储器包含一第一缓冲存储器及一第二缓冲存储器,将数据储存于该第一缓冲存储器, 当存满以后,再将数据储存于该第二缓冲存储器。
12.如权利要求11所述通用序列总线的输入请求同步传输方法,其中上述的传输转译 器监测该第一、第二缓冲存储器的缓冲状态,如果该第一缓冲存储器正在写入数据,则将该 第二缓冲存储器的数据作为有效数据以传送至该主机;如果该第二缓冲存储器正在写入数 据,则将该第一缓冲存储器的数据作为有效数据以传送至该主机。
13.如权利要求7所述通用序列总线的输入请求同步传输方法,于交替储存数据于该 至少二缓冲存储器之前,还包含使用该传输转译器对该数据进行转译。
14.如权利要求7所述通用序列总线的输入请求同步传输方法,于交替储存数据于该 至少二缓冲存储器之后,但于将数据传送给该主机之前,还包含使用该传输转译器对该数 据进行转译。
全文摘要
一种通用序列总线(USB)传输转译器及相关的输入请求(IN)同步传输(isochronous transaction)方法。装置接口藉由装置总线连接至一装置,而主机接口藉由主机总线连接至一主机,其中,主机所规范的USB版本高于装置所规范的USB版本。至少二缓冲存储器设置于装置接口和主机接口之间,用以储存数据。控制器将数据交替储存于缓冲存储器。使用寄存器以记录装置总线的信息。其中,控制器根据装置总线的信息,于主机发送输入请求(IN)分组之前即自装置预取(pre-fetch)数据而储存于缓冲存储器,并于主机发送输入请求(IN)分组之后,将预取数据回应给主机。
文档编号G06F13/40GK101976230SQ201010512030
公开日2011年2月16日 申请日期2010年9月30日 优先权日2010年9月30日
发明者徐步衡, 江辉, 汤金宽, 赖瑾 申请人:威盛电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1