CN104823174A - Usb3.0兼容设备的重新列举 - Google Patents

Usb3.0兼容设备的重新列举 Download PDF

Info

Publication number
CN104823174A
CN104823174A CN201280074015.1A CN201280074015A CN104823174A CN 104823174 A CN104823174 A CN 104823174A CN 201280074015 A CN201280074015 A CN 201280074015A CN 104823174 A CN104823174 A CN 104823174A
Authority
CN
China
Prior art keywords
peripherals
main process
process equipment
equipment
usb
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.)
Granted
Application number
CN201280074015.1A
Other languages
English (en)
Other versions
CN104823174B (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.)
Cypress Semiconductor Corp
Original Assignee
Cypress Semiconductor Corp
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
Priority claimed from US13/632,084 external-priority patent/US8843664B2/en
Application filed by Cypress Semiconductor Corp filed Critical Cypress Semiconductor Corp
Publication of CN104823174A publication Critical patent/CN104823174A/zh
Application granted granted Critical
Publication of CN104823174B publication Critical patent/CN104823174B/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/382Information transfer, e.g. on bus using universal interface adapter
    • 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
    • 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)

Abstract

主机设备可以下载固件更新到之前使用该主机设备列举的***设备。主机设备可以响应从***设备接收的重新列举指示而执行与***设备的链路训练。链路训练可以包括将主机设备中的链路训练和状态机(LTSSM)从激活状态(U0)切换到RX.检测状态,且与处于RX.检测状态的***设备同步。在主机设备完成与***设备的链路训练之后,主机设备可以重新列举应用固件更新的***设备。

Description

