CN108733608B - Usb链路桥接器 - Google Patents

Usb链路桥接器 Download PDF

Info

Publication number
CN108733608B
CN108733608B CN201810335678.3A CN201810335678A CN108733608B CN 108733608 B CN108733608 B CN 108733608B CN 201810335678 A CN201810335678 A CN 201810335678A CN 108733608 B CN108733608 B CN 108733608B
Authority
CN
China
Prior art keywords
usb
data
host
link
bridge
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810335678.3A
Other languages
English (en)
Other versions
CN108733608A (zh
Inventor
巴特·韦滕滕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NXP BV
Original Assignee
NXP BV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NXP BV filed Critical NXP BV
Publication of CN108733608A publication Critical patent/CN108733608A/zh
Application granted granted Critical
Publication of CN108733608B publication Critical patent/CN108733608B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/405Coupling between buses using bus bridges where the bridge performs a synchronising function
    • G06F13/4059Coupling between buses using bus bridges where the bridge performs a synchronising function where the synchronisation uses buffers, e.g. for speed matching between buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/065Partitioned buffers, e.g. allowing multiple independent queues, bidirectional FIFO's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2205/00Indexing scheme relating to group G06F5/00; Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F2205/06Indexing scheme relating to groups G06F5/06 - G06F5/16
    • G06F2205/067Bidirectional FIFO, i.e. system allowing data transfer in two directions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0042Universal serial bus [USB]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Systems (AREA)

Abstract

公开了一种通用串行总线(USB)链路桥接器装置。USB链路桥接器装置包括主机侧模块,被配置成与USB主机接口连接。主机侧模块包括接收器并且被配置成从USB主机接收串行数据、将接收到的串行数据转换成并行数据并将并行数据存储在弹性缓冲器中。还包括数据控制器,耦合至主机侧模块。进一步包括装置侧模块,耦合至数据控制器并且包括发射器。装置侧模块被配置成从数据控制器接收并行数据、将接收到的并行数据转换成串行数据并且向USB装置传输串行数据。数据控制器包括先入先出(FIFO)存储器以及桥接状态机,被配置成从主机侧模块接收并行数据、向主机侧模块返回确认信号、将并行数据存储在FIFO存储器中并且基于桥接状态机的配置来传输并行数据。

Description

USB链路桥接器
技术领域
本发明涉及公开了一种通用串行总线(USB)链路桥接器装置。
背景技术
通用串行总线(USB)协议实现了根据USB标准进行电子通信。USB标准限定了与协议兼容所需的信号属性、定时以及状态变化。根据USB标准,在一个或多个USB端口之间传送数据。根据USB端口之间的线缆的长度,在USB端口之间传送数据的信号当从一个端口行进至另一个端口时劣化。为了增加数据速率,无源USB线缆的线缆长度减小。USB2.0解决方案通常能够通过5米无源线缆以480Mb/s的速率进行传送。USB3.0解决方案通常能够通过3米无源线缆以5Gb/s的速率进行传送,并且USB3.1解决方案通常通过1米无源线缆以10Gb/s的速率传送数据。
对于许多用户和/或应用来说,一米线缆不方便。为了实现更长的线缆,USB3.1规范限定了USB中继器。中继器是指作用于信号以增加通过其可以成功传输信号的物理长度和/或互连损耗的任何有源组件。中继器的种类包括重定时器和转接驱动器两者。重定时器是指包含时钟数据恢复(CDR)电路的组件,所述时钟数据恢复电路对信号进行“重定时”。重定时器在重新传输信号之前将所述信号锁存到同步存储器元件中。在不通过在重定时器的任一侧上创建单独时钟域来累积高频抖动的情况下,其用于延长系统的物理长度。
SRIS(单独参考时钟独立SSC)重定时器是指重定时器实现(其发送时钟来自本地参考时钟),并且独立于其接收器处的恢复时钟。位级重定时器是指重定时器实现,其发送时钟来自其接收器处的恢复时钟,除了在链路训练部分期间。
转接驱动器是指对信号进行操作但不对其进行重定时的模拟组件。这可以包括均衡化、放大以及发射器。转接驱动器不包括CDR。
重定时器重新调整数据信号以增加数据通信距离。转接驱动器是重新生成信号以提高高速数据链路中的信号质量的系统。使用均衡化、预加重和其他技术。根据USB规范,可以向USB主机与装置之间的链路添加最多四个USB中继器。也就是说,USB主机板上一个、USB装置板上一个以及有源线缆中两个(每端一个)。然而,由于需要在主机和装置侧端口处进行添加,所以此解决方案不方便。
在USB3.x主机与UXB3.x装置之间的通信链路中添加USB重定时器增加了在主机与装置之间传送数据时的等待时间。此附加等待时间增加了USB3.x主机和UXB3.x装置侧处的链路层周转延迟。USB3.x链路层规范限定了超时计数器,以检查数据已经到达接收链路伙伴。如果发送链路伙伴在规定量的时间内没有接收到响应,则发送链路伙伴将做出发送链路伙伴与接收链路伙伴之间的通信链路有问题的假设并且开始重训练其间的链路。
针对USB3.1,包含USB中继器的USB有源线缆可用,所述USB中继器具有约300ns以及更多的数据路径等待时间(在链路层)。当这些有源线缆用于连接某些USB3.0传统装置时,由这些有源线缆引入的链路层数据路径等待时间太长,并且检查周转时间的链路层定时器通常超时,从而防止了USB3.0装置使用基于USB3.1规范设计的有源线缆交换数据。
具有误差校正的USB3.x重定时器和USB3.x SRIS重定时器需要弹性缓冲器来补偿传入和传出数据载体的不同频率。具有弹性缓冲器进一步增加了等待时间。已经显示,在所有条件下,目前可用的中继器架构无法满足50纳秒的最大数据路径等待时间。
具有最小数据路径等待时间的组件是USB转接驱动器。USB转接驱动器是在不对位进行重新定时的情况下增强线路上的数据信号的模拟组件。这可以包括均衡化、放大以及传输。其不包括CDR。USB转接驱动器的问题是其无法从传入信号中移除抖动。假设当四个USB转接驱动器在数据路径中时,在这四个转接驱动器的端部处的数据信号可能已经退化到数据无法由USB主机/装置恢复的程度了。
USB3.x位级重定时器虽然可以满足最大50纳秒的数据路径等待时间要求(在链路层),但提出了其他挑战(如本地时钟与恢复时钟之间的切换以及从低功率模式中快速唤醒)。
发明内容
提供本发明内容是为了以简化的形式介绍将在以下具体实施方式中进一步描述的一些概念。本发明内容不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。
在一个实施例中,公开了一种通用串行总线(USB)链路桥接器装置。USB链路桥接器装置包括主机侧模块,所述主机侧模块被配置成与USB主机接口连接。所述主机侧模块包括接收器并且被配置成从所述USB主机接收串行数据、将所述接收到的串行数据转换成并行数据并将所述并行数据存储在弹性缓冲器中。所述USB链路桥接器装置还包括数据控制器,所述数据控制器耦合至所述主机侧模块,并且装置侧模块耦合至所述数据控制器并且包括发射器。所述装置侧模块被配置成从所述数据控制器接收并行数据、将所述接收到的并行数据转换成串行数据并且向USB装置传输所述串行数据。所述数据控制器包括先入先出(FIFO)存储器以及桥接状态机模块,所述数据控制器被配置成从所述主机侧模块接收所述并行数据、向所述主机侧模块返回确认信号、将所述并行数据存储在FIFO存储器中并且基于所述桥接状态机模块的配置传输来自所述FIFO存储器的所述并行数据。所述桥接状态机模块被配置成决定什么时候从所述FIFO存储器向所述USB装置发送所述并行数据。
在另一个实施例中,公开了一种用于使用USB链路桥接器来增大通用串行总线(USB)主机与USB装置之间的物理连接距离的方法。所述方法包括:由所述USB链路桥接器接收来自所述USB主机的包;将所述包存储在先入先出(FIFO)存储器中;由所述USB链路桥接器向所述USB主机发送确认;以及由所述USB链路桥接器向所述USB装置传输所述包。所述方法进一步包括:由所述USB链路桥接器接收来自所述USB装置的信号,其中,如果所述信号指示未成功传输所述包,则重新发送所述包,并且如果所述信号指示成功传输,则从所述FIFO移除所述包并且通知所述USB主机可以从所述USB主机传输另一个包。
在一些实施例中,数据控制器被配置成生成USB链路命令。所述数据控制器包括链路训练状况状态机(LTSSM),所述LTSSM用于检测数据传输、数据传输的轮询和同步。LTSSM与桥接状态机分离并且两者彼此独立地运行。在一些实施例中,LTSSM与桥接状态机可以相互配合。所述桥接状态机模块被配置成当所述FIFO存储器中的缓冲空间可用于存储接收到的数据包时确认接收到数据包。
当所述FIFO存储器中没有可用于存储接收到的数据包的缓冲空间时,所述桥接状态机模块被配置成在接收到所述数据包时向所述USB主机发送LBAD消息。所述桥接状态机模块被配置成在向所述USB装置发送包之后并且接收到来自所述USB装置的确认时从存储在所述FIFO存储器中的所述并行数据移除所述包。所述桥接状态机模块被配置成在接收到来自所述USB装置的LBAD消息时向所述USB装置重新传输所述包。
在一些实施例中,所述桥接状态机模块被配置成在接收到来自所述USB装置的所述USB装置准备好接收更多数据的消息后通知所述USB主机缓冲空间可用于更多包。数据控制器被配置成生成符合USB标准的链路训练模式。
附图说明
为了可以详细理解本发明的上述特征,可以通过参考实施例来获得上面简要总结的本发明的更具体描述,在附图中展示了其中一些实施例。然而,应当注意的是,附图仅示出本发明的典型实施例,因此不被认为是对本发明的范围的限制,因为本发明可以承认其他等同效果的实施例。结合附图阅读此描述时,所要求保护的主题的优点将对本领域技术人员变得显而易见,在附图中,类似参考标号被用于指代类似元件,并且在附图中:
图1描绘了根据本公开的一个或多个实施例的链路桥接器的示意图;
图2展示了合并在图1的根据本公开的一个或多个实施例的链路桥接器中的数据控制器;并且
图3描绘了由根据一个或多个实施例的桥接状态机执行的操作的流程图。
需注意,这些附图不是按比例绘制的。可能已经省略了一些公知组件,以免使本公开模糊。
具体实施方式
图1描绘了USB3.1链路桥接器100的示意图。在仍然符合USB3.1规范并且保持与现有USB3.0和USB3.1装置的互操作性的同时,本文中描述的USB3.1链路桥接器100允许延长线缆长度。本文中描述的实施例克服了由USB3.1规范限定的重定时器和转接驱动器的缺点。可以从互联网链路http://www.usb.org/developers/docs/下载USB3.1规范。包括附录E的USB3.1规范通过引用结合在本文中。
USB3.1链路桥接器100实现了如USB3.1规范限定的物理层和链路层。进一步地,针对协议层,USB3.1链路桥接器100是完全透明的。更具体地,USB3.1链路桥接器针对其上游和下游端口实现了单独链路训练状况状态机(LTSSM)。这意指USB3.1链路桥接器100在本地训练每个端口并且在本地生成所有需要的训练和遵循模式。在主机和装置侧不需要改变。事实上,主机和通过一个或多个(串联,如果主机与USB装置之间有多于一个的USB3.1链路桥接器100)USB3.1链路桥接器100耦合至主机的USB装置仍然未意识到连接主机和USB装置的连接线缆中的USB3.1链路桥接器100的存在。应当注意的是,USB3.1链路桥接器100的实施例还可以适合于低于版本3.1的USB规范。
USB3.1链路桥接器100实现链路管理和流量控制特征以确保链路伙伴之间的可靠数据传送。换句话说,USB3.1链路桥接器100在本地生成由USB3.1规范(例如,LGOOD_n、LRTY、LBAD、LCRD_x、LCRD1_x和CRD2_x链路命令)限定的信号。进一步地,USB3.1链路桥接器100监视并且转发其他链路命令以及事务包(TP)、数据包(DP)、链路管理包(LMP)、同步时间戳(ITP)。USB3.1链路桥接器100还可以包括用于检测不存在由链路伙伴返回的链路命令的HP_Pending_Timer和Credit_HP_Timer。通过具有本地定时器以及本地链路管理和流量控制,在链路层处的数据路径等待时间不会增加并且USB3.1链路桥接器100可以与所有现有USB3.0和USB3.1解决方案配合使用。USB3.1链路桥接器100重建待继续发送至经传输的数据的目的地的数据包。如果成功重建接收到的的包,则USB3.1链路桥接器100向数据发送装置发送回确认信号。
USB3.1链路桥接器100包括主机侧模块102A以及装置侧模块102B。在一个或多个实施例中,主机侧模块102A以及装置侧模块102B可以在结构上是完全相同的。因此,为了简便,本文中仅描述其中之一。应当注意的是,可以在同一个集成电路(IC)中制造USB3.1链路桥接器100并且IC可以并入到USB线缆中。在USB线缆中可以并入一个以上USB3.1链路桥接器以延长USB线缆的长度。
根据USB3.1规范,当通过USB线缆从主机将数据发送至装置时(或反之亦然)时,装置发送回确认。如果在预定义时间段内没有接收到确认,则主机重复数据传输。如果USB线缆的长度增加,则确认可能在规定时间内不能到达主机。USB3.1链路桥接器100改善了这种情况,从而能够在不牺牲数据传输速率的情况下将USB线缆的长度(如果有)增加至显著水平。
主机侧模块102A包括接收器110,所述接收器110被配置成从USB线缆的接收器线接收数据。接收到的数据输入到时钟数据恢复电路(CDR)模块112。从在接收器110处的USB主机接收到的高速串行数据流可以不包括伴随时钟信号。CDR模块112根据近似频率参考生成时钟并且然后使用锁相环(PLL)将时钟与接收到的数据流中的转变相位对齐。然后使用串并行转换器114将接收到的数据流转换成并行数字数据。然后主要出于时钟同步的原因,将经转换的数据存储在弹性缓冲器116(同步存储器元件)中,因为可以以不同时钟速率接收传入信号。在进一步将数据传输至数据控制器104之前,使用解码器118对存储在弹性缓冲器116中的数据进行解码。数据控制器104使用传输路径向主机发送回确认信号,所述传输路径包括编码器124、并串行转换器122和发射器120。由于此确认必须在规定时间内由主机接收,所以USB3.1链路桥接器100必须并入到在物理位置处的USB线缆中,所述USB线缆不会导致确认在传输中被延迟超过USB3.1规范中针对确认规定的预定义时间间隔。解码器118和编码器124可以实施被称为128b/132b或8b/10b或两者的编码方案。在之前的USB规范中,符号编码使用8b/10b机制并且这意指每个符号由10位表示。USB3.1编码具有在传输线上由132位表示的128位。
在以上段落中,从主机(例如,电脑)的传输仅用于示例。同样的方法适用于从USB装置(例如,电话、相机、耳机等)接收到的并且去往主机的数据传输。如上所述,装置侧模块120B可以在结构和功能上与主机侧模块102A完全相同。
在进一步处理之后,数据控制器104通过装置侧模块102B中的编码器124、并串行转换器122和发射器120将从弹性缓冲器116接收到的数据传输至USB装置。数据控制器104在USB3.1规范中规定的时间内等待来自USB装置的确认。如果在预定义的时间内没有接收到确认,则从USB3.1链路桥接器100向USB装置重新发送数据包(没有接收到针对其的确认)。在此情况下,最初发送数据的主机仍然对USB3.2链路桥接器100与USB装置之间的通信误差(如果有)不可知。再次,示例展示了主机向USB装置发送数据,所述主机和所述USB装置通过并入了USB3.1链路桥接器的USB线缆连接。由于处理从USB装置到主机的数据传输的机制是完全相同的,所以不再重复。
图2展示了数据控制器104的内部示意图。数据控制器104包括可以在功能和内部结构上完全相同的主机侧控制器130A和装置侧控制器130B。因此,对主机侧控制器130A的描述适用于装置侧控制器130B。主机侧控制器130A包括解扰器140。对从主机向USB装置发送的数据(或反之亦然)进行解扰或编码。解扰器140将传入数据包恢复至其解扰状态。解扰数据输入到包解码器/模式检查器142。应当注意的是,在一些实施例中,主机侧模块102A的组件可以并入到主机侧控制器130A中,例如,解码器118可以并入到主机侧控制器130A中。
USB3.1使用两种块类型:报头设置为‘1100’的控制块和报头设置为‘0011’的数据块。1位误差情况是可自我校正的并且不会去到恢复。然而,如果2位发生翻转,则传输进入恢复。包结构始于数据包报头。数据包报头具有两种不同编码,取决于其是延迟包还是非延迟包。包解码器/模式检查器142验证接收到的包是否符合USB3.1规范中规定的包结构。
主机侧控制器130A还包括链路训练状况状态机(LTSSM)170。USB3.0/3.1架构利用有效和产生式算法来保持两个链路伙伴之间(例如,USB主机与USB集线器/装置之间、或USB主机/集线器与USB装置之间、或USB主机/集线器与USB3.1链路桥接器100之间、或USB3.1链路桥接器100与USB集线器/装置之间、或两个USB3.1链路桥接器100之间)的可靠链路、优化电耗以及快速和无误差数据传送。LTSSM 170用于实现上述目标。LTSSM 170调整并且训练USB链路,以实现可靠数据传送。LTSSM 170还实施了各种算法以实现链路的可靠性保持,并且还负责从可能出现的任何误差中恢复链路。LTSSM 170还通过大大减小USB链路的电耗并使浪费电力的任何条件无效而在电力管理中发挥作用。当USB上游端口通过USB线缆插接到USB下游端口时,LTSSM 170还可以在刚刚开始就执行使链路做好数据事务准备的操作。LTSSM 170有助于确保可靠数据通信。在协议层,USB事务由3个包组成:令牌、数据和握手。事务始于令牌包并且这通常来自主机。数据包递送有效载荷数据并且可以来源于主机或装置。握手包确认数据的无误差接收并且由数据的接收器发送。然而,在超速的情况下,为了节省带宽,针对OUT事务,令牌并入到数据包中。针对IN事务,令牌被握手代替。即,ACK包确认之前的数据包已经被发送并且请求下一个数据包。
在更新的USB标准中,在包报头中的路由串的帮助下,协议层包被路由至特定装置。针对准备,USB装置未被轮询。如果USB装置对来自主机的IN事务包(TP)的响应是“NRDY”(未准备好),则主机停止与所述装置的对话直到所述装置发送表示其现在准备好传输数据的“ERDY”(准备好)包。USB3.1链路桥接器100仅具有一个上游端口和一个下游端口。USB3.1链路桥接器100被配置成忽略包报头中的路由串并且将任何协议层包从其接收端口转发至其发射端口。在一些实施例中,当并入了USB3.1链路桥接器100的USB线缆连接至主机时,USB3.1链路桥接器100向在另一端上连接USB线缆的USB装置发送数据包,并且如果USB装置发送回NRDY或ERDY包,则USB3.1链路桥接器100向主机发送相同的包。在接收到ERDY包时,主机可以发送多个报头和/或数据包,无需等待确认。USB3.1链路桥接器100向装置传输多个报头和/或数据包并且针对每个报头和/数据包发送用于指示包成功到达下一个链路伙伴(在此情况下是USB装置)的LGOOD链路命令。如果下一个链路伙伴(是装置,在此情况下是USB装置)无法确认一个或多个数据包,则USB3.1链路桥接器100从存储器再次发送这些包。在接收到针对数据包的LGOOD链路命令时,USB3.1链路桥接器100从其存储器移除所述数据包。
LTSSM 170耦合至包解码器/模式检查器142以及链路层流量控制模块180。链路层流量控制模块180在各个操作期间需要与LTSSM 170通信。链路层流量控制模块180用信号通知LTSSM 170关于任何链路误差的出现,所述任何链路误差必须将LTSSM 170驱动到误差恢复过程中。链路层流量控制模块180还可以通知LTSSM 170关于来自主机的可能需要LTSSM 170的介入的任何链路电源管理命令。
在一些实施例中,LTSSM 170的状态机被指定为具有执行这些责任的十二种主要状态。这些状态中的四种状态仅用于电源管理。这四种状态被命名为U0、U1、U2和U3。这四种状态提供不同层次的节能方案。U0是使装置中的所有模块都活跃的最活跃状态,而U3是具有最多省电设施但处于较高延迟速率的最休眠状态。U1和U2是提供某些选择性层次的节电的中间电源状态。与U1相比,U2提供进一步节电机会并对增加退出等待时间进行惩罚。U3是激进节电机会可能的链路暂停状态。USB3.1被设计用于最大节电,从而使装置在不使用时完全不活跃或“休眠”。这增加了便携式设备(例如笔记本电脑等)的可运用时间。
存在两种链路训练和初始化状态,即RX_DETECT和POLLING。RX_DETECT状态被设计用于链路的远端接收器检测,而POLLING主要针对链路训练和接收器对准而保留。RX_DETECT表示端口试图判定其SuperSpeed链路伙伴是否存在的初始接通链路状态。POLLING是针对两个链路伙伴而限定的链路状态,以使其SuperSpeed发射器和接收器被训练、同步并且准备好包传送。误差恢复状态是RECOVERY和COMPLIANCE。在任何类型的错误同步匹配或故障的情况下,进入这些状态。另一种状态是用作ping来检查接收器和发射器的可靠性和操作的LOOPBACK。在恢复故障的情况下或当装置断开时,产生接下来的两种状态。这些状态是当装置完全呈现出不活跃或断开时进入的SS_DISABLED以及当装置无法以“超速”模式运行时进入的SS_INACTIVE状态。最后是当主机想要重置装置时进入的HOT RESET模式。
在一些实施例中,在发现接收到的包可以很好地进一步传输至USB装置之后,向主机发送确认。包被存储在包先入先出(FIFO)存储器190A中。类似地,当从装置接收待发送至主机的包时,使用包先入先出(FIFO)存储器190B。然后,包被传输至装置侧控制器130B,所述装置侧控制器130B使用包编码器/模式发生器162对一个或多个包进行编码,并且在使用加扰器160进行加扰后,包被发送至USB装置。包编码器/模式发生器162还可以在输出数据流(输出数据流中的多个符号或包之间)中插入特殊符号,从而使得USB装置(其可以以不同于主机的时钟速率的时钟速率工作)可以控制并匹配主机的时钟速率。
数据控制器104还可以包括桥接状态机(BSM)192。BSM 192扩展了LTSSM 170的功能。BSM 192被配置成控制数据包的进一步传输,因为BSM 192可以决定什么时候发送包和什么时候基于包FIFO 190A中的数据量继续在下游发送数据包以及在下游接收来自USB装置或另一个USB3.1链路桥接器的确认信号。BSM 192保持对接收并存储在包FIFO 190A、190B中的报头和/或数据包的跟踪。当BSM 192检测到报头和/或数据有效载荷包已经被成功接收并且存储在包FIFO 190A,190B中时,BSM 192在其链路伙伴(例如,USB装置)具有可用于接收此报头和/或数据有效载荷包的空缓冲器时在相对端口上传输接收到的数据包。如果缓冲器在链路伙伴(例如,USB装置)处可用,则BSM 192传输报头和/或数据有效载荷包。如果链路伙伴(例如,USB装置)返回LGOOD链路命令,则USB3.1链路桥接器100将从包FIFO 190A或190B移除报头和/或数据有效载荷包,并通知相对侧的链路伙伴(例如,USB主机)缓冲器已可用并且空间可用于接收下一个报头和/或数据有效载荷包。USB3.1链路桥接器100仅具有单个上游端口和单个下游端口。因此,由于在一个端口上接收到的所有包需要被传输至另一个端口,所以BSM 192不需要执行路由。由于USB3.1链路桥接器100仅包括一个上游端口和一个下游端口,所以本文中描述的实施例不需要报头路由器和报头聚合器。
图3描绘了由BSM 192执行的方法200。在步骤202处,BSM 192处于空闲状态,等待事件发生。在步骤204处,接收头包(HP)和/或数据有效载荷包(DPH)。在步骤220处,BSM 192验证是否在无误差的情况下接收到HP或DPH并且在包FIFO 190A、190B中是否有可用的缓冲空间。如果是,则在步骤218处,BSM 192存储包并且在其接收端口上返回LGOOD_n链路命令。同时,当其发射端口是空闲时,BSM 192在USB3.1链路桥接器100的发射端口上转发包。如果缓冲空间不可用,则在步骤222处,BSM 192返回用于指示出现误差的LBAD链路命令。
在步骤204处,如果没有接收到HP或DPH包,则在步骤206处,如果接收到LGOOD_n链路命令,则BSM 192从包FIFO 190A、190B移除相应包。在步骤206处,如果没有接收到LGOOD_n命令,则在步骤208处,BSM 192检查是否接收到LBAD链路命令,并且如果是,则BSM 192停下发射器并且重新传输包FIFO 190A、190B中的所有未完成的包。如果没有接收到LBAD命令,则在步骤210处,BSM 192检查是否接收到LCRD_m链路命令并且如果是,则BSM 192将用于指示有可用于接收下一个包的缓冲空间的LCRD_m链路命令转发至发射端口。如果没有接收到LCRD_m链路命令,则BSM 192进行到步骤202。
可以组合这些实施例中的一些或全部实施例,可以一起省略一些实施例,并且在仍实现本文中描述的产品时可以添加附加处理步骤。因此,本文中描述的主题可以以多种不同变体实现,并且预期所有这些变体都在所要求的范围内。
虽然已经以示例方式并针对具体实施例描述了一个或多个具体实施方式,但应当理解的是,一个或多个具体实施方式并不限于所公开的实施例。相反,本公开旨在涵盖对本领域技术人员显而易见的各种修改和类似安排。因此,所附权利要求书的范围应该根据最宽泛的解释以覆盖所有这种修改和类似安排。
在描述主题的上下文中(尤其在以下权利要求书的上下文中)对术语“一个/一种”以及“所述”和类似指示的使用应解释为同时覆盖单数和复数,除非在本文中另有所指或清楚地通过上下文否定。除非本文中另外指明,否则本文中的数字范围的列举仅旨在作为单独参考落入该范围内的每个单独值的速记方法,并且每个单独值被包含在说明书中,就像所述单独值被单独列举。此外,前述描述仅出于展示目的并且不旨在限制,因为所要求保护的范围由如下文阐述的权利要求书和有资格的其任何等价物一起来限定。除非另有声明,否则对任何和全部示例或者在本文中提供的示例性语言(例如,“如”)的使用仅旨在更好地阐明本主题并且不限制本主题的范围。对在权利要求书和书面说明书两者中指示带来结果的条件的术语“基于”和其他类似短语的使用不旨在阻止带来所述结果的任何其他条件。本说明书中任何语言都不应被解释为将任一非要求保护的元件指示为是实践所要求保护的发明所必须的。
在本文中描述了优选实施例,包括发明者已知的用于执行所要求的保护的主题的最佳模式。当然,在阅读前述描述后,对本领域的普通技术人员而言,这些优选实施例的变体将变得显而易见。本发明人预期技术人员可以在适当时采用此类变体,并且本发明人旨在使所要求的保护的主题以与本文中具体描述的不同的方式来进行实践。因此,在适用法律允许的情况下,此所要求的保护的主题包括所附权利要求书中所叙述的主题的所有修改和等效物。此外,包括上述元件在其所有可能的变化中的任意组合,除非在本文中另有所指或通过上下文另外清楚地否定。

Claims (10)

1.一种通用串行总线USB链路桥接器装置,包括:
主机侧模块,所述主机侧模块被配置成与USB主机接口连接,其中,所述主机侧模块包括接收器并且被配置成从所述USB主机接收串行数据、将所述接收到的串行数据转换成并行数据并将所述并行数据存储在弹性缓冲器中;
数据控制器,所述数据控制器耦合至所述主机侧模块;
装置侧模块,所述装置侧模块与USB装置接口并且耦合至所述数据控制器并且包括发射器和接收器,其中,所述装置侧模块被配置成从所述数据控制器接收并行数据、将所述接收到的并行数据转换成串行数据并且向USB装置传输所述串行数据;并且
其中,其中所述数据控制器耦接于所述主机侧模块与所述装置侧模块之间,所述数据控制器包括先入先出FIFO存储器以及桥接状态机模块,所述数据控制器被配置为生成USB链路层链路命令,所述USB链路层链路命令包括LGOOD_n、LBAD和LCRD_m USB链路层连接命令,所述数据控制器被配置成从所述主机侧模块接收所述并行数据、向所述主机侧模块返回确认信号、将所述并行数据存储在FIFO存储器中并且基于所述桥接状态机模块的配置传输来自所述FIFO存储器的所述并行数据,其中,所述桥接状态机模块被配置成决定什么时候从所述FIFO存储器向所述USB装置发送所述并行数据,其中在从所述主机侧模块接收到所述并行数据之后并且在经由所述主机测模块将所述确认信号返回到所述USB主机之前,所述数据控制器验证所述FIFO存储器中的缓冲空间可用于存储所述并行数据,并且如果所述FIFO存储器中的缓冲器空间不可用,则所述数据控制器的所述桥接状态机模块被配置为生成LBAD USB链路层链路命令并经由所述主机侧模块将其返回到所述USB主机。
2.如权利要求1所述的USB链路桥接器装置,其中,所述数据控制器被配置成生成USB链路命令。
3.如权利要求1所述的USB链路桥接器装置,其中,所述数据控制器包括链路训练状况状态机LTSSM,所述LTSSM用于检测数据传输、数据传输的轮询和同步,其中,所述LTSSM与所述桥接状态机分离。
4.如权利要求1所述的USB链路桥接器装置,其中,所述桥接状态机模块被配置成当所述FIFO存储器中的缓冲空间可用于存储接收到的数据包时确认接收到所述数据包。
5.如权利要求1所述的USB链路桥接器装置,其中,当所述FIFO存储器中没有可用于存储接收到的数据包的缓冲空间时,所述桥接状态机模块被配置成在接收到所述数据包时向所述USB主机发送LBAD消息。
6.如权利要求1所述的USB链路桥接器装置,其中,所述桥接状态机模块被配置成在向所述USB装置发送包之后并且接收到来自所述USB装置的确认时从存储在所述FIFO存储器中的所述并行数据移除所述包。
7.如权利要求6所述的USB链路桥接器装置,所述桥接状态机模块被配置成在接收到来自所述USB装置的LBAD消息时向所述USB装置重新传输所述包。
8.如权利要求1所述的USB链路桥接器装置,其中,所述桥接状态机模块被配置成在接收到来自所述USB装置的所述USB装置准备好接收更多数据的消息后通知所述USB主机缓冲空间可用于更多包。
9.如权利要求1所述的USB链路桥接器装置,其中,所述数据控制器被配置成生成链路训练模式。
10.一种用于使用USB链路桥接器来增大通用串行总线USB主机与USB装置之间的物理连接距离的方法,所述方法包括:
由所述USB链路桥接器接收来自所述USB主机的包;
将所述包存储在先入先出FIFO存储器中,并返回LGOOD_n链路命令;
由所述USB链路桥接器向所述USB主机发送确认;
由所述USB链路桥接器向所述USB装置传输所述包;以及
由所述USB链路桥接器接收来自所述USB装置的信号,其中,如果所述信号指示未成功传输所述包,则重新发送所述包,并且如果所述信号指示成功传输,则从所述FIFO移除所述包并且通知所述USB主机可以从所述USB主机传输另一个包;其中,在从所述USB主机接收到所述包之后并且在将确认信号发送回所述USB主机之前,验证缓冲空间在USB链路桥的FIFO存储器中可用以存储数据包,并且如果缓冲空间不可用,则生成LBAD USB链路层链路命令并将其发送回USB主机。
CN201810335678.3A 2017-04-13 2018-04-13 Usb链路桥接器 Active CN108733608B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/487,260 2017-04-13
US15/487,260 US10366039B2 (en) 2017-04-13 2017-04-13 USB link bridge

Publications (2)

Publication Number Publication Date
CN108733608A CN108733608A (zh) 2018-11-02
CN108733608B true CN108733608B (zh) 2024-03-26

Family

ID=61691822

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810335678.3A Active CN108733608B (zh) 2017-04-13 2018-04-13 Usb链路桥接器

Country Status (3)

Country Link
US (1) US10366039B2 (zh)
EP (1) EP3388950A1 (zh)
CN (1) CN108733608B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11281597B2 (en) * 2017-10-24 2022-03-22 Intel Corporation High bandwidth universal serial bus (USB) camera
DE102018220301A1 (de) * 2018-11-26 2020-05-28 Festo Ag & Co. Kg Kommunikationseinheit, Steuergerät, Kommunikationssystem und Verfahren
CN110568905A (zh) * 2019-08-09 2019-12-13 苏州浪潮智能科技有限公司 一种硬盘背板、信号处理方法及介质
WO2021166906A1 (ja) * 2020-02-21 2021-08-26 ファナック株式会社 SerDesインターフェース回路および制御装置
US11528095B2 (en) * 2020-12-11 2022-12-13 Cypress Semiconductor Corporation Methods to remove dribble introduced and regenerate sync bits lost due to squelch delays in USB high speed packet repeating
CN114691558B (zh) * 2021-10-20 2023-06-20 澜起电子科技(上海)有限公司 低延迟重定时器及延迟控制方法
US11972113B2 (en) * 2022-07-26 2024-04-30 Silicon Motion, Inc. Method and apparatus for performing link management of memory device in predetermined communications architecture with aid of handshaking phase transition control

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1961303A (zh) * 2004-05-28 2007-05-09 皇家飞利浦电子股份有限公司 总线连接设备
CN101587462A (zh) * 2008-05-21 2009-11-25 上海摩波彼克半导体有限公司 高速数据通信链路中的usb数据传输装置及其数据传输方法
CN101963947A (zh) * 2010-09-30 2011-02-02 威盛电子股份有限公司 通用序列总线传输转译器及大量传输方法
CN103853681A (zh) * 2012-11-29 2014-06-11 智原科技股份有限公司 超高速通用串行总线集线器及其相关流量管理方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6389029B1 (en) * 1998-11-10 2002-05-14 Nortel Networks Limited Local area network incorporating universal serial bus protocol
JP3415567B2 (ja) * 2000-06-21 2003-06-09 エヌイーシーマイクロシステム株式会社 Usb転送制御方法およびusbコントローラ
CA2345596C (en) * 2001-04-27 2007-12-04 Icron Systems Inc. Method and apparatus for extending the range of the universal serial bus protocol
JP3955512B2 (ja) 2002-08-27 2007-08-08 富士通株式会社 データ処理装置及びパケット判別方法
US7418524B2 (en) 2005-12-06 2008-08-26 Avocent Corporation Universal serial bus (USB) extension
JP5266164B2 (ja) * 2009-08-25 2013-08-21 ルネサスエレクトロニクス株式会社 データ受信装置
US8719475B2 (en) 2010-07-13 2014-05-06 Broadcom Corporation Method and system for utilizing low power superspeed inter-chip (LP-SSIC) communications
TWI417703B (zh) 2010-07-22 2013-12-01 Genesys Logic Inc 相容於通用序列匯流排協定之時脈同步方法
US8769343B2 (en) 2011-06-10 2014-07-01 Nxp B.V. Compliance mode detection from limited information
US9047418B2 (en) 2011-11-22 2015-06-02 Icron Technologies Corporation Methods and devices for extending USB 3.0-compliant communication
US9129064B2 (en) * 2012-04-26 2015-09-08 Icron Technologies Corporation USB 3.0 link layer timer adjustment to extend distance
US9626517B2 (en) 2013-01-23 2017-04-18 Seagate Technology Llc Non-deterministic encryption
US9875210B2 (en) 2014-06-27 2018-01-23 Intel Corporation Method and apparatus of USB 3.1 retimer presence detect and index
US9858234B2 (en) 2015-07-17 2018-01-02 Parade Technologies, Ltd. System transparent retimer
US9965439B2 (en) * 2016-06-27 2018-05-08 Intel Corporation Low latency multi-protocol retimers
US20190068397A1 (en) 2017-03-24 2019-02-28 Intel Corporation Method and system for protocol aware universal serial bus redriver
US10437763B2 (en) 2017-04-07 2019-10-08 Nxp B.V. Method and device for universal serial bus (USB) communication

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1961303A (zh) * 2004-05-28 2007-05-09 皇家飞利浦电子股份有限公司 总线连接设备
CN101587462A (zh) * 2008-05-21 2009-11-25 上海摩波彼克半导体有限公司 高速数据通信链路中的usb数据传输装置及其数据传输方法
CN101963947A (zh) * 2010-09-30 2011-02-02 威盛电子股份有限公司 通用序列总线传输转译器及大量传输方法
CN103853681A (zh) * 2012-11-29 2014-06-11 智原科技股份有限公司 超高速通用串行总线集线器及其相关流量管理方法

Also Published As

Publication number Publication date
US10366039B2 (en) 2019-07-30
CN108733608A (zh) 2018-11-02
EP3388950A1 (en) 2018-10-17
US20180300282A1 (en) 2018-10-18

Similar Documents

Publication Publication Date Title
CN108733608B (zh) Usb链路桥接器
KR101419292B1 (ko) 2개의 기준 클럭을 구비한 리드라이버 및 그의 동작 방법
TW201346572A (zh) 發送器設備及發送器系統
CN111131091A (zh) 一种面向片上网络的片间互连方法和系统
US9143464B2 (en) Method and system for speed negotiation for twisted pair links using intelligent E-FIFO in fibre channel systems
JP2005107683A (ja) 通信コントローラ、通信システム、通信機器、および通信方法
US20150229588A1 (en) System, Method and Apparatus for Multi-Lane Auto-Negotiation Over Reduced Lane Media
US10699363B2 (en) Link aggregator for an electronic display
US11892927B2 (en) Method for error handling of an interconnection protocol, controller and storage device
US11818238B2 (en) Low overhead high bandwidth data transfer protocol
KR102518285B1 (ko) PCIe 인터페이스 및 인터페이스 시스템
WO2021189267A1 (zh) 一种时钟展频协商方法、高速外围组件互联设备及系统
RU2700560C1 (ru) Устройство коммуникационного интерфейса gigaspacewire
US8576704B2 (en) Communication system, communication device, integrated circuit, and communication method
US20240121323A1 (en) Method for control protocol frame transmission and electronic device
US20240118974A1 (en) Method for facilitating frame error handling and an electronic device
RU187642U1 (ru) Устройство коммуникационного интерфейса gigaspacewire
US20230377618A1 (en) Circuit for synchronization for an interconnection protocol, controller and storage device
CN214125323U (zh) 一种单向通信网络设备
JP4716001B2 (ja) Cpu間通信システム
US20120243622A1 (en) Method and apparatus for improving the error rate of a serial/de-serial backplane connection
CN116737616A (zh) 用于互连协议的错误处理的方法、控制器以及存储设备
CN115499100A (zh) 串行解串器的数据传输速率配置协商方法、系统、终端及介质
Anderson Introduction to USB 3.0
Yılmaz et al. An assesment of high-speed data interfaces for satellites and space systems

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant