Multiple virtual usb devices with virtual hub implemented using one usb device controller
AssigneeAten International Co., Ltd.
InventorChao-Hsuan Hsueh
Life of this patent
Estimating the term…
Abstract
A USB device using one USB device controller to simulate multiple virtual USB devices with a virtual USB hub is described. The USB device controller is assigned a USB address and communicates with the USB host under the control of an MCU and its firmware. The USB device also includes a CPLD (or FPGA or ASIC) and an analog switch for filtering the USB packets from the host and replacing the address in the packet by a fixed address before sending the packet to the USB device controller. The address in the original packet is stored in the CPLD and accessible by the MCU. The MCU controls the USB device controller to simulate one or more USB hubs and multiple USB devices.
Claims20
A serial bus device comprising:
- address filtering circuitry adapted for connecting to a serial bus for receiving first bus signals from a host including at least one packet having an address field, the address filtering circuitry extracting and storing an original address value of the address field and generating second bus signals which are identical to the first bus signals except for the address field and any other field whose value depends on a value of the address field, wherein the address field of the second bus signals contains a fixed address value;
- a serial bus device controller connected to the address filtering circuitry for receiving the second bus signals and performing a function in response thereto;
- and
- a microcontroller unit connected to the serial bus device controller, the microcontroller unit connected to the address filtering circuitry for retrieving the stored original address value, the microcontroller unit being loaded with firmware for controlling the function of the serial bus device controller based on the retrieved original address value.
A method for communication via a serial bus, comprising:
- (a) receiving first bus signals from a host including at least one packet having an address field;
- (b) extracting and storing an original address value of the address field of the first bus signals;
- (c) generating second bus signals which are identical to the first bus signals except for the address field and any other field whose value depends on a value of the address field, wherein the address field of the second bus signals contains a fixed address value;
- (d) retrieving the stored original address value;
- (e) receiving the second bus signals and performing a function in response thereto;
- and
- (f) controlling the performance of the function based on the retrieved original address value.
A Universal Serial Bus (USB) device comprising:
- a logic device adapted for connecting to a USB bus for receiving first bus signals from a host including at least one packet having an address field, the logic device extracting and storing an original address value of the address field and generating a fixed address signal containing a fixed address value and an address selection signal synchronized to the first bus signals;
- an analog switch adapted for connecting to the USB bus for receiving the first bus signals and receiving the fixed address signal and address selection signal from the logic device, the analog switch switching between the first bus signals and the fixed address signal according to the address selection signal to generate second bus signals which are identical to the first bus signals except for the address field and any other field whose value depends on a value of the address field, wherein the address field of the second bus signals contains the fixed address value;
- a USB device controller connected to the analog switch for receiving the second bus signals and performing a function in response thereto;
- and
- a microcontroller unit connected to the USB device controller, the microcontroller unit connected to the logic device for retrieving the stored original address value, the microcontroller unit being loaded with firmware for controlling the function of the USB device controller based on the retrieved original address value.
Dependencies are inferred from the claim text.