USB3.0兼容设备的重新列举
相关申请
本申请是在2011年9月29日提交的美国专利申请第13/248,326号的部分连续,并且本申请要求该美国专利申请第13/248,326号的优先权益,其全部内容通过引用被并入。
技术领域
本公开内容涉及通用串行总线(USB)领域,且特别是涉及到与USB3.0可兼容的设备的重新列举。
背景
通用串行总线(USB)标准提供了用于个人电脑(PC)的通用接口,包括通用即插即用和相对容易使用。具体来说,当USB***设备被***到PC上的USB端口时,***将自动检测且自动配置***设备。USB***设备可包括的设备:诸如打印机、扫描仪、键盘、鼠标、操纵杆、数码相机、数码摄像机、数据采集设备、调制解调器、扬声器、电话或视频电话、诸如ZIP驱动器的存储设备、或任何其他***设备或计算设备。
在大多数情况下,没有任何用户干预。USB接口还省去了对用于***设备的多输入/输出(I/O)标准的需要,从而简化了用于消费者的PC连接以及简化了PC原始设备制造商(OEM)的制造。
原始的USB规范随着时间的推移已经发展到了满足工业的需求,产生了今天可以应用的三个版本。分别是USB 1.0(后来修改为USB 1.1)和USB 2.0的前两个版本是有线接口,因为它们使用在主机(例如个人电脑或PC)和USB***设备之间的线缆。虽然USB 1.1具有12兆比特/秒(Mb/s)的最高传输速度,但是如果多个多媒体设备联接到一个USB 1.1端口,则***性能可能会变得迟缓。USB 2.0传输速度增加到了480兆比特/秒,但保持向后兼容USB 1.1规范中限定的满速(12Mb/s)和低速(1.5Mb/s)的设备。USB 3.0具有高达5吉比特/秒的传输速度且向后兼容USB 2.0的设备。
虽然USB 3.0相对于之前的USB版本提供了许多改进,但是其实现方面可能未被明确定义,且可以被改进和/或扩展。例如,目前,在执行重新列举方面存在着不符合规范的方法。
附图说明
图1是根据实施例的连接到设备的通用串行总线(USB)主机***的框图。
图2是根据实施例引起主机执行设备的重新列举的方法的流程图。
图3是根据实施例通过主机执行设备的重新列举的方法的流程图。
图4A是带有主机设备的***的框图示例,所述主机设备具有用于***设备的更新的固件。
图4B是用于通过***设备的主机设备来进行重新列举的示例性操作流程图,该***设备的主机设备作为***设备的更新的固件的一部分。
图5A是具有主机设备选择的***的框图示例,所述主机设备选择关于***设备的类或配置。
图5B是用于通过***设备的主机设备来进行重新列举的示例性操作流程图,以便能够改变***设备的类或配置。
图6A是具有***设备的***的框图示例,所述***设备具有额外的端口功能。
图6B是用于通过***设备的主机设备进行重新列举的示例性操作流程图,以允许所述***告知主机设备关于***设备中的其他的功能。
图7A是具有发起类变化的***设备的***的框图示例。
图7B是用于通过***设备的主机设备进行重新列举的示例性操作流程图,以允许***设备发起类变化。
图8A是具有发起供电变化的***设备的***的框图示例。
图8B是用于通过***设备的主机设备进行重新列举的示例性操作流程图,以允许***设备发起供电变化。
图9A是***设备耦合到安全设备的框图示例。
图9B是响应于关于安全设备的验证而通过***设备的主机设备进行重新列举的示例性操作流程图。
详细描述
在说明书中引用“一个实施例(one embodiment)”或“实施例(embodiment)”指的是结合实施例描述的特定的特性、结构、或特征被包括在本发明的至少一个实施例中。位于该说明书中各处的短语“在一个实施例中”并不一定指的就是相同的实施例。
在以下详细的描述中,出于解释的目的,阐述了大量的具体的细节,以便提供对本申请的主题的全面理解。然而,对于本领域的技术人员而言,明显的是,所公开的实施例,所要求保护的主题和它们的等效体可以在不需要这些具体的细节的情况下进行实践。
详细的描述包括对附图的参考,附图构成本详细的描述的一部分。附图结合示例的实施例进行了示出说明。这些实施例(本文也称之为“示例”)进行了足够详细地描述以使本领域的技术人员能够实践本文所描述的所要求保护的主题的实施例。实施例可以被合并,其他的实施例可以被利用,可以做出对结构、逻辑和电气改变,而这并不脱离所要求保护的主题的范围和精神。以下详细的描述并非是以限制性的形式进行的,因为要被给予专利权的主题的范围是由所附权利要求和它们的等效体进行定义的。
本申请公开了通过USB 3.0兼容***设备的或超高速USB***设备的主机设备进行重新列举。这种重新列举可以遵循主机的状态的变化,例如,当主机已经下载了***设备的固件更新时或当主机希望允许***设备选择用于***设备的不同的类或配置时。在这些情形中,主机设备可以发布厂商命令以促使***设备发起通过主机设备进行的***设备的重新列举,且允许对使用固件更新的***设备进行重新配置,或响应于厂商命令在发起通过***设备进行重新列举过程之后执行新的类或配置的变化。重新列举过程也可以是***设备发起的,例如,当***设备通过接口端口添加新功能,希望改变服务类,或想要在自供电模式和总线供电模式之间切换时。不同的重新列举应用的实施例将在下文进行更详细的描述。
图1是根据实施例的连接到设备160的通用串行总线(USB)主机***100的框图。USB主机***100经总线150被耦合到设备160。总线150可包括USB线缆、PCB迹线、或其他的电气物理连接件。在其他的实施例中,总线150和设备160被配置为与2008年11月12日的通用串行总线3.0规范修订版1.0中指定的USB 3.0标准兼容,该修订版1.0也可以在http://www.usb.org/developers/docs中找到。
USB主机***100包括中央处理器120,以控制USB主机***100与设备160的通信。例如,中央处理器120可以引导USB主机***100通过总线150发布请求,同时通过跟踪输入数据中的同步位来同步来自总线150的输入数据,解码该输入数据,确定该输入数据是否被正确接收到,且当有必要时应答输入数据。在实施例中,中央处理器120是编程的处理器(如,中央处理单元)、硬接线、或固定功能逻辑部分。在其他的实施例中,中央处理器120具有不同的配置。
USB主机***100可以是减少功能的USB主机控制器,其能够执行USB规范中的一个或多个预编程功能的集合。例如,当USB主机***100并入到主机设备(诸如电池充电器)时,USB主机***100可包括允许主机设备经总线150对设备160(诸如,蜂窝电话、个人数字助理、数码相机、数码摄像机,等等)的电池充电的功能。在另一个示例中,USB主机***100可包括允许主机设备传送命令以开始设备160(诸如打印机、相机、鼠标、多个打印机、扫描仪、键盘、操纵杆、数据采集设备、调制解调器、扬声器、电话或视频电话、诸如ZIP驱动器的存储设备、或任何其他***设备)的操作的功能。
USB主机***100包括存储器110,以存储用于通过总线150传输到设备160的USB数据115。该USB数据115可由中央处理器120或由USB主机***100内部的或外部的另一个设备生成并存储在存储器110中。USB数据115可以具有允许USB主机***100将USB数据115从存储器110转移到总线150而不必执行对USB数据115的更改的格式。
USB主机***100包括耦合到总线150的USB物理接口140。USB接口140可以识别设备(如,设备160)何时经总线150耦合到USB主机***100,并将指示设备160经总线150耦合到USB主机***100的USB状态142提供给中央处理器120。总线150可具有2个状态:J状态和K状态。USB接口140,可以根据这些USB状态中的一个的存在,或根据USB状态的转换,识别设备160何时耦合到USB主机***100。
中央处理器120可以从存储器110接收USB数据115,如,响应于USB状态142,且引导USB主机***100提供总线150上的USB数据115。在一些实施例中,USB数据115可以是关于设备160的请求,或可以是从设备160接收的USB应答数据144的确认。USB数据115可以是可应用于通过总线150进行传输的完整的比特序列或基本完整的比特序列。例如,当USB数据115是完整的比特序列时,USB主机***100可以直接从存储器110检索USB数据115并将其通过总线150且不必对数据执行其他的处理而进行发送。当USB数据115是基本完整的比特序列时,USB主机***100可以直接从存储器110检索USB数据115,并对其进行很小的其他的处理(诸如,添加前导,等)通过总线150进行发送。
USB主机***100包括串行器/解串器130,以对输出数据执行串行化操作和对从总线150输入的数据执行解串行化操作。USB主机***100还可包括通用异步接收器和发射器(UART)170,以采样来自设备160的USB应答数据144。在一些实施例中,中央处理器120或USB主机***100中的其他设备可以采样来自设备160的USB应答数据144。UART 170可以过采样USB应答数据144,例如,使用4次过采样过程,以恢复并产生经采样的USB应答数据172。UART 170可以经串行器/解串器130将经采样的USB应答数据172提供给中央处理器120,以用于存储和处理。
当中央处理器120接收到指示USB***设备160被耦合到USB主机***100的USB状态142时,中央处理器120可以从存储器110检索预生成的(获得_设备_描述符)获得_设备_描述符请求,其是标准的USB请求。一旦预生成的获得_设备_描述符请求通过总线150提供给设备160,则设备160可以生成对预生成的获得_设备_描述符请求的应答。应答可以包括描述经总线150耦合到USB主机***100的设备类型的描述符。
USB主机***100可以在USB接口140接收应答作为USB应答数据144且将USB应答数据144提供给UART 170。UART 170可以采样USB应答数据144并将经采样的USB应答数据172经串行器/解串器130提供给中央处理器120,以用于存储和/或处理。在一些实施例中,UART 170可以过采样USB应答数据144,例如,使用4次过采样过程,以生成经采样的USB应答数据172。
中央处理器120可以引导USB主机***100提供对来自设备160的应答的确认。确认可以被存储在存储器110中作为预生成的USB数据115,其响应于从设备160接收到应答而被检索。在一些实施例中,在中央处理器120解析应答以识别描述符之前,确认通过总线150被发送到设备160。
中央处理器120可将经采样的USB应答数据172存储在存储器110中,而后,接着检索用于处理的经采样的USB应答数据172。中央处理器120可以解析经采样的USB应答数据172以确定USB应答数据144是否被USB主机***100正确接收。例如,中央处理器120可以执行循环冗余码校验(CRC)并将CRC的结果与在USB应答数据144中的CRC字段的内容进行比较。
根据USB 3.0协议中所指定的,USB 3.0可兼容的USB主机***100被配置为当被连接时检测设备160至少两次。重复检测使USB主机***100能够执行对设备160的重新列举,从而获得任何更新的设备配置数据。
设备160可以包括USB***设备且包括USB接口171。USB接口171可以指示设备160何时经总线150耦合到USB主机***100,并提供指示设备160经总线150耦合到USB主机***100的USB状态。
根据特定的配置和意图,设备160可以包括用于执行对设备160的操作的不同的组件。例如,设备可以是诸如键盘、定点设备(如,鼠标、光笔、操作杆、触摸屏、游戏设备,等等)的输入设备、成像设备(如,网络摄像机、摄录机、扫描仪,等等)、或音频设备(如,麦克风),以用于将数据和控制信号经设备处理器180提供给主机***100。从而,输入设备可以包括按钮、照相机、光学阅读器、或与设备处理器180通信的其他的组件。
在另一个示例中,设备160可以是输出设备,其将由主机***100完成的处理产生的输出传递给用户。例如,输出设备可包括扬声器、耳机、视频屏幕,等等,且可以包括与这些设备相关联的可操作的组件。在实施例中,这些可操作的组件可以与设备处理器180进行通信。
在另一个实施例中,设备160包括存储器190,其可以包括存储在其中的软件,其用于处理给USB主机***100的该当前设备配置数据,从而允许USB主机***100识别设备160。
虽然在模型中描述了处理器180和存储器190,但是要理解的是,一个组件或两个组件都可被包括在设备160中。在另一个实施例中,包括但不限于以上所述的这些的其他的组件也可以被包括作为设备160的一部分。
当主机(如,主机***100)被连接到设备(如,设备160)时,主机读取描述符以确定设备的性能,从而允许驱动器被下载到设备。在这方面,主机执行关于设备的列举协议。如果设备的配置描述符需要被改变或之前已经被改变,则主机执行设备的重新列举。为了引起主机执行设备的重新列举,设备将指示符传输给主机以引发主机链路训练和状态机(LinkTraining and Status State Machine,LTSSM)从激活状态(U0)移动到SS.非激活(SS.Inactive)和RX.检测(RX.Detect)中的一个。在实施例中,主机LTSSM在SS.非激活之后移动到RX.检测。在任何情况下,在RX.检测之后,主机LTSSM继续轮询而后到U0。
可以使用几个方法来引起主机执行重新列举。图2是根据实施例引起主机执行对设备的重新列举的方法200的流程图。在步骤202,设备开始U0状态。例如,设备(如,设备160)进入U0链路状态,其指示设备被激活。在U0状态中,设备和主机(如,主机***100)之间的连接可以被建立为默认的配置。
接着,在步骤204,设备发起用于主机发起恢复的过程的执行。在一些实施例中,设备可以模拟总线错误状态,这可以促使主机100发起与设备的链路训练和对设备的重新列举。可选地,设备可以模拟断开连接和重新连接,或可以模拟由休眠模式产生的故障,要不然或者是引发主机重新列举***设备而无需用户手动干预。例如,设备可诸如通过在USB(如,总线150)是IDLE时停止LUP传输来提供错误消息给主机。在另一个实施例中,设备可以提供错误消息,该错误消息停止LGOOD和LCRD的传输以引发在主机的链路层的超时,或者该错误消息包括关于LGOOD、LCRD或关于报头数据包的损坏的序列号。在又一个实施例中,指令可引发设备进行一次成功的LFPS退出握手(从低功率状态(如,U1、U2或U3)至恢复),或在握手期间可响应不当的LFPS。在又一个实施例中,设备可执行引发主机100重新列举设备160且主机100并没有检测到任何错误的步骤。虽然图1和图2讨论了设备160通过在热启动(warm reset)期间的链路训练或重新同步而后接收设备160的配置引起主机100进行重新列举过程,但是在一些实施例中,可以使用设备160通过任何在主机设备100的内部或外部的激励来引起主机设备100执行重新列举过程。
在任何情况下,在步骤206,固件发起将设备置于SS.非激活模式的过程。结果是,设备接收发起指示主机已经执行热启动的信号。在热启动信号被接收后,在步骤208,设备进入RX.检测模式。在这个时候,设备重启。此外,设备和也处于RX.检测模式的主机同步。在设备和主机同步之后,在步骤210,设备检测来自主机的RX终止并开始轮询。在步骤212,轮询之后训练完成且设备回到U0状态。在U0状态,设备和主机重新建立连接,且设备将新配置呈现给在被主机100列举的过程中的设备。具体来说,在一个示例中,设备(如,设备160)可以通过总线150从主机100接收获得_设备_描述符请求,并可对获得_设备_描述符请求产生应答。响应答可包括描述符,该描述符描述经总线150耦合到主机100的设备类型。可选地,或者是补充地,主机100可发布由USB规范限定的其他的获得_设备_描述符请求中的一个。
图3是根据实施例的、主机执行设备的重新列举的方法300的流程图。方法300中的一些步骤可以与方法200中的步骤基本上同时发生。在步骤302,主机开始U0状态。当主机在U0状态中时,其可以与设备相连接。例如,总线(如,总线150)连接主机(如,连接到设备(如,设备160)的USB物理接口(如,USB物理接口171)的主机***100)的USB物理接口(如,USB物理接口140)。
在一些实施例中,设备可以模拟与总线150断开连接和重新连接,和/或模拟总线错误状态,这可以促使主机100发起与设备的链路训练和对设备的重新列举。主机接收来自设备的指示,诸如总线150上的模拟的错误,在步骤304,这引发主机发起恢复。具体来说,指示包括,但不限于,以上结合图2中方法200的步骤204描述的指示。如在上述描述中注意到的,在一些实施例中,在U0之后和在进入恢复之前主机进入低功率状态(如,U1、U2、或U3)。恢复之后,在步骤306,主机进入SS.非激活模式。在实施例中,在移到SS.非激活之前主机进入热启动。在另一个实施例中,在移到SS.非激活之前主机进入环回。随后,在步骤308,主机发起热启动并进入RX.检测模式。虽然图1和图3讨论了设备160通过在热启动期间的链路训练或重新同步而后接收设备160的配置引起主机100进行重新列举过程,但是在一些实施例中,可以使用设备160通过任何在主机设备100的内部或外部的激励来引起主机设备100执行重新列举过程。
在方法300的其他实施例中,步骤304被省略了。例如,主机链路训练和状态机(LTSSM)可以通过从U0移到U1、U2、或U3移到SS.非激活模式来响应设备。在另一个实施例中,步骤306被省略了,且主机从U0移到恢复以回环到RX.检测模式。在任何情形下,在RX.检测模式期间,主机进入热启动,并且主机和设备同步。
在主机和设备同步之后,在步骤310,主机检测来自设备的RX终止和开始轮询。在步骤312,在轮询之后训练完成且主机回到U0状态。随后,主机从设备接收新配置以开始关于设备的重新列举。例如,中央处理器(如,图1中的主机100的中央处理器120)可在存储器(例如,图1中的存储器110)中检索预生成的获得_设备_描述符请求(其是标准的USB请求),引发主机检索新的设备配置。
通过操纵链路的连通性和链路的供电管理(如,经过链路训练和状态机(LTSSM)),设备模拟在设备和主机之间的断开连接和/或连接。结果是,USB 3.0主机和USB 3.0设备可相互之间重新连接,且设备可被识别为新设备。因此,设备的重新列举可由主机来执行。
图4A是带有主机设备430的***的框图示例,该主机设备430具有用于***设备410的更新的固件431。参照图4A,***设备410可经通用串行总线(USB)420耦合到主机设备430。在一些实施例中,***设备410、USB 420、主机设备430可以与2008年11月12日的通用串行总线3.0规范修订版1.0和/或随后的版本中限定的USB 3.0标准相兼容。
***设备410可以包括处理***412,该处理***412可以包括至少一个存储器设备和能够实施USB 3.0规范的至少一个处理器,且可以基于固件411执行其他的操作。***设备430可以在主机设备430和***设备410之间的列举之后,从主机设备430接收固件411。
处理***412可以存储至少一个描述符413,该至少一个描述符413包括***设备410的配置信息。例如,描述符413可以包括***设备410的端点配置,诸如,端点类型、支持的端点数,等。描述符413还可包括***设备410的存储器配置,诸如存储器的大小、和最大数据包长度,等。描述符413还可包括***设备410支持的USB类的描述。在一些实施例中,***设备410可以支持通过不同的描述符413进行识别的多个不同的类和/或配置。***设备410可以包括一个或多个接口414A-414D,诸如端口或能够耦合到功能设备或与功能设备通信的其他设备,诸如存储卡、存储设备、调制解调器,等。
主机设备430可以包括处理***432,该处理***432可以包括至少一个存储器设备和能够实施USB 3.0规范的至少一个处理器,且可以执行其他的操作。处理***432可以包括***设备410的描述符433。在一些实施例中,在***设备410和主机设备430之间的列举期间,主机设备430可以接收来自***设备410的至少一个描述符413和作为描述符433的存储的配置信息。***设备410可以包括不同于在列举期间被提供给主机设备430的描述符433的描述符。
例如,通过网络或其他的连接或介质,主机设备430可以接收用于***设备410的更新的固件431。主机设备430可以下载更新的固件431到***设备410,而后促使***设备410发起主机设备430对***设备410的重新列举。在一些实施例中,主机设备430可以通过USB 420将厂商命令433发布给***设备410,该厂商命令433促使***设备410,例如,通过发送指示422给主机设备430,引起主机设备430重新列举***设备410。在一个实施例中,指示422可包括模拟的总线错误状态。下文将参照图4B描述主机设备更新***设备固件的实施例。
图4B是主机设备430基于可用于***设备410的更新的固件431重新列举的示例性操作流程。参照图4B,在框402处,例如,在主机设备430发起与***设备410的同步并执行列举之后,主机设备430可以下载更新的固件431到***设备410。
主机设备430可以,例如,通过网络或其他的连接,接收用于***设备410的更新的固件431。主机设备430可以确定更新的固件431是否不同于当前***设备410所应用的固件411的版本。例如,主机设备430可以存储固件411的备份或当前***设备410所应用的固件411的版本的标识符。主机设备430可以基于当前安装在***设备410中的固件411与更新的固件431之间的任何差异,或对应的固件版本号之间的任何差异,确定是否将更新的固件431安装在***设备410中。
在框404处,主机设备430可以发布厂商命令433以促使***设备410引起主机设备430的重新列举。***设备410可以将指示422提供给主机设备,这可以引起主机设备430重新列举主机设备410。在一些实施例中,主机设备430可以应用触发器(而不是厂商命令)来促使***设备410模拟与主机设备430的断开连接或重新连接、或USB总线错误状态。在一个实施例中,触发器可以是步骤402的成功完成。在另一个实施例中,触发器可以是运行新固件的***设备的成功初始化。
在一些实施例中,主机设备430可以模拟与主机设备430的断开连接和重新连接,要不然是,通过模拟总线错误,引起主机重新列举***设备410。例如,***设备410可以诸如在USB 420是IDLE时通过停止LUP传输,提供错误消息给主机设备430作为指示422。在另一个实施例中,***设备410可以提供作为指示422的错误消息,其停止LGOOD和LCRD传输以引发在主机的链路层的超时,或包括关于LGOOD、LCRD、或关于报头数据包的损坏的序列号。在又一个实施例中,***设备410可以进行成功的LFPS退出握手(从低功率状态(如,U1、U2、或U3)到恢复)或在握手期间可以响应不当的LFPS,作为指示422。在又一个实施例中,***设备410可以发起恢复而不检测任何错误,作为指示422。
在框406和408处,主机设备430可以执行重新列举过程。在重新列举过程期间,如上图2和图3中所讨论的,主机设备430可以执行与***设备410的链路训练,且可以重新列举具有更新的固件431的***设备410。主机设备430可以响应于来自***设备410的指示422,重新列举安装了更新的固件431的***设备410。以上参照图2和图3讨论了***设备和主机设备之间的重新列举过程的实施例。因为***设备410可以通过模拟的断开连接或模拟的总线错误状态发起重新列举过程,主机设备430可以随着更新变得可应用于下载而即时更新***设备的固件,而无需手动断开***设备410与主机设备430的连接或重新连接***设备410与主机设备430,或其他的手动干预。
图5A是具有主机设备选择的***的框图示例,该主机设备选择关于***设备410的类或配置。参照图5A,图5A中的***类似于图4A中的***,不同之处如下。例如,主机设备430可以从用户的应用接收应用请求531,其可以请求***设备410开始应用新类或新配置535。在一些实施例中,主机设备430可以具有如下知识,即***设备410能够实施来自主机设备430之前提供给***设备410的更新的固件431的新类或新配置535。
主机设备430可以促使***设备410改变新类或新配置535。在另一个实施例中,***设备410可以独立于由主机设备430进行的任何动作而确定改变配置。在一些实施例中,主机设备430可以通过USB 420发布厂商命令533给***设备410,识别用于***设备410的新类或新配置535,以实施和促使***设备410引起主机设备430重新列举***设备410,例如,通过发送指示522给主机设备430。下文将参照图5B描述关于***设备410的新类或新配置535的主机设备选择的实施例。
图5B是基于关于***设备410的新类或新配置535的选择,主机设备430重新列举的示例性操作流程图。参照图5B,在框502,主机设备430可以接收关于***设备410的新类或新配置535的应用请求531。主机设备430可以从用户应用接收应用请求531,其可以请求***设备410开始应用新类或新配置535。在一些实施例中,主机设备430可以具有如下知识,即***设备410能够实施来自主机设备430之前提供给***设备410的更新的固件431的新类或新配置535。可选地,类或配置的变化可以直接传输给***设备410,或由***设备410独立地确定,在这种情况下框502和504可以被忽略。
在框504,主机设备430可以发布厂商命令533以选定新类或新配置535并促使***设备410发起重新列举过程。厂商命令533可以识别用于***设备410应用的新类或新配置535,例如,厂商命令533可以请求***设备410支持大容量存储类(MSC)或调制解调器类,和/或请求***设备支持一定数量的或类型的端点。
***设备410可以提供指示522给主机设备430,诸如模拟的与USB420的断开连接和重新连接,或模拟的关于USB 420的总线错误状态,这可发起主机设备430重新列举***设备410。例如,***设备410可以诸如通过在USB 420是IDLE时停止LUP传输,提供错误消息给主机设备430,作为指示522。在另一个实施例中,***设备410可以提供作为指示522的错误消息,其停止LGOOD和LCRD传输以引发在主机的链路层的超时,或包括关于LGOOD、LCRD、或关于报头数据包的损坏的序列号。在又一个实施例中,***设备410可以进行成功的LFPS退出握手(从低功率状态(如,U1、U2、或U3)到恢复)或在握手期间可以响应不当的LFPS,作为指示522。在又一个实施例中,***设备410可以发起恢复而不检测任何错误,作为指示522。
在框506,***设备410报告由主机设备430使用厂商命令533而请求的新类或新配置535,主机设备430可以重新列举***设备410。在一些实施例中,例如,如上文参照图2和图3所述,在重新列举***设备430之前,主机设备430可以执行与***设备410的链路训练。因为***设备410可以通过例如由来自主机设备430的厂商命令533促使的、模拟的断开连接或模拟的总线错误来发起重新列举过程,故主机设备430可以选择用于***设备410的新类或新配置535,以及重新列举***设备410以实例化被选择的新类或新配置535。
图6A是带有***设备410的***的框图示例,该***设备410具有额外的端口功能。参考图6A,图6A的***类似于图4A的***,其不同点如下。***设备410可以包括一个或多个接口414A-414D以耦合不同设备,诸如存储设备、安全存储设备、调制解调器、显示器设备、网络适配器,等。
***设备410可以具有耦合到接口414B的设备615,且在主机设备430进行的对***设备410的初始列举期间,***设备410可以提供对应于设备615的配置和/或功能的至少第一描述符631。在一些实施例中,接口414A-414D可以是热插式存储端口,或是除此以外能够适当地响应于连接状态变化而在初始列举之后动态地耦合设备的端口。在初始列举之后,接口414A-D中的至少一个可以发生变化,诸如,接口414A-D中的另外的一个接口可以耦合新设备616,现有设备615可以被重新配置,改变其状态,诸如激活和非激活之间的状态改变,和/或上电还是断电。这些接口414A-D的改变可以对应于***设备410中对应的描述符的改变。
***设备410设备可以检测耦合到接口414C的新设备616的存在、激活、或状态改变,且发起重新列举过程以将至少部分对应于新设备616的配置和/或功能的至少第二描述符633传给主机设备430。下文将参照图6B描述添加端口功能的实施例。
图6B是主机设备430进行重新列举以告知主机设备430关于***设备410中额外的功能的示例性操作流程图。参照图6B,在框602,***设备410可以检测耦合到***设备410的接口414A-414D中的一个的新设备616。例如,接口414A-414D可以是可热插的存储端口,其可以在***设备410和主机设备430之间的初始列举之后,动态地耦合到不同的设备,诸如存储设备。
在框604,***设备410可以发起重新列举过程,以响应于对耦合到***设备410的接口414A-414D中的一个的新设备616的检测。在一些实施例中,***设备410可以提供指示622给主机设备430,其可以促使发起主机设备430对***设备410进行重新列举过程。例如,***设备410可以诸如通过在USB 420是IDLE时停止LUP传输来提供错误消息给主机设备430,作为指示622。在另一个实施例中,***设备410可以提供作为指示622的错误消息,其停止LGOOD和LCRD传输以引发在主机的链路层的超时,或包括关于LGOOD、LCRD、或关于报头数据包的损坏的序列号。在又一个实施例中,***设备410可以进行成功的LFPS退出握手(从低功率状态(如,U1、U2、或U3)到恢复)或在握手期间可以响应不当的LFPS,作为指示622。在又一个实施例中,***设备410可以发起恢复而不检测任何错误,作为指示622。
在框606,主机设备430可以重新列举,允许***设备410告知主机设备430对应于耦合到***设备410的接口414A-414D的新设备616的功能。在一些实施例中,***设备410可以发送给主机设备430一个或多个描述符,诸如第二描述符633,其可以识别对应于新设备616的功能。主机设备430可以基于第二描述符633中的信息,经***设备410与新设备616通信。上文参照图2和图3描述了***设备和主机设备之间的重新列举过程的实施例。
图7A是具有发起类变化的***设备410的***的框图示例。参照图7A,图7A的***类似于图4A的***,不同之处如下。***设备410可以包括一个或多个接口414A-414D以耦合不同设备,诸如存储设备、固安全存储设备、调制解调器,等。
***设备410可以具有耦合到接口414B的存储设备715,且在与主机设备430一起的初始列举期间,***设备410可以提供至少第一描述符631,该至少第一描述符631对应于存储设备715的配置和/或功能。因为存储设备715耦合到接口414B,故第一描述符731可以指示***设备410可以支持大容量存储类(MSC)。在另一个实施例中,***设备410可以指示***设备410可以支持不同的USB规范中限定的设备类中的另一个设备类。
在初始列举之后,接口414A-D中的另一个接口可以耦合或者除此以外触发新设备716,诸如图7A中所示的接口414C,其可以使***设备410支持除了被支持用于存储设备715的USB类之外的不同的USB类。例如,新设备716可以是调制解调器,且***设备410可以支持调制解调器USB类。
***设备410可以检测新设备(诸如耦合到接口414C的调制解调器716)的存在,且支持对应于新设备的USB类。当***设备410响应于新设备的添加而支持新USB类时,***设备410可以发起由主机设备430进行的重新列举过程以在重新列举期间传送第二描述符733以识别***设备410支持的新USB类。在一个实施例中,新USB类可以是相同USB类的第二实例。下文将参照图7B描述USB类改变或添加的实施例。
图7B是基于***设备的发起的类或配置的改变,主机设备430进行***设备410的重新列举的示例性操作流程图。参照图7B,在框702,***设备410可以检测耦合到***设备410的接口414A-414D中的一个的、具有新的或不同的USB类的新设备。例如,***设备410可以起初支持大容量存储类,但是随着调制解调器716的添加,***设备410除了支持大容量存储类之外还可以支持调制解调器USB类。
在框704,***设备410可以发起由***设备410的主机设备430进行的重新列举过程,以响应于***设备410支持新USB类。在一些实施例中,***设备410可以提供指示722给主机设备430,其可以促使发起由***设备410的主机设备430进行重新列举。例如,***设备410可以诸如通过在USB 420是IDLE时停止LUP传输来提供错误消息给主机设备430,作为指示722。在另一个实施例中,***设备410可以提供作为指示722的错误消息,其停止LGOOD和LCRD传输以引发在主机的链路层的超时,或包括关于LGOOD、LCRD、或关于报头数据包的损坏的序列号。在又一个实施例中,***设备410可以进行成功的LFPS退出握手(从低功率状态(如,U1、U2、或U3)到恢复)或在握手期间可以响应不当的LFPS,作为指示722。在又一个实施例中,***设备410可以发起恢复而不检测任何错误,作为指示722。
在框706,主机设备430可以重新列举***设备410,允许***设备410告知主机设备430受***设备410支持的新USB类。在一些实施例中,***设备410可以发送给主机设备430一个或多个描述符,诸如第二描述符733,其可以识别***设备410支持的新USB类。主机设备430可以基于第二描述符733中的信息经***设备410与调制解调器716通信。上文参照图2和图3描述了由主机设备对***设备进行的重新列举的实施例。
图8A是具有发起供电模式改变的***设备410的***的框图示例。参照图8A,图8A的***类似于图4A的***,不同之处如下。***设备410的处理***412可以包括供电模式813,其可以指示***设备410从哪里接收电力。例如,***设备410可以从USB 420接收电力,其可以是总线供电模式,或从内部电池接收电力,***式,等,其可以是自供电模式。
在由主机设备430进行的对***设备410的初始列举期间,***设备410可提供给主机设备430第一描述符831,其可以识别***设备410的供电模式。***设备410可以在初始列举之后确定是否切换供电模式,并发起重新列举过程以允许***设备410告知主机设备430***设备410的新的供电模式。
在一些实施例中,***设备410可以是自供电模式,且例如,通过电池的漏极或移除外部电源,具有低于最小阀值水平的电源压降。外部设备410可以检测低于最小阀值水平的电源压降,并确定切换到总线供电模式。在其他的实施例中,***设备410可以处于总线模式供电,检测***设备410***到外部电源,并确定切换到自供电模式。下文将参照图8B描述供电模式切换的实施例。
图8B是基于***设备的发起的供电改变,主机设备430重新列举的示例性操作流程图。参照图8B,在框802,***设备410可以最初以第一供电模式进行操作。***设备410可以被主机设备430列举,且可以将第一描述符831传输给主机设备430,其标识当前***设备410可以操作的供电模式的类型,诸如自供电模式或总线供电模式。
在框804,***设备410可以确定从第一供电模式切换到第二供电模式。在一些实施例中,***设备410可以是自供电模式,并例如通过电池的漏极或移除外部电源具有低于最小阀值水平的电源压降。外部设备410可以检测低于最小阀值水平的电源压降,并确定切换到总线供电模式。在其他的实施例中,***设备410可以处于总线模式供电,检测***设备410***到外部电源,并确定切换到自供电模式。
在框806,***设备410可以引起主机设备430发起重新列举,以响应于从第一供电模式切换到第二供电模式的确定。在一些实施例中,***设备410可以提供指示822给主机设备430,其可以促使发起***设备410的主机设备430进行重新列举。例如,***设备410可以诸如通过在USB420是IDLE时停止LUP传输来提供错误消息给主机设备430,作为指示822。在另一个实施例中,***设备410可以提供作为指示822的错误消息,其停止LGOOD和LCRD传输以引发在主机的链路层的超时,或包括关于LGOOD、LCRD、或关于报头数据包的损坏的序列号。在又一个实施例中,***设备410可以进行成功的LFPS退出握手(从低功率状态(如,U1、U2、或U3)到恢复)或在握手期间可以响应不当的LFPS,作为指示822。在又一个实施例中,***设备410可以发起恢复而不检测任何错误,作为指示822。
在框808,主机设备430可以重新列举***设备410,允许***设备410告知主机设备430***设备410以第二供电模式进行操作。在一些实施例中,***设备410可以发送给主机设备430一个或多个描述符,诸如第二描述符833,其可以识别***设备410的供电模式。上文参照图2和图3讨论了***设备和主机设备之间的重新列举过程的实施例。
图9A是***设备410耦合到安全设备916的框图示例。参照图9A,图9A的***类似于图4A中的***,不同之处如下。***设备410可以包括多个接口414A-414D以与不同的设备耦合,诸如存储设备、安全存储设备、调制解调器,等。
***设备410可以具有耦合到接口414D的安全设备916,且在主机设备430进行初始列举期间,***设备410可以提供对应于安全设备916的配置和/或功能的第一描述符931。第一描述符931可以识别安全设备916,例如,识别为只读存储器,诸如光盘(CD)或NAND闪存驱动器。***设备410还可以包括可由主机设备430执行的自动运行实用程序(utility),以验证主机设备430访问安全设备916。
主机设备430可以执行自动运行实用程序并发送至少一个厂商命令给具有验证信息的***设备410。***设备410可以基于从主机设备430接收的至少一个厂商命令验证主机设备430。
在主机设备430已经被验证以访问安全设备916之后,***设备410可以发起由主机设备430进行的重新列举以在重新列举期间传送第二描述符933,以识别安全设备916的功能和支持安全设备916的功能的***设备410的USB类。例如,当安全设备916是安全存储设备时,第二描述符933可以将安全设备916识别为安全存储设备,且识别***设备410操作大容量存储类以支持安全存储设备。下文将结合图9B描述响应于安全设备916的验证的重新列举的实施例。
图9B是响应于关于安全设备916的验证的主机设备430和***设备410之间的重新列举的示例性操作流程图。参照图9B,在框902,***设备410可以检测耦合到接口414A-414D中的一个接口(诸如接口414D)的安全设备916。
在框904,主机设备430可以列举***设备430,允许***设备410提供给主机设备430第一描述符931,其识别安全设备916,例如,识别为只读存储器,诸如光盘(CD)或NAND闪存驱动器。***设备410还可以包括可由主机设备430执行的自动运行实用程序,以验证主机设备430访问安全设备916。
在框906,***设备410可以验证主机设备430以访问安全设备916。在一些实施例中,主机设备430可以执行自动运行实用程序并发送厂商命令给***设备410,其包括允许***设备410确定是否验证主机设备430以访问安全设备916的信息。
在框908,***设备410可以响应于对主机设备430的验证,发起由主机设备430进行的重新列举过程。在一些实施例中,***设备410可以提供指示922给主机设备430,其可以促使发起***设备410的主机设备430进行重新列举。例如,***设备410可以诸如通过在USB 420是IDLE时停止LUP传输来提供错误消息给主机设备430,以作为指示922。在另一个实施例中,***设备410可以提供作为指示922的错误消息,其停止LGOOD和LCRD传输以引发在主机的链路层的超时,或包括关于LGOOD、LCRD、或关于报头数据包的损坏的序列号。在又一个实施例中,***设备410可以进行成功的LFPS退出握手(从低功率状态(如,U1、U2、或U3)到恢复)或在握手期间可以响应不当的LFPS,作为指示922。在又一个实施例中,***设备410可以发起恢复而不检测任何错误,作为指示922。
在框910,主机设备430可以重新列举***设备410,允许***设备410告知主机设备430安全设备916(其可以不同于只读CD存储器)的功能,并告知主机设备430***设备410支持的USB类。在一些实施例中,***设备410可以发送给主机设备430一个或多个描述符,诸如第二描述符833,其可以识别安全设备916的功能和***设备410支持的USB类。上文参照图2和图3讨论了主机设备进行的重新列举过程的实施例。
在一些实施例中,安全设备916可以是安全存储设备。在重新列举期间,***设备410可以告知主机设备430安全存储设备是存储端口且***设备410以大容量存储类进行操作以支持安全存储端口。
以上描述的***和装置可以使用专用的处理器***、微控制器、可编程逻辑设备、微处理器、或其任意组合,以执行本文所述的部分或全部操作。上文所述的操作中的一些可以以软件进行实现,且其他的操作可以以硬件来实现。本文所述的任何操作、过程、和/或方法可以用基本上类似于本文所述的装置、设备、和/或***的装置、设备、和/或***并参照所示出的附图来执行。
处理设备可以执行被存储在存储器中的指令或“代码”。存储器也可以存储数据。处理设备可以包括但不得限于,模拟处理器、数字处理器、微处理器、多核处理器、处理器阵列、网络处理器,等等。处理设备可以是部分集成控制***或***管理器,或可以被提供为便携式电子设备,该便携式电子设备被配置为与联网***进行本地接口连接或者经无线传输进行远程接口连接。
处理器存储器可以与处理设备集成在一起,例如,被设在集成电路微处理器内的RAM或FLASH存储器,等等。在其他的示例中,存储器可以包括独立的设备,诸如外部磁盘驱动器、存储阵列、便携式FLASH钥匙扣,等等。存储器和处理设备可以例如通过I/O端口、网络连接等等,可操作地耦合在一起,或相互进行通信,且处理设备可以读取存储在存储器上的文件。相关联的存储器可以根据凭借权限设置的设计为“只读”(ROM),或者不是。存储器的其他示例可包括但不得限于,WORM、EPROM、EEPROM、FLASH,等等,其可以以固态的半导体设备来实现。其他的存储器可以包括移动部件,诸如所熟知的旋转的磁盘驱动器。所有这些存储器都可以是“机器可读的”且都可以是处理设备可读的。
操作指令或命令可以以存储的计算机软件(还被称为“计算机程序”或“代码”)的有形的形式进行实现或实施。程序或代码可以被存储在数字存储器中且可以被处理设备读取。“计算机可读存储介质”(或可选地,“机器可读存储介质”)可包括所有前述类型的存储器,以及只要是存储器可以能够(至少临时地)存储计算机程序性质的数字信息或其他数据,且只要是所存储的信息可以被适当的处理设备“读取”的未来的新技术。术语“计算机可读”可以不限于“计算机”的历史使用,“计算机”暗指完整的大型机、迷你计算机、台式机,或甚至是笔记本电脑。而是,“计算机可读”可以包括可以被处理器、处理设备、或任何计算***可读取的存储介质。这种介质可以是任何可以应用的介质,其可以被计算机或者处理器本地访问和/或远程访问,且可以包括易失性介质和非易失性介质,及可移动介质和不可移动介质,或其任意组合。
存储在计算机可读存储介质中的程序可以包括计算机程序产品。例如,存储介质可以被用作便利的装置,以存储或传输计算机程序。为了方便的目的,操作可以被描述为各种相互连接的或耦合的功能块或图。然而,这些功能块或图可以等效地被合成在单个逻辑设备、程序或操作中而没有清晰的界限的情况是可能存在的。
对于本领域的普通技术人员而言,将会意识到的是,本文所教导的概念可以以许多其他的方式进行定制以适于特定的应用。更具体地,本领域的技术人员将会意识到的是,所示出的示例不过是在阅读本公开内容时将变得明显的许多可选的实现形式中的一个。
虽然说明书中可能在若干位置处引用了“一(an)”、“一个(one)”、“另一个(another)”、或者“一些(some)”的示例,但这不一定表示每个这种引用就是相同的示例,或者不一定表示特征仅可应用于单个示例。

