0% found this document useful (0 votes)
138 views

Universal Serial Bus (USB)

History and Evolution Why We Need USB? Architectural Overview USB communication flow Protocol Layer Conclusion

Uploaded by

Bhashi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
138 views

Universal Serial Bus (USB)

History and Evolution Why We Need USB? Architectural Overview USB communication flow Protocol Layer Conclusion

Uploaded by

Bhashi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 30

Universal

Serial
Bus
CONTENT

• History and Evolution


• Why We Need USB?
• Architectural Overview
• USB communication flow
• Protocol Layer
• Conclusion
• References
KEY WORD

• Down:From host to device


• Up:From device to host
Example
Down stream:data flow from host to device
Up stream: data flow from device to host
HISTORY

• USB—Universal Serial Bus


• Invented and standardized by a group of computer and
peripherals manufactures in 1995
• Compete with IEEE1394
EVOLUTION
WHY WE NEED USB?

• Connection of the PC to the telephone:


=>In order to transmit data
• Ease-of-use:
=>Saupport plug and play
• Port expansion:
=>Up to 127 devices
=>Can add lots of device to a XX
CHARACTERISTIC (2)

• The logical topology of the USB is a star structure


• It is similar to computer network
• The USB uses a polling protocol
• Up to 7 level
USB CAN DO

• Combines low speed and high speed bus activity , USB


enables shared access for both speed
• Automatic configuring of devices and a serial bus which is
simplified and easy to plug into
• Attach / detach easily without restarting system
ARCHITECTURAL OVERVIEW

• Host:only one
=>The smartest element in the USB system
=>Responsible to the complexity of the
protocol to make devices design simple
and low cost
=>Control the media access(no one can
access the bus unless it get an approval
required from the host )
USB SYSTEM MEMBER (2)

• Hub:one or more
=>Like the hubs used for computer network
=>Enables many devices to connect to a single USB
port
USB SYSTEM MEMBER (3)

• Device:one or more
=>Everything in the USB system , which is
not a host , is a device ( include hubs)
=>A device may provides one or more USB
functions
=>Has an unique address at the end of the
enumeration process
TYPICAL APPLICATION
COMMUNICATION FLOW
PIPES (1)

• The logic communication between the client


software on the host and the function on the
device is done through pipes
• It is a association between a specific
endpoint on the device and the appropriate
software in the host
PIPES (2)

• An endpoint is the source or destination of the


data that transmitted on the USB cable
• Two direction
=>OUT:
data flows from the host to the device
=>IN:
data flows from the device to the host
SIGNALING ON THE BUS

• The USB cable is 4 wire cable


• Signal on the bus is done by signaling over tow wires ( D+
and D_ )
=>1: D_ low , D+ high
=>0: D_ high , D+ low
• Data encoding and decoding is done using NRZI ( Non
Return to Zero Inverted )
SIE

• SIE:Serial Interface Engine


It is part of both the host’s and the device’s physical layer
=>Serialization and Deserialization
=>Encoding and Decoding
=>Generate(for out) and Verify(for in) CRC
=>Detect PID
HC

• HC:Host Controller
=>It is an additional hardware to ensure that everything
which is transmitted on the bus is correct
=>It serves both the USB and the host and has the
same functionality in ever USB system
THIS LAYER HANDLES

• Responsible for the translating the data between the


application layer and the USB transactions protocol .
• Two Role
=>USB System Software (in the USB host)
=>USB Logical Device (in the USB device)
THE USB SYSTEM SW

• Compose of The Host Controller Driver and The USB


Driver
• Responsible for
=>Bandwidth allocation
=>bus power management
Two of above are in order to enable devices to access the
bus
THE USB LOGICAL DEVICE

• Compose of a collection of independent endpoints


• Each endpoint has an unique Endpoint Number and is
unidirectional(except endpoint zero and has two type--
In/Out)
• Default pipe is associated with endpoint zero
THE APPLICATION LAYER

• Host end:Client Software


= >Manages the appropriate interface by
transferring data from its buffers to the
endpoint with the appropriate interface
• Device end:Function
= >Composed of interfaces and controls the
functionality of the device
PROTOCOL LAYER

• USB transactions are done through packets include three phases


=>Token phase:host initiates token
indicating the future transfer type
=>Data phase:actual data transmitted
=>Handshake phase:indicate the success or failure of the transaction
TRANSFER TYPES (1)

• Control Transfer
=>Used to configure a device (enumeration)
=>Compose of three phases (setup,data,status)
• Isochronous Transfer
=>Used for multimedia devices
=>It is guarantee the required bandwidth
=>No handshake phase
TRANSFER TYPES (2)

• Bulk Transfer
=>Used for large burst data
=>Guarantee of delivery , no guarantee of
bandwidth or minimum latency
• Interrupt Transfer
=>If there is a pending interrupt , the function
will send details to host after host poll it
PACKET (1)

• PID:Packet Identifier Field

• Address Field

=>So , there are up to 127 devices in USB


PACKET (2)

• Token Packet

=>ADDR & ENDP define an unique endpoint


PACKET (3)

• Data Packet
PACKET (4)

• Handshake Packet

=>Such as ACK 、NAK 、STALL…etc.


CONCLUSION

• USB is powerful and easy to use


• The complex host make the device easy to design

You might also like