CN113609050A - 通用串行总线智能集线器 - Google Patents

通用串行总线智能集线器 Download PDF

Info

Publication number
CN113609050A
CN113609050A CN202110942412.7A CN202110942412A CN113609050A CN 113609050 A CN113609050 A CN 113609050A CN 202110942412 A CN202110942412 A CN 202110942412A CN 113609050 A CN113609050 A CN 113609050A
Authority
CN
China
Prior art keywords
usb
hub
processor
port
usb hub
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
Application number
CN202110942412.7A
Other languages
English (en)
Inventor
A·高希
C·G·谢诺特
P·曼加拉潘迪安
M·博姆
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.)
Microchip Technology Inc
Original Assignee
Microchip Technology Inc
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 Microchip Technology Inc filed Critical Microchip Technology Inc
Publication of CN113609050A publication Critical patent/CN113609050A/zh
Pending legal-status Critical Current

Links

Images

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/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/387Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/266Arrangements 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
    • 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/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • 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/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
    • G06F13/4295Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using an embedded synchronisation
    • 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/38Universal adapter
    • G06F2213/3812USB port controller
    • 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/40Bus coupling
    • G06F2213/4004Universal serial bus hub with a plurality of upstream ports

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集线器核心。所述智能集线器可包含耦合在所述下游端口、核心下游端口与所述处理器之间的多个2:1多路复用器。所述处理器可控制所述2:1多路复用器。所述处理器可经配置以检测USB装置何时耦合到下游端口且运行所述USB主机栈代码且枚举所述USB装置。所述处理器可基于所述配置参数而提供增强特征。

Description

