Data transmission method

By providing transmission channels in the USB hub and using the master control software and the controlled terminal software for data transmission, the problem of data transmission between USB hosts is solved, and data exchange and operation information sharing between multiple USB hosts are realized.

CN115033511BActive Publication Date: 2024-12-13GENESYS LOGIC INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202210166923.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2021-03-08
Filing Date
2022-02-23
Publication Date
2024-12-13
Estimated Expiration
2042-02-23

AI Technical Summary

Technical Problem

Existing USB hubs cannot be connected to multiple USB hosts at the same time, resulting in data transmission between different USB hosts being unable to be directly carried out.

Method used

The USB transmission channel is provided through the USB hub, and data is transmitted between the USB hosts and the controlled terminal software, realizing data exchange between multiple USB hosts.

Benefits of technology

Different USB hosts are allowed to transmit data to each other through the transmission channel of the USB hub, such as the operation information of the human-computer interface device, realizing data sharing and operation control between USB hosts.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115033511B_ABST
    Figure CN115033511B_ABST
Patent Text Reader

Abstract

The present invention provides a data transmission method. The data transmission method is applicable to a first USB host and a second USB host, wherein the first USB host includes a master control software and the second USB host includes a controlled software. The data transmission method includes: establishing a connection to the first USB host via a first USB port of a USB hub; establishing a connection to the second USB host via a second USB port of the USB hub; providing a first USB transmission channel between the first USB host and the second USB host by the USB hub; and transmitting first data to the USB hub via the first USB port by means of the master control software and the controlled software, and transmitting the first data to the second USB host via the second USB port through the first USB transmission channel of the USB hub.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention relates to a data transmission method, and in particular to a data transmission method suitable for Universal Serial Bus (USB) hosts. Background Art

[0002] Universal Serial Bus (USB) is a serial port bus standard that connects a host computer to external devices, and is also a technical specification for input and output interfaces. USB is widely used in personal computers, mobile devices, photographic equipment, digital TVs (set-top boxes), game consoles and other products. A USB hub allows the host computer to connect to more external devices.

[0003] Usually, a USB hub has only one upstream port (USB connector) to connect to a USB host. The rest of the connectors of the USB hub are downstream ports, which are used to connect USB devices. A general USB hub cannot be connected to multiple USB hosts at the same time. How to enable multiple USB hosts to transfer data to each other is one of the important issues in this field. Summary of the invention

[0004] The invention provides a data transmission method, so that different USB hosts can transmit data to each other through USB interfaces.

[0005] In an embodiment according to the present invention, a data transmission method is applicable to a first USB host and a second USB host, wherein the first USB host includes a host software and the second USB host includes a controlled software. The data transmission method includes: establishing a connection to the first USB host via a first USB port of a USB hub; establishing a connection to the second USB host via a second USB port of the USB hub; providing a first USB transmission channel between the first USB host and the second USB host by the USB hub; and transmitting first data to the USB hub via the first USB port by means of the host software and the controlled software, and transmitting the first data to the second USB host via the second USB port through the first USB transmission channel of the USB hub.

[0006] Based on the above, the data transmission system and data transmission method of the embodiments of the present invention can provide USB transmission channels between different USB hosts by the USB hub. The USB host can use the USB transmission channel of the USB hub to transmit data (such as human interface device operation information) to other USB hosts. BRIEF DESCRIPTION OF THE DRAWINGS

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

[0008] Figure 2 It is a flowchart of a data transmission method according to an embodiment of the present invention.

[0009] Figure 3 The invention is a circuit block diagram of a USB hub according to an embodiment of the invention.

[0010] Figure 4 is a circuit block diagram of a data transmission system according to yet another embodiment of the present invention.

[0011] Description of Reference Numerals

[0012] 100, 500: Data transmission system

[0013] 110, 120, 510, 520, 550: USB host

[0014] 111, 121, 511, 521, 551: USB downstream ports

[0015] 130, 130', 530: USB hub

[0016] 131, 132, 531, 532, 533: USB port

[0017] 133:Multitasking

[0018] 1331, 1332, 1333, 1334, 1341, 1342, 1351, 1352: connection end

[0019] 134:Host bridge unit

