Universal Serial Bus Grant Heileman. The History of USB In 1994 a collaborative effort to design a standard for peripheral devices was made between Compaq,

Slides:



Advertisements
Similar presentations
IO Interfaces and Bus Standards. Interface circuits Consists of the cktry required to connect an i/o device to a computer. On one side we have data bus.
Advertisements

Ethernet Risanuri Hidayat. Ethernet The term Ethernet refers to the family of local-area network (LAN) products covered by the IEEE standard. Three.
Protocol Layer Bottom-up view of the USB protocol Bottom-up view of the USB protocol –Byte/Bit Ordering –SYNC Field –Packet Field Formats PID Field PID.
ITEC 352 Lecture 33 USB (2). Review Intro to USB –History –Rationale –Competitors –Serial versus parallel –Topology.
May 16, Data Transfer & Framework John Garney Hub Working Group Chair Intel Corporation John Garney Hub Working Group Chair Intel Corporation.
USB: Data Flow Sukesh Shenoy. USB implementation areas.
1 Chapter Four Making Connections. 2 Introduction Connecting peripheral devices to a computer has, in the past, been a fairly challenging task Newer interfaces.
1 USB 2.0 Specification  General Description  From where we could begin the work  What would be valid to do?  Main doubts  What is OTG (On the Go)
1 USB 2.0 Specification  General Description  What is OTG (On the Go)  From where we could begin the work  What would be valid to do?
USB – An Overview Group 3 Kaushik Nandha Bikram What is the Universal Serial bus (USB)? Is a cable bus that supports data exchange between a host computer.
1 COMP541 Interrupts, DMA, Serial I/O Montek Singh April 24, 2007.
Review on Networking Technologies Linda Wu (CMPT )
Anush Rengarajan Feng Zheng Thomas Madaelil
Dr A Sahu Dept of Comp Sc & Engg. IIT Guwahati. USB Introduction USB Architecture USB Framming USB Drivers URB (USB request Block)
USB 2.0 INTRODUCTION NTUT CSIE 學 生:許家豪 指導教授:柯開維教授.
© 2006 Pearson Education, Upper Saddle River, NJ All Rights Reserved.Brey: The Intel Microprocessors, 7e Chapter 15 PC Standard Bus Interfaces WK.
Introduction to USB. 2 Agenda Introduction to USB LPC23xx Block diagram MCB2300 demo.
EE 446 Embedded Architecture. Universal Serial Bus A representative peripheral interface Universal Serial Bus (USB) provides a serial bus standard for.
Local Asynchronous Communications. Bit-wise data transmission Data transmission requires: Encoding bits as energy Transmitting energy through medium Decoding.
USB: UNIVERSAL SERIAL BUS Joe Kaewbaidhoon Alex Motalleb Vishal Joshi Prepared for EECS 373 University of Michigan, Ann Arbor 1.
Computer communication. Introduction Mechanisms applied in communicating between a computer and another computer or with other devices. Mainly serial.
18 - Winter 2003 EE EE 766 Computer Interfacing and Protocols 1 USB (Universal Serial Bus) Need for “Plug and Play” capability for PC peripherals outside.
Serial Interfaces. Bit serial bus New generation of busses Uses bit-serial, differential drive technology Uses on-line device drivers (Hot-plug technology)
USB Josh Rickmar John Marcoux. Topics Purpose and Goals History Bus Design Power Differential Signaling Connectors Changes in USB 3.0.
SERIAL BUS COMMUNICATION PROTOCOLS
Universal Serial Bus Host Specification and Implementation
May 17, USB 2.0 Transceiver Macrocell Steve McGowan - Intel Corporation Clarence Lewis - Texas Instruments Steve McGowan - Intel Corporation Clarence.
Peripheral Buses COMP Jamie Curtis. PC Buses ISA is the first generation bus 8 bit on IBM XT 16 bit on 286 or above (16MB/s) Extended through.
May 8, The EASY Way to Create I/O Devices John Hyde Intel Corporation intel.com.
The University of New Hampshire InterOperability Laboratory Serial ATA (SATA) Protocol Chapter 10 – Transport Layer.
Spring 2014 SILICON VALLEY UNIVERSITY CONFIDENTIAL 1 Introduction to Embedded Systems Dr. Jerry Shiao, Silicon Valley University.
October 10, USB 2.0 Hub Testing Dan Froelich Intel.
Introduction Electrical Considerations Data Transfer Synchronization Bus Arbitration VME Bus Local Buses PCI Bus PCI Bus Variants Serial Buses 11/06/20141Input/Output.
Peripheral Busses COMP Jamie Curtis. PC Busses ISA is the first generation bus 8 bit on IBM XT 16 bit on 286 or above (16MB/s) Extended through.
Introduction to USB Development. USB Development Introduction Technical Overview USB in Embedded Systems Recent Developments Extensions to USB USB as.
Introduction to USB © 2010 Renesas Electronics America Inc. All rights reserved.
USB Link Layer Protocol
LSU 10/22/2004Serial I/O1 Programming Unit, Lecture 5.
HL CE M, lehmann usb_tele ESC spring.ppt 1 - 9/8/2015, 10:22 START first foil.
ECE 371 – UNIT 20 Universal Serial Bus (USB). References 1. Universal Serial Bus Specification, Revision 2.0. This specification is available on the World.
Introduction1-1 Data Communications and Computer Networks Chapter 5 CS 3830 Lecture 27 Omar Meqdadi Department of Computer Science and Software Engineering.
USB 2.0 Spec. Chapter4 Architectural Overview Chapter5 USB Data Flow Model.
Microprocessor-based Systems
DEVICES AND COMMUNICATION BUSES FOR DEVICES NETWORK
Communication methods
Transmission Control Protocol
BR 6/001 Universal Serial Bus Universal Serial Bus is a new synchronous serial protocol for low to medium speed data transmission Full speed signaling.
February 10 th 2010 Dehmani Feth-Allah M2 ISTRe Oral Presentation Universal Serial Bus.
May 16, USB 2.0 Signal Protocols Jon Lueker Intel Corporation.
Data Communications (E&T2760): USB and IEEE USB and IEEE 1394.
Computer communication. Introduction Mechanisms applied in communicating between a computer and another computer or with other devices. Mainly serial.
Team 4 Project 1 Presentation Mapping Parallel Ports to LPT’s & USB Host Controller Interfaces Tom, Jen, Curtis, Ashley, Scott.
1 Presented By: Eyal Enav and Tal Rath Eyal Enav and Tal Rath Supervisor: Mike Sumszyk Mike Sumszyk.
May 8, USB 2.0 Signal Protocols Jon Lueker Intel Corporation.
©2008 R. Gupta, UCSD COSMOS Summer 2008 Peripheral Interfaces Rajesh K. Gupta Computer Science and Engineering University of California, San Diego.
GBT SCA overview Slide 1-5 Work status Slide 6-10 Shuaib Ahmad Khan.
USB Universal Serial Bus. University of Tehran 2.
Chapter 9: Transport Layer
Chapter 6 Input/Output Organization
Instructor Materials Chapter 9: Transport Layer
USB PHYISICAL LAYER PROTOCOL ENGINE LAYER APPLICATION LAYER
USB Universal Serial Bus
Communication Lines Fundamentals.
Universal Serial Bus Specification 1.0
USB- Universal Serial Bus
Embedding USB technology Limitations, challenges and compliance
USB-Microcontroller C540U Family
USB : Universal Serial Bus
Data Link Issues Relates to Lab 2.
Universal Serial Bus (USB)
Presentation transcript:

