USB integrated circuit, USB integrated circuit operating method, and USB device

Observe the behavior of the USB host through the control circuit in the USB integrated circuit, adjust the adapter configuration to adapt to different versions of the connection manager, solve the compatibility problem of the USB4 host with different operating systems or firmware versions, and ensure the normal operation of the USB device and any version of the connection manager.

CN115391242BActive Publication Date: 2025-09-02VIA LABS INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211126553.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2022-08-22
Filing Date
2022-09-16
Publication Date
2025-09-02
Estimated Expiration
2042-09-16

AI Technical Summary

Technical Problem

The connection manager version of the existing USB4 host is inconsistent, resulting in interactive operational problems with USB4 devices of different operating systems or firmware versions. In particular, the connection manager of the Intel USB4 host only supports its own devices and is not compatible with devices from other vendors.

Method used

Observe the behavior of the USB host to the USB device through the control circuit in the USB integrated circuit, judge the connection manager version, and adjust the adapter configuration as needed to adapt to different versions of the connection manager, including the pseudo PCIe adapter configuration, to ensure compatibility.

Benefits of technology

Compatibility between USB devices and any version of the connection manager is achieved, avoiding interactive operational problems, especially exceptions during automatic pause wake-up.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115391242B_ABST
    Figure CN115391242B_ABST
Patent Text Reader

Abstract

A USB integrated circuit, a method for operating a USB integrated circuit, and a USB device. The USB integrated circuit is configured in a USB device and includes a sideband use interface circuit and a control circuit. The sideband use interface circuit is coupled to a sideband use pin of a USB connector of the USB device. The control circuit is coupled to the sideband use interface circuit and, via the sideband use interface circuit, submits a first adapter configuration to a USB host so that the USB host enumerates the USB device. After the USB device is enumerated, the control circuit observes the USB host's behavior toward the USB device and, based on the behavior, determines whether the first adapter configuration is applicable to the USB host's connection manager. If the first adapter configuration is not applicable to the connection manager, the control circuit submits a second adapter configuration to the USB host so that the USB host re-enumerates the USB device.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to an electronic circuit, and more particularly to a Universal Serial Bus (USB) integrated circuit, an operating method of the USB integrated circuit, and a USB device. Background Art

[0002] Generally speaking, the Connection Manager (CM) in Universal Serial Bus Generation 4 (USB4) is responsible for enumeration, configuration, and management. Its responsibilities include USB4 initialization, path setup and teardown, bandwidth management between configured tunnels, and power state management. Clearly, the Connection Manager is crucial to the proper operation of USB4 devices and hubs.

[0003] Unfortunately, there are multiple versions of the connection manager built into the USB4 host, so the connection manager's behavior may not be correct or consistent between different operating systems or firmware versions, which may cause interoperability issues.

[0004] Specifically, the Intel USB4 host connection manager is a firmware-based connection manager (implemented in firmware) that has been under development for a long time. Initially, the Intel USB4 host connection manager (NVM FW version V34) only supported Intel's own USB4 devices and not generic USB4 devices from other vendors. However, this Intel USB4 host connection manager (NVM FW version V34) has been on the market for a long time, and not all computer vendors provide the new NVM FW version V41 firmware update tool.

[0005] Therefore, how to design a USB device that is compatible with any version of the connection manager is one of the research topics for those skilled in the art.

[0006] It should be noted that the content in the "Prior Art" section is intended to assist in understanding the present invention. Some (or all) of the content disclosed in the "Prior Art" section may not be known to those skilled in the art. The content disclosed in the "Prior Art" section does not imply that such content was known to those skilled in the art prior to the filing of this application. Summary of the Invention

[0007] The present invention provides a USB integrated circuit, a method for operating the USB integrated circuit, and a USB device, which can determine the version of a connection manager by the behavior of a USB host on the USB device and report the corresponding adapter configuration to the USB host, so that the USB device can be compatible with any version of the connection manager.

[0008] In one embodiment of the present invention, the aforementioned USB integrated circuit is adapted to be configured in a USB device and includes a sideband use interface circuit and a control circuit. The sideband use interface circuit is adapted to be coupled to a sideband use pin of a USB connector of the USB device. The control circuit is adapted to be coupled to the sideband use interface circuit and, via the sideband use interface circuit, submit a first adapter configuration to a USB host, causing the USB host to enumerate the USB device. After the USB device is enumerated, the control circuit observes the USB host's behavior with respect to the USB device and, based on the behavior, determines whether the first adapter configuration is applicable to a connection manager of the USB host. If the first adapter configuration is not applicable to the connection manager, the control circuit submits a second adapter configuration to the USB host, causing the USB host to re-enumerate the USB device.

[0009] In one embodiment of the present invention, the operating method of the USB integrated circuit includes: submitting a first adapter configuration to a USB host to cause the USB host to enumerate a USB device; after the USB device is enumerated, observing the USB host's behavior with respect to the USB device; determining, based on the behavior, whether the first adapter configuration is applicable to a connection manager of the USB host; and, if the first adapter configuration is not applicable to the connection manager, submitting a second adapter configuration to the USB host to cause the USB host to re-enumerate the USB device. The USB integrated circuit is suitable for being configured in a USB device.