通用串行总线智能集线器
本申请是申请日为2016年04月03日,申请号为“201680024554.2”,而发明名称为“通用串行总线智能集线器”的发明专利申请的分案申请。
技术领域
本公开涉及结合通用串行总线(USB)集线器而使用的系统及方法,且更特定来说,涉及用于在USB集线器装置处增强电池充电、数据存储安全性、厂商匹配、装置认证、数据捕捉/调试及角色切换的系统及方法。
背景技术
在现代电子装置(例如,个人计算机(“PC”)、平板PC、蜂窝手机、汽车信息娱乐系统、个人游戏系统、玩具等)中,USB集线器是普遍存在的。正是“通用”接口允许键盘、监控器、打印机、存储装置、相机、电话、玩具、游戏机及众多其它电子装置在单个接口上工作。因为是通用的,所以其自身带来一系列挑战,尤其包含与认证、验证、安全性及定制数据处置相关的挑战。厂商已尝试通过定制操作系统及/或USB栈/驱动器来克服这些挑战。这些类型的定制可为昂贵的且可导致连接到USB接口的电子装置之间的次优兼容性。
发明内容
因此,需要一种可提供增强电池充电、数据存储安全性、厂商匹配、装置认证、数据捕捉/调试及角色切换而无需改变操作系统或USB栈/驱动器的改进USB集线器。
根据实施例,提供一种USB集线器,其可包含:集线器上游端口;多个集线器下游端口;处理器;及存储器,其以通信方式耦合到所述处理器用于存储USB主机栈代码及多个配置参数。USB集线器可进一步包含USB集线器核心,所述USB集线器核心具有核心上游端口及多个核心下游端口。所述USB集线器核心可操作以实施所述核心上游端口与所述多个核心下游端口之间的USB集线器接口。所述USB集线器可进一步包含多个多路复用器,且每一多路复用器可具有:第一端口,其以通信方式耦合到所述集线器下游端口中的一个;第二端口,其以通信方式耦合到所述多个核心下游端口中的一个;第三端口,其以通信方式耦合到所述处理器;及选择输入端,其以通信方式耦合到所述处理器且可操作而以通信方式耦合所述第一端口与所述第二端口、所述第三端口或所述第二端口及所述第三端口两者。所述处理器可经配置以检测USB装置何时耦合到所述多个集线器下游端口中的第一个。所述处理器可经进一步配置以控制对应于所述第一集线器下游端口的第一多路复用器的所述选择输入端,使得所述第一端口连接到所述第三端口。另外,所述处理器可经配置以运行所述USB主机栈代码且枚举所述USB装置。
根据另外实施例,提供一种用于USB集线器中的增强电池充电的方法,所述USB集线器包含多个集线器下游端口及运行USB主机栈代码的处理器。所述处理器可检测USB装置何时耦合到所述多个集线器下游端口中的第一个且可枚举所述USB装置。所述处理器可进一步从所述USB装置获得产品ID(PID)及厂商ID(VID)且使用所述PID及所述VID来确定所述USB装置的定制电池充电协议。所述处理器接着可致使所述USB集线器使用对应于所述USB装置的特定电池充电协议对所述USB装置充电。
根据另外实施例,提供一种用于USB集线器中的数据安全性的方法,所述USB集线器包含多个集线器下游端口及运行USB主机栈代码的处理器。所述处理器可检测USB装置何时耦合到所述多个集线器下游端口中的第一个且可枚举所述USB装置。所述处理器可进一步从所述USB装置获得信息(例如,装置类别代码、描述符信息等)且使用所述装置类别代码来确定应阻断所述USB装置。所述处理器接着可致使所述USB集线器阻断所述USB装置连接。
根据另外实施例,提供一种用于USB集线器中的数据安全性的方法,所述USB集线器包含多个集线器下游端口及运行USB主机栈代码的处理器。所述处理器可检测USB装置何时耦合到所述多个集线器下游端口中的第一个且可枚举所述USB装置。所述处理器可进一步从所述USB装置获得信息(例如,装置类别代码、描述符信息等)且使用所述装置类别代码来确定所述USB集线器应在所述USB装置与上游USB主机之间建立USB到USB网桥。所述处理器接着可在所述USB装置与所述上游USB主机之间实施所述USB到USB网桥。
根据另外实施例,提供一种用于USB集线器中的厂商装置偏好的方法,所述USB集线器包含多个集线器下游端口及运行USB主机栈代码的处理器。所述处理器可检测USB装置何时耦合到所述多个集线器下游端口中的第一个且可枚举所述USB装置。所述处理器可进一步从所述USB装置获得产品ID(PID)及厂商ID(VID)且使用所述PID及所述VID来确定所述USB装置不是精选厂商装置。所述处理器接着可在确定所述USB装置不是精选厂商装置后就致使运用次优配置枚举所述USB装置。
根据另外实施例,提供一种用于USB集线器中的装置认证的方法,所述USB集线器包含多个集线器下游端口及运行USB主机栈代码的处理器。所述处理器可检测USB装置何时耦合到所述多个集线器下游端口中的第一个且可枚举所述USB装置。所述处理器可进一步从所述USB装置获得产品ID(PID)及厂商ID(VID)且使用所述PID及所述VID来确定所述USB装置需要认证。所述处理器接着可在确定所述USB装置需要认证后就将认证质询发出到所述USB装置。所述处理器可进一步从所述USB装置获得认证质询响应,且可在确定所述响应不正确后就阻断所述USB装置连接。
根据另一实施例,提供一种用于USB集线器中的数据反映的方法,所述USB集线器包含多个集线器下游端口及运行USB主机栈代码的处理器。所述处理器可从所述多个集线器下游端口确定源端口。所述处理器还可从所述多个集线器下游端口确定目的地端口。所述处理器可进一步致使所述源端口处的数据反映在所述目的地端口处。
附图说明
通过参考结合随图所作的下文描述,可获取对本公开的更完全理解,其中:
图1说明根据本公开的某些实施例的可提供增强电池充电、数据存储安全性、厂商匹配、装置认证、数据捕捉/调试及角色切换的实例USB集线器的框图;
图2说明根据本公开的某些实施例的用于在USB集线器中提供增强电池充电、厂商匹配及装置认证的实例数据库的表;
图3说明根据本公开的某些实施例的用于提供增强电池充电、数据存储安全性、厂商匹配、装置认证、数据捕捉/调试及角色切换的实例配置选项;
图4说明根据本公开的某些实施例的用于在USB集线器中提供增强电池充电的实例方法的流程图;
图5说明根据本公开的某些实施例的用于在USB集线器中提供增强数据存储安全性的实例方法的流程图;
图6说明根据本公开的某些实施例的用于在USB集线器中提供增强厂商匹配的实例方法的流程图;
图7说明根据本公开的某些实施例的用于在USB集线器中提供增强装置认证的实例方法的流程图;
图8说明根据本公开的某些实施例的可提供数据捕捉/调试的实例USB集线器的框图;
图9说明根据本公开的某些实施例的用于在USB集线器中提供增强角色切换的实例方法的流程图;
虽然本公开容许各种修改及替代形式,但其特定实例实施例已在附图中展示且在本文中详细地描述。然而,应理解,本文中对特定实例实施例的描述并非意图于将本公开限于本文中所公开的特定形式,而相反地,本公开意图于涵盖如由所附权利要求书所界定的所有修改及等效物。
具体实施方式
根据各种实施例,可提供一种可提供增强电池充电、数据存储安全性、厂商匹配、装置认证、数据捕捉/调试及角色切换而无需改变操作系统或USB栈/驱动器的USB集线器。
现在参考附图,示意性地说明实例实施例的细节。附图中的相同元件将由相同元件符号表示,且类似元件将由具有不同小写字母下标的相同元件符号表示。
图1说明根据本公开的某些实施例的可提供增强电池充电、数据存储安全性、厂商匹配、装置认证、数据捕捉/调试及角色切换的实例USB集线器的框图。如图1中所描绘,USB集线器100可包括USB集线器核心102、上游端口104、控制处理器106、USB主机栈+迷你调度器+消息管道108及2:1多路复用器/解多路复用器114a到114d,2:1多路复用器/解多路复用器114a到114d以通信方式耦合下游端口116a到116d与例如USB集线器核心102输出信号110a到110d及信号112a到112d。上游端口104及下游端口116a到116d可能够载送USB集线器100与上游端口/下游端口之间的USB兼容发信。虽然图1中所描绘的实施例包含4端口USB集线器,但替代实施例可包含任何数目个端口(例如,2、3、10、16等)。
控制处理器106可包括可操作以解释及/或执行程序指令及/或过程数据的任何系统、装置或设备,且可包含但不限于微处理器、微控制器、数字信号处理器、专用集成电路(ASIC),或经配置以解释及/或执行程序指令及/或过程数据的任何其它数字或模拟电路。控制处理器106可以通信方式耦合到USB集线器核心102以提供适于实施/控制USB集线器的发信以及由本公开的各种实施例提供的额外特征。控制处理器106还可以通信方式耦合到(例如,实施、控制等)USB主机栈108(包含迷你调度器及消息管道)。控制处理器106还可以通信方式耦合到多路复用器/解多路复用器114a到114d,例如以发射或接收信号112a到112d及/或将选择发信(未展示)提供到多路复用器/解多路复用器114a到114d。控制处理器还可以通信方式耦合到其它资源(未展示),包含存储器(例如,易失性、非易失性等)、存储媒体(例如,快闪存储器、EEPROM、固态存储媒体等)等。
USB集线器核心102可包括可操作以实施USB集线器接口的任何系统、装置或设备,且可包含但不限于专用集成电路(ASIC),或经配置以实施USB集线器接口的任何其它数字或模拟电路(及必要的软件/固件)。在某些实施例中,USB集线器核心可支持USB活动式(OTG)发信。在相同或额外实施例中,USB集线器核心102可为由Microchip Technology公司(Microchip)提供的支持Microchip的FlexConnect特征的集线器控制器。FlexConnect特征可允许集线器动态地改变充当上游端口及下游端口的物理端口。这些特征可允许连接到充当USB主机及USB装置两者的多个产品而无需两个专用连接器。
USB主机栈108可包括可操作以实施USB主机控制器的任何软件、硬件或软件/硬件组合。在某些实施例中,USB主机栈108可为完全USB兼容的,从而支持由任何USB规范定义的所有有效事务。在替代实施例中,USB主机栈108可例如通过以下步骤而仅实施USB规范的某些方面:(i)仅支持某些外围装置及/或某些类别的装置;(ii)仅支持由受支持装置所需的某些传送类型;(iii)具有宽松功率要求;(iv)其它。在一个实施例中,USB主机栈108可为由Microchip提供的结合Microchip微控制器而使用的免版税嵌入式主机栈。
在操作中,USB集线器100可提供增强USB特征,例如电池充电、数据存储安全性、厂商匹配、装置认证、数据捕捉/调试及角色切换。根据本公开的某些实施例,控制处理器106可执行一般可操作以与USB集线器核心102交互且实施USB主机栈+迷你调度器+消息管道108的软件及/或固件。在某些实施例中,控制处理器106可执行一般可操作以存储及检索信息的软件及/或固件,所述信息包含但不限于与图2到3中所说明的数据库表及/或配置信息类似的数据库表及/或配置信息。
图2说明根据本公开的某些实施例的用于在USB集线器中提供增强电池充电、厂商匹配及装置认证的实例数据库200的表。数据库200可以诸多不同格式实施,包含但不限于以文本文件、二进制文件、关系数据库等的形式。数据库200的每一行可含有与由USB集线器100支持的USB装置相关的条目且可存储由USB集线器100在涉及受支持装置的事务中使用的信息。在某些示范性实施例中,数据库200可存储厂商ID(“VID”)(列A)、产品ID(“PID”)(列B)、增强充电指示符(列C)、充电类型(列D)、充电规范(列E)、精选厂商指示符(列F)、认证所需指示符(列G)、认证规范(列H)及FlexConnect指示符(列I)。根据USB规范,每一USB组件(装置、主机、集线器等)可被指派VID及PID,例如以允许便于识别所述组件。数据库200的VID列及PID列可对应于这些预指派的VID/PID值。以此方式,USB集线器100可提供可连接到USB集线器100的不同USB组件所特有的增强电池充电、厂商匹配及装置认证。
在操作中,当USB组件连接到USB集线器100时,控制处理器106可从所述装置获得VID/PID信息。在一个实施例中,USB集线器100可利用USB主机栈+迷你调度器+消息管道108且充当USB主机以枚举所述装置且获得装置描述符(其包含VID/PID信息)。在替代实施例中,控制处理器可通过以下步骤而从所述装置获得VID/PID信息:在连接到上游端口104的主机经由USB集线器核心102(标准USB协议)枚举新附接装置时“侦听”枚举过程。在前一实施例中,控制处理器106可配置多路复用器/解多路复用器114a到114d,使得USB集线器核心102不辨识装置附接事件。在枚举所述装置之后,USB集线器100可在上游端口104处管理新附接装置与USB主机之间的连接,使得由所述上游端口适当地枚举所述装置。USB集线器100可以熟悉USB协议的技术人员已知的任何数目种方式实现此动作。例如,USB集线器100可强制在所述装置所附接的下游端口上进行断接事件且此后允许由上游主机进行枚举。在替代实施例中,USB集线器100可重置所述装置且此后允许由上游主机进行枚举。在替代实施例中,USB集线器100可仿真上游主机的新附接事件且将所述装置的描述符转递到上游端口104上的USB主机且接着在适当时间恢复正常集线器发信(即,停止仿真)。在这些实施例中,控制处理器106控制多路复用器/解多路复用器114a到114d,使得发信适当地路由到(1)USB集线器核心或(2)运行USB主机栈的控制处理器。在某些实施例中,当多路复用器/解多路复用器114a到114d将下游端口信号路由到控制处理器时,连接到USB集线器核心的信号110a到110d可经配置以反映未附接装置。因此,通过改变多路复用器/解多路复用器114a到114d上的选择输入端(即,导致路由到USB集线器核心),USB集线器核心可确定已发生装置附接事件。
无论USB集线器100获得VID/PID信息的方式是什么,在如此做之后,USB集线器100接着可搜索数据库200以寻找匹配VID/PID。如果在数据库200中发现VID/PID,那么控制处理器106可确定连接的USB组件受USB集线器100支持,且取决于存储在数据库200中对应于所述USB组件的其它参数而提供某些增强特征。例如,如果为匹配VID/PID启用(例如,行2)增强充电指示符(列C),那么USB集线器100可在所述USB端口上提供增强电池充电。在此情况下,数据库200中的充电类型(列D)条目及充电规范(列E)条目可提供与应对USB组件充电的方式相关的额外信息。(在图4的论述中提供与增强充电相关的更多细节。)作为另一实例,如果为匹配VID/PID启用(例如,行4)精选厂商指示符(列F),那么USB集线器100可提供增强厂商匹配特征。(在图3及6的论述中提供与增强厂商匹配特征相关的更多细节。)在又一实例中,如果为匹配VID/PID启用(例如,行6)认证所需指示符(列G),那么USB集线器100可需要在完全连接USB组件之前进行认证。在此情况下,数据库200中的认证规范(列H)条目可提供与应认证USB组件的方式相关的额外细节。(在图7的论述中提供与认证特征相关的更多细节。)在又一实例中,如果为匹配VID/PID启用(例如,行1)FlexConnect指示符(列I),那么USB集线器100可向所述装置提供初始角色切换选项且充当USB主机。(在图9的论述中提供与角色切换特征相关的更多细节。)
存储在数据库200中的值可为硬编码的、可配置的,或所述两者的某个组合。在某些实施例中,USB集线器100的制造商可期望在出售USB集线器100之前对数据库200的值进行硬编码,使得所述数据库无法被修改。例如,数据库200可存储在存储器的只读区段中或是写入保护的。在其它实施例中,制造商可提供数据库200的默认值,但可允许由用户进行后期修改。例如,USB集线器100的用户可能够通过以下步骤而修改数据库200:将所述集线器插入到USB主机中且使用USB主机上的软件来更新所述数据库(例如,通过从因特网下载新厂商/产品信息,手动编辑表等)。在某些实施例中,数据库200的修改可以不安全方式执行,使得USB集线器100的任何用户可修改所述数据库。在其它实施例中,数据库200的修改可仅由具有正确凭据(例如,密码等)的用户执行。
图3说明根据本公开的某些实施例的用于提供数据存储安全性、厂商匹配、数据捕捉/调试及角色切换的实例配置选项表300。在一些实施例中,配置选项表300可以软件形式存储,包含但不限于以文本文件、二进制文件、关系数据库等的形式。在其它实施例中,配置选项表300可硬接线在硬件中(例如,系低(停用)、系高(启用)、连接到控制处理器106上的GPIO引脚等)。配置选项表300中的第一列可对应于可用于本公开的实例实施例中的配置选项。在其它实施例中,取决于受特定USB集线器100支持的特征,可存在更多或更少列。配置选项表300中的第二列可对应于如由USB集线器100的厂商或用户确定的配置值。
存储在配置选项表300中的值可为硬编码的、可配置的,或所述两者的某个组合。在某些实施例中,USB集线器100的制造商可期望在出售USB集线器100之前对配置选项表300的值进行硬编码,使得配置选项无法被修改(即,是不可配置的)。例如,配置选项表300的值可存储在存储器的只读区段中。在其它实施例中,制造商可提供配置选项表300的默认值,但可允许由用户进行后期修改。例如,USB集线器100的用户可能够通过以下步骤而修改配置表300中的值:将所述集线器插入到USB主机中且使用USB主机上的软件来设置所述值。在某些实施例中,此修改可以不安全方式执行,使得USB集线器100的任何用户可修改所述值。在其它实施例中,配置表300中的值的修改可仅由具有正确凭据(例如,密码等)的用户执行。
在图3中所描绘的实施例中,配置选项表300含有以下配置选项:“数据安全性?”选项用来确定是否启用数据安全性特征。“数据安全性等级2?”选项用来确定是否启用数据安全性等级2特征。“数据安全性规范”条目提供与USB集线器100应实施数据安全性特征的方式相关的额外信息。(在图5的论述中提供与数据安全性特征相关的更多细节。)“精选厂商”选项用来确定是否启用精选厂商特征。“精选厂商规范”条目提供与USB集线器100应实施精选厂商特征的方式相关的额外信息。(在图3及6的论述中提供与增强厂商匹配特征相关的更多细节。)“自动响应?”选项用来确定是否启用自动响应特征。“自动响应规范”条目提供与USB集线器100应实施自动响应特征的方式相关的额外信息。“数据反映?”选项用来确定是否启用数据反映特征。“数据反映规范”条目提供与USB集线器100应实施数据反映特征的方式相关的额外信息。(在图8的论述中提供与自动响应特征及数据反映特征相关的更多细节。)“Flexconnect切换?”选项用来确定是否启用Flexconnect切换特征。(在图9的论述中提供与Flexconnect切换特征相关的更多细节。)
电池充电
USB连接器用于对所有类型的电子装置充电,包含但不限于智能手机、平板计算机、游戏机、玩具及类似物。USB规范定义用于通过USB连接对USB装置充电的协议。然而,诸多USB装置不遵循此协议,且替代地实施厂商或产品特定充电协议,例如定制电握手或定制USB消息基握手。此可在使用标准USB充电协议来对这些装置充电时(即,由通用USB集线器使用的方法)导致次优充电速率。通过存储厂商及/或产品特定充电信息,USB集线器100可对连接到USB集线器100的任何装置实施最优充电协议。
图4说明根据本公开的某些实施例的用于在USB集线器中提供增强电池充电的实例方法400的流程图。根据一个实施例,方法400优选地开始于步骤402处。如上所述,本公开的教示可以USB集线器100的各种配置实施。因而,方法400的优选初始化点及构成方法400的步骤402到418的顺序可取决于所选择的实施方案。
在步骤402处,可初始化USB集线器100。例如,可使USB集线器100通电(经由电源或到USB主机的连接),且可初始化USB集线器核心102。在步骤404处,USB集线器100可连续地检验以确定下游装置是否已附接到例如下游端口116a到116d中的一个。如果尚未附接下游装置,那么USB集线器100可返回到步骤404且以此方式继续直到检测到下游装置为止。在检测到下游装置连接后,USB集线器100就可在步骤406处连接到检测到的装置且可在步骤408处枚举所述装置。在枚举期间,USB集线器100可读取新附接装置的VID及PID。
在步骤410处,USB集线器100可确定新附接装置是否实施非标准充电协议。例如,可将VID/PID提供到控制处理器106,且控制处理器106可询问数据库200以确定其是否含有匹配新附接装置的VID/PID的条目(行)且确定任何匹配条目是否指示所述装置遵循厂商或产品特定充电协议(即,启用列C“充电?”)。如果数据库200中不存在VID/PID匹配,那么方法400可从步骤410前进到步骤412且可尝试使用标准USB充电协议对新附接装置充电。类似地,如果数据库200中存在VID/PID匹配,但未启用匹配行的“充电?”列,那么方法400可从步骤410前进到步骤412且可尝试使用标准USB充电协议对新附接装置充电。如果数据库200中存在VID/PID匹配且启用匹配行的“充电?”列,那么方法400可前进到步骤414。
在步骤414处,USB集线器100可确定匹配数据库条目是否指示定制电握手充电协议。在图2中所描绘的实例中,“充电类型”列中的零(0)可指示定制电握手充电协议(例如,行2),而“充电类型”列中的一(1)可指示定制消息基握手充电协议(例如,行3)。根据此实施例,如果USB集线器100在步骤414处确定“充电类型”被设置为零(0)(其指示定制电握手),那么方法400可前进到步骤418。如果USB集线器100在步骤414处替代地确定“充电类型”被设置为一(1)(其指示定制消息基握手),那么方法400可前进到步骤416。
在步骤416处,USB集线器100可使用定制消息基握手协议对新附接装置充电。在某些实施例中,此协议的细节可作为“消息基握手规范”(例如,行3)保存在数据库200中的“充电规范”列中。消息基握手规范可包括描述由USB组件实施的定制消息基握手协议的指令、描述符或多个指令/描述符。所需指令/描述符的数目可为实施方案相依的且可基于受USB集线器100支持的装置的数目而变化。控制处理器106可操作以对任何受支持装置的消息基握手规范解码且可使用所述信息来控制下游端口上的协议。以此方式,USB集线器100可实施最优厂商或产品特定的消息基握手充电协议。
在步骤418处,USB集线器100可使用定制电握手协议(例如通过设置下游端口的特定电阻、电压或电流)对新附接装置充电。在某些实施例中,此协议的细节可作为“电发信规范”(例如,行3)保存在数据库200中的“充电规范”列中。电发信规范可包括描述由USB组件实施的定制电握手协议的指令、描述符或多个指令/描述符。所需指令/描述符的数目可为实施方案相依的且可基于受USB集线器100支持的装置的数目而变化。控制处理器106可操作以对任何受支持装置的电发信规范解码且可使用所述信息来控制下游端口上的协议。以此方式,USB集线器100可实施最优厂商或产品特定的电握手充电协议。
数据安全性
在安全设施中,安全数据的盗窃是主要担忧。用来连接键盘、鼠标或打印机的USB端口还可用来连接存储装置,其中可在极短时间内下载大量数据。为禁止未经授权的数据存取,USB集线器100的某些实施例可实施数据安全性特征。例如,USB集线器100可确定装置例如是键盘、鼠标还是存储装置。USB集线器100可在枚举期间通过查看所述装置的类别而获得此信息。USB集线器100接着可选择性地阻断存储装置,使得数据不可传送到存储装置。在某些实施例中,USB集线器100可通过暂停连接过程而阻断存储装置,使得不完全枚举所述装置。在其它实施例中,USB集线器100可通过强制进行拆卸事件而阻断存储装置。在又其它实施例中,USB集线器100可通过强制连接而以极低速度通信而阻断存储装置。虽然此后一特征不可完全阻断连接,但其可通过不允许在短时间段内下载大量数据而提供数据安全性。USB集线器100可在存储装置尝试连接时实施这些不同阻断方案。在相同或不同实施例中,可阻断所有打印机类别装置。在相同或又其它实施例中,可阻断具有批量输出(BULKOUT)端点(即,传出数据)的所有装置。因此,USB集线器100可通过阻断来自潜在危险的装置类型的连接而提供数据安全性。相反地,USB集线器100可允许键盘或鼠标装置正常地枚举及操作。
在其它实施例中,USB集线器100可通过充当USB到USB网桥而提供数据安全性。例如,在装置尝试连接到USB集线器100的下游端口116a到116d中的一个时,USB集线器100可确定尝试连接的装置的类型。在此实施例中,USB集线器100可阻断除键盘及鼠标以外的所有装置。在键盘或鼠标尝试连接到下游端口116a到116b中的一个时,USB集线器100可将所述端口分别枚举为仿真键盘或仿真鼠标。在此案例中,控制处理器106可实施仿真USB键盘或USB鼠标的软件,且USB集线器100接着可管理上游主机端口与键盘/鼠标装置之间的业务,而所述主机或所述装置不知道USB到USB网桥。例如,控制处理器106可控制多路复用器/解多路复用器114a到114d以致使从所述装置发送到所述主机的数据被引导到控制处理器106而非USB集线器核心102。类似地,控制处理器106将能够经由上游端口104从所述主机接收发射。通过仿真鼠标/键盘装置,控制处理器106可仅允许安全数据业务。因此,数据业务可为单向的且双向业务可被所述网桥终止。根据某些实施例,可由USB到USB网桥阻断可需要特殊驱动器的新一代装置的特殊模式或功能。
图5说明根据本公开的某些实施例的用于在USB集线器中提供增强数据存储安全性的实例方法500的流程图。根据一个实施例,方法500优选地开始于步骤502处。如上所述,本公开的教示可以USB集线器100的各种配置实施。因而,方法500的优选初始化点及构成方法500的步骤502到526的顺序可取决于所选择的实施方案。
在步骤502处,可初始化USB集线器100。例如,可使USB集线器100通电(经由电源或到USB主机的连接),且可初始化USB集线器核心102。在步骤504处,USB集线器100可连续地检验以确定下游装置是否已附接到例如下游端口116a到116d中的一个。如果尚未附接下游装置,那么USB集线器100可返回到步骤504且以此方式继续直到检测到下游装置为止。在检测到下游装置连接后,USB集线器100就可在步骤506处连接到检测到的装置且可在步骤508处枚举所述装置。在枚举期间,USB集线器100可读取新附接装置的VID、PID及装置类别。
在步骤510处,USB集线器100可例如通过检验配置表300中的“数据安全性?”值而确定是否启用数据安全性特征。如果不启用“数据安全性?”值,那么方法500可前进到步骤512且根据标准USB协议枚举所述装置。如果启用“数据安全性?”值,那么方法500可前进到步骤514且例如通过检验配置表300中的“数据安全性等级2?”值而确定是否启用数据安全性等级2特征(即,USB到USB网桥特征)。如果不启用,那么方法500可前进到步骤516且可确定尝试附接到USB集线器100的装置是否为应由数据安全性特征阻断的类别或类型。在一个实施例中,USB集线器100可使用配置表300中的“数据安全性规范”值(DS_Specification)来确定在启用数据安全性特征时应阻断哪些类别或类型的装置。例如但不限于,DS_Specification可含有应被阻断的装置类别(例如,大容量存储装置、打印机等)或装置类型(例如,具有批量输出端点的装置等)的列表。
方法500可使用DS_Specification中的此信息以在步骤516处确定是否应阻断尝试连接到USB集线器100的装置。如果尝试连接到USB集线器100的装置不属于DS_Specification中所列出的那些装置,那么方法500可前进到步骤512且根据标准USB协议枚举所述装置。否则,方法500可前进到步骤518且确定数据安全性特征是否实施上文所描述的“低速”阻断特征。在某些实施例中,在DS_Specification配置值中提供此配置选项(连同应被阻断的装置类别/类型)。在替代实施例中,配置表300可含有单独“低速阻断?”配置选项。如果在步骤518处USB集线器100确定启用低速阻断特征,那么方法500可前进到步骤522,其中所述装置可枚举且可被配置为低速装置。如果在步骤518处USB集线器100确定不启用低速阻断特征,那么方法500前进到步骤520,其中可阻断装置连接。
返回到步骤514,如果USB集线器100确定启用等级2安全性特征,那么方法500可前进到步骤524且可确定尝试附接到USB集线器100的装置是否为应由等级2安全性特征阻断的类别或类型。方法500可在步骤524中以与关于步骤516所论述的方式类似的方式作出所述确定。如果USB集线器100确定应阻断尝试附接的装置,那么方法500可前进到步骤512,其中可阻断装置连接。否则,方法500可前进到步骤526,其中USB集线器100可建立USB到USB网桥(如上文所论述)。
厂商匹配
USB集线器100可提供偏好由一或多个厂商制造的装置的厂商匹配特征。例如,由优选厂商制造的装置可被赋予最高带宽连接或最多可用功率。相比之下,由非优选厂商制造的装置可被赋予较低带宽连接或较低功率连接。以此方式,由优选厂商提供的装置可表现为具有优越性能。
图6说明根据本公开的某些实施例的用于在USB集线器中提供增强厂商匹配的实例方法600的流程图。根据一个实施例,方法600优选地开始于步骤602处。如上所述,本公开的教示可以USB集线器100的各种配置实施。因而,方法600的优选初始化点及构成方法600的步骤602到616的顺序可取决于所选择的实施方案。
在步骤602处,可初始化USB集线器100。例如,可使USB集线器100通电(经由电源或到USB主机的连接),且可初始化USB集线器核心102。在步骤604处,USB集线器100可连续地检验以确定下游装置是否已附接到例如下游端口116a到116d中的一个。如果尚未附接下游装置,那么USB集线器100可返回到步骤604且以此方式继续直到检测到下游装置为止。在检测到下游装置连接后,USB集线器100就可在步骤606处连接到检测到的装置且可在步骤608处枚举所述装置。在枚举期间,USB集线器100可读取新附接装置的VID及PID。
在步骤610处,USB集线器100可例如通过检验配置表300中的“精选厂商?”值而确定是否启用精选厂商特征。如果不启用“精选厂商?”值,那么方法600可前进到步骤612且根据标准USB协议枚举所述装置。如果启用“精选厂商?”值,那么方法600可前进到步骤614且确定尝试连接的装置是否由精选厂商提供。根据一个实施例,USB集线器100可使用配置表300中的“精选厂商规范”值(VoC_Specification)来确定哪个(哪些)厂商是优选厂商。例如但不限于,VoC_Specification可含有对应于优选厂商的一或多个厂商ID(VID)的列表。在此实施例中,USB集线器100可简单地确定尝试连接的装置的VID是否匹配VoC_Specification列表中的VID。在替代实施例中,USB集线器100可通过以下操作而确定尝试连接的装置是否由优选厂商提供:搜索数据库200以寻找匹配VID/PID组合,且如果发现匹配,那么确定是否启用数据库200的匹配行中的“精选厂商?”列。如果在步骤614处USB集线器100确定所述装置是由优选厂商提供,那么方法600可前进到步骤612且根据标准(或增强-例如,更大功率等)USB协议枚举所述装置。如果在步骤614处USB集线器100确定所述装置并非由优选厂商提供,那么方法600可前进到步骤616且可运用次优功率及/或速度配置枚举所述装置。在一个实施例中,配置表300中的VoC_Specification提供应指派给由非优选厂商提供的装置的设置(例如,是否运用次优功率、速度或两者配置所述装置)。
装置认证
USB集线器100可提供防止装置在无适当凭据的情况下附接到上游USB主机的装置认证特征。在一个实施例中,在装置尝试附接到USB集线器100时,USB集线器100可利用USB主机栈+迷你调度器+消息管道108且可枚举所述装置,USB集线器100作为USB主机连接到所述装置。在此实施例中,USB集线器100可初始化包括认证质询的事务。如果所述装置对认证质询不作出响应或不正确地响应,那么USB集线器100可阻断连接。在一些实施例中,USB集线器100可经配置以在所述装置对第一质询不正确地响应的情况下发出多于一个认证质询。
图7说明根据本公开的某些实施例的用于在USB集线器中提供增强装置认证的实例方法700的流程图。根据一个实施例,方法700优选地开始于步骤702处。如上所述,本公开的教示可以USB集线器100的各种配置实施。因而,方法700的优选初始化点及构成方法700的步骤702到718的顺序可取决于所选择的实施方案。
在步骤702处,可初始化USB集线器100。例如,可使USB集线器100通电(经由电源或到USB主机的连接),且可初始化USB集线器核心102。在步骤704处,USB集线器100可连续地检验以确定下游装置是否已附接到例如下游端口116a到116d中的一个。如果尚未附接下游装置,那么USB集线器100可返回到步骤704且以此方式继续直到检测到下游装置为止。在检测到下游装置连接后,USB集线器100就可在步骤706处连接到检测到的装置且可在步骤708处枚举所述装置。在一个实施例中,USB集线器100可利用USB主机栈+迷你调度器+消息管道108来枚举所述装置,使得USB集线器100作为USB主机连接到所述装置。在枚举期间,USB集线器100可读取新附接装置的VID及PID。
在步骤710处,USB集线器100可确定新附接装置是否需要认证。例如,可将VID/PID提供到控制处理器106,且控制处理器106可询问数据库200以确定其是否含有匹配新附接装置的VID/PID的条目(行)且确定任何匹配条目是否指示所述装置需要认证(即,启用列G“需要认证?(Auth Req'd?)”)。如果数据库200中不存在VID/PID匹配,那么方法700可从步骤710前进到步骤712且可允许所述装置以上文关于USB集线器100已作为USB主机连接到所述装置的实例所论述的任何方式连接到上游USB端口104。如果USB集线器100在步骤710处确定数据库200中存在VID/PID匹配,那么方法700可从步骤710前进到步骤714。
在步骤714处,USB集线器100可将认证质询发出到所述装置。认证质询可采取所属领域的技术人员已知的任何数目种形式且一般可以数据库200中对应于新附接装置的VID/PID的认证规范(列H)予以定义。例如,认证规范可指示所述装置应运用特定pin码或密码对认证质询作出响应。在其它实施例中(即,USB集线器100连接到因特网),认证规范可提供更复杂的认证方法,包含但不限于远程认证等。
在步骤716处,USB集线器100可确定所述装置是否已对认证质询正确地响应。如果所述装置提供正确响应,那么方法700可从步骤716前进到步骤712且可允许所述装置以上文关于USB集线器100已作为USB主机连接到所述装置的实例所论述的任何方式连接到上游USB端口104。如果所述装置提供不正确响应,那么USB集线器100可尝试通过返回到步骤714(虚线720)而重新发出所述质询,前提是认证规范允许重试。否则,方法700可前进到步骤718且所述装置不被允许在上游端口104处连接到USB主机。
数据捕捉/调试
USB集线器100可提供数据捕捉及/或调试特征。例如,USB集线器100可经编程以按某种方式对某些USB业务作出响应。替代地或另外,USB集线器100可经编程以将来自一个下游端口的业务反映到另一下游端口。
根据一个实施例,USB集线器100可提供对某些类型的USB业务的自动响应。USB集线器100可例如通过检验配置表300中的“自动响应?”值而确定是否启用自动响应特征。在一个实施例中,USB集线器100可使用配置表300中的“自动响应规范”值(AR_Specification)来确定哪些事务需要自动响应及应作出什么响应。例如但不限于,AR_Specification可含有下游端口、应针对某些类型的业务进行监控的装置类别(例如,大容量存储装置、打印机等)或装置类型(例如,具有批量输入(BULK IN)端点的装置等)的列表。类似地,AR_Specification可含有应接收自动响应的业务类型(例如,批量输入包、控制读取等)的列表。此外,AR_Specification可提供USB集线器100应在遭遇指定业务时提供的响应。作为非限制性实例,AR_Specification可指定下游端口116c上的批量输入事务的数据阶段应接收NAK握手。在此实例中,USB集线器100可监控下游端口116c,且在所述装置传送批量输入数据之后,USB主机100可致使多路复用器/解多路复用器114c将NAK握手而非原本将从上游主机发射(经由多路复用器/解多路复用器114c输入端,其经由信号110c连接到USB集线器核心102)的响应从控制处理器106传递到下游端口116c。通过控制多路复用器/解多路复用器114a到114d,USB控制处理器106可在任一方向上(即,上游或下游)提供自动响应。
根据相同或替代实施例,USB集线器100可将数据反映从一个下游端口提供到另一下游端口(根据USB规范,将源于上游端口104处的所有业务广播到所有下游装置)。USB集线器100可例如通过检验配置表300中的“数据反映?”值而确定是否启用数据反映特征。在一个实施例中,USB集线器100可使用配置表300中的“数据反映规范”值(DR_Specification)来确定哪些事务需要数据反映。例如但不限于,DR_Specification可包含下游端口、数据应被反映的装置类别(例如,大容量存储装置、打印机等)或装置类型(例如,具有批量输入端点的装置等)的列表。此外,DR_Specification可指定数据应被反映到其上的目的地端口。
图8说明根据本公开的某些实施例的使用数据反映特征的USB集线器800中的实例数据反映的框图。在此实例中,DR_Specification可指定应将来自下游端口D的信号810反映为下游端口A上的信号812。通过控制多路复用器/解多路复用器814a及814d,USB控制处理器806可将数据反映(虚线)从信号810提供到信号812。同时,经由连接816将下游端口D上的发信810传递通过到USB集线器核心802(且随后传递到上游端口818)。根据此实施例,下游端口A可连接到能够监控经反映数据的装置,例如用于调试或其它目的。
在替代实施例中,可经由USB集线器800上的物理输入端控制数据反映。在此类实施例中,控制处理器可包括连接到物理开关的通用I/O引脚。与DR_Specification类似,这些物理开关可指定以下项中的一或多个:(1)是否启用数据反映;及(2)数据反映特征的源端口及目的地端口。例如,本公开的4端口集线器实施例(例如图8中所展示)可提供物理“DR通/断”按钮、4位置“DR源”开关及4位置“DR目的地”开关。USB集线器800的用户可将“DR源”开关设置到下游端口D且将“DR目的地”开关设置到下游端口A且可通过将“DR通/断”开关转到通位置而启用数据反映。在运用这些设置的情况下,USB集线器800将如关于图8所描述般表现为:来自下游端口D的数据将被反映到下游端口A。本公开的某些实施例可组合物理开关的使用连同DR_Specification以提供数据反映特征的各种水平的物理控制对软件控制。
角色切换
FlexConnect是Microchip USB集线器所特有的特征。此特征允许所述集线器动态地改变充当上游端口及下游端口的物理端口。此允许系统设计者开发充当USB主机及USB装置的产品而无需两个专用连接器。此还允许在一个端口上具有此能力的系统扩展通过FlexConnect集线器连接到所述端口的装置。在全文以引用方式并入本文中的MicrochipApplication Note AN1700中进一步描述Microchip的FlexConnect特征。当前,FlexConnect特征要求所述装置及所述主机两者是FlexConnect感知的。
USB集线器100可实施允许连接到USB集线器100的FlexConnect装置切换角色且充当USB主机的角色切换特征,其中连接到USB集线器100的上游端口104的USB主机不是FlexConnect感知的或其中上游USB主机是不存在的。
图9说明根据本公开的某些实施例的用于在USB集线器中提供增强角色切换的实例方法900的流程图。根据一个实施例,方法900优选地开始于步骤902处。如上所述,本公开的教示可以USB集线器100的各种配置实施。因而,方法900的优选初始化点及构成方法900的步骤902到918的顺序可取决于所选择的实施方案。
在步骤902处,可初始化USB集线器100。例如,可使USB集线器100通电(经由电源或到USB主机的连接),且可初始化USB集线器核心102。在步骤904处,USB集线器100可连续地检验以确定下游装置是否已附接到例如下游端口116a到116d中的一个。如果尚未附接下游装置,那么USB集线器100可返回到步骤904且以此方式继续直到检测到下游装置为止。在检测到下游装置连接后,USB集线器100就可在步骤906处连接到检测到的装置且可在步骤908处枚举所述装置。USB集线器100可利用USB主机栈+迷你调度器+消息管道108以枚举所述装置,使得USB集线器100作为USB主机连接到所述装置。在枚举期间,USB集线器100可读取新附接装置的VID及PID。
在步骤910处,USB集线器100可确定新附接装置是否为FlexConnect感知的。例如,可将VID/PID提供到控制处理器106,且控制处理器106可询问数据库200以确定其是否含有匹配新附接装置的VID/PID的条目(行)且确定任何匹配条目是否指示所述装置是FlexConnect感知的(即,启用列I“Flex Connect?”)。如果数据库200中不存在VID/PID匹配,那么方法900可从步骤910前进到步骤912且可允许所述装置以上文关于USB集线器100已作为USB主机连接到所述装置的实例所论述的任何方式连接到上游USB端口104。如果USB集线器100在步骤910处确定数据库200中存在VID/PID匹配且所述匹配指示FlexConnect感知装置,那么方法900可从步骤910前进到步骤914。
在步骤914处,USB集线器100可确定FlexConnect感知装置希望变为USB主机。例如,USB集线器100可初始化控制读取事务且确定角色切换应基于由所述装置提供的响应而执行。在某些实施例中,所述装置可经配置以总是致使角色切换。在其它实施例中,所述装置可包含用户接口,使得所述装置的用户可请求所述装置变为USB主机。例如,所述装置可为连接到USB集线器100的智能手机,其中汽车信息娱乐系统的头端单元作为USB主机连接到USB集线器100的上游端口104。智能手机可向用户呈现开关,使得用户可选择从智能手机控制信息娱乐系统。如果在步骤914处方法900确定无需角色切换,那么方法900可从步骤910前进到步骤912且可允许所述装置以上文关于USB集线器100已作为USB主机连接到所述装置的实例所论述的任何方式连接到上游USB端口104。
如果在步骤914处方法900确定需要角色切换,那么方法900可前进到步骤916。在步骤916处,USB集线器100可致使当前USB主机(如果存在)切换到装置模式。例如,USB集线器100可使用USB OTG主机协商协议或会话请求协议来初始化方向改变。替代地,USB集线器100可将指示USB主机应切换角色的包发送到所述主机。在步骤918处,USB集线器可致使新附接装置切换到主机模式。例如,USB集线器100可使用USB OTG主机协商协议或会话请求协议或Microchip FlexConnect协议来初始化方向改变。替代地,USB集线器100可将指示角色切换的包发送到所述装置。在步骤918处,USB集线器100还可通知所述装置其可汲取多少功率用于电池充电。新主机可枚举总线上的所有装置,使得其可控制所述装置。在包含智能手机及汽车信息娱乐系统的先前实例中,此角色切换可允许智能手机控制信息娱乐系统,例如在汽车中播放音乐、调整音量等。在新主机(例如,智能手机)断接的情况下,USB集线器100可通知旧主机(如果存在)切换角色且再次充当USB主机。
尽管图4到7及9公开关于其中所描绘的方法而采取的特定数目个步骤,但所述方法可以比所描绘步骤更多或更少的步骤执行。另外,尽管图4到7及9公开关于此处所描绘的方法而采取的特定顺序的步骤,但所述步骤可以任何合适顺序完成。
在使用本文中所公开的方法及系统的情况下,可提供一种可提供增强电池充电、数据存储安全性、厂商匹配、装置认证、数据捕捉/调试及角色切换而无需改变操作系统或USB栈/驱动器的USB集线器。
尽管已详细地描述本公开,但应理解,在不脱离如由所附权利要求书所界定的本公开的精神及范围的情况下可对本公开作出各种改变、替换及变动。

Claims (3)

1.一种用于在USB集线器中提供厂商装置偏好的方法,所述USB集线器包含多个集线器下游端口及运行USB主机栈代码的处理器,所述方法包括:
所述处理器检测USB装置耦合到所述多个集线器下游端口中的第一个;
所述处理器枚举所述USB装置;
所述处理器从所述USB装置获得产品ID PID及厂商IDVID;
所述处理器使用所述PID及所述VID来确定所述USB装置不是来自优选厂商;及
一旦所述处理器确定所述USB装置不是来自优选厂商,就致使所述USB装置运用次优配置枚举;
其中所述次优配置是以下项中的一或多个:次优功率配置及次优速度配置。
2.一种USB集线器,其包括:
集线器上游端口;
多个集线器下游端口;
处理器;
存储器,其以通信方式耦合到所述处理器用于存储USB主机栈代码及多个配置参数;
USB集线器核心,其具有核心上游端口及多个核心下游端口,所述USB集线器核心可操作以实施所述核心上游端口与所述多个核心下游端口之间的USB集线器接口;及
多个多路复用器,每一多路复用器具有:
第一端口,其以通信方式耦合到所述集线器下游端口中的一个,
第二端口,其以通信方式耦合到所述多个核心下游端口中的一个,
第三端口,其以通信方式耦合到所述处理器,及
选择输入端,其以通信方式耦合到所述处理器且可操作而以通信方式耦合所述第一端口与所述第二端口、所述第三端口或所述第二端口及所述第三端口两者;
其中所述处理器经配置以:
检测USB装置何时耦合到所述多个集线器下游端口中的第一个;
控制对应于所述第一集线器下游端口的第一多路复用器的所述选择输入端,使得所述第一端口连接到所述第三端口;
运行所述USB主机栈代码以枚举所述USB装置;
从所述USB装置获得产品ID PID及厂商IDVID;
使用所述PID及所述VID来确定所述USB装置不是来自优选厂商;及
基于确定所述USB装置不是来自优选厂商,致使所述USB装置运用次优配置枚举;
其中所述次优配置是以下项中的一或多个:次优功率配置及次优速度配置。
3.根据权利要求2所述的USB集线器,其中在枚举所述USB装置之后,所述处理器经进一步配置以致使由耦合到所述集线器上游端口的上游USB主机枚举所述USB装置。
CN202110942412.7A 2015-04-28 2016-04-03 通用串行总线智能集线器 Pending CN113609050A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/698,428 2015-04-28
US14/698,428 US9804977B2 (en) 2015-04-28 2015-04-28 Universal serial bus smart hub
CN201680024554.2A CN107533529B (zh) 2015-04-28 2016-04-03 通用串行总线智能集线器

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201680024554.2A Division CN107533529B (zh) 2015-04-28 2016-04-03 通用串行总线智能集线器

Publications (1)

Publication Number Publication Date
CN113609050A true CN113609050A (zh) 2021-11-05

Family

ID=55861156

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202110942412.7A Pending CN113609050A (zh) 2015-04-28 2016-04-03 通用串行总线智能集线器
CN201680024554.2A Active CN107533529B (zh) 2015-04-28 2016-04-03 通用串行总线智能集线器

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201680024554.2A Active CN107533529B (zh) 2015-04-28 2016-04-03 通用串行总线智能集线器

Country Status (7)

Country Link
US (2) US9804977B2 (zh)
EP (1) EP3289469B1 (zh)
JP (1) JP2018514871A (zh)
KR (1) KR20170140267A (zh)
CN (2) CN113609050A (zh)
TW (2) TWI701549B (zh)
WO (1) WO2016175983A1 (zh)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9841904B2 (en) * 2015-03-02 2017-12-12 Samsung Electronics Co., Ltd. Scalable and configurable non-volatile memory module array
US9804977B2 (en) 2015-04-28 2017-10-31 Microchip Technology Incorporated Universal serial bus smart hub
US10468893B2 (en) * 2015-08-19 2019-11-05 Delta Electronics, Inc. USB charging method having protection function
TWI597608B (zh) * 2016-08-12 2017-09-01 The hub-to-bus converter that supports master-slave translation operates as a hub
US10572644B2 (en) 2017-01-26 2020-02-25 Microsoft Technology Licensing, Llc Interacting with a computing device via identity-bearing peripheral devices
JP6625076B2 (ja) 2017-01-30 2019-12-25 株式会社日立製作所 Usb中継装置を用いたusb管理システム及びusb管理方法
US10725939B2 (en) * 2017-02-13 2020-07-28 Microchip Technology Incorporated Host-detecting USB hub
US10331604B2 (en) * 2017-05-17 2019-06-25 Microchip Technology Incorporated USB host-to-host auto-switching
US10231273B2 (en) * 2017-06-02 2019-03-12 GM Global Technology Operations LLC Vehicle wireless device connection management with switchover of primary connected device
CN107453428B (zh) * 2017-08-08 2019-05-17 天津瑞发科半导体技术有限公司 一种自动识别苹果和安卓设备的方法
TWI634428B (zh) * 2017-10-20 2018-09-01 致伸科技股份有限公司 集線裝置
CN109709833A (zh) * 2017-10-25 2019-05-03 致伸科技股份有限公司 集线装置/ hub
US10684972B2 (en) * 2017-12-29 2020-06-16 Barco Nv Method and system for making functional devices available to participants of meetings
CN108268398A (zh) * 2018-02-01 2018-07-10 百度在线网络技术(北京)有限公司 用于操作外围设备的方法、设备和计算机可读存储介质
JP6808666B2 (ja) * 2018-02-20 2021-01-06 Jmacs株式会社 認証デバイスおよびこれを備えるデバイス管理システム
US20210048850A1 (en) * 2018-04-17 2021-02-18 Hewlett-Packard Development Company, L.P. Firmware setup menu options for docking stations
JP6540980B1 (ja) * 2018-05-29 2019-07-10 レノボ・シンガポール・プライベート・リミテッド 情報処理装置、制御方法、及びプログラム
CN109063459A (zh) * 2018-07-17 2018-12-21 北京云智信安科技有限公司 一种usb设备过滤装置和方法
US11068613B2 (en) * 2018-08-07 2021-07-20 Dell Products L.P. Differentiating and managing identical USB devices
US20200078113A1 (en) 2018-09-07 2020-03-12 Ethicon Llc Port presence detection system for modular energy system
US11896279B2 (en) 2018-09-07 2024-02-13 Cilag Gmbh International Surgical modular energy system with footer module
US11923084B2 (en) 2018-09-07 2024-03-05 Cilag Gmbh International First and second communication protocol arrangement for driving primary and secondary devices through a single port
US11804679B2 (en) 2018-09-07 2023-10-31 Cilag Gmbh International Flexible hand-switch circuit
US10635618B2 (en) 2018-09-17 2020-04-28 2236008 Ontario Inc. Modifying a configuration of a port hub
CN111522762B (zh) * 2019-02-02 2022-03-29 智微科技股份有限公司 传输接口电路
US11016919B2 (en) * 2019-02-22 2021-05-25 Seagate Technology Llc Intelligent switching peripheral connector
US11743665B2 (en) 2019-03-29 2023-08-29 Cilag Gmbh International Modular surgical energy system with module positional awareness sensing with time counter
IT201900005822A1 (it) 2019-04-15 2020-10-15 Phoenix Ict S R L S Adattore di periferiche general purpose per computer
US11599641B2 (en) * 2019-04-24 2023-03-07 Crowdstrike, Inc. Firmware retrieval and analysis
USD939545S1 (en) 2019-09-05 2021-12-28 Cilag Gmbh International Display panel or portion thereof with graphical user interface for energy module
US11169584B2 (en) * 2020-03-31 2021-11-09 Western Digital Technologies, Inc. Dual-connector storage system and method for simultaneously providing power and memory access to a computing device
CN112000374B (zh) * 2020-07-13 2024-01-02 深圳市智微智能软件开发有限公司 应用于安卓系统的usb触摸屏更换方法、装置、设备及介质
TWI749658B (zh) * 2020-07-22 2021-12-11 旺玖科技股份有限公司 具自動更新韌體功能的usb集線裝置及具有該usb集線裝置的主機系統
CN113971146B (zh) * 2020-07-22 2024-05-28 旺玖科技股份有限公司 具自动更新固件功能的usb集线装置及具有该usb集线装置的主机系统
KR102195564B1 (ko) * 2020-09-25 2020-12-28 조성호 데이터 복사 시스템 및 그 동작 방법
US11768529B2 (en) * 2021-01-12 2023-09-26 Siliconch Systems Pvt Ltd System and method for enabling power sharing in a multiport power sourcing device
KR20220124006A (ko) * 2021-03-02 2022-09-13 삼성전자주식회사 전원 공급 장치 및 전원 공급 장치의 전원 공급 제어 방법
US11950860B2 (en) 2021-03-30 2024-04-09 Cilag Gmbh International User interface mitigation techniques for modular energy systems
US11963727B2 (en) 2021-03-30 2024-04-23 Cilag Gmbh International Method for system architecture for modular energy system
US11857252B2 (en) 2021-03-30 2024-01-02 Cilag Gmbh International Bezel with light blocking features for modular energy system
US11978554B2 (en) 2021-03-30 2024-05-07 Cilag Gmbh International Radio frequency identification token for wireless surgical instruments
US11980411B2 (en) 2021-03-30 2024-05-14 Cilag Gmbh International Header for modular energy system
US20220313369A1 (en) * 2021-03-30 2022-10-06 Cilag Gmbh International Method for intelligent instruments for modular energy system
US11968776B2 (en) 2021-03-30 2024-04-23 Cilag Gmbh International Method for mechanical packaging for modular energy system
US20220318179A1 (en) * 2021-03-30 2022-10-06 Cilag Gmbh International Intelligent data ports for modular energy systems
CN113839274B (zh) * 2021-08-10 2024-02-06 立讯精密工业股份有限公司 一种用于数码设备与vr、ar或mr设备之间的供电装置及供电方法
TWI802065B (zh) * 2021-10-29 2023-05-11 飛捷科技股份有限公司 可控制周邊裝置電源與訊號的通信介面轉接器、動態分配通信介面轉接器識別碼的方法及自動化診斷周邊裝置並修復問題的方法
TWI810032B (zh) * 2021-12-01 2023-07-21 威鋒電子股份有限公司 Usb積體電路、usb積體電路的操作方法及usb裝置
WO2023128219A1 (ko) * 2021-12-31 2023-07-06 삼성전자 주식회사 외부 전자 장치들과의 연결을 제어하기 위한 전자 장치 및 방법

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1901492A (zh) * 2005-07-08 2007-01-24 美国博通公司 一种通过网络中的总线接口进行通信的方法和系统
EP1775652A1 (en) * 2005-10-13 2007-04-18 Research In Motion Limited Apparatus and method to support USB enumeration of a BUS powered handheld device
CN1976310A (zh) * 2005-07-08 2007-06-06 美国博通公司 在网络中通过总线接口进行通信的方法和系统
CN101317165A (zh) * 2005-09-30 2008-12-03 赛普拉斯半导体公司 简化通用串行总线(usb)集线器体系结构
US20090248904A1 (en) * 2008-03-25 2009-10-01 Seiko Epson Corporation USB host, control method thereof, computer program, USB hub and USB device
CN101622612A (zh) * 2007-03-02 2010-01-06 密克罗奇普技术公司 在不使用额外状态输入的情况下检测到通用串行总线主机或集线器的连接
US20100217911A1 (en) * 2009-02-20 2010-08-26 Sisto John F Serial Bus Hub with Low Power Devices
US20100235655A1 (en) * 2009-01-13 2010-09-16 Tauscher Brian E Method and apparatus for implementing a limited functionality embedded universal serial bus (USB) host controller on a fully functional downstream USB port
CN103019355A (zh) * 2011-12-07 2013-04-03 威盛电子股份有限公司 充电装置及其充电方法
CN103154922A (zh) * 2010-08-30 2013-06-12 高通股份有限公司 虚拟usb复合装置枚举
US20130346660A1 (en) * 2012-06-25 2013-12-26 Piotr Kwidzinski Usb device control using endpoint type detection during enumeration
US20140047141A1 (en) * 2012-03-29 2014-02-13 Bahareh Sadeghi Buffer-related usb communication
CN103959592A (zh) * 2011-10-08 2014-07-30 高通股份有限公司 电源适配器和使电力适配于电子设备的方法
US20140365690A1 (en) * 2013-06-11 2014-12-11 Apple, Inc. Methods and apparatus for reliable detection and enumeration of devices
US20150089092A1 (en) * 2013-09-26 2015-03-26 Unwired Technology Llc Flexible mobile device connectivity to automotive systems with usb hubs

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5845329A (en) 1993-01-29 1998-12-01 Sanyo Electric Co., Ltd. Parallel computer
US5675813A (en) 1995-10-26 1997-10-07 Microsoft Corporation System and method for power control in a universal serial bus
US5983327A (en) 1995-12-01 1999-11-09 Nortel Networks Corporation Data path architecture and arbitration scheme for providing access to a shared system resource
US5784581A (en) 1996-05-03 1998-07-21 Intel Corporation Apparatus and method for operating a peripheral device as either a master device or a slave device
KR100189781B1 (ko) 1996-05-07 1999-06-01 윤종용 디스플레이 장치 및 그의 전원공급제어방법
US6119190A (en) 1996-11-06 2000-09-12 Intel Corporation Method to reduce system bus load due to USB bandwidth reclamation
US6308239B1 (en) 1996-11-07 2001-10-23 Hitachi, Ltd. Interface switching apparatus and switching control method
US6205501B1 (en) 1998-01-07 2001-03-20 National Semiconductor Corp. Apparatus and method for handling universal serial bus control transfers
US6408351B1 (en) 1998-03-31 2002-06-18 Compaq Computer Corporation Host modem having a peripheral codec powered by a peripheral bus
JP2000076038A (ja) 1998-08-28 2000-03-14 Matsushita Electric Ind Co Ltd Usbハブ回路及びディスプレイ装置
GB2350212B (en) 1999-02-09 2003-10-08 Adder Tech Ltd Data routing device and system
US6601109B1 (en) 1999-03-31 2003-07-29 International Business Machines Corporation USB-based networking and I/O hub
JP2000316006A (ja) 1999-04-28 2000-11-14 Nec Corp バスマネージャ機能自動切換対応ノード、移動端末、及び、移動端末システム
GB9909849D0 (en) 1999-04-28 1999-06-23 Adder Tech Ltd Usb switching device and system
US6704824B1 (en) 1999-07-27 2004-03-09 Inline Connection Corporation Universal serial bus adapter with automatic installation
FR2799288B1 (fr) 1999-09-23 2005-02-25 Ibm Systeme de communication sans fil utilisant un bus serie universel (usb)
US6957287B2 (en) 2001-11-09 2005-10-18 Aten International Co., Ltd. Asynchronous/synchronous KVMP switch for console and peripheral devices
JP2003256351A (ja) 2002-03-04 2003-09-12 Yamaha Corp Usbハブ
KR20040008365A (ko) 2002-07-18 2004-01-31 삼성전자주식회사 디스플레이 장치 및 방법
US6732218B2 (en) 2002-07-26 2004-05-04 Motorola, Inc. Dual-role compatible USB hub device and method
AU2003901297A0 (en) 2003-03-20 2003-04-03 Silverbrook Research Pty Ltd Systems and apparatus (fpd001)
EP1654819B1 (en) 2003-08-15 2013-05-15 Napatech A/S A data merge unit, a method of producing an interleaved data stream, a network analyser and a method of analysing a network
US7073010B2 (en) 2003-12-02 2006-07-04 Super Talent Electronics, Inc. USB smart switch with packet re-ordering for interleaving among multiple flash-memory endpoints aggregated as a single virtual USB endpoint
US20060056401A1 (en) 2004-09-14 2006-03-16 Standard Microsystems Corporation Peripheral sharing USB hub
US20060059293A1 (en) 2004-09-14 2006-03-16 Henry Wurzburg Universal serial bus switching hub
US20060227759A1 (en) 2004-09-14 2006-10-12 Bohm Mark R Peripheral Sharing USB Hub
JP2006127252A (ja) 2004-10-29 2006-05-18 Fujitsu Component Ltd 切替機、切替方法及びプログラム
US7346728B1 (en) 2005-04-18 2008-03-18 Intel Corporation Method and apparatus for a hub capable of being self-powered for use in a USB-compliant system
US7246189B2 (en) 2005-11-18 2007-07-17 Vetra Systems Corporation Method and apparatus for enhancing universal serial bus
US7523243B2 (en) 2006-04-14 2009-04-21 Standard Microsystems Corporation Multi-host USB device controller
US7478191B2 (en) 2006-04-14 2009-01-13 Standard Microsystems Corporation Method for automatically switching USB peripherals between USB hosts
KR101329014B1 (ko) * 2008-10-30 2013-11-12 삼성전자주식회사 휴대단말에서 스위칭 회로의 모드 제어 방법 및 장치
US8055919B2 (en) 2009-02-06 2011-11-08 Standard Microsystems Corporation Port power controller for USB hubs with legacy battery charge support
DE102009038760B3 (de) * 2009-08-27 2011-01-05 Wago Verwaltungsgesellschaft Mbh Verfahren zur Datenkommunikation zwischen einem Automatisierungsgerät und einem Datenverarbeitungsgerät sowie Schnittstellentreiberprogramm und Schnittstellenumsetzer hierzu
TWI498740B (zh) * 2010-05-05 2015-09-01 Genesys Logic Inc 通用串列匯流排充電系統及其充電方法
US20120105201A1 (en) * 2010-10-29 2012-05-03 Cisco Technology, Inc. Validating Sensor Data at a Property Sensor-Coordinating Entity
US9201480B2 (en) * 2010-12-23 2015-12-01 Standard Microsystems Corporation Method and system for determining an arbitrary charging protocol in USB charging ports
CN102064582B (zh) * 2010-12-28 2012-11-21 鸿富锦精密工业(深圳)有限公司 可对外供电的终端
US9958507B2 (en) * 2011-05-09 2018-05-01 Analog Devices, Inc. Channel verification of multiple channels on one chip
US8843770B2 (en) * 2011-10-31 2014-09-23 Smsc Holdings S.A.R.L. Device charging over USB using a plurality of handshakes
EP2602722B1 (en) * 2011-12-07 2020-04-08 VIA Technologies, Inc. USB charging module
CN103309835A (zh) * 2012-03-12 2013-09-18 祥硕科技股份有限公司 通用串行总线装置及其供电方法
JP2014115687A (ja) * 2012-12-06 2014-06-26 Canon Inc データ処理装置、データ処理装置の制御方法、及びプログラム
US9785595B2 (en) * 2013-09-09 2017-10-10 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Multi-channel universal serial bus (USB) to subrate channel systems
US9804977B2 (en) 2015-04-28 2017-10-31 Microchip Technology Incorporated Universal serial bus smart hub

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1976310A (zh) * 2005-07-08 2007-06-06 美国博通公司 在网络中通过总线接口进行通信的方法和系统
CN1901492A (zh) * 2005-07-08 2007-01-24 美国博通公司 一种通过网络中的总线接口进行通信的方法和系统
CN101317165A (zh) * 2005-09-30 2008-12-03 赛普拉斯半导体公司 简化通用串行总线(usb)集线器体系结构
EP1775652A1 (en) * 2005-10-13 2007-04-18 Research In Motion Limited Apparatus and method to support USB enumeration of a BUS powered handheld device
CN101622612A (zh) * 2007-03-02 2010-01-06 密克罗奇普技术公司 在不使用额外状态输入的情况下检测到通用串行总线主机或集线器的连接
US20090248904A1 (en) * 2008-03-25 2009-10-01 Seiko Epson Corporation USB host, control method thereof, computer program, USB hub and USB device
US20100235655A1 (en) * 2009-01-13 2010-09-16 Tauscher Brian E Method and apparatus for implementing a limited functionality embedded universal serial bus (USB) host controller on a fully functional downstream USB port
US20100217911A1 (en) * 2009-02-20 2010-08-26 Sisto John F Serial Bus Hub with Low Power Devices
CN103154922A (zh) * 2010-08-30 2013-06-12 高通股份有限公司 虚拟usb复合装置枚举
CN103959592A (zh) * 2011-10-08 2014-07-30 高通股份有限公司 电源适配器和使电力适配于电子设备的方法
CN103019355A (zh) * 2011-12-07 2013-04-03 威盛电子股份有限公司 充电装置及其充电方法
US20140047141A1 (en) * 2012-03-29 2014-02-13 Bahareh Sadeghi Buffer-related usb communication
US20130346660A1 (en) * 2012-06-25 2013-12-26 Piotr Kwidzinski Usb device control using endpoint type detection during enumeration
US20140365690A1 (en) * 2013-06-11 2014-12-11 Apple, Inc. Methods and apparatus for reliable detection and enumeration of devices
US20150089092A1 (en) * 2013-09-26 2015-03-26 Unwired Technology Llc Flexible mobile device connectivity to automotive systems with usb hubs

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
钱豪;: "USB设备枚举过程及代码设计", 电脑知识与技术, no. 19, 5 July 2010 (2010-07-05), pages 5269 - 5272 *

Also Published As

Publication number Publication date
EP3289469A1 (en) 2018-03-07
EP3289469B1 (en) 2021-11-10
JP2018514871A (ja) 2018-06-07
CN107533529A (zh) 2018-01-02
TWI757809B (zh) 2022-03-11
TW201706772A (zh) 2017-02-16
TWI701549B (zh) 2020-08-11
KR20170140267A (ko) 2017-12-20
US20180067875A1 (en) 2018-03-08
US9804977B2 (en) 2017-10-31
CN107533529B (zh) 2021-09-03
US20160321195A1 (en) 2016-11-03
US10282313B2 (en) 2019-05-07
TW202105123A (zh) 2021-02-01
WO2016175983A1 (en) 2016-11-03

Similar Documents

Publication Publication Date Title
CN107533529B (zh) 通用串行总线智能集线器
US9804859B2 (en) Re-enumeration of USB 3.0 compatible devices
US8171502B2 (en) Methods, devices and computer program products for automatically installing device drivers from a peripheral device onto a host computer
US9032107B2 (en) USB key and a method for communication between the USB key and a terminal
US20080126628A1 (en) Methods, devices and computer program products for automatically providing an alternate usb configuration of a usb compliant peripheral device for exposure to a host computer
US8650332B2 (en) Method for switching working mode, USB device, and host device
EP2821882B1 (en) Computer device and method for converting working mode of universal serial bus connector of the computer device
GB2484833A (en) Command based mode selection in USB devices
JP5129770B2 (ja) ネットワーク装置
US9569375B2 (en) Unifying class device interface with one host interface by using embedded controller
US9418033B2 (en) Using USB signaling to trigger a device to enter a mode of operation
WO2016058427A1 (zh) Usb无线网卡配置方法、主机、usb无线网卡及通信系统
WO2013189388A2 (zh) 一种接入usb网卡的方法、usb网卡及pc
WO2005116845A1 (ja) Usb機器
US20150032908A1 (en) Using usb signaling to trigger a device to enter a mode of operation
EP3413205A1 (en) Re-enumeration of usb 3.0 compatible devices
WO2018067139A1 (en) Usb device filtering
KR101592591B1 (ko) Usb 호스트 및 usb 디바이스 간의 전환이 가능한 멀티미디어 시스템

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