Universal Serial Bus Grant Heileman

The History of USB In 1994 a collaborative effort to design a standard for peripheral devices was made between Compaq, DEC, IBM, Intel, Microsoft, NEC, and Nortel.

USB 1.0 USB 1.0 was released January It has a data transfer rate of 12 Mbit/s. However USB did not become popular until its first revision, in This revision featured the ability to use either 12 Mbit/s(FS) or 1.5 Mbit/s(LS) depending on the device being used.

USB 2.0 April 2000, the specifications for USB 2.0 are released. With a data transfer rate of 480 Mbit/s(HS) this revision was much more superior than its predecessors. However, just because this speed is manageable does not mean that it is often met.

USB cables Signals are sent across USB cables by a twisted set of differential pair wires D+ and D- ( labeled W and G in the picture). USB uses Non Return to Zero Invert (NRZI) data encoding. This means that a 1 will be produced when there is no change in the level of the signal and a 0 will be produced whenever the signal changes. Power is supplied to the devices by the Vbus (+5v) and GND (-5v) wires.

Terms you should know Slave - A peripheral USB device, could be anything from an Ipod to a vacuum cleaner. A compound device is a slave that contains several sub- devices, referred to as device functions, incased within it. Slave - A peripheral USB device, could be anything from an Ipod to a vacuum cleaner. A compound device is a slave that contains several sub- devices, referred to as device functions, incased within it. Hub - A hub is a device that contains multiple ports. Their will always be a root hub. This is the hub that contains the ports connected to the host. After this condition has been meet you may have a device with the sole purpose of giving access to more ports. Hub - A hub is a device that contains multiple ports. Their will always be a root hub. This is the hub that contains the ports connected to the host. After this condition has been meet you may have a device with the sole purpose of giving access to more ports. Host - Initiates all transactions and bandwidth usage. A host is usually thought of as a computer; however a host can be any device that manages data transactions to and from slaves. The host controls most of the protocol complexity allowing for cheaper slave devices to be produced. Host - Initiates all transactions and bandwidth usage. A host is usually thought of as a computer; however a host can be any device that manages data transactions to and from slaves. The host controls most of the protocol complexity allowing for cheaper slave devices to be produced.

