UNIVERSAL SERIAL BUS (USB) 2.0 SOLUTIONS
| PRODUCT OVERVIEWS (pdf) |
The USB (Universal Serial Bus) is a type of serial bus that enables transfer of data between a host computer and various types of peripheral devices. The USB host has point-to-point connections with USB devices via a tiered star topology, in which each star contains a device called a hub. The USB enables connection of up to 127 devices via this tiered star topology. In addition, devices can be connected or disconnected while the system is still operating.
USB signals are transferred point-to-point as differential signals using two signal lines. There are three signal trace modes, high-speed mode (480 Mbs), full speed mode (12 Mbs) and low speed mode (1.5 Mbs). Low speed mode is used in low-cost devices such as mouse devices that do not require much EMI protection. The mode is set as full speed or low speed based on the position of the terminating resistors connected to both ends of the USB cable. Terminating resistors are also used at each port to detect when devices are being connected or disconnected. A high-speed capable device has the terminating resistor arrangement identical to that of a full speed device and the high speed capability is identified by the USB host using a ‘Chirp’ handshake protocol during the reset.
The host schedules and manages data transfers. Consequently, the host must always start transfers, and all transfers are performed using up to three packets (token, data, and handshake packets). The token packet sends USB devices information on the processing direction, type of transaction, address, endpoint, etc. The USB device decodes the address field and determines whether or not it has been accessed. The data packet contains the data that is sent in the direction (from host to device or from device to host) that is specified by the token packet. The handshake packet is returned to the source of the transfer to indicate whether or not the transfer was successful. The following four types of transfers occur between USB hosts and USB devices.
Interrupt transfer: This is a small data transfer, which is used to send information from a USB device to client software. The HCD (Host Controller Driver) sends a token packet to a device within the period required by the device, after which the USB data transfer is executed.
Isochronous transfer: This is a periodic data transfer that uses a constant data transfer rate.
Control transfer: This is a non-periodic data transfer that is used to send information about configuration, commands, and status between the client software and a USB device.
Bulk transfer: This is a non-periodic data transfer that is used to send large amounts of information between the client software and a USB device
