USB for Embedded Devices
Mohit Maheshwari 200601008 Prashant Garg 200601144
USB for Embedded Devices Mohit Maheshwari 200601008 Prashant Garg - - PowerPoint PPT Presentation
USB for Embedded Devices Mohit Maheshwari 200601008 Prashant Garg 200601144 USB : An Introduction The Universal Serial Bus (USB) is a specification developed by Compaq, Intel, Microsoft and NEC, joined later by Hewlett-Packard, Lucent
Mohit Maheshwari 200601008 Prashant Garg 200601144
The Universal Serial Bus (USB) is a
These companies formed the USB
Laborious and error-prone
Incompatible RS-232 connectors. High Power requirements of the
Point-to-Point nature of the
USB 1.0: January 1996. Specified data rates of
1.5 Mbit/s and 12 Mbit/s. Had many limitations , wasn’t widely adopted
USB 1.1: September 1998. Fixed bugs of earlier
version, was widely accepted.
USB 2.0: April 2000. Added Speed of 480 Mbit/s USB On-the-Go: December 2006. Host not
Micro USB: April 2007.Specially for Mobile Phones USB 3.0: (5 Gbit/s) In pipeline. Expected to be
HOST is master Devices can’t communicate directly
Device 1 Device 2 Host
Intel developed the UHCI (Universal Host
Controller Inter-face) specification. More Software Oriented Version.
A team led by Compaq, Microsoft, and
Version.
With the introduction of the high-speed
data rate of USB Version 2.0, all of the participants agreed to the EHCI (Enhanced Host Controller Interface) specification.
Device 1 Device 2
Devices can become limited role hosts Marked the emergence of usage of USB in portable platforms Removed the often-cited limitation that USB requires a desktop computer or equivalent to act as a host.
Type- A Type-B mini-B-Type mini-A-Type micro-AB-Type
1.
2.
A device (or hub) can only sink (consume)
current from its upstream port and source to downstream port.
A device which draws its power from the bus is
called a 'bus-powered' device. It relies solely on the USB cable.
A 'self-powered' device is one which does not
draw power from the bus. An additional power cable is attached.
Note : USB Connectors are specially designed
with power pins longer than signal pins so that power is always applied before signals.
SYNC sequence used by receiver to
Packet information varies from 1 to
The last part of a packet is the End-of-
Once powered up, host queries all the
devices connected to the bus and assigns each one an address. This process is called Enumeration.
Host also enquires what type of data
transfer is the device wishing to perform:
Speaker)
Cell Phones PDAs Digital Cameras Set top Boxes and more …….
USB on a PC USB on an embedded device MB and GB of memory available Only KB of memory available 2 GHz micro-processor 12-33 MHz Processor Hard drive space in GB , greater than 100 GB now a days No hard drive at all Last but not the least, many skilled engineers are well versed in designing PC based USB applications USB on embedded systems is relatively new and not many people have an idea about it.
Modern embedded devices allow
Lowered host power requirements. 480-Mbps data rate.
Latest architectures include direct integration
the USB interface and transceiver with the MCU core. This allows the application to take full advantage of the bus potential.
Due to large amounts of flash program memory on chip, MCUs with native USB interfaces can manage the entire application in a single-chip USB.
This results in an effective component count reduction and
real system cost savings.
Write custom Linux kernel module. Provides the power to do sophisticated things like emulating a file system etc.
Use USB bus as a high speed serial port. Implemented in the Linux kernel for Strong ARM processors. Straightforward approach and mostly used.
Ethernet over USB. Linux has modules to implement both the host and device sides of this capability. The Linux kernel for the iPAQ uses this, since the iPAQ hardware has neither an accessible serial port nor a dedicated network interface. Note: Correct approach depends on how much time one wants to spend in development and how we want our embedded application to use the USB interface.
Linux not only contains drivers for
These controller drivers enable Linux-
USB communications under Linux are
Micro USB has recently arrived in
USB 3.0
Jan Axelson, USB Complete Everything You Need to
Develop Custom USB Peripherals, 3rd edition
John Hyde, USB Design by Example A Practical
Guide to Building IO Devices, 2nd Edition
Datasheets – ATMega32, ATMega32U4, FT232 http://www.embedded.com http://www.usbmadesimple.co.uk/ http://www.everythingusb.com/ http://www.embedded-computing.com/ http://www.lvr.com/usb.htm