Universal Serial Bus (USB) was designed to standardize the connection of the computer peripherals, such as keyboards, mice, printers, pen drives, hard disks, and portable media players, both to communicate and supply power needed for them. USB is the most common connectivity solution for PCs and consumer devices today. Plug and play, easy to use and simple to implement, USB continues to gain traction in new applications and market segments. Coming to the history of the USB specifications, the first version of the specification, USB 1.0 was released in 1996. This version of specification defines two transfer speeds to address the different types of devices available until then. 1.5 Mbps (low-speed) is to address the low speed devices like keyboard and joysticks, 12 Mbps (full-speed) is to address the devices like disk drives.
USB 2.0 specification was released in 2000 and it allows the maximum signaling rate of 480 Mbps (high-speed), which is 40 times to the signaling rate of full-speed. USB 3.0 specification was released in 2008 and it allows the maximum signaling rate of 5 Gbps (SuperSpeed), which is 10 times to the signaling rate of high-speed.
The question is what applications require the Super Speed signaling rate. If you look at the advances in imaging data and storage, high-speed data rates are not sufficient to address these markets now. You need around 118 MBps to stream an uncompressed High Definition video (1080p @ 30fps). Also, now you can have a SD card of size up to 2 TB according to the latest SD card specification (v3.0), which is called an Extended Capacity SD Memory Card (SDXC). The clock frequency of this card can run up to 208 MHz, allowing data rates up to 104 MBps. USB 3.0 can address these markets without reservations. USB 3.0 is backward compatible with USB 2.0; for that matter, USB has always maintained backward compatibility with older specifications.
The rest of the article discusses the three different applications (Data acquisition systems, PC TV dongles and UVC cameras) of a USB 3.0 device controller and explain you how a general-purpose USB 3.0 device controller fits in all those applications.
Data acquisition system
Data acquisition is the process of sampling signals that measure real world physical conditions and converting the resulting samples into digital numeric values that can be manipulated by a computer. USB based data acquisition block diagram is shown in Figure 1.
In industries, there is a need for monitoring various parameters of the test equipment in real time. Sensors are connected to that equipment and the output of those sensors is connected to the high speed ADC’s. Let say for example, you are using an ADC which samples data at the rate of 160MSPS and outputs 16-bit per each sample then the output data rate of ADC is 320MBps. So here in this case, you need an USB 3.0 device controller to pass this information to the PC. User software resides on the PC takes this data and displays it as per the requirement.
The serial port interface (SPI) present on ADC allows the user to configure the ADC for specific functions or operations through a structured register space provided inside the ADC. The SPI provides added flexibility and customization, depending on the application. Digital PC TV dongle
Dongle refers to any small piece of hardware that plugs in to a computer. PC TV dongle is a dongle, which is used to watch TV in PC. In general, there are two types of PC TV dongles based on the type of TV signals that they use. If digital signals are used as a source, then it is a digital PC TV dongle and if analog signals are used, then it is an analog PC TV dongle. Digital PC TV dongle block diagram is shown in Figure 2.
The main components in the digital PC TV dongle are the digital tuner, digital demodulator, and a USB controller to act as MPEG2-TS to USB Bridge.
The tuner present in the TV dongle tunes the RF signal to the specific demodulator connected to it. And then the demodulator takes these DVB/ATSC/ISDB/DMB inputs and outputs the MPEG2 transport stream to the USB controller. USB controller passes this data to the PC where this data is played with the help of a media player.
Other than the data path, the tuner and demodulator are also connected to USB controller through an I2C interface. The I2C bus connection can be observed in the TV dongle block diagram that is shown above figure 2. This I2C bus is used to initialize and configure the tuner and demodulator from the drivers on the host PC across USB. If the USB controller has a dedicated I2C engine then that can be used; otherwise, two GPIO lines can be bit-banged for the I2C operation (SCL and SDA).