CN115017076A - 通用串行总线中继器/重定时器中节省电力的方法和装置 - Google Patents
通用串行总线中继器/重定时器中节省电力的方法和装置 Download PDFInfo
- Publication number
- CN115017076A CN115017076A CN202210203199.2A CN202210203199A CN115017076A CN 115017076 A CN115017076 A CN 115017076A CN 202210203199 A CN202210203199 A CN 202210203199A CN 115017076 A CN115017076 A CN 115017076A
- Authority
- CN
- China
- Prior art keywords
- packet
- host
- serial bus
- universal serial
- peripheral
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 230000002093 peripheral effect Effects 0.000 claims abstract description 228
- 230000004044 response Effects 0.000 claims description 20
- 238000012545 processing Methods 0.000 claims description 14
- 230000000737 periodic effect Effects 0.000 claims 2
- 238000012546 transfer Methods 0.000 abstract description 21
- 230000009849 deactivation Effects 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 12
- 230000005540 biological transmission Effects 0.000 description 9
- 230000000694 effects Effects 0.000 description 8
- 238000001514 detection method Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000012544 monitoring process Methods 0.000 description 6
- 238000003860 storage Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000003032 molecular docking Methods 0.000 description 3
- 238000002360 preparation method Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 239000003990 capacitor Substances 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/266—Arrangements to supply power to external peripherals either directly from the computer or under computer control, e.g. supply of power through the communication port, computer controlled power-strips
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3209—Monitoring remote activity, e.g. over telephone lines or network connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3215—Monitoring of peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3253—Power saving in bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0042—Universal serial bus [USB]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Software Systems (AREA)
Abstract
本公开涉及USB中继器/重定时器中节省电力的方法和装置。公开了用于在通用串行总线(USB)主机与外围设备之间的USB中继器/重定时器中,通过截取从主机接收的包来预测数据流量的方向,以选择性地关闭/打开用于从外围设备接收包的外围端口的电路系统,来节省电力的技术。如果主机端口确定主机正在发送帧开始(SOF)包,则数据流的方向是从主机到外围设备,并且中继器可以关闭外围端口例如静噪电路系统。如果主机端口确定主机正在发送非SOF包,例如在主机到外围设备的数据传输或外围设备到主机的数据传输之前的地址令牌,则数据流的方向被预计为从外围设备到主机,并且中继器可以重新启用外围端口的去激活电路系统。
Description
技术领域
本公开内容总体上涉及通用串行总线(USB)系统,并且更具体地涉及在USB中继器/重定时器中节省电力的方法和系统。
背景技术
各种电子设备(例如,诸如智能手机、平板、笔记本计算机、膝上型计算机、集线器、充电器、适配器等)被配置成通过通用串行总线(USB)连接器系统传送数据或传输电力。USB系统的设备可以以各种数据速率进行传送。在一些应用中,USB集线器中的中继器/重定时器设备用于将以不同的数据速率操作的设备的混合连接至主机。中继器/重定时器设备(或简称为中继器)可以接收以较高数据速率从主机发送的USB包,并且可以以相同的数据速率或较低的数据速率将USB包重新发送至一个或更多个下游设备。类似地,中继器可以接收以一种数据速率从下游设备发送的USB包,并且可以以相同的数据速率或较高的数据速率将USB包重新发送给主机。随着对更多吞吐量的需求推动由USB系统支持的数据速率越来越高,并且随着USB中继器支持更多并行数据通道并且被集成到便携式设备中,USB中继器的低功耗成为重要的设计要求。
使中继器的功耗最小化而不损害数据吞吐量的一个机会是当中继器处于不进行数据传输并且等待接收包的空闲状态时。原因在于处于空闲状态时使中继器的两个端口上的接收电路系统保持活动以便准备好在任何一个端口上接收数据会消耗大量电力。如果存在预计到传入数据包的定时或空闲状态的方法,则可以有机会禁用接收电路系统以节省电力。然而,这可能很困难,原因在于:当中继器将数据包从一个端口转发至另一端口时,该中继器不知道主机与设备之间的数据事务协议。要求中继器截取数据包以确定主机/设备数据事务协议将引入大量开销,可能抵消由于禁用接收电路系统而获得的任何电力节省。因此,存在以下需要:找到在中继器处于空闲状态时以最小的复杂度和成本降低功耗的方法。
发明内容
本发明公开了一种对在主机与外围设备之间交换的通用串行总线(USB)包进行中继的装置,包括:主机端口,其被配置成从所述主机接收通用串行总线包;外围端口,其被配置成从所述外围设备接收通用串行总线包;处理系统,其被配置成:检测由所述主机端口从所述主机接收的通用串行总线包;确定所接收的通用串行总线包的类型;响应于所述通用串行总线包被确定为帧开始(SOF)包,禁用所述外围端口;以及响应于所述通用串行总线包被确定为非帧开始包,启用所述外围端口以使所述外围端口准备从所述外围设备接收通用串行总线包。
本发明公开了一种方法,包括:由通用串行总线符合(USB符合的)的中继器检测从主机接收的通用串行总线包;确定所接收的通用串行总线包的类型;响应于所述通用串行总线包被确定为帧开始(SOF)包,禁用用于从外围设备接收通用串行总线包的所述通用串行总线符合的中继器的接收电路系统;以及响应于所述通用串行总线包被确定为非帧开始包,启用所述接收电路系统,以使所述接收电路系统准备从所述外围设备接收通用串行总线包。
附图说明
通过参照以下结合附图的描述,可以最好地理解所描述的实施方式及其优点。在不脱离所描述的实施方式的精神和范围的情况下,这些附图绝不限制本领域技术人员可以对所描述的实施方式进行的形式上和细节上的任何改变。
图1是示出根据本公开内容的一个方面的USB系统的用于在嵌入式USB2(eUSB2)端口与USB2端口之间对数据包进行中继的中继器设备(或简称为中继器)的框图;
图2是示出根据本公开内容的一个方面的图1的用于在嵌入式USB2(eUSB2)主机端口与USB2外围端口之间对数据包进行中继的eUSB中继器子系统的框图;
图3示出了根据本公开内容的一个方面的截取从主机接收的USB包以预测数据流的方向从而控制外围接收端口的操作的USB中继器/重定时器设备的数据流的框图;
图4示出了根据本公开内容的一个方面的图3的进行操作以截取从主机接收的USB包从而控制外围接收端口以在空闲模式下节省电力的USB中继器/重定时器设备的功能框图;
图5示出了根据本公开内容的一个方面的USB中继器/重定时器设备的监视主机接收端口上的USB包以控制外围接收端口的操作从而在空闲模式下节省电力的状态机;
图6示出了根据本公开内容的一个方面的在主机和设备数据事务的第一场景中USB中继器/重定时器的监视来自主机的USB包以在接收到帧开始(SOF)包时禁用外围接收端口并且在接收到非SOF包时启用外围接收端口的主机接收端口的时序图;
图7示出了根据本公开内容的一个方面的在主机和设备数据事务的第二场景中USB中继器/重定时器的监视来自主机的USB包以在接收到帧开始(SOF)包时禁用外围接收端口并且在接收到非SOF包时启用外围接收端口的主机接收端口的时序图;
图8是根据本公开内容的一个方面的用于中继器/重定时器监视从主机接收的USB包以控制外围接收端口的操作从而在空闲模式下节省电力的方法的流程图。
具体实施方式
在本文中描述并且在附图中示出了本主题技术的各个方面和变型的示例。以下描述并不旨在将本发明限于这些实施方式,而是使本领域的技术人员能够制造和使用本发明。
本文中描述了用于在通用串行总线(USB)中继器/重定时器中节省电力的技术的各个方面,该USB中继器/重定时器被配置成通过截取从主机接收的包以预测在中继器处于空闲模式时数据流量的方向,来在USB主机与外围设备之间交换包。在空闲模式下,主机与外围设备之间没有数据传输,并且中继器正在等待接收数据。中继器的主机端口可以截取从主机接收的USB包以预测数据流的方向,从而选择性地关闭或打开外围端口上的接收器电路系统。在一个方面,如果主机端口确定主机正在发送帧开始(SOF)包,则数据流的方向是从主机到外围设备,并且中继器可以关闭外围端口上用于接收和中继来自外围设备的流量的电路系统以节省电力。如果主机端口确定主机正在发送非SOF数据包,例如在将数据从主机发送至外围设备或用于从外围设备请求数据之前的地址令牌,则数据流的方向被预计为从外围设备到主机,并且中继器可以重新启用外围端口的去激活电路系统,以便中继器从外围设备接收握手包或数据包。
连接至USB中继器的外围设备可以包括但不限于个人计算机(例如,膝上型计算机、笔记本计算机等)、移动计算设备(例如,平板、平板计算机、电子阅读器设备等)、移动通信设备(例如,智能手机、手机、个人数字助理、消息设备、掌上计算机等)、连接和充电设备(例如,集线器、对接站、适配器、充电器等)、音频/视频/数据记录和/或播放设备(例如,摄像装置、录音机、手持式扫描仪、监视器等)以及可以使用USB连接器(接口)进行通信和/或电池充电的其他类似电子设备。
如本文中所使用的,如果电子设备或系统符合USB规范的至少一个发行版本,则该电子设备或系统被称为“USB使能的(USB-enabled)”或“USB符合的(USB-compliant)”。这样的USB规范的示例包括但不限于USB规范修订版本2.0、USB 3.0规范、USB 3.1规范和/或各种补充(例如,On-The-Go或OTG)、版本及其勘误表。USB规范通常限定设计和构建标准通信系统和外围设备所需的差分串行总线的特征(例如,属性、协议定义、交易类型、总线管理、编程接口等)。
例如,USB使能的外围电子设备通过USB使能的主机设备的USB端口附接至该主机设备以形成USB使能的系统。主机设备可以嵌入USB中继器,以在主机设备的较低核心电压下运行的主机侧上的串行总线与符合USB规范的外围侧上的串行数据之间执行重定时和电压电平移位。USB 2.0(或简称为USB2)端口可以包括5V的电力线(例如VBUS)、数据线的差分对(例如,其可以表示为D+或DP以及D-或DN)和用于电力返回的接地线(例如,GND)。USB 3.0端口也提供VBUS线、D+线、D-线和GND线以用于向下兼容USB 2.0。另外,为了支持较快的差分总线(USB超高速(SuperSpeed)总线),USB 3.0端口还提供了发送器数据线的差分对(表示为SSTX+和SSTX-)、接收器数据线的差分对(表示为SSRX+和SSRX-)、用于电力的电力线(例如,其可以表示为DPWR)和用于电力返回的接地线(例如,其可以表示为DGND)。USB 3.1端口提供与USB 3.0端口相同的线以向下兼容USB 2.0和USB 3.0通信,但是通过被称为增强型超高速的一系列特征扩展了超高速总线的性能。
在USB C型规范的各种发行版本中定义了用于USB连接器的更新技术,被称为USBC型,该技术提供USB C型插座、插头和线缆,所述USB C型插座、插头和线缆可以支持USB通信以及通过例如在USB电力传送(USB PD)规范的一个或更多个修订版本中定义的较新的USB电力传送协议进行电力传送。如本文中所使用的,“USB C型子系统”可以指例如可以通过集成电路(IC)控制器中的固件和/或软件控制的硬件电路系统,该硬件电路系统被配置成并且可操作为执行功能并且满足在USB C型规范的至少一个发行版本中指定的要求。
一些电子设备可以使用针对符合eUSB2物理层规范(例如,修订版本1.1或更高版本)、USB 2.0的补充(被称为嵌入式USB(eUSB或eUSB2))的电力而优化的低电压USB 2.0接口。eUSB使用1.2V信令将外部USB 2.0和/或USB C型端口与由以较低电压运行的较低技术节点制造的电子设备的内部部件解耦。USB使能的主机设备与USB符合的电子设备之间的高速中继器可以在使用eUSB与USB 2.0标准的信令之间进行转换。
USB符合的电子设备可以通过一个或更多个集线器连接至USB使能的主机设备以形成USB使能的系统。设备可以使用USB 2.0和/或USB C型端口通过一个或更多个集线器来与主机交换数据包并且从主机接收电力。集线器允许主机将主机连接至以不同数据速率进行操作的设备的混合。集线器中的中继器可以接收以较高的数据速率从主机发送的USB包,并且可以以相同的数据速率或较低的数据速率将USB包重新发送至该设备。在USB 2.0下,USB使能的系统能够以每秒480兆比特(Mb/s)的最大数据速率在高速(HS)速率下进行操作。如有必要,该设备可能会回落至USB 1.0的12Mb/s的全速(FS)速率或1.5Mb/s的低速(LS)速率。兼容USB 2.0的中继器可以支持用于高速、全速和低速的重定时功能。
图1是示出根据本公开内容的一个方面的USB子系统的中继器100的框图。这样的USB子系统可以被实现为诸如USB 2.0集线器或USB 2.0对接站的USB使能的系统的一部分和/或在该USB使能的系统内实现。中继器100可以嵌入在集成电路(IC)管芯上制造的IC控制器芯片例如USB集线器的IC控制器芯片中。在另一示例中,中继器100可以是被制造为片上系统(SoC)的单芯片IC。中继器100可以是在符合eUSB2物理层规范1.1、USB 2.0的补充的嵌入式USB2(eUSB2)端口与符合USB 2.0的USB2端口之间执行中继功能的eUSB/USB中继器。在另一示例中,中继器100可以在两个USB2端口之间执行中继功能。
除了其他部件之外,中继器100可以包括CPU子系统102、系统互连112、外围互连114、系统资源116、各种输入/输出(I/O)块(例如,118A至118C)以及eUSB中继器子系统124。另外,中继器100可以提供被配置成并且可操作为支持多个电源状态122的固件和电路系统。CPU子系统102可以包括耦接至系统互连112的一个或更多个CPU(中央处理单元)104、闪速存储器106、SRAM(静态随机存取存储器)108和ROM(只读存储器)110。CPU 104是可以在片上系统设备中操作的合适的处理器。在一些实施方式中,可以利用大量门控时钟来优化CPU104以用于低功率操作,并且CPU 104可以包括使得CPU 104能够在各种电源状态下操作的各种内部控制器电路。
例如,CPU 104可以包括被配置成将CPU 104从休眠状态唤醒的唤醒中断控制器,从而使得能够在中继器100处于休眠状态时“关断”电源。闪速存储器106可以是可配置用于存储数据和/或程序的任何类型的程序存储器(例如,NAND闪存、NOR闪存等)。SRAM 108可以是适于存储通过CPU 104访问的数据和固件/软件指令的任何类型的易失性或非易失性存储器。ROM 110可以是可配置用于存储启动例程、配置参数以及其他片上系统固件参数和设置的任何类型的适合的存储装置。系统互连112是系统总线(例如,单级的或多级的高级高性能总线,或AHB),该系统总线被配置为将CPU子系统102的各个部件彼此耦接的接口以及CPU子系统的各个部件与外围互连114之间的数据和控制接口。
外围互连114是外围总线(例如,单级或多级AHB),该外围总线在CPU子系统102与其外围和其他资源例如系统资源116、I/O块(例如118A至118C)以及eUSB中继器子系统124之间提供主要数据和控制接口。外围互连114可以包括各种控制器电路(例如直接存储器访问或DMA控制器),各种控制器电路可以被编程为在外围块之间传输数据而不给CPU子系统增加负担。在各种实施方式中,CPU子系统102的部件中的每一个以及外围互连114可以随CPU、系统总线和/或外围总线的每个选择或类型而不同。
系统资源116可以包括支持中继器100在其各种状态和模式下的操作的各种电子电路。例如,系统资源116可以包括电力子系统,该电力子系统提供每种控制器状态/模式例如电压基准和/或电流基准、唤醒中断控制器(WIC)、上电复位等所需的电力资源。在一些实施方式中,系统资源116的电力子系统还可以包括允许中继器100以若干不同的电压和/或电流水平从外部源汲取电力和/或向外部源提供电力的电路。系统资源116还可以包括时钟子系统,该时钟子系统提供由中继器100以及实现诸如外部复位的各种控制器功能的电路所使用的各种时钟。
在各种实施方式和实现方式中,IC控制器例如中继器100可以包括各种不同类型的I/O块和子系统。例如,在图1所示的实施方式中,中继器100可以包括GPIO(通用输入输出)块118A、TCPWM(定时器/计数器/脉宽调制)块118B、SCB(串行通信块)118C和eUSB中继器子系统124。GPIO 118A包括被配置成实现各种功能例如上拉、下拉、输入阈值选择、输入和输出缓冲器启用/禁用、连接至各个I/O引脚的复用信号等的电路。TCPWM 118B包括被配置成实现定时器、计数器、脉宽调制器、解码器以及被配置成对输入/输出信号进行操作的各种其他模拟/混合信号元件的电路。SCB 118C包括被配置成实现各种串行通信接口诸如例如I2C、SPI(串行外围接口)、UART(通用异步接收器/发送器)等的电路。
在某些实施方式中,可以根据本文中所描述的技术来使用eUSB中继器子系统124,并且eUSB中继器子系统124还可以对通过USB端口进行的USB通信以及诸如电力传送和电池充电的其他USB功能提供支持。例如,eUSB中继器子系统124可以是USB-PD子系统、USB C型子系统或上述两者(例如,支持USB-PD功能的USB C型子系统)。eUSB中继器子系统124可以包括收发器和分别针对eUSB2和USB 2.0的物理层逻辑(PHY)126、128,收发器和物理层逻辑(PHY)126、128被配置为集成基带PHY电路以执行物理层传输中涉及的各种数字编码/解码功能(例如,双相标记码-BMC编码/解码、循环冗余校验-CRC等)和模拟信号处理功能。eUSB中继器子系统124可以被称为eUSB重定时中继器。在各种实施方式中,中继器(例如,诸如eUSB中继器子系统124)可以被实现为硬件逻辑,该硬件逻辑包括各种部件例如逻辑门、加法器、多路复用器、锁存器、触发器、计数器、寄存器、晶体管、二极管、电阻器、电容器及其各种电路。如以下将进一步讨论的,eUSB中继器子系统124可以包括用于截取从主机通过eUSBPHY 126接收的包以在eUSB中继器子系统124处于空闲模式时预测数据流量的方向的电路系统。所预测的数据流量的方向可以用于选择性地关闭或打开连接至外围设备的USB PHY128中的接收器电路系统以节省电力。
图2是示出根据本公开内容的一个方面的图1的用于在嵌入式USB2(eUSB2)端口与USB2端口之间对数据包进行中继的eUSB中继器子系统124的框图。eUSB中继器子系统124可以包括:串行中继器134,其被配置成执行数据包重定时和中继功能;串行接口引擎132,其被配置成检测eUSB2和USB2端口上的事件;以及中继器状态机,其被配置成基于检测到的事件确定串行中继器134的状态。eUSB中继器子系统124可以通过eUSB PHY 126和USB PHY128分别连接至eUSB2端口和USB2端口。
eUSB PHY 126可以连接至主机或中间集线器/中继器以接收从主机通过差分数据线对DP和DM发送的数据包。USB PHY 128可以连接至外围设备或中间集线器/中继器,以通过第二差分数据线对DP和DM以相同的数据速率或较低的数据速率将数据包重新发送至外围设备。对于从设备到主机的数据,USB PHY 128可以接收从设备发送的数据包,并且eUSBPHY 126可以以相同的数据速率或较低的数据速率将数据包重新发送至主机。可以支持高速、全速或低速数据速率。对于高速数据,eUSB PHY126和USB PHY 128可以各自包括用于执行时钟和数据恢复(CDR)功能以锁定接收到的高速数据包的SYNC位的传输包络检测器(例如,实现为硬件逻辑)。如果差分数据线对之间小于100μV,则传输包络检测器可以产生静噪信号以指示没有数据。
串行接口引擎132可以监视eUSB PHY 126的主机端口和USB PHY128的设备端口上的活动以对总线事件进行解码并且触发适当的动作。串行接口引擎132可以对总线事件进行解码以触发中继器状态机130并且通过串行中继器134控制包的数据路径。例如,串行接口引擎132可以确定接收器的速度(例如,高速、全速或低速),检测eUSB2端口和USB2端口的配置,监视主机或设备的数据线的状态等,以启用串行中继器134的中继和重定时功能。
在一个方面,串行接口引擎132可以检测由eUSB PHY 126的主机端口接收的SOF包以禁用USB PHY 128的设备端口中包括静噪检测电路系统的传输包络检测器,并且禁用串行中继器134中用于对从该设备端口接收的数据进行中继和重定时的电路系统。主机可以在全速或低速USB中每毫秒发送SOF包(也称为SOF令牌)以调度对数据总线的访问,并且该SOF包作为用于对等时和中断数据传输进行同步的时序参考。SOF包可以包含11位递增的帧编号。在高速USB中,毫秒帧被分成8个125μs长的微帧。主机可以通过在每个毫秒帧内中继每个帧编号8次来为每个微帧发送高速SOF包。检测SOF包提供了预测eUSB中继器子系统124处于空闲模式的简单方法,在空闲模式下,预期没有来自设备的数据,从而允许禁用与检测、接收、中继和重定时设备数据包相关联的电路系统以节省电力。在一个方面,串行接口引擎132可以关断USB PHY 128的设备端口中的静噪电路系统的时钟以及用于从串行中继器134中的设备端口接收的数据的中继和重定时电路系统中的时钟。
当来自主机的SOF包之后的下一包是非SOF包时,串行接口引擎132可以重新启用被禁用的电路系统,以使其准备好从设备端口接收数据。例如,当下一包是请求设备发送数据包的进令牌(in-token)包时,该数据包的数据流方向将是从设备到主机。当下一包是指示数据包从主机至设备的传输的出令牌(out-token)包时,因为该设备响应于数据包发送指示该数据包是否被成功接收的握手包,因此数据流的方向仍然可以是从设备到主机。串行接口132可以通过对该包的包标识符(PID)字节进行解码来确定来自主机的包是SOF包还是非SOF包。在重新启用USB PHY128的设备端口中的传输包络检测器以及串行中继器134中用于接收设备数据的中继和重定时电路系统之后,它们可以保持启用直到接收到下一SOF包。
中继器状态机130可以接收来自串行接口引擎132的经解码的总线事件以及串行中继器134的内部状态以控制串行中继器134的操作。中继器状态机130还可以控制eUSB中继器子系统124的状态以实现符合eUSB规范的状态。
图3示出了根据本公开内容的一个方面的截取从主机301接收的USB包以预测数据流的方向从而控制外围接收端口325的操作的USB中继器/重定时器设备311的数据流的框图。主机301可以具有用于通过中继器/重定时器311将USB包发送至外围设备331的发送端口303以及用于通过中继器/重定时器311从外围设备331接收USB数据包的接收端口305。外围设备331可以具有用于从主机301接收USB数据包的接收端口333,以及用于通过中继器/重定时器311将USB包发送至主机301的发送端口335。中继器/重定时器311可以由图1和图2的eUSB中继器子系统124、eUSB PHY 126和USB PHY 128实现,或者可以被实现为独立的中继器。
中继器/重定时器311的主机Rx端口313可以接收由主机301通过差分数据线对发送的USB包。主机Rx端口313可以支持USB 2.0的低速、全速、高速数据速率、USB 3.0的超高速、USB 3.1的增强型超高速等。在一个方面,主机Rx端口313可以具有传输包络检测器、静噪电路系统或其他接收电路系统,以例如在高速下的差分数据线之间超过100μV时以及当为指示存在来自主机301的包的SYNC位模式时检测数据线上的活动。当检测到包时,中继器/重定时器311可以在将包转发至外围Tx端口323用于传输到外围设备331之前对包的串行位执行重定时和中继功能。
当检测到来自主机301的包时,主机Rx端口313可以将遵循SYNC位模式的包标识符(PID)字节316转发至空闲模式省电状态机317以确定包是否为SOF包。如果PID字节316指示SOF包,则认为USB事务协议处于空闲模式,在该模式下预期没有来自外围设备331的包。空闲模式省电状态机317可以向外围Rx端口325发送使外围Rx端口325进入省电状态的外围Rx端口控制信号318。
与主机Rx端口313类似,外围Rx端口325可以具有传输包络检测器、静噪电路系统或其他接收电路系统,以检测来自外围设备331的并且当为指示存在来自外围设备331的包的SYNC位模式时数据线上的活动。在空闲模式下接收到Rx端口控制信号318时,外围Rx端口325可以禁用接收电路系统。在一个方面,对从外围设备331接收的包的串行位执行重定时和中继的中继器/重定时器311中的电路系统也可以被禁用。
当来自主机301的包的PID字节316指示非SOF包时,USB系统不处于空闲模式。例如,包可以是请求外围设备331将数据包发送至主机301的进令牌包或者在将数据包从主机301传输到外围设备331之前的出令牌包。在这两种场景下,预期外围Rx端口313从外围设备331接收所请求的数据包或指示由主机301发送的数据包是否被成功接收的握手包。如果接收电路系统先前被禁用,则空闲模式省电状态机317可以向外围Rx端口325发送重新启用接收电路系统的外围Rx端口控制信号318。在一个方面,如果对从外围设备331接收的包执行重定时和中继的电路系统先前被禁用,则该电路系统也可以被重新启用。当外围Rx端口325接收到来自外围设备的包时,中继器/重定时器311可以在将包转发至主机Tx端口315用于传输至主机301之前对该包的串行位执行重定时和中继功能。
在一个方面,中继器/重定时器设备311可以在通过对应的外围Rx端口325连接的主机301与多个外围设备331之间对USB包进行中继。中继器/重定时311可以截取从主机301接收的USB包以预测数据流的方向从而控制与外围设备331中的每一个对应的外围Rx端口325的操作。例如,当主机Rx端口313从主机接收到SOF包时,空闲模式省电状态机317可以向与外围设备331中的每一个对应的外围Rx端口325发送使所有外围Rx端口325进入省电状态的外围Rx端口控制信号318。当主机Rx端口313从主机接收到寻址至外围设备331之一的非SOF包时,空闲模式省电状态机317可以发送启用与寻址的外围设备331对应的外围Rx端口325同时使与未寻址的外围设备331对应的外围Rx端口325维持在省电状态下的外围Rx端口控制信号318。
图4示出了根据本公开内容的一个方面的图3的进行操作以截取从主机接收的USB包511从而控制外围接收端口以在空闲模式下节省电力的USB中继器/重定时器设备311的功能框图。主机Rx端口313具有用于检测不存在指示来自主机的数据线上的活动的静噪并且用于检测有效包的开始的主机Rx静噪电路501。主机Rx静噪电路501可以提取所检测到的包的PID字节316,并且将其转发至空闲模式省电状态机317。
空闲模式省电状态机317中的PID检测模块503可以从主机接收检测到的包的PID字节316以确定该包是SOF包还是非SOF包。如果该包为SOF包,则PID检测模块503可以将SOFPID信号513发送至外围Rx端口控制切换电路505,用于使其生成使外围Rx端口325进入省电状态的外围Rx端口控制信号318。如果该包为非SOF包,则PID检测模块503可以将非SOF PID信号515发送至外围Rx端口控制切换电路505,用于使其生成使外围Rx端口325退出省电状态的外围Rx端口控制信号318。因此,外围Rx端口控制信号318可以根据检测到的来自主机的包是否为SOF包在两种状态之间切换。
外围Rx端口325可以具有外围Rx静噪电路507,该外围Rx静噪电路507包含诸如传输包络检测器、静噪电路系统或被配置成从外围设备331接收包517以生成外围Rx包519的其他电路系统的电路系统。外围Rx串行中继器电路509可以被配置成对外围Rx包517的串行位执行重定时和中继功能。当接收到命令外围Rx端口325进入或保持省电状态的外围Rx端口控制信号318时,外围Rx静噪电路507和外围Rx串行中继器电路509可以被禁用或者可以保持被禁用。在一个方面,到外围Rx静噪电路507和外围Rx串行中继器电路509的时钟可以被关断。另一方面,当接收到命令外围Rx端口325退出省电状态或保持活动状态的外围Rx端口控制信号318时,外围Rx静噪电路507和外围Rx串行中继器电路509可以被启用或者可以保持启用以准备接收来自外围设备的包并对其进行处理。外围Rx静噪电路507可以从外围设备接收包517以生成外围Rx包519。外围Rx串行中继器电路509可以对外围Rx包519进行处理以生成外围Rx重定时包521用于传输至主机。
图5示出了根据本公开内容的一个方面的USB中继器/重定时器设备的监视主机Rx端口上的USB包以控制外围Rx端口的操作从而在空闲模式下节省电力的状态机500。状态机500可以由图3的主机Rx端口313和空闲模式省电状态机317实现,或者由图4的主机Rx静噪电路501、PID检测模块503和外围Rx端口控制切换电路505实现。
在操作501处,状态机500监视主机Rx端口上的静噪信号。在一个方面,例如当高速或其他数据速率下的差分数据线之间超过100μV时,传输包络检测器可以检测来自主机的数据线上的活动。如果检测到静噪信号,这指示差分数据线之间小于100μV,则操作501继续监视静噪信号。否则,如果没有检测到静噪信号,这指示数据线上存在活动,则状态机500可以检测指示来自主机的传入包的开始的SYNC位模式以转换至操作503。
在操作503处,状态机500监视遵循SYNC位模式的PID字节以确定包是否为SOF。如果PID字节指示SOF包,则认为USB事务协议处于空闲模式并且数据流的方向是从主机到外围设备。状态机500转换至操作505以关闭外围Rx端口中的静噪电路和接收器以节省电力。在一个方面,执行由外围Rx端口接收的数据的重定时和中继功能的电路系统也可以被关闭。然后状态机可以返回至操作501以监视主机Rx端口上的静噪信号以寻找来自主机的下一包。
在操作503处,如果PID字节指示非SOF包,则认为USB事务协议不再处于空闲模式并且数据流的方向可以是从外围设备到主机。状态机500转换至操作507以打开外围Rx端口中的静噪电路和接收器,以使其准备从外围设备接收包。在一个方面,执行由外围Rx端口接收的数据的重定时和中继功能的电路系统也可以被打开。然后状态机可以返回至操作501以监视主机Rx端口上的静噪信号以寻找来自主机的下一包。
图6示出了根据本公开内容的一个方面的在主机和设备数据事务的第一场景中中继器/重定时器的监视来自主机的USB包以在接收到帧开始(SOF)包时禁用外围Rx端口并且在接收到非SOF包时启用外围Rx端口的主机Rx端口的时序图。
主机Rx端口监视来自主机的数据线上的总线活动以检测USB包的存在。如果检测到包,则主机Rx端口通过对PID字节进行解码来确定包是否为SOF包。最初,可以启用外围Rx端口以准备从外围设备接收包。当主机Rx端口检测到第一SOF包601时,主机Rx端口通过切换外围Rx端口使能信号来禁用外围Rx端口,以使外围Rx端口进入省电状态。在一个方面,外围Rx端口使能信号可以是图4或图5的外围Rx端口控制信号318。在第一SOF包601之后的帧中,主机不发送任何其他包。当主机Rx端口检测到第二SOF包603时,外围Rx端口保持省电状态。在一个方面,SOF包之间的帧持续时间在全速或低速USB中可以是一毫秒,在高速USB中可以是125μs微帧持续时间,或者可以是其他USB规范的帧周期间隔。
当主机Rx端口接收到来自主机的第一数据包605时,主机Rx端口通过切换外围Rx端口使能信号来重新启用外围Rx端口以命令外围Rx端口退出省电状态。在一个方面,数据包601可以包括指示主机到设备的数据传输的出地址令牌包,随后是包含用于外围设备的数据的数据包。在一个方面,可以存在请求从外围设备进行设备到主机的数据传输的进地址令牌包。在两者中的任一场景下,外围Rx端口都被启用,因此其可以准备接收第二数据包607。当第一数据包601是主机到设备的数据传输时,第二数据包607可以是从外围设备返回至主机的握手包,该握手包指示外围设备是否成功接收到数据包。在一个方面,当主机发送进地址令牌包时,第二数据包607可以是所请求的设备到主机的数据包。中继器/重定时器对第二数据包607的串行位执行中继和重定时功能用于传输至主机。
当主机Rx端口检测到第三SOF包609时,主机Rx端口通过切换外围Rx端口使能信号来禁用外围Rx端口以使外围Rx端口回到省电状态。主机在第三SOF包609之后的帧中不发送任何其他包。当主机Rx端口检测到第四SOF包611时,外围Rx端口保持省电状态。
图7示出了根据本公开内容的一个方面的在主机和设备数据事务的第二场景中中继器/重定时器的监视来自主机的USB包以在接收到帧开始(SOF)包时禁用外围Rx端口并且在接收到非SOF包时启用外围Rx端口的主机Rx端口的时序图。
类似于图6,主机Rx端口检测第一SOF包701以通过切换外围Rx端口使能信号来禁用外围Rx端口以使外围Rx端口进入省电状态,并且主机Rx端口在检测到第二SOF包703时使外围Rx端口维持省电状态。同样类似于图6,主机Rx端口接收第一数据包705以通过切换外围Rx端口使能信号来重新启用外围Rx端口以命令外围Rx端口退出省电状态。第一数据包701可以是主机到设备的数据传输或请求从外围设备进行设备到主机的数据传输的进地址令牌包。然而,由于总线错误,外围设备在第二SOF包703的帧持续时间内没有响应于第一数据包705将数据包发送回主机。
当主机没有接收到响应于第一数据包705的从外围设备返回的数据包时,该主机可以在第二SOF包703的帧持续时间到期时超时。当主机Rx端口接收到第三SOF包707时,主机Rx端口切换外围Rx端口使能信号以使外围Rx端口回到省电状态。在第三SOF包707的帧持续时间期间,主机发送第二数据包709以重新发起主机到设备的数据传输。在一个方面,主机可以重新发送请求从外围设备进行设备到主机数据传输的进地址令牌包。
当主机Rx端口接收到来自主机的第二数据包709时,主机Rx端口切换外围Rx端口使能信号以命令外围Rx端口退出省电状态。在第三SOF包707的帧持续时间中,外围设备响应于第二数据包709生成第三数据包711。外围Rx端口接收第三数据包711,并且中继器/重定时器对第三数据包711的串行位执行转发和重定时功能用于传输至主机。当主机Rx端口检测到第四SOF包713时,主机Rx端口通过切换外围Rx端口使能信号来禁用外围Rx端口以使外围Rx端口回到省电状态。
图8是根据本公开内容的一个方面的用于中继器/重定时器监视从主机接收的USB包以控制外围接收端口的操作从而在空闲模式下节省电力的方法800的流程图。在一个实施方式中,方法800可以由图1的eUSB/USB中继器100、图2的eUSB中继器子系统124、eUSBPHY 126和USB PHY 128、图3的中继器/重定时器、图4的主机Rx端口313和空闲模式省电状态机317或者图5的状态机500来执行。在一个方面,方法800可以利用硬件逻辑或存储配置值的可编程寄存器和硬件逻辑的组合来执行。
在操作801处,中继器/重定时器检测来自主机的USB包的开始。在一个方面,中继器/重定时器可以监视来自主机的高速或其他数据速率下的数据线上的静噪信号。如果不存在静噪信号,这指示数据线上存在活动,则中继器/重定时器可以检测SYNC位模式以指示来自主机的USB包的开始。
在操作803处,中继器/重定时器检测USB包的PID以确定包的类型。PID可以是遵循SYNC位模式以指示USB包是令牌包、数据包、握手包还是特殊包的字节。操作803可以检测PID以预测数据流的方向。例如,当中继器/重定时器检测到诸如SOF包的令牌包时,数据流的方向是从主机到外围设备。当中继器/重定时器检测到诸如在主机到外围设备的数据传输或外围设备到主机的数据传输之前的地址令牌的令牌包时,数据流的方向被预测为从外围设备到主机,以包括响应于主机到外围设备的数据传输而生成的握手包或所请求的外围设备到主机的数据传输所请求的数据包。
在操作805处,中继器/重定时器确定PID是否指示SOF包。如果PID指示SOF包,则认为主机与外围设备之间的事务协议处于空闲模式,并且预期外围设备不向主机传输包。
在操作807处,如果PID指示SOF包,则中继器/重定时器禁用中继器/重定时器的外围Rx端口的接收电路系统以节省电力。在一个方面,中继器/重定时器可以关闭包括静噪检测电路系统和外围Rx端口中的其他接收电路系统的传输包络检测器,并且可以禁用用于对从外围设备接收的数据进行中继和重定时的电路系统。在一个方面,用于接收和处理来自外围设备的数据的接收、中继和重定时电路系统的时钟可以被关断。
否则,在操作809处,如果PID指示非SOF包,则中继器/重定时器启用中继器/重定时器的外围Rx端口的接收电路系统,以使外围Rx端口准备从外围设备接收包。在一个方面,如果电路系统被关闭,则中继器/重定时器可以打开包括静噪检测电路系统和外围Rx端口中的其他接收电路系统的传输包络检测器。在一个方面,如果用于对从外围设备接收到的数据进行中继和重定时的电路系统先前被关闭,则中继器/重定时器可以启用该电路系统。在一个方面,如果用于接收和处理来自外围设备的数据的接收、中继和重定时电路系统的时钟被关断,则其可以被重新打开。
在操作811处,中继器/重定时器检测来自主机的USB包的结束。在一个方面,中继器/重定时器可以检测与各种数据速率对应的包结束模式。然后中继器/重定时器返回至操作801以检测来自主机的下一USB包的开始。
本文中描述的用于截取主机包以预测数据流的方向从而禁用外围端口上的非活动电路系统的USB中继器子系统的各种实施方式可以包括各种操作。这些操作可以由硬件部件、数字硬件和/或固件/可编程寄存器(例如,如在计算机可读介质中实现的)和/或其组合来执行和/或控制。本文中所描述的方法和说明性示例不与任何特定计算机或其他装置固有地相关。各种系统(例如,诸如USB集线器和对接站)可以根据本文中描述的教导来使用,或者可以证明便于构造更专用的装置来执行所需的方法步骤。这些系统中的各种系统所需的结构将如上面描述中所阐述的那样出现。
用于实现本公开内容的各个方面的操作的计算机可读介质可以是非暂态计算机可读存储介质,其可以包括但不限于电磁存储介质、磁光存储介质、只读存储器(ROM)、随机存取存储器(RAM)、可擦除可编程存储器(例如,EPROM和EEPROM)、闪速存储器或其他现在已知或以后开发的适合于存储配置信息的非暂态性类型的介质。
以上描述旨在是说明性的,而非限制性的。尽管已经参照特定的说明性示例描述了本公开内容,但是将认识到,本公开内容不限于所描述的示例。应当参照所附权利要求以及这些权利要求所赋予的等同物的全部范围来确定本公开内容的范围。
如本文中所使用的,除非上下文清楚地另外指示,否则单数形式“一个(a)”、“一种(an)”和“该”旨在还包括复数形式。还将理解的是术语“包括(comprise)”、“包括(comprising)”、“可以包含(include)”和/或“包含(including)”在本文使用时,指定存在所陈述的特征、整数、步骤、操作、元件和/或部件,但是不排除存在或添加一个或更多个其他特征、整数、步骤、操作、元件、部件和/或其群组。因此,本文中所使用的术语仅出于描述特定实施方式的目的并且不旨在是限制性的。
还应注意,在一些替选实现方式中,功能/动作可以不按附图中所示的顺序发生。例如,取决于所涉及的功能/动作,连续示出的两幅图实际上可以大体上同时执行或者有时可能会以相反的顺序执行。
尽管以特定顺序描述了方法操作,但是应当理解,可以在所描述的操作之间执行其他操作,可以调整所描述的操作使得它们在略微不同的时间发生,或者所描述的操作可以分布在允许处理操作以与处理相关联的各种间隔发生的系统中。例如,可以至少部分地以相反的顺序、与其他操作并发地和/或并行地执行某些操作。
各种单元、电路或其他部件可以被描述或要求保护为“被配置成”或“可配置成”执行一个或更多个任务。在这样的上下文中,短语“被配置成”或“可配置成”用于通过指示单元/电路/部件包括在操作期间执行一个或更多个任务的结构(例如,电路系统)来表示结构。因此,即使在指定的单元/电路/部件当前不可操作(例如,未接通)的情况下,也可以说该单元/电路/部件被配置成执行任务、或者可被配置成执行任务。与“被配置成”或“可配置成”语言一起使用的单元/电路/部件包括硬件,例如电路、存储可执行以实现操作的程序指令的存储器等。叙述单元/电路/部件“被配置成”执行一个或更多个任务或者“可配置成”执行一个或更多个任务,明确表示不旨在针对该单元/电路/部件援引35U.S.C.112第六段。
附加地,“被配置成”或“可配置成”可以包括通用结构(例如,通用电路系统),其由固件(例如,FPGA)操纵以以能够执行所讨论的任务的方式进行操作。“被配置成”还可以包括使制造过程(例如,半导体制造设施)适应于制造适于实现或执行一个或更多个任务的设备(例如,集成电路)。明确表示“可被配置成”不旨在应用于空白介质、未编程的处理器、或未编程的可编程逻辑设备、可编程门阵列或其他未编程的设备,除非伴随有赋予未编程设备被配置成执行所公开的功能的能力的已编程介质。
出于说明的目的,已经参照特定实施方式描述了前述描述。然而,以上说明性讨论并非旨在穷举或者将本发明限制于所公开的精确形式。考虑到以上教导,许多修改和变型是可行的。选择并描述实施方式以便最佳地说明这些实施方式的原理及其实践应用,从而使得本领域技术人员能够最佳地利用这些可能适于所设想的特定用途的实施方式和各种修改。因此,本实施方式被认为是说明性的而不是限制性的,并且本发明不限于本文中给出的细节,但是可以在所附权利要求书的范围及其等同物内对这些细节进行修改。
Claims (20)
1.一种对在主机与外围设备之间交换的通用串行总线(USB)包进行中继的装置,包括:
主机端口,其被配置成从所述主机接收通用串行总线包;
外围端口,其被配置成从所述外围设备接收通用串行总线包;
处理系统,其被配置成:
检测由所述主机端口从所述主机接收的通用串行总线包;
确定所接收的通用串行总线包的类型;
响应于所述通用串行总线包被确定为帧开始(SOF)包,禁用所述外围端口;以及
响应于所述通用串行总线包被确定为非帧开始包,启用所述外围端口以使所述外围端口准备从所述外围设备接收通用串行总线包。
2.根据权利要求1所述的装置,其中,为了检测由所述主机端口从所述主机接收的所述通用串行总线包,所述处理系统被配置成:
检测所述通用串行总线包的开始;以及
检测所述通用串行总线包的包标识符(PID)。
3.根据权利要求2所述的装置,其中,为了检测所述通用串行总线包的开始,所述处理系统被配置成:
当所述主机端口被配置成从所述主机接收通用串行总线高速数据包时,检测静噪信号的不存在;以及
检测所述通用串行总线包的同步模式。
4.根据权利要求1所述的装置,其中,为了确定所接收的通用串行总线包的类型,所述处理系统被配置成:
检测所述通用串行总线包的包标识符(PID);以及
基于所述包标识符确定所述通用串行总线包的类型。
5.根据权利要求1所述的装置,其中,所述帧开始包包括由所述主机发送至所述外围设备的作为用于对在所述主机与所述外围设备之间交换的所述通用串行总线包进行同步的时序参考的周期性包。
6.根据权利要求1所述的装置,其中,当所接收的通用串行总线包被确定为所述帧开始数据包时,数据流的方向被预测为从所述主机到所述外围设备,并且其中,所述处理系统被配置成禁用所述外围端口以节省电力。
7.根据权利要求1所述的装置,其中,所述装置还包括:中继电路系统,其被配置成对由所述外围端口从所述外围设备接收的用于所述主机的所述通用串行总线包进行中继,并且其中,响应于所述通用串行总线包被确定为所述帧开始包,所述处理系统还被配置成禁用所述中继电路系统。
8.根据权利要求1所述的装置,其中,所述非帧开始包包括指示所述主机准备将数据包传输至所述外围设备或请求所述外围设备将数据包传输至所述主机的地址令牌。
9.根据权利要求1所述的装置,其中,当所接收的通用串行总线包被确定为所述非帧开始包时,数据流的方向被预测为从所述外围设备到所述主机,并且其中,所述处理系统被配置成启用所述外围端口以接收数据包或由所述外围设备响应于所述非帧开始包生成的握手包。
10.根据权利要求1所述的装置,还包括多个外围端口,其被配置成从多个外围设备接收通用串行总线包,并且其中,所述处理系统还被配置成:
响应于所述通用串行总线包被确定为所述帧开始包,禁用所述多个外围端口;以及
响应于所述通用串行总线包被确定为所述非帧开始包,启用所述多个外围端口中的一个外围端口,以使所启用的一个外围端口准备从所述多个外围设备中的一个对应的外围设备接收通用串行总线包。
11.一种方法,包括:
由通用串行总线符合(USB符合)的中继器检测从主机接收的通用串行总线包;
确定所接收的通用串行总线包的类型;
响应于所述通用串行总线包被确定为帧开始(SOF)包,禁用用于从外围设备接收通用串行总线包的所述通用串行总线符合的中继器的接收电路系统;以及
响应于所述通用串行总线包被确定为非帧开始包,启用所述接收电路系统,以使所述接收电路系统准备从所述外围设备接收通用串行总线包。
12.根据权利要求11所述的方法,其中,检测从主机接收的所述通用串行总线包包括:
检测所述通用串行总线包的开始;以及
检测所述通用串行总线包的包标识符(PID)。
13.根据权利要求12所述的方法,其中,检测所述通用串行总线包的开始包括:
当所述通用串行总线符合的中继器符合从所述主机接收通用串行总线高速数据包时,检测静噪信号的不存在;以及
检测所述通用串行总线包的同步模式。
14.根据权利要求11所述的方法,其中,确定所接收的通用串行总线包的类型包括:
检测所述通用串行总线包的包标识符(PID);以及
基于所述包标识符确定所述通用串行总线包的类型。
15.根据权利要求11所述的方法,其中,所述帧开始包包括由所述主机发送至所述外围设备的作为用于对在所述主机与所述外围设备之间交换的通用串行总线包进行同步的时序参考的周期性包。
16.根据权利要求11所述的方法,其中,当所接收的通用串行总线包被确定为所述帧开始包时,数据流的方向被预期为从所述主机到所述外围设备,并且其中,禁用用于从所述外围设备接收通用串行总线包的所述接收电路系统节省了所述通用串行总线符合的中继器的电力。
17.根据权利要求11所述的方法,还包括:
响应于将所述通用串行总线包确定为所述帧开始包,禁用所述通用串行总线符合的中继器的用于对从所述外围设备接收的用于所述主机的所述通用串行总线包进行中继的中继电路系统。
18.根据权利要求11所述的方法,其中,所述非帧开始包包括指示所述主机准备将数据包传输至所述外围设备或请求所述外围设备将数据包传输至所述主机的地址令牌。
19.根据权利要求11所述的方法,其中,当所接收的通用串行总线包被确定为所述非帧开始包时,数据流的方向被预测为从所述外围设备到所述主机,并且其中,启用所述接收电路系统包括启用所述接收电路系统以接收数据包或由所述外围设备响应于所述非帧开始包生成的握手包。
20.根据权利要求11所述的方法,还包括:
响应于将所述通用串行总线包确定为所述帧开始包,禁用所述通用串行总线符合的中继器的用于从多个外围设备接收通用串行总线包的多个接收电路系统;以及
响应于将所述通用串行总线包确定为所述非帧开始数据包,启用所述多个接收电路系统中的一个接收电路系统,以使所启用的一个接收电路系统准备从所述多个外围设备中的一个对应的外围设备接收通用串行总线包。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/192,650 | 2021-03-04 | ||
US17/192,650 US11513584B2 (en) | 2021-03-04 | 2021-03-04 | Method and apparatus to save power in USB repeaters/re-timers |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115017076A true CN115017076A (zh) | 2022-09-06 |
Family
ID=82898262
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210203199.2A Pending CN115017076A (zh) | 2021-03-04 | 2022-03-02 | 通用串行总线中继器/重定时器中节省电力的方法和装置 |
Country Status (3)
Country | Link |
---|---|
US (2) | US11513584B2 (zh) |
CN (1) | CN115017076A (zh) |
DE (1) | DE102022104187A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11513584B2 (en) * | 2021-03-04 | 2022-11-29 | Cypress Semiconductor Corporation | Method and apparatus to save power in USB repeaters/re-timers |
US11671289B2 (en) * | 2021-09-14 | 2023-06-06 | Nxp Usa, Inc. | End of packet detection |
US20230119332A1 (en) * | 2021-10-18 | 2023-04-20 | Celerity Technologies Inc. | Usb connector for fiber optic cable and related usb extender |
US20230170934A1 (en) * | 2021-11-30 | 2023-06-01 | Nxp Usa, Inc. | Bidirectional bypass mode |
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 |
US20240070100A1 (en) * | 2022-08-25 | 2024-02-29 | Nxp Usa, Inc. | Communications device |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6363085B1 (en) * | 1998-03-23 | 2002-03-26 | Multivideo Labs, Inc. | Universal serial bus repeater |
JP4730381B2 (ja) * | 2007-03-09 | 2011-07-20 | 日本電気株式会社 | Usb通信制御方法及び装置 |
US20140149609A1 (en) * | 2012-11-29 | 2014-05-29 | Kok Hong Chan | Detecting device disconnect in a repeater |
US11703935B2 (en) * | 2020-07-31 | 2023-07-18 | Apple Inc. | Mechanism for saving power on a bus interface |
US11513584B2 (en) * | 2021-03-04 | 2022-11-29 | Cypress Semiconductor Corporation | Method and apparatus to save power in USB repeaters/re-timers |
-
2021
- 2021-03-04 US US17/192,650 patent/US11513584B2/en active Active
-
2022
- 2022-02-22 DE DE102022104187.5A patent/DE102022104187A1/de active Pending
- 2022-03-02 CN CN202210203199.2A patent/CN115017076A/zh active Pending
- 2022-11-17 US US17/989,533 patent/US11747885B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20220283624A1 (en) | 2022-09-08 |
US11513584B2 (en) | 2022-11-29 |
DE102022104187A1 (de) | 2022-09-08 |
US11747885B2 (en) | 2023-09-05 |
US20230081229A1 (en) | 2023-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11513584B2 (en) | Method and apparatus to save power in USB repeaters/re-timers | |
US20200174953A1 (en) | Methods and apparatus for synchronizing uplink and downlink transactions on an inter-device communication link | |
KR101830691B1 (ko) | 높은 아이들 노이즈 및 dc-레벨 거절을 가지는 저전력 타입-c 수신기 | |
EP2867780B1 (en) | Device disconnect detection | |
US9239810B2 (en) | Low power universal serial bus | |
US9575552B2 (en) | Device, method and system for operation of a low power PHY with a PCIe protocol stack | |
CN107688550B (zh) | 设备连接检测 | |
EP2619907B1 (en) | Incorporating an independent logic block in a system-on-a-chip | |
KR101823315B1 (ko) | 가변 프레임 길이를 갖는 2-와이어 인터페이스 시스템에 대한 임피던스-기반 플로우 제어 | |
US11728930B2 (en) | Methods to remove dribble introduced and regenerate sync bits lost due to squelch delays in USB high speed packet repeating | |
US20190042521A1 (en) | Asymmetrical embedded universal serial bus (eusb) link | |
US6584536B1 (en) | Bus transaction accelerator for multi-clock systems | |
US20170286357A1 (en) | Method, Apparatus And System For Communicating Between Multiple Protocols | |
US6874047B1 (en) | System and method for implementing an SMBus/I2C interface on a network interface card | |
CN117222994A (zh) | 使用共享时钟和专用数据线的i2c总线架构 | |
WO2023159415A1 (en) | Adaptive low-power signaling to enable link signal error recovery without increased link clock rates | |
CN117370245A (zh) | 适用于usb3降速桥的速率适配系统及usb3降速桥 |
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 |