Host Controller A host controller is an additional piece of hardware that is used to guarantee that the data transmitted over the bus is within the USB specifications and no errors have occurred. Along with data processing and error management the HC is used to generate Start of Frame (SOF) packets every 1msec.

Serial Interface Engine The SIE is used in both the host and slave. The SIE is used in the serialization of USB transmissions. USB implements bit stuffing. This means that after six consecutive ones a zero is inserted. The SIE is responsible for bit stuff encoding/decoding the NRZI stream. It also generates the CRCs and confirms any incoming CRC, as well as detects PID, SOP, EOP, reset signals, and resume signals.

Tiered star topology Host Root hub Hub Peripheral Device Hub Peripheral Device Hub Peripheral Device

Enumeration Once you plug your device in a process called enumeration starts. The host initiates enumeration by… - Sending a reset signal to the device, as well as determine it’s speed - reading the device’s information - assigning a unique 7 bit address to the device - If the device is compatible with the host the device’s drivers are loaded and it is set to a configurable state.

Endpoints An interface is a group of endpoint. A endpoint is the physical structure, located on a USB device, that is the destination of the Packets. Managing interfaces allows the use to send information from the hosts buffers to specific endpoints on the interface. Endpoints can be Out (host to device) or In (device to host)

Endpoint types Control transfers: used for short, simple commands to the device, and status response to the host. Used by the bus control pipe number 0. Control transfers: used for short, simple commands to the device, and status response to the host. Used by the bus control pipe number 0. Isochronous transfers: guarantees a set data rate with possible data loss. It is usually the fastest data rate possible. (e.g. realtime audio or video). Isochronous transfers: guarantees a set data rate with possible data loss. It is usually the fastest data rate possible. (e.g. realtime audio or video). Interrupt transfers : devices that need guaranteed quick responses (bounded latency) (e.g. pointing devices and keyboards). Interrupt transfers : devices that need guaranteed quick responses (bounded latency) (e.g. pointing devices and keyboards). Bulk transfers: large sporadic transfers using all remaining available bandwidth, but with no guarantees on bandwidth or latency (e.g. file transfers). Bulk transfers: large sporadic transfers using all remaining available bandwidth, but with no guarantees on bandwidth or latency (e.g. file transfers).

Pipes A pipe is a logical connection between the appropriate software in the host and a particular endpoint on the device. There are two types of pipes, stream and message. A stream pipe is uni-directional and utilizes the isochronous, interrupt, and bulk data transfers. A message pipe is bi-directional and is exclusively used for control data transfers. Endpoint Zero is usually reserved for message pipes.