Claims (20)

1.一种方法,包括:
通过主机设备下载固件更新到***设备;
响应于从所述***设备接收的指示,通过所述主机设备执行与所述***设备的链路训练,其中所述链路训练包含将所述主机设备中的链路训练和状态机LTSSM从激活状态U0切换到RX.检测状态,且与处于所述RX.检测状态的所述***设备同步;以及
在所述主机设备完成与所述***设备的链路训练之后,通过所述主机设备接收对应于所述固件更新的、所述***设备的配置。
2.如权利要求1所述的方法,其中,所述指示包括收到损坏的序列号,收到从低功率状态到恢复的成功退出握手,收到发起恢复而不检测错误,或无法从所述***设备收到一个或多个链路命令。
3.如权利要求1所述的方法,其还包括:
响应于所述下载所述固件更新的完成,通过所述主机设备将厂商命令传输到所述***设备;以及
响应于将所述厂商命令传输到所述***设备,通过所述主机设备从所述***设备接收所述指示。
4.如权利要求3所述的方法,其中,所述固件更新包含用于所述***设备的至少一个新通用串行总线类或新配置。
5.如权利要求4所述的方法,其还包括,
通过所述主机设备传输另一个厂商命令以促使所述***设备切换到所述新通用串行总线类或新配置;
响应于从所述***设备接收的另一个指示,通过所述主机设备执行与所述***设备的链路训练;以及
在所述主机设备完成与所述***设备的链路训练之后,通过所述主机设备接收对应于所述新通用串行总线类或新配置的、所述***设备的另一个配置。
6.如权利要求1所述的方法,其中,执行与所述***设备的链路训练还包括:
通过所述主机设备将所述LTSSM从所述激活状态U0切换到非激活状态SS.非激活;
通过所述主机设备将所述LTSSM从所述非激活状态SS.非激活切换到所述RX.检测状态;以及
在与所述***设备同步之后,通过所述主机设备轮询所述***设备。
7.如权利要求1所述的方法,其中,所述***设备和所述主机设备是通过通用串行总线耦合的。
8.一种包括计算机可读存储器设备的装置,所述计算机可读存储器设备存储被配置为引发处理设备执行以下操作的指令,所述操作包括:
下载固件更新到***设备;
响应于从所述***设备接收的指示,执行与所述***设备的链路训练,其中所述链路训练包含将所述处理设备中的链路训练和状态机LTSSM从激活状态U0切换到RX.检测状态,且与处于所述RX.检测状态的所述***设备同步;以及
在所述处理设备完成与所述***设备的链路训练之后,接收对应于所述固件更新的、所述***设备的配置。
9.如权利要求8所述的装置,其中,所述指示包括收到损坏的序列号,收到从低功率状态到恢复的成功退出握手,收到发起恢复而不检测错误,或无法从所述***设备收到一个或多个链路命令。
10.如权利要求9所述的装置,其中,所述指令还被配置为引发所述处理设备执行以下操作,所述操作包括:
响应于所述下载所述固件更新的完成,将厂商命令传输到所述***设备;以及
响应于将所述厂商命令传输到所述***设备,从所述***设备接收所述指示。
11.如权利要求10所述的装置,其中,所述固件更新包含用于所述***设备的至少一个新通用串行总线类或新配置。
12.如权利要求11所述的装置,其中,所述指令还被配置为引发所述处理设备执行以下操作,所述操作包括:
传输另一个厂商命令以促使所述***设备切换到所述新通用串行总线类或新配置;
响应于从所述***设备接收的另一个指示,执行与所述***设备的链路训练;以及
在所述处理设备完成与所述***设备的链路训练之后,接收对应于所述新通用串行总线类或新配置的、所述***设备的另一个配置。
13.如权利要求12所述的装置,其中,执行与所述***设备的链路训练还包括:
将所述LTSSM从所述激活状态U0切换到非激活状态SS.非激活;
将所述LTSSM从所述非激活状态SS.非激活切换到所述RX.检测状态;以及
在与所述***设备同步之后,轮询所述***设备。
14.如权利要求8所述的装置,其中,所述***设备和所述处理设备是通过通用串行总线耦合的。
15.一种方法,包括:
通过***设备从主机设备下载固件更新;
响应于下载所述固件更新的完成,通过所述***设备将指示传输到所述主机设备,其中所述指示被配置为引发所述主机设备执行链路训练,所述链路训练包括将所述主机设备的链路训练和状态机LTSSM从激活状态U0切换到RX.检测状态;
通过所述***设备与处于所述RX.检测状态的所述主机设备同步;以及
在所述主机设备与所述***设备的同步之后,通过所述***设备将对应于所述固件更新的、所述***设备的新配置呈现给所述主机设备。
16.如权利要求15所述的方法,其还包括,通过所述***设备接收厂商命令,所述厂商命令被配置为识别下载所述固件更新的完成。
17.如权利要求15所述的方法,其中,所述指示包括传输损坏的序列号,传输从低功率状态到恢复的成功退出握手,传输发起恢复而不检测错误,或无法传输来自所述***设备的一个或多个链路命令。
18.如权利要求15所述的方法,其还包括:
通过所述***设备从所述主机设备接收信号通知,所述信号通知被配置为指示所述主机设备进入热启动;以及
响应于所述信号通知,通过所述***设备切换到RX.检测状态,其中,与所述主机设备的同步使用处于所述RX.检测状态的所述***设备执行。
19.如权利要求15所述的方法,其还包括:
通过所述***设备接收另一个厂商命令,所述另一个厂商命令被配置为识别用于所述***设备应用的不同的通用串行总线类或配置;
响应于所述另一个厂商命令,通过所述***设备将另一个指示传输到所述主机设备;
响应于所述主机设备接收所述另一个指示,通过所述***设备与所述主机设备同步;以及
在所述主机设备与所述***设备同步之后,通过所述***设备呈现用于所述***设备应用的所述不同的通用串行总线类或配置。
20.如权利要求15所述的方法,其中,所述***设备和所述主机设备是通过通用串行总线耦合的。
CN201280074015.1A 2012-09-30 2012-12-29 Usb3.0兼容设备的重新列举的方法和*** Active CN104823174B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/632,084 2012-09-30
US13/632,084 US8843664B2 (en) 2011-09-29 2012-09-30 Re-enumeration of USB 3.0 compatible devices
PCT/US2012/072204 WO2014051651A1 (en) 2012-09-30 2012-12-29 Re-enumeration of usb 3.0 compatible devices