[0020] 135:USB hub unit

[0021] S201, S202, S203, S204: Steps DETAILED DESCRIPTION

[0022] Reference will now be made in detail to exemplary embodiments of the present invention, examples of which are illustrated in the accompanying drawings. Whenever possible, the same reference numerals are used in the drawings and the description to refer to the same or like parts.

[0023] The term "coupled (or connected)" used in the entire specification of this case (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 case (including the claims) are used to name the components (element) or to distinguish different embodiments or ranges, and are not used to limit the upper or lower limit of the number of components, nor to limit the order of components. In addition, wherever possible, components / components / steps with the same number in the drawings and embodiments represent the same or similar parts. Components / components / steps using the same number or the same terminology in different embodiments can refer to the relevant descriptions of each other.

[0024] Figure 1 1 is a circuit block diagram of a data transmission system 100 according to an embodiment of the present invention. The data transmission system 100 includes a plurality of USB hosts (eg Figure 1 1 and 120) and a USB hub (Hub) 130. The USB host 110 and the USB host 120 are USB hosts that comply with the USB protocol. For example, in some embodiments, the USB host 110 (or the USB host 120) may be a personal computer, a server, a tablet computer, or other USB hosts. In some embodiments, the USB host 110 may include a host software, and the USB host 120 may include a controlled software. In other embodiments, the USB host 110 may include a controlled software, and the USB host 120 may include a host software.

[0025] The USB host 110 and the USB host 120 may be computing platforms of various forms. In one embodiment, the USB host 110 may run on a first operating system, and the USB host 120 may run on a second operating system (different from the first operating system). That is, the USB host 110 and the USB host 120 may run on different operating systems. For example, the USB host 110 may run on a Windows operating system, and the USB host 120 may run on a Linux operating system. According to actual application scenarios, in other embodiments, the first operating system may also be the same as the second operating system.

[0026] The USB hub 130 has a USB port 131 and a USB port 132. The USB port 131 and / or the USB port 132 may be a USB type-C connector or other USB connectors that comply with the USB protocol. For example, the USB port 131 and the USB port 132 may be USB upstream ports. The USB port 131 is coupled to the USB downstream port 111 of the USB host 110. The USB upstream port 132 is coupled to the USB downstream port 121 of the USB host 120.

[0027] Figure 2 is a flow chart of a data transmission method according to an embodiment of the present invention. Figure 1 and Figure 2 In step S201, the USB hub 130 may establish a connection to the USB host 110 via its USB port 131. For example, the USB hub 130 may establish a connection to the USB host 110 via the USB port 131 in a manner specified by the USB protocol.

[0028] In step S202, the USB hub 130 may establish a connection to the USB host 120 via its USB port 132. For example, the USB hub 130 may establish a connection to the USB host 120 via the USB port 132 in a manner specified by the USB protocol.

[0029] In step S203 , the USB hub 130 may provide a USB transmission channel between the USB host 110 and the USB host 120 . The USB host 110 and the USB host 120 may transmit data to each other through the USB transmission channel of the USB hub 130 .

[0030] In step S204, the first data can be transmitted to the USB hub 130 via the USB port 131 of the USB hub 130 by the host software of the USB host 110 and the controlled software of the USB host 120, and the first data can be transmitted to the USB host 120 via the USB port 132 through the USB transmission channel provided by the USB hub 130. In some embodiments, the host software and the controlled software adopt an end-to-end method, so that the first data is transmitted to the USB hub 130 via the USB port 131, and the first data is transmitted to the USB host 120 via the USB port 132 through the USB transmission channel of the USB hub 130.

[0031] In one embodiment, the USB port 131 and / or the USB port 132 of the USB hub 130 may support the inter-domain connection function specified by the USB4 protocol. For example, when the communication protocol transmitted at the USB port 131 and the communication protocol transmitted at the USB port 132 are both the USB4 communication protocol, the USB hub 130 may use the inter-domain connection to provide a USB transmission channel between the USB host 110 and the USB host 120.

[0032] In other preferred embodiments, when the communication protocol transmitted by one of the two USB ports of the USB hub is not the USB4 communication protocol, a host bridge unit (not shown) may be provided. Figure 1 , which will be available later Figure 3 The host bridge unit can provide a bridge interface so that the USB host 110 and the USB host 120 can exchange data with each other. Furthermore, the USB hub of this embodiment can still provide a USB transmission channel between the USB host 110 and the USB host 120. In this embodiment, the USB transmission channel includes the transmission path of the host bridge unit.

[0033] In some application scenarios, the USB host 110 may have a human interface device (not shown), such as a human interface device (HID). The human interface device may include a keyboard, a mouse, and / or other human interface devices. The human interface device of the USB host 110 may be shared with the USB host 120. That is, the user may control / operate the USB host 120 by operating the human interface device of the USB host 110.

[0034] In one embodiment, the host software (application or driver) running on the USB host 110 can transmit the human-machine interface device operation information (or HID operation information, such as the movement vector of the mouse, or which key of the keyboard is pressed) of the human-machine interface device of the USB host 110 to the USB host 120 through the USB transmission channel of the USB hub 130. The USB host 120 can convert the human-machine interface device operation information of the USB host 110 into a human-machine interface device report (such as HID report, interrupt event) that conforms to the USB protocol by means of software simulation. For example, the controlled software (application or driver) running on the USB host 120 can convert (simulate) the human-machine interface device operation information of the USB host 110 into a HID report that conforms to the USB protocol. Therefore, the user can control / operate the USB host 120 by operating the human-machine interface device of the USB host 110. The HID report of the human-machine interface device can be HID interrupt data that conforms to the USB specification. The HID report of the human-machine interface device can be defined in the HID descriptor (descriptor) presented by the HID device to the USB host 110.

[0035] In another embodiment, the USB host 110 can transmit the HID operation information of the human-machine interface device (not shown) of the USB host 110 to the USB host 120 through the USB transmission channel of the USB hub 130, and then the USB host 120 can output the HID operation information of the USB host 110 to the USB hub 130. The USB hub 130 returns the HID operation information to the USB host 120 in the form of a HID report (interrupt event). That is, the USB hub 130 can generate a HID report that complies with the USB protocol specification to the USB host 120 based on the HID operation information provided by the USB host 120. Therefore, the USB host 120 can regard the USB hub 130 as a physical human-machine interface device.

[0036] Figure 3 FIG. 1 is a circuit block diagram of a USB hub according to an embodiment of the present invention. According to the actual design, in some embodiments, Figure 1 The USB hub 130 shown can refer to Figure 3 The relevant description of the USB hub 130' is shown. Figure 3 The USB hub 130' includes a multiplexer 133, a host bridge unit 134 and a USB hub unit 135. The multiplexer 133 has a connection terminal 1331, a connection terminal 1332, a connection terminal 1333 and a connection terminal 1334. The connection terminal 1331 is coupled to the USB port 131, and the connection terminal 1332 is coupled to the USB port 132.

[0037] The host bridge unit 134 has a connection end 1341 and a connection end 1342. The connection end 1333 of the multiplexer 133 is coupled to the connection end 1341 of the host bridge unit 134. In the case where one of the communication protocols transmitted by the USB port 131 and the USB port 132 of the USB hub 130' is not the communication protocol of USB4, or in the case where the communication protocols transmitted by the USB port 131 and the USB port 132 of the USB hub 130' are not the communication protocol of USB4, the host bridge unit 134 can provide a bridge interface between the connection end 1341 and the connection end 1342 so that the USB host 110 and the USB host 120 can exchange data with each other. That is, when the USB host 110 is connected to the USB port 131 and the USB host 120 is connected to the USB port 132, the USB hub 130' can provide a USB transmission channel between the USB host 110 and the USB host 120.

[0038] The USB hub unit 135 has a connection terminal 1351 and a connection terminal 1352. The connection terminal 1334 of the multiplexer 133 is coupled to the connection terminal 1352 of the USB hub unit 135. The connection terminal 1342 of the host bridge unit 134 is coupled to the connection terminal 1351 of the USB hub unit 135.

[0039] For example, in the case where at least one of the communication protocols transmitted by the USB port 131 and the USB port 132 of the USB hub 130' is not the USB4 communication protocol, the multiplexer 133 may receive data from the USB port 131 via the connection terminal 1331, and then the multiplexer 133 may transmit the data to the connection terminal 1352 of the USB hub unit 135 via the connection terminal 1334. The USB3 hub unit 135 may transmit the data to the connection terminal 1342 of the host bridge unit 134 via the connection terminal 1351. The host bridge unit 134 may transmit the data to the connection terminal 1333 of the multiplexer 133 via the connection terminal 1341, and then the multiplexer 133 may transmit the data to the USB port 132 via the connection terminal 1332.

[0040] Figure 4 FIG. 5 is a circuit block diagram of a data transmission system 500 according to another embodiment of the present invention. Figure 4 The data transmission system 500 shown includes a USB host 510 , a USB host 520 , a USB host 550 , and a USB hub 530 . Figure 4 The USB host 510, USB host 520 and USB hub 530 shown in FIG. Figure 3The related descriptions of the USB host 110 , the USB host 120 and the USB hub 130 ′ are analogous and will not be described in detail.

[0041] Figure 4 The USB host 550 shown is a USB host that complies with the USB protocol. For example, in some embodiments, the USB host 550 can be a personal computer, a server, a tablet computer, or other USB hosts. The USB host 550 can be a computing platform of various forms. In one embodiment, the USB host 550 can run on a third operating system, and the third operating system can be different from the operating system of the USB host 510 and (or) the USB host 520. According to the actual application scenario, in other embodiments, the operating system of the USB host 550 can be the same as the operating system of the USB host 510 and (or) the USB host 520.

[0042] Figure 4 The USB hub 530 shown has a USB port 531, a USB port 532, and a USB port 533. The USB ports 531, 532, and / or 533 may be USB type-C connectors or other USB connectors that comply with the USB protocol. The USB port 531 of the USB hub 530 is coupled to the USB downstream port 511 of the USB host 510. The USB port 532 of the USB hub 530 is coupled to the USB downstream port 521 of the USB host 520. The USB downstream port 551 of the USB host 550 is coupled to the USB port 533 of the USB hub 530.

[0043] In one embodiment, the USB hub 530 may provide a USB transmission channel between the USB host 510 and the USB host 520, and the USB hub 530 may provide another USB transmission channel between the USB host 510 and the USB host 550. The USB host 510 and the USB host 550 may transmit data to each other through the USB transmission channel of the USB hub 530. For example, the host control software (application or driver) running on the USB host 510 may transmit the first data to the USB hub 530. The USB hub 530 may receive the first data from the USB downstream port 511 of the USB host 510 through the USB port 531, and then the USB hub 530 may transmit the first data of the USB host 510 to the USB downstream port 521 of the USB host 520 through the USB port 532. Therefore, the controlled software (application or driver) running on the USB host 520 may obtain the first data of the USB host 510.

[0044] The host-side software (application or driver) running on the USB host 520 can transmit the second data to the USB hub 530. The USB hub 530 can receive the second data from the USB downstream port 521 of the USB host 520 through the USB port 532, and then the USB hub 530 can transmit the second data of the USB host 520 to the USB downstream port 511 of the USB host 510 through the USB port 531. Therefore, the controlled-side software (application or driver) running on the USB host 510 can obtain the second data of the USB host 520.

[0045] The host-side software (application or driver) running on the USB host 550 can transmit the third data to the USB hub 530. The USB hub 530 can receive the third data from the USB downstream port 551 of the USB host 550 through the USB port 533, and then the USB hub 530 can transmit the third data of the USB host 550 to the USB downstream port 511 of the USB host 510 through the USB port 531. Therefore, the controlled-side software running on the USB host 510 can obtain the third data of the USB host 550.

[0046] The host control software running on the USB host 510 can transmit the fourth data to the USB hub 530. The USB hub 530 can receive the fourth data from the USB downstream port 511 of the USB host 510 through the USB port 531, and then the USB hub 530 can transmit the fourth data of the USB host 510 to the USB downstream port 551 of the USB host 550 through the USB port 533. Therefore, the controlled software (application or driver) running on the USB host 550 can obtain the fourth data of the USB host 510.

[0047] According to actual applications, the USB host 520 and the USB host 550 can transmit data to each other. For example, the USB host 520 can transmit the fourth data to the USB host 510 through the USB transmission channel provided by the USB hub 530, and then the USB host 510 can transmit the fourth data of the USB host 520 to the USB host 550 through the USB transmission channel provided by the USB hub 530. Vice versa.

[0048] In another embodiment, the USB hub 530 may also provide a USB transmission channel between the USB host 520 and the USB host 550, so that the USB host 520 and the USB host 550 can transmit data to each other. For example, the USB hub 530 may receive the fifth data from the USB host 520 through the USB port 532, and then the USB hub 530 may transmit the fifth data of the USB host 520 to the USB host 550 through the USB port 533. Vice versa.

[0049] In summary, the USB hub described in the above embodiments can provide a USB transmission channel. Different USB hosts can transmit data to each other through the USB transmission channel provided by the USB hub. For example, a first USB host can use the USB transmission channel provided by the USB hub to transmit human-machine interface device operation information (such as HID operation information) to a second USB host, so that the HID device of the first USB host can be shared with the second USB host.

[0050] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or replace some or all of the technical features therein with equivalents. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present invention.

Claims

1. A data transmission method, applicable to a first USB host and a second USB host, characterized in that: The first USB host includes a host control software, the second USB host includes a controlled software, and the data transmission method includes: Establishing a connection from a USB hub to the first USB host via a first USB port thereof, wherein the first USB port is coupled to a first USB downstream port of the first USB host; The USB hub establishes a connection to the second USB host via its second USB port, wherein the second USB port is coupled to a second USB downstream port of the second USB host; The USB hub establishes a connection to a third USB host through a third USB port of the USB hub, wherein the third USB port is coupled to a third USB downstream port of the third USB host, and at least one of the first USB port, the second USB port and the third USB port of the USB hub supports an inter-domain connection function specified by the USB4 protocol; The USB hub provides a first USB transmission channel between the first USB host and the second USB host; The USB hub provides a second USB transmission channel between the first USB host and the third USB host; The USB hub provides a third USB transmission channel between the second USB host and the third USB host; The USB hub receives first data from the first USB downstream port of the first USB host through the first USB port; The first data is transmitted to the USB hub via the first USB port by the host software and the controlled software, and the first data is transmitted to the second USB host via the second USB port through the first USB transmission channel of the USB hub; The USB hub transmits the first data to the second USB downstream port of the second USB host through the second USB port; The USB hub receives second data from the second USB downstream port of the second USB host through the second USB port; The USB hub transmits the second data to the first USB downstream port of the first USB host through the first USB port; receiving, by the USB hub, third data from the third USB downstream port of the third USB host through the third USB port; and The USB hub transmits the third data to the first USB downstream port of the first USB host through the first USB port.

2. The data transmission method according to claim 1, characterized in that: When the communication protocol transmitted at the first USB port of the USB hub and the communication protocol transmitted at the second USB port of the USB hub are both the USB4 communication protocol, the USB hub provides the first USB transmission channel between the first USB host and the second USB host, and the USB hub provides the first USB transmission channel between the first USB host and the second USB host via an inter-domain connection.

3. The data transmission method according to claim 1, characterized in that: The first USB host runs on a first operating system, and the second USB host runs on a second operating system, wherein the first operating system is different from the second operating system.

4. The data transmission method according to claim 1, characterized in that: The data transmission method further comprises: The first USB host transmits the human-machine interface device operation information to the second USB host through the first USB transmission channel of the USB hub; and The second USB host converts the human-machine interface device operation information into a human-machine interface device report that complies with the USB protocol.

5. The data transmission method according to claim 1, characterized in that: The data transmission method further comprises: The first USB host transmits the human-machine interface device operation information of the human-machine interface device of the first USB host to the second USB host through the first USB transmission channel of the USB hub; The second USB host outputs the human-machine interface device operation information to the USB hub; and The USB hub transmits the human-machine interface device operation information back to the second USB host in the form of a human-machine interface device report.

6. The data transmission method according to claim 1, characterized in that: The host software and the controlled software adopt an end-to-end method, so that the first data is transmitted to the USB hub through the first USB port, and the first data is transmitted to the second USB host through the first USB transmission channel of the USB hub through the second USB port.