Perhaps the most well-known communications interface in consumer electronics, Universal Serial Bus (USB) is the ubiquitous protocol used by mobile electronics devices that need a wired connection to transfer information to a PC.
The USB standard, first developed around 20 years ago, defines the communications protocol, cables and connectors used for the connection. It was initially developed to standardise connections between computers and external computer peripherals, and provides power to the external portable electronic device as well as data transfer. Power provided by a USB interface is nominally 5V (with different current limits depending on the USB standard).
The widely-adopted USB 2.0 standard (also known as ‘High Speed’ USB) can transfer data at up to 480 Mbit/s. The latests versions (USB 3.0 ‘SuperSpeed’ and USB 3.1 ‘SuperSpeed+’) can transfer data at up to 5 Gbit/s and 10 Gbit/s respectively although in practice the current achievable throughput is less than that.
The microUSB type B socket has become the standard connector used in designs for charging mobile phones, tablets, PDAs and other electronic devices.
USB On-The-Go (OTG) allows devices to sometimes act as hosts so that other devices (e.g. computer peripherals such as keyboards, mice or flash drives) can connect to them. An electronic product designed with USB OTG can switch between acting as a host or as a device depending what it is connected to. For example, a tablet could act as a USB host while connected to a keyboard, but later operate as a USB device when plugged into a PC.
Incorporating USB functionality into an embedded system design can be done in several ways. The most common method is to design in a “Serial to USB” processor in addition to any other microcontrollers / microprocessors used in the product. These processors are off-the-shelf ICs and come with the USB stack built in. These dedicated chips convert the USB communications protocol into a standard serial communications protocol – this allows the main processor to effectively interface over USB via a standard serial port, meaning there is very little overhead on the main processor. Adding this extra electronics inevitably adds to the Bill of Materials cost for the product, but reduces design and development time, complexity and risk.
An alternative design approach is to select a main processor that already incorporates a USB peripheral. Most silicon manufacturers also supply a USB software stack for their processors, which again helps to reduce development time and project risk.
When designing a USB interface into an electronic product, consideration must also be given to the on-going costs associated with using the USB logo and the one-off cost of purchasing a Vendor ID (VID) number and associated Product ID numbers. The VID and PID enable a PC to automatically display the name of the company and the product when an electronic device is connected to its USB port. Additionally, there is a cost to incorporate a company name into Microsoft signed drivers for USB devices to work seamlessly with Windows. These fees cost thousands of US dollars and need to be factored into the overall cost-benefit analysis when specifying the features of the electronic product during the design process.