[0010] In one embodiment of the present invention, the above-mentioned USB device includes a USB connector and a USB integrated circuit. The USB connector includes at least one channel pin and at least one sideband use pin. The USB integrated circuit includes a sideband use interface circuit and a control circuit. The sideband use interface circuit is suitable for coupling to a sideband use pin of at least one sideband use pin. The control circuit is suitable for coupling to the sideband use interface circuit, and submitting a first adapter configuration to the USB host through the sideband use interface circuit so that the USB host enumerates the USB device. After the USB device is enumerated, the control circuit observes the behavior of the USB host towards the USB device, and the control circuit determines whether the first adapter configuration is applicable to the connection manager of the USB host based on the behavior. When the first adapter configuration is not applicable to the connection manager, the control circuit submits a second adapter configuration to the USB host so that the USB host re-enumerates the USB device.

[0011] Based on the foregoing, the USB integrated circuit, USB integrated circuit operating method, and USB device provided by various embodiments of the present invention can report a default adapter configuration to a USB host. After the USB host enumerates the USB device, the USB host's behavior toward the USB device is observed to determine whether the connection manager version and the default adapter configuration are applicable to the USB host's connection manager. If the default adapter configuration is not applicable to the connection manager, the USB integrated circuit can instead report an alternative adapter configuration to the USB host, causing the USB host to re-enumerate the USB device. In this way, the USB device can report the corresponding adapter configuration to the USB host based on the connection manager version, thereby maintaining compatibility with any connection manager version.

[0012] In order to make the above features and advantages of the present invention more clearly understood, embodiments are given below with reference to the accompanying drawings for detailed description. BRIEF DESCRIPTION OF THE DRAWINGS

[0013] Figure 1 FIG. 1 is a circuit block diagram of a USB transmission system according to an embodiment of the present invention.

[0014] Figure 2 FIG. 1 is a flow chart illustrating an operating method of a USB integrated circuit according to an embodiment of the present invention.

[0015] Figures 3A to 3C FIG. 4 is a flow chart illustrating an operating method of a USB integrated circuit according to another embodiment of the present invention.

[0016]

Explanation of symbols

[0017] 1:USB transmission system

[0018] 2, 3: Operation method

[0019] 10: USB device

[0020] 20:USB host

[0021] 100, 200: USB connector

[0022] 102, 202: channel pins

[0023] 104, 204: Sideband Use (SBU) pins

[0024] 120:USB integrated circuit

[0025] 122:SBU interface circuit

[0026] 124: Control circuit

[0027] 126a, 126b, 126c, 126d, 226a, 226b, 226c, 226d: channel adapters

[0028] 128, 228: USB transport layer circuit

[0029] 220: Connection Manager

[0030] AC1, AC2: Adapter configuration

[0031] S202, S204, S206, S208, S210, S302, S304, S306, S308, S310, S312, S314, S316, S318a, S318b, S320a, S320b, S322a, S322b, S324a, S324b, S326a, S326b: Steps DETAILED DESCRIPTION

[0032] The term "coupled (or connected)" used in the entire specification of this application (including the claims) may refer to any direct or indirect means of connection. For example, if the text describes a first device coupled (or connected) to a second device, it should be interpreted that the first device can be directly connected to the second device, or the first device can be indirectly connected to the second device through other devices or some connection means. The terms "first", "second", etc. mentioned in the entire specification of this application (including the claims) are used to name the elements (element) or to distinguish different embodiments or ranges, and are not used to limit the upper or lower limit of the number of elements, nor to limit the order of elements. In addition, wherever possible, elements / components / steps with the same numbers in the drawings and embodiments represent the same or similar parts. Elements / components / steps with the same numbers or the same terms in different embodiments can refer to the relevant descriptions of each other.

[0033] The advantage of the present invention lies in interoperability. Specifically, Intel's early firmware-based connection managers (NVM FW version V34) did not comply with the USB4 specification and therefore could not be used with USB4 devices (USB4 integrated circuits). The reason is that these non-USB4 compliant connection managers (NVM FW version V34) require a Peripheral Component Interconnect Express (PCIe) adapter. Therefore, if the USB4 integrated circuit presents an adapter with a fake PCIe adapter configured to a USB4 host, then these non-USB4 compliant connection managers (NVM FW version V34) will function normally. However, if the USB4 integrated circuit presents an adapter with a fake PCIe adapter configured to a USB4 host with a USB4 compliant connection manager, interoperability issues may occur during wakeup from "automatic suspend". The USB integrated circuit, USB integrated circuit operating method, and USB device disclosed in the following embodiments can determine the connection manager version (whether it complies with the USB4 specification) by observing the USB host's behavior toward the USB device, and then report the corresponding adapter configuration to the USB host. As a result, the USB device is compatible with any connection manager version without interoperability issues.

