DOC PREVIEW
UNCC ECGR 6185 - Introduction to USB Development

This preview shows page 1-2-3-24-25-26 out of 26 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 26 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 26 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 26 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 26 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 26 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 26 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 26 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Introduction to USB Development lIntroductionlTechnical OverviewlUSB in Embedded SystemslRecent DevelopmentslExtensions to USBlUSB as compared to other technologiesUSB: Universal Serial BuslA serial bus standard for connecting devices usually peripheral devices to computers.Need for USBlTo eliminate a proliferation of the cables lEliminate the need for plug in expansion cardsStandardizationlDesign of USB standardized by USB implementers forum Why USB for Embedded Systems?USB:lOffers simple connectivitylLow costlEase of uselManages power effecientlylSupports all kinds of DataSerial Protocol and Physical Link uses two pairs of wireslUpstream Connection and Downstream ConnectionUses three types of cables and two types of connectorslHigh Speed cables at 480 MbpslFull Speed cables at 12 Mbps andlLow Speed cables at 1.5 MbpsUSB standard uses NZRI system to encode dataTwo Types of Connectors:lType AlType BArchitecture of a USB networklConsists of one host device and multiple daisy chained devicesFollows a Tiered star Topology and consists of:l Peripheralsl Hubsl Host controllerPeripherals receive and respond to the commands from the host. E.g. Mice, Keyboard, JoysticksTwo types of Peripheralsl Standalone andl Compound DevicelHost recognizes the peripheral through a process called EnumerationslHost communicates with the peripheral to learn its identity and identifies which device driver is requiredlHost supplies the peripheral with an addressHUBS:lAllows many USB devices to share a single USB portlUSB devices with some incorporated intelligencelIncrease the logical and physical fan outlSingle upstream connection and one-many down stream connectionTwo kinds of Hubs:•Bus Powered Hub: Draws power from the host computers USB interface•Self Powered Hub: Has a built in power supply.Smart wire passing data between the peripheral and HostDirect connection exists between host and peripheralsHost is the controller of the entire network.E.g.PC ! ""#lPeripherals connected regardless of the power statel A pair of wires to supply power to the peripherals l Manage power by enabling and disabling power to devices l Removes electrically ill behaved systems from the network $%"%% lCommunication between the host and the end points located in the peripherallEnd point is a unique point in the device which is the source or the receiver of the datalEnd point has a definite address associated with itlCodes indicate the type of transferl16 end points within each device each end point has a 4 bit addresslEnd point “0” reserved for control transfers $%"%% lTransactions between the host and end point take place through virtual pipeslPipes are logical channels which connect the host to the end pointslOnce the communication is established the end points return a descriptorlDescriptor is a data structure tells the host about the end points configuration and expectations $%"%% USB supports four transfer types of data:l Control Transfers: exchange information such as configuration, command information , set up between host and end pointl Bulk Transfers: Supports bulk amounts of data when timely delivery isn’t critical.E.g. Printers and Scannersl Isochronous transfers: Handle transfers like streaming datal Interrupt transfers: Poll devices to see if they need servicelUSB is a complex standard requires enormous amount of software support both of firmware side and the host supportl USB communication model relies on the Win32 Driver modell Win32 driver model layers different processes of communication into a stackl Its organized into Application Layer, Driver classes, Bus Driver and Host controller driver%%•Application Code reacts with the drivers using API calls•Within the stack itself the communication is through Interrupt I/O request packets•USB Bus driver manages Enumeration, power management and other USB transactions%lTwo types of drivers. Class Drivers and Custom Driversl Drivers are organized into classes where hardware that falls into a single class share similar interfacesE.g. HID Class which supports devices like mice, Joy sticksMonitor class which supports image position, alignmentlCustom Driver exploits capabilities of a particular piece of HardwareE.g. A Data Acquisition system %&'''lProcessor based USB controller adding Keyboard and mouse to an existing designlUSB Host controller will communicate with the existing design via an UARTlCode for the Host USB controller will contain a Library of routines and an Application layer FirmwarelCode from the Library will take care of enumerating newly attached or removed devices, communication to and from the devices, Memory management, etc. %&'''lWhile creating the code the first step is to determine how many and what type of devices will be supportedlThe next step is to create application code for each device.lThe driver template will include start, stop and run functionalitylAddition of Hub Support is the key design consideration( lUSB 2.0lPictBridge Standard to communicate imaging deviceslMicrosoft X box consolelIBM UltraportlUSB 1.0 OTGlUSB 1.0a supplement OTGlWireless USB )*)+*#lUSB On-The-Go Technology is used to provide dual role to the peripheralslEnables direct communication between the hosts without involving the processorlIncorporates Mini A , Mini B, Mini AB plugs and receptacleslHighly complex design *+Advantages:l Provides Dual Role Devicesl Introduces new connector types, Mini A, Mini B, Mini ABl


View Full Document

UNCC ECGR 6185 - Introduction to USB Development

Documents in this Course
Zigbee

Zigbee

33 pages

Load more
Download Introduction to USB Development
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Introduction to USB Development and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Introduction to USB Development 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?