Publications (2)

Publication Number Publication Date
CN104823174A true CN104823174A (zh) 2015-08-05
CN104823174B CN104823174B (zh) 2019-09-06

Family

ID=50388819

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280074015.1A Active CN104823174B (zh) 2012-09-30 2012-12-29 Usb3.0兼容设备的重新列举的方法和***

Country Status (3)

Country Link
EP (2) EP2901298A4 (zh)
CN (1) CN104823174B (zh)
WO (1) WO2014051651A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102551076B1 (ko) * 2015-04-18 2023-07-03 인텔 코포레이션 멀티모달 인터페이스
TWI768803B (zh) * 2021-03-31 2022-06-21 瑞昱半導體股份有限公司 音訊控制電路、主裝置及相關的控制方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999001820A1 (en) * 1997-07-02 1999-01-14 Cypress Semiconductor Corporation Bus interface system and method
CN101414288A (zh) * 2007-10-16 2009-04-22 奇岩电子股份有限公司 调整显示存取接口的卡片阅读机
US20110022769A1 (en) * 2009-07-26 2011-01-27 Cpo Technologies Corporation Translation USB Intermediate Device and Data Rate Apportionment USB Intermediate Device
CN102272723A (zh) * 2009-01-13 2011-12-07 高通股份有限公司 用于快速启动usb装置的***、设备及方法
CN103314365A (zh) * 2011-09-29 2013-09-18 赛普拉斯半导体公司 用于启动usb 3.0兼容装置的重列举的方法和物理计算机可读存储媒体

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7633877B2 (en) * 2005-11-18 2009-12-15 Intel Corporation Method and apparatus for meeting compliance for debugging and testing a multi-speed, point-to-point link
US7707323B2 (en) * 2006-09-11 2010-04-27 Research In Motion Limited Method and apparatus for enabling enhanced USB interaction
US9009357B2 (en) * 2008-04-24 2015-04-14 Micron Technology, Inc. Method and apparatus for field firmware updates in data storage systems
US20100199290A1 (en) * 2009-02-02 2010-08-05 Richard Thomas Kavanaugh System and method for multifunction device enumeration
EP2372565A1 (en) * 2010-03-30 2011-10-05 Gemalto SA Method for managing USB devices
TWI417703B (zh) * 2010-07-22 2013-12-01 Genesys Logic Inc 相容於通用序列匯流排協定之時脈同步方法
JP5917069B2 (ja) * 2010-10-20 2016-05-11 キヤノン株式会社 通信制御装置およびその制御方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999001820A1 (en) * 1997-07-02 1999-01-14 Cypress Semiconductor Corporation Bus interface system and method
CN101414288A (zh) * 2007-10-16 2009-04-22 奇岩电子股份有限公司 调整显示存取接口的卡片阅读机
CN102272723A (zh) * 2009-01-13 2011-12-07 高通股份有限公司 用于快速启动usb装置的***、设备及方法
US20110022769A1 (en) * 2009-07-26 2011-01-27 Cpo Technologies Corporation Translation USB Intermediate Device and Data Rate Apportionment USB Intermediate Device
CN103314365A (zh) * 2011-09-29 2013-09-18 赛普拉斯半导体公司 用于启动usb 3.0兼容装置的重列举的方法和物理计算机可读存储媒体

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HEWLETT-PACKARD COMPANY ET AL.: "《Universal Serial Bus 3.0 Specification,Revision 1.0》", 12 November 2008 *