[0034] Figure 1 This is a circuit block diagram of a USB transmission system according to an embodiment of the present invention. Figure 1 The USB transmission system 1 includes a USB device 10 and a USB host 20. The USB device 10 has a USB connector 100 and includes a USB integrated circuit 120. The USB host 20 has a USB connector 200 and includes a connection manager 220. Depending on the application requirements, the USB host 20 can be a personal computer, a notebook computer, or other electronic device with a USB Type-C connector (also called a USB-C connector).

[0035] In this embodiment, the USB connector 100 can be connected to the USB connector 200 of the USB host 20 via a cable (or directly connected). The USB connector 100 (or the USB connector 200) can be a USB-C connector. The channel pins 102 of the USB connector 100 (or the channel pins 202 of the USB connector 200) can include the TX1+ pin, TX1- pin, RX1+ pin, RX1- pin, TX2+ pin, TX2- pin, RX2+ pin, and / or RX2- pin specified in the USB specification. The sideband use (SBU) pins 104 of the USB connector 100 (or the SBU pins 204 of the USB connector 200) can include the SBU1 pin and / or the SBU2 pin specified in the USB specification.

[0036] In one embodiment, the configuration channel (CC) pin of the USB connector 100 (or the CC pin of the USB connector 200) ( Figure 1 The USB device 10 may include a CC1 pin and / or a CC2 pin as specified by the USB specification. The USB device 10 may also include a Power Delivery (PD) controller ( Figure 1 (Not shown in the figure), the CC pin of USB connector 100 is coupled to a PD controller. When a USB host 20 is connected to USB connector 100, the PD controller can exchange configuration information with the USB host 20 via the CC pin. Therefore, based on the configuration information on the CC pin, the PD controller can determine whether the USB host 20 connected to USB connector 100 is an electronic device that supports the USB4 specification or an electronic device that supports the DisplayPort Alternate Mode (ALT mode) of a USB specification (e.g., USB 3.2 specification). PD (Power Delivery) control and the related operations of the CC pin are regulated in the USB specification and will not be detailed here.

[0037] In the USB4 specification, a two-wire data channel established by channel pins 102 of USB connector 100 and channel pins 202 of USB connector 200 transmits USB4 data packets between USB device 10 and USB host 20. Channel pins 102, channel pins 202, and USB4 data packets are regulated in the USB4 specification and are not described in detail here.

[0038] Furthermore, in the USB4 specification, the two-wire sideband (SB) channel established by the SBU pin 104 of the USB connector 100 and the SBU pin 204 of the USB connector 200 transmits SB signals that comply with the USB4 specification between the USB device 10 and the USB host 20. The SBU pin 204 of the USB connector 200 is coupled to the connection manager 220. By transmitting the SB signals between the USB device 10 and the USB host 20, the USB integrated circuit 120 can determine whether a connection is established between the USB device 10 and the USB host 20, the start and close of the channel, the initialization of the channel, and the entry or exit of sleep mode. Furthermore, the USB integrated circuit 120 can also obtain basic information about the USB host 20 (such as the vendor identification code (VID) or product identification code (PID)) through the SBU pin 104. The SBU pin 104, the SBU pin 204, and the SB signals are regulated in the USB4 specification and are therefore not described in detail here.

[0039] In this embodiment, the USB integrated circuit 120 includes an SBU interface circuit 122 and a control circuit 124. The SBU interface circuit 122 is coupled to the SBU pin 104 of the USB connector 100. The SBU interface circuit 122 can transmit SB signals that comply with the USB4 specification through the SBU pin 104 of the USB connector 100.

[0040] The control circuit 124 is coupled to the SBU interface circuit 122. The control circuit 124 is, for example, a central processing unit (CPU), or other programmable general-purpose or special-purpose microprocessor, digital signal processor (DSP), programmable controller, application-specific integrated circuit (ASIC), or other similar devices or a combination of these devices. In this embodiment, the control circuit 124 can read data from the storage device ( Figure 1 (not shown) to load the firmware code to execute the operating method of the USB integrated circuit of the embodiment of the present invention. This operating method will be Figure 2 Further details are given.

[0041] In one embodiment, the USB integrated circuit 120 includes a lane adapter (e.g. Figure 1126a, 126b, 126c, 126d) and a USB transport layer circuit 128. The USB transport layer circuit 128 is coupled between the channel pins 102 of the USB connector 100 and the channel adapters 126a, 126b, 126c, 126d, and is coupled to the control circuit 124. The USB transport layer circuit 128 may be a transport layer circuit compliant with the USB4 specification, and the channel adapters 126a, 126b, 126c, and 126d may be channel adapters compliant with the USB4 specification.

[0042] It is worth noting that these channel adapters (such as Figure 1 The adapter configuration shown as 126a, 126b, 126c, 126d) can be set according to the actual design. For example (but not limited to this), one of these channel adapters 126a, 126b, 126c, 126d can be a USB4 channel adapter, a USB3 adapter, a DisplayPort (DP) output (DP OUT) adapter, or other adapters. It should be noted that for simplicity of description, Figure 1 The illustrated USB integrated circuit 120 includes only four channel adapters, 126a, 126b, 126c, and 126d, as an example. However, those skilled in the art may adjust the number of channel adapters based on actual application scenarios, and this embodiment is not limiting. In some embodiments, the USB integrated circuit 120 may also include other adapters and related circuits that comply with the USB4 specification, which will not be discussed separately here.

[0043] Based on the enumeration and lane bonding of the connection manager 220, the USB transport layer circuit 128 can transfer the data from the logic layer circuit ( Figure 1 The data packets (not shown) are selectively distributed to the corresponding adapters among the channel adapters 126a, 126b, 126c and 126d. For example, when the current USB4 data packet carries USB3 data, the USB transport layer circuit 128 can transmit the current USB4 data packet to the USB3 adapter. The USB3 adapter can restore the current USB4 data packet to a USB3 data packet and transmit the USB3 data packet to the USB3 interface circuit ( Figure 1 When the current USB4 data packet contains a DP data packet, the USB transport layer circuit 128 can transmit the current USB4 data packet to the DP output adapter. The DP output adapter can restore the current USB4 data packet to a DP data packet and transmit the DP data packet to the DP interface circuit ( Figure 1 (not shown).

[0044] In one embodiment, the USB host 20 includes channel adapters 226a, 226b, 226c, 226d and a USB transport layer circuit 228. The USB transport layer circuit 228 is coupled between the channel pin 202 of the USB connector 200 and the channel adapters 226a, 226b, 226c, 226d, and is coupled to the connection manager 220. The USB transport layer circuit 228 in the USB host 20 can be a transport layer circuit that complies with the USB4 specification, so it will not be repeated. The operations between the channel adapters 226a, 226b, 226c, 226d and the USB transport layer circuit 228 can refer to the above-mentioned relevant descriptions of the channel adapters 126a, 126b, 126c, 126d and the USB transport layer circuit 128 and be deduced by analogy, so it will not be repeated. It should be noted that, in order to simplify the description, the USB transport layer circuit 228 of this embodiment Figure 1 The USB host 20 includes only four channel adapters 226a, 226b, 226c, and 226d as an example. However, those skilled in the art may adjust the number of channel adapters based on actual application scenarios, and this embodiment is not limiting. In some embodiments, the USB host 20 includes a USB4 channel adapter, a USB3 adapter, a DP output (DPOUT) adapter, or other adapters and their associated circuitry that comply with the USB4 specification.

[0045] In one embodiment, the USB transmission system 1 further includes a memory ( Figure 1 The memory may be, for example, a random access memory (RAM), a flash memory, a programmable read-only memory (PROM), an electrically alterable read-only memory (EAROM), an erasable programmable read-only memory (EPROM), and / or an electrically erasable programmable read-only memory (EEPROM). In this embodiment, the memory is coupled to the control circuit 124 and is used to store valid information of the connection manager 220. In one embodiment, the valid information of the connection manager 220 includes a version of the connection manager 220 or an adapter configuration applicable to the connection manager 220.

[0046] Figure 2FIG. 1 is a flow chart illustrating an operating method of a USB integrated circuit according to an embodiment of the present invention. Figure 2 The operation method 2 shown is applicable to Figure 1 The USB integrated circuit 120 in the USB device 10 is shown. Figure 1 The various components of the embodiment are described in detail Figure 2 Operation method 2 is shown.

[0047] Please refer to Figure 1 and Figure 2 First, in step S202, the control circuit 124 submits the first adapter configuration to the USB host 20 via the SBU interface circuit 122, so that the USB host 20 enumerates the USB device 10 according to the first adapter configuration. In step S204, after the USB device 10 is enumerated, the control circuit 124 observes the behavior of the USB host 20 with respect to the USB device 10. Next, in step S206, the control circuit 124 determines whether the first adapter configuration submitted to the USB host 20 is suitable for the connection manager 220 of the USB host 20 based on the behavior of the USB host 20.

[0048] If the first adapter configuration is applicable to the connection manager 220 (the result of step S206 is "yes"), the control circuit 124 may proceed to step S208. In step S208, the control circuit 124 determines that the USB device 10 is compatible with the connection manager 220 of the USB host 20 and no further operation is required. If the first adapter configuration is not applicable to the connection manager 220 (the result of step S206 is "no"), the control circuit 124 may proceed to step S210. In step S210, the control circuit 124 submits the second adapter configuration to the USB host 20, causing the USB host 20 to re-enumerate the USB device 10 based on the second adapter configuration.

[0049] In one embodiment, the first adapter configuration is adapter configuration AC1, and the second adapter configuration is adapter configuration AC2. In another embodiment, the first adapter configuration is adapter configuration AC2, and the second adapter configuration is adapter configuration AC1. The adapter configuration AC1 faithfully represents the multiple adapters (e.g., Figure 1126a, 126b, 126c and 126d), and the adapter configuration AC2 includes one (or more) pseudo channel adapters. A pseudo channel adapter (such as a pseudo PCIe adapter, etc.) is a channel adapter that is not actually present in the USB integrated circuit 120. The content of the adapter configuration AC2 can be determined according to the actual application. For example, the adapter configuration AC1 includes, for example, 2 USB4 channel adapters, 1 USB3 upstream adapter and 1 DP output adapter, while the adapter configuration AC2 includes, for example, 8 USB4 channel adapters, 1 unsupported adapter, 1 PCIe upstream adapter, 3 PCIe downstream adapters, 1 USB3 upstream adapter, 3 USB3 downstream adapters and 2 DP output adapters.

[0050] Figures 3A to 3C FIG. 4 is a flow chart illustrating an operating method of a USB integrated circuit according to another embodiment of the present invention. Figures 3A to 3C The operation method 3 shown is applicable to Figure 1 The USB integrated circuit 120 in the USB device 10 is shown. Figure 1 The various components of the embodiment are described in detail Figures 3A to 3C Operation method 3 is shown.

[0051] Please refer to Figure 1 and Figures 3A to 3C First, in step S302, the USB integrated circuit 120 performs a power-on operation. In step S304, after the USB integrated circuit 120 is powered on, the control circuit 124 determines whether the memory ( Figure 1 In one embodiment, the valid information of the connection manager 220 includes the version of the connection manager 220 or the adapter configuration applicable to the connection manager 220, but the present invention is not limited thereto.

[0052] If the control circuit 124 determines that valid information about the connection manager 220 is stored in the memory (the determination result of step S304 is "yes"), the control circuit 124 may proceed to step S306. In step S306, the control circuit 124 configures an initial adapter configuration based on the valid information and submits the initial adapter configuration to the USB host 20 so that the USB host 20 can enumerate the USB device 10. Specifically, the initial adapter configuration may be adapter configuration AC1 (an adapter configuration that faithfully represents the multiple adapters of the USB integrated circuit 120) or adapter configuration AC2 (an adapter configuration that includes one or more pseudo channel adapters). Based on the version of the connection manager 220 or the adapter configuration applicable to the connection manager 220, the control circuit 124 submits the corresponding initial adapter configuration to the USB host 20 via the SBU interface circuit 122 so that the USB host 20 can enumerate the USB device 10.

[0053] If the control circuit 124 determines that valid information for the connection manager 220 is not stored in the memory (the result of step S304 is "No"), the control circuit 124 may proceed to step S308. In step S308, the control circuit 124 uses the default adapter configuration as the currently used adapter configuration (the first adapter configuration) and submits the default adapter configuration to the USB host 20, causing the USB host 20 to enumerate the USB device 10. In one embodiment, the default adapter configuration may be adapter configuration AC1 (an adapter configuration that faithfully represents the multiple adapters of the USB integrated circuit 120). In another embodiment, the default adapter configuration may be adapter configuration AC2 (an adapter configuration that includes one or more pseudo channel adapters). Specifically, the control circuit 124 submits the default adapter configuration (adapter configuration AC1 or adapter configuration AC2) to the USB host 20 via the SBU interface circuit 122, causing the USB host 20 to enumerate the USB device 10.

[0054] In step S310, the control circuit 124 sends a read command to the USB host 20 through the SBU interface circuit 122 to obtain the VID and / or PID of the USB host 20. Then, the control circuit 124 determines whether to continue to use the default adapter configuration as the current adapter configuration based on the VID and / or PID of the USB host 20. Specifically, in step S312, the control circuit 124 determines whether the USB host 20 is a USB connection manager of a certain manufacturer based on the VID and / or PID of the USB host 20. Figure 3A In the application scenario example shown, the connection manager of a certain manufacturer has version compatibility issues.

[0055] If the control circuit 124 determines that the connection manager 220 of the USB host 20 is not the USB connection manager of the specific manufacturer (the result of the determination in step S312 is "No"), the control circuit 124 may proceed to step S314. In step S314, the control circuit 124 determines that the USB device 10 is compatible with the connection manager 220 of the USB host 20 (the default adapter configuration reported in step S308 is applicable to the connection manager 220), and no further operation is required.

[0056] If the control circuit 124 determines that the connection manager 220 of the USB host 20 is the USB connection manager of the particular manufacturer (the result of step S312 is "yes"), the control circuit 124 may proceed to step S316. In step S316, the control circuit 124 determines whether the default adapter configuration reported in step S308 is adapter configuration AC1 (an adapter configuration that faithfully represents the multiple adapters of the USB integrated circuit 120) or adapter configuration AC2 (an adapter configuration that includes one or more pseudo channel adapters).

[0057] If the control circuit 124 determines that the default adapter configuration reported in step S308 is adapter configuration AC1 (the determination result in step S316 is "adapter configuration AC1"), the control circuit 124 may perform Figure 3B Step S318a is shown. In step S318a, after the USB device 10 is enumerated, the control circuit 124 observes the behavior of the USB host 20 with respect to the USB device 10. Next, in step S320a, the control circuit 124 determines whether the adapter configuration AC1 is applicable to the connection manager 220 of the USB host 20 based on the behavior of the USB host 20. Specifically, in one embodiment, when the control circuit 124 uses the adapter configuration AC1 as the currently used adapter configuration, if the observed behavior of the USB host 20 indicates that "a USB3 tunneling path is not established between the USB host 20 and the USB device 10," the control circuit 124 determines that the adapter configuration AC1 is not applicable to the connection manager 220 (the determination result of step S320a is "No"). Otherwise, the control circuit 124 determines that the adapter configuration AC1 is applicable to the connection manager 220.

[0058] If the adapter configuration AC1 is compatible with the connection manager 220 (step S320a is "yes"), the control circuit 124 proceeds to step S322a. In step S322a, the control circuit 124 determines that the USB device 10 is compatible with the connection manager 220 of the USB host 20 and no further operation is required.

[0059] If adapter configuration AC1 is not applicable to the connection manager 220 (the result of step S320a is "No"), the control circuit 124 may proceed to step S324a. In step S324a, the control circuit 124 changes the adapter configuration to AC2 (the second adapter configuration) as the currently used adapter configuration. In other words, the control circuit 124 reports the changed adapter configuration AC2 to the USB host 20, causing the USB host 20 to re-enumerate the USB device 10. In one embodiment, the control circuit 124 causes the USB host 20 to re-enumerate the USB device 10 by re-establishing the SB channel between the SBU pin 104 of the USB connector 100 and the SBU pin 204 of the USB connector 200. This allows the connection manager 220 to successfully establish the USB3 tunneling path between the USB host 20 and the USB device 10.

[0060] In step S326a, after the USB host 20 re-enumerates the USB device 10, the connection manager 220 establishes a USB3 tunneling path with a first identification code between the USB host 20 and the USB device 10, and the control circuit 124 stores valid information corresponding to the connection manager 220 in a memory (not shown). Specifically, the first identification code is the HopID value recorded in packets transmitted over the USB3 tunneling path. In this embodiment, the HopID value is 0x10. In one embodiment, the valid information includes the version of the connection manager 220 (e.g., NVM FW version V34) or the adapter configuration AC2 applicable to the connection manager 220. In another embodiment, the valid information also includes the first identification code, but this embodiment is not limited to this.

[0061] Back to Figure 3A In step S316, if the control circuit 124 determines that the default adapter configuration reported in step S308 is adapter configuration AC2 (the determination result of step S316 is "adapter configuration AC2"), the control circuit 124 may perform Figure 3CStep S318b is shown. In step S318b, after the USB device 10 is enumerated, the control circuit 124 observes the behavior of the USB host 20 with respect to the USB device 10. Next, in step S320b, the control circuit 124 determines / decides whether the adapter configuration AC2 is applicable to the connection manager 220 of the USB host 20 based on the behavior of the USB host 20. Specifically, if the control circuit 124 is using adapter configuration AC2 as the currently used adapter configuration, and if the control circuit 124 observes that the USB host 20's behavior indicates "establishing a USB3 tunneling path with the second identification code between the USB host 20 and the USB device 10," the control circuit 124 determines / decides that the adapter configuration AC2 is not applicable to the connection manager 220 (the determination result of step S320b is "No"). Otherwise, the control circuit 124 determines / decides that the adapter configuration AC2 is applicable to the connection manager 220. In one embodiment, the second identification code is the HopID value recorded in the packet transmitted on the USB3 tunneling path (in this embodiment, the HopID value is 0X08).

[0062] When the adapter configuration AC2 is compatible with the connection manager 220 (step S320b is "yes"), the control circuit 124 proceeds to step S322b. In step S322b, the control circuit 124 determines that the USB device 10 is compatible with the connection manager 220 of the USB host 20 and no further operation is required.

[0063] If adapter configuration AC2 is not applicable to the connection manager 220 (the result of step S320b is "No"), the control circuit 124 may proceed to step S324b. In step S324b, the control circuit 124 changes the adapter configuration to AC1 (the second adapter configuration) as the currently used adapter configuration. That is, the control circuit 124 reports the adapter configuration AC1 to the USB host 20, causing the USB host 20 to re-enumerate the USB device 10. In one embodiment, the control circuit 124 causes the USB host 20 to re-enumerate the USB device 10 by re-establishing the SB channel between the SBU pin 104 of the USB connector 100 and the SBU pin 204 of the USB connector 200. This prevents the connection manager 220 from issuing an abnormal reset in the USB3 tunneling path after the USB4 device resumes from sleep mode.

[0064] In step S326b, after the USB host 20 re-enumerates the USB device 10, the control circuit 124 stores the valid information corresponding to the connection manager 220 in a memory (not shown). In one embodiment, the valid information includes the version of the connection manager 220 (e.g., NVM FW version V41) or the adapter configuration AC1 applicable to the connection manager 220. In another embodiment, the valid information also includes the second identification code, but the present embodiment is not limited thereto.

[0065] It is worth noting that the specific order and / or hierarchy of steps in the methods of the embodiments of the present invention are merely exemplary approaches. Based on design preferences, the specific order or hierarchy of steps of the disclosed methods or processes may be rearranged while remaining within the scope of the embodiments of the present invention. Therefore, those skilled in the art will understand that the methods and techniques of the embodiments of the present invention present various steps or actions in a sample order, and that the embodiments of the present invention are not limited to the specific order or hierarchy presented unless otherwise expressly stated.

[0066] According to different design requirements, the SBU interface circuit 122 and / or the control circuit 124 may be implemented in hardware, firmware, software (ie, program), or a combination of the three.

[0067] In hardware, the SBU interface circuit 122 and / or the control circuit 124 may be implemented as logic circuits on an integrated circuit. The functions of the SBU interface circuit 122 and / or the control circuit 124 may be implemented as hardware using hardware description languages ​​(e.g., Verilog HDL or VHDL) or other suitable programming languages. For example, the functions of the SBU interface circuit 122 and / or the control circuit 124 may be implemented as various logic blocks, modules, and circuits within one or more controllers, microcontrollers, microprocessors, application-specific integrated circuits (ASICs), digital signal processors (DSPs), field programmable gate arrays (FPGAs), and / or other processing units.

[0068] In software and / or firmware form, the functions of the SBU interface circuit 122 and / or the control circuit 124 can be implemented as programming codes. For example, the SBU interface circuit 122 and / or the control circuit 124 can be implemented using a common programming language (e.g., C, C++, or combination language) or other suitable programming language. The programming codes can be recorded / stored in a recording medium, such as a read-only memory (ROM), a storage device, and / or a random access memory (RAM). A computer, a central processing unit (CPU), a controller, a microcontroller, or a microprocessor can read and execute the programming codes from the recording medium to achieve the relevant functions. The recording medium can be a "non-transitory computer-readable medium," such as a tape, a disk, a card, a semiconductor memory, a programmable logic circuit, or the like. Furthermore, the program may be provided to the computer (or CPU) via any transmission medium (communication network, broadcast waves, etc.), such as the Internet, wired communication, wireless communication, or other communication media.

[0069] In summary, the USB integrated circuit, USB integrated circuit operating method, and USB device provided in the aforementioned embodiments can report a default adapter configuration to a USB host. After the USB host enumerates the USB device, the USB host's behavior toward the USB device can be observed to determine whether the connection manager version and the default adapter configuration are applicable to the USB host's connection manager. If the default adapter configuration is not applicable to the connection manager, the USB integrated circuit can instead report an alternative adapter configuration to the USB host, causing the USB host to re-enumerate the USB device. In this way, the USB device can report the corresponding adapter configuration to the USB host based on the connection manager version, thereby maintaining compatibility with any connection manager version.

[0070] Although the present invention has been disclosed above with reference to the embodiments, they are not intended to limit the present invention. Those skilled in the art may make slight changes and modifications without departing from the spirit and scope of the present invention. Therefore, the scope of protection of the present invention shall be determined by the scope defined in the appended claims.

Claims

1. A USB integrated circuit, suitable for being configured in a USB device, comprising: a sideband interface circuit adapted to be coupled to a sideband pin of a USB connector of the USB device; as well as A control circuit is adapted to be coupled to the sideband use interface circuit and is configured to report a first adapter configuration to a USB host via the sideband use interface circuit so that the USB host enumerates the USB device. The control circuit observes the USB host's behavior with respect to the USB device after the USB device is enumerated, and determines whether the first adapter configuration is applicable to a connection manager of the USB host based on the behavior. When the first adapter configuration is not applicable to the connection manager, the control circuit instead reports a second adapter configuration to the USB host so that the USB host re-enumerates the USB device.

2. The USB integrated circuit of claim 1 , wherein when the behavior indicates that a USB3 tunneling path is not established between the USB host and the USB device, the control circuit determines that the first adapter configuration is not applicable to the connection manager, wherein the first adapter configuration faithfully represents a plurality of adapters of the USB integrated circuit and the second adapter configuration includes a plurality of pseudo channel adapters.

3. The USB integrated circuit of claim 2 , wherein after the USB host re-enumerates the USB device, the connection manager establishes a USB3 tunneling path having a first identification code between the USB host and the USB device, and the control circuit stores valid information of the connection manager in a memory, wherein the valid information includes a version of the connection manager or an adapter configuration applicable to the connection manager.

4. The USB integrated circuit of claim 1 , wherein when the behavior indicates establishing a USB3 tunneling path having a second identification code between the USB host and the USB device, the control circuit determines that the first adapter configuration is not applicable to the connection manager, wherein the first adapter configuration includes a plurality of pseudo channel adapters and the second adapter configuration faithfully represents a plurality of adapters of the USB integrated circuit.

5. The USB integrated circuit of claim 4 , wherein after the USB host re-enumerates the USB device, the control circuit stores valid information of the connection manager in a memory, wherein the valid information includes a version of the connection manager or an adapter configuration applicable to the connection manager.

6. The USB integrated circuit of claim 1 , wherein after the USB integrated circuit is powered on, the control circuit determines whether valid information of the connection manager is stored in the memory, When the control circuit determines that the memory stores the valid information of the connection manager, the control circuit configures an initial adapter configuration as the first adapter configuration according to the valid information to enable the USB host to enumerate the USB device. 7 . The USB integrated circuit of claim 6 , wherein the valid information includes a version of the connection manager or an adapter configuration applicable to the connection manager.

8. The USB integrated circuit of claim 6, wherein when the control circuit determines that the valid information of the connection manager is not stored in the memory, the control circuit uses a default adapter configuration as the first adapter configuration to enable the USB host to enumerate the USB device.

9. The USB integrated circuit of claim 8, wherein the default adapter configuration faithfully represents a plurality of adapters of the USB integrated circuit.

10. The USB integrated circuit of claim 1 , wherein the control circuit sends a read command to the USB host via the sideband interface circuit to obtain the vendor identification code or product identification code of the USB host. The control circuit determines whether to use a default adapter configuration as the first adapter configuration according to the vendor identification code or the product identification code so as to enable the USB host to enumerate the USB device.

11. A method for operating a USB integrated circuit, wherein the USB integrated circuit is adapted to be configured in a USB device, the method comprising: reporting the first adapter configuration to a USB host so that the USB host can enumerate the USB device; After the USB device is enumerated, observing an action of the USB host with respect to the USB device; determining, based on the behavior, whether the first adapter configuration is applicable to a connection manager of the USB host; as well as When the first adapter configuration is not suitable for the connection manager, the second adapter configuration is submitted to the USB host so that the USB host re-enumerates the USB device.

12. The operating method according to claim 11, further comprising: When the behavior indicates that a USB3 tunneling path is not established between the USB host and the USB device, it is determined that the first adapter configuration is not applicable to the connection manager, wherein the first adapter configuration faithfully represents multiple adapters of the USB integrated circuit and the second adapter configuration includes multiple pseudo channel adapters.

13. The operating method of claim 12 , wherein after the USB host re-enumerates the USB device, the connection manager establishes a USB3 tunneling path having a first identification code between the USB host and the USB device, and the operating method further comprises: Storing valid information of the connection manager in a memory, wherein the valid information includes a version of the connection manager or an adapter configuration applicable to the connection manager.

14. The operating method according to claim 11, further comprising: When the behavior indicates establishing a USB3 tunneling path with a second identification code between the USB host and the USB device, determining that the first adapter configuration is not applicable to the connection manager of the USB host, wherein the first adapter configuration includes multiple pseudo channel adapters and the second adapter configuration faithfully represents multiple adapters of the USB integrated circuit.

15. The operating method according to claim 14, further comprising: Storing valid information of the connection manager in a memory, wherein the valid information includes a version of the connection manager or an adapter configuration applicable to the connection manager.

16. The operating method according to claim 11, further comprising: After the USB integrated circuit is powered on, determining whether valid information of the connection manager is stored in the memory; as well as When it is determined that the memory stores the valid information of the connection manager, an initial adapter configuration is configured as the first adapter configuration according to the valid information to enable the USB host to enumerate the USB device.

17. The operating method according to claim 16, further comprising: When it is determined that the valid information of the connection manager is not stored in the memory, a default adapter configuration is used as the first adapter configuration to enable the USB host to enumerate the USB device. 18 . The operating method of claim 17 , wherein the default adapter configuration faithfully represents a plurality of adapters of the USB integrated circuit.

19. The operating method according to claim 11, further comprising: issuing a read command to the USB host to obtain the vendor identification code or product identification code of the USB host; as well as Whether to use a default adapter configuration as the first adapter configuration is determined according to the vendor identification code or the product identification code so as to enable the USB host to enumerate the USB device.

20. A USB device comprising: A USB connector including at least one channel pin and at least one sideband use pin; as well as USB integrated circuit, including: a sideband use interface circuit adapted to be coupled to a sideband use pin of the at least one sideband use pin; as well as A control circuit is adapted to be coupled to the sideband use interface circuit and is configured to report a first adapter configuration to a USB host via the sideband use interface circuit so that the USB host enumerates the USB device. The control circuit observes the USB host's behavior with respect to the USB device after the USB device is enumerated, and determines whether the first adapter configuration is applicable to a connection manager of the USB host based on the behavior. When the first adapter configuration is not applicable to the connection manager, the control circuit instead reports a second adapter configuration to the USB host so that the USB host re-enumerates the USB device.

Citation Information

Patent Citations

  • Data transceiving method and device

    CN107085507A

  • Docking device, electrical device, and mac address cloning method

    CN109471493A