Packet Fields USB data is transmitted LSB first and contains packages consisting of these fields.

Sync This is a mandatory field that synchronizes the slave’s clock with the host’s clock. This field is 8 bits long in low and full speed devices and 32 bits long in high speed devices. The last two bits identify the start of the PID field. This is a mandatory field that synchronizes the slave’s clock with the host’s clock. This field is 8 bits long in low and full speed devices and 32 bits long in high speed devices. The last two bits identify the start of the PID field.

PID A “Packet ID” is a 8 bit field used to identify which type of packet is being sent. Only 4 bits are needed for this but to guarantee accuracy these 4 bits are complemented and repeated. A “Packet ID” is a 8 bit field used to identify which type of packet is being sent. Only 4 bits are needed for this but to guarantee accuracy these 4 bits are complemented and repeated.

ADDR This is a 7 bit field used to distinguish between slave device. The all 0’s address is used for devices that have not been assigned an address yet. This allows for a maximum of 127 devices to be connected. This is a 7 bit field used to distinguish between slave device. The all 0’s address is used for devices that have not been assigned an address yet. This allows for a maximum of 127 devices to be connected.

ENDP The endpoint field contains 4 bits, this allows for a total of 16 endpoints. However low speed devices may only have 4 endpoint, this includes the default pipes. The endpoint field contains 4 bits, this allows for a total of 16 endpoints. However low speed devices may only have 4 endpoint, this includes the default pipes.

CRC The Cyclic redundancy check is a field used to check for transmission errors in the token and data packets of any non-PID transaction. The Cyclic redundancy check is a field used to check for transmission errors in the token and data packets of any non-PID transaction.

EOP The End of packet field consists of a Single Ended Zero (SE0, D+ and D- are low) for two bit times followed by a J (differential 1 for full-speed devices and 0 for low-speed devices) for 1 bit time. This field is used so the slave can identify when a packet ends and a new sync can start. The End of packet field consists of a Single Ended Zero (SE0, D+ and D- are low) for two bit times followed by a J (differential 1 for full-speed devices and 0 for low-speed devices) for 1 bit time. This field is used so the slave can identify when a packet ends and a new sync can start.

Packet Types USB uses four different packet types. Token, Data, Handshake, and start of frame.

Token Packets Token packets are used to identify the type of transaction that will be taking place. In – Tells the slave that the host needs to read information. In – Tells the slave that the host needs to read information. Out – Tells the slave that the host needs to send information Out – Tells the slave that the host needs to send information SOF – Indicates the start of frame. SOF – Indicates the start of frame. Setup – Tells the slave a control transaction is starting Setup – Tells the slave a control transaction is starting Token packets must be formatted like this Sync PID ADDR ENDP CRC5 EOP

Data Packets Data packets contain the payload, low speed devices can have a maximum size of 8 bytes while full and high speed devices can have a maximum size of 1023 bytes and 1024 bytes respectively. The data must be sent in multiples of bytes. Data0 and Data1 can transmit up to 1024 bytes of data. High speed devices have an additional two packet types, Data2 and Mdata. Data packets must be formatted like this Sync PID DATA CRC16 EOP

Handshake packets Handshake packets are used to determine whether or not the the transmission of the data packet was successful. The types of handshake packets consist of. ACK – Acknowledges the packet was received. ACK – Acknowledges the packet was received. NAK – Informs the host that the device momentarily can not send or receive data. NAK – Informs the host that the device momentarily can not send or receive data. STALL – The device is in a state that requires intervention form the host. Either the endpoint is frozen or the Setup is not supported. STALL – The device is in a state that requires intervention form the host. Either the endpoint is frozen or the Setup is not supported. Handshake packets must be formatted like this. Sync PID EOP

Start of frame Packets The SOF packet is sent by the host every 1msec (FS bus) or 125usec (HS bus). The frame number is 11 bytes long. The SOF packet is sent by the host every 1msec (FS bus) or 125usec (HS bus). The frame number is 11 bytes long. Sync PID Frame Number CRC5 EOP