Also Published As

Publication number Publication date
EP2901298A1 (en) 2015-08-05
WO2014051651A1 (en) 2014-04-03
EP3413205A1 (en) 2018-12-12
CN104823174B (zh) 2019-09-06
EP2901298A4 (en) 2016-04-27

Similar Documents

Publication Publication Date Title
US9804859B2 (en) Re-enumeration of USB 3.0 compatible devices
CN104220958B (zh) 计算机装置及其通用串行总线连接器的工作模式转换方法
US8490081B2 (en) Method and apparatus for installing software in mobile communication terminal
CN100507882C (zh) 计算机***及其控制方法
CN106681751A (zh) 统一固件管理***和管理方法以及计算机可读取介质
CN103197939A (zh) 在混合计算***中更新固件
CN101963910A (zh) 基于通用usb总线的设备固件升级方法
CN112463689A (zh) 一种ocp卡热插拔装置、方法及计算机可读存储介质
EP2798428B1 (en) Apparatus and method for managing operation of a mobile device
CN104657161A (zh) 移动终端固件更新方法及装置
CN104428751A (zh) 程序数据的更新方法及设备
CN105868132B (zh) 一种基于usb通信的数字示波器模块化功能拓展方法及***
CN104823174A (zh) Usb3.0兼容设备的重新列举
CN107396185B (zh) 升级方法及***
US10437768B2 (en) Method and host node for configuring a remote node and a host node
TWI434184B (zh) 電腦裝置及其通用序列匯流排連接器的工作模式轉換方法
CN116450224A (zh) 基于清除cmos的数据的恢复方法及装置、***
CN115495136B (zh) 一种基于国产飞腾平台的bmc快速在线升级方法
KR101487763B1 (ko) Usb통신을 이용한 스마트기기와 주변기기의 동기화 및 제어시스템과 그 방법
CN107451067B (zh) 下载测试的处理方法及相关产品
CN110537171B (zh) 测试设备及用于对设备驱动器软件进行测试的方法
US20150231511A1 (en) Stationary game apparatus, game apparatus, game system, recording medium and speed control method
CN102243601B (zh) 用来侦测及控制电脑主机状态的除错***及其相关方法
CN101562007A (zh) 可自动更新韧件的显示控制装置及其更新方法
EP3451220B1 (en) Erasing device

Legal Events

Date Code Title Description
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant