SlideShare a Scribd company logo
Choosing (and Implementing) the Correct USB Connectivity for Your Embedded System Steve Wetterling, MSEE Email = octoberbest@servenger.com Pat Barrett, BSEE, P.E. Email = pat@barrettengineering.com
USB Basics    from the User’s Point of View Easy to use – all configuration is automatic Fast data transfer  Reliable data transfer Adaptable to different applications Wide range of devices and peripherals available Cheap to buy Fully supported by Windows ™  and Linux The USB development community keeps improving it
Where Did USB Come from ? A joint-effort by a group of manufacturers (Compaq, HP, Intel, Lucent, Microsoft, NEC and Philips)  Replaces the aging Parallel Printer Port and Serial Port PC interfaces. Supported by the USB Implementers Forum, Inc. (USB-IF,  www.usb.org ), in Beaverton USB-IF Member companies get access to Vendor Ids, specifications, testing, and use of the USB logos.
Describing USB U niversal  S erial  B us Serial data transfer @ 1.5M, 12M or 480M bits / sec. Short distances (16 ft), with Hubs to 96 ft max Asynchronous (not slaved to a common clock) Master to Slaves  =  Host to Peripherals A 1 to N network, where N = 1 to 127 Peripherals can be powered by Host  (500mA limit) Provides data error detection with retransmission
How USB Works A single Host communicates with each/all Peripherals The Host recognizes a newly attached Peripheral and “Enumerates” to establish communication The Host assigns an address to each Peripheral Transfer speed is established during Enumeration: Low Speed    1.5 M/ bits per sec Full Speed   12  M/ bits per sec High Speed  480 M/ bits per sec
More How USB Works Each Peripheral can contain 1 or more “Endpoints” Successful Enumeration establishes a logical “Pipe” between the Host and each Endpoint. Data transfers between the Host & Peripheral through established Pipe, at the agreed-upon speed Pipes are automatically terminated when the peripheral is disconnected or fails to respond.
More How USB Works Four “Data Transfer types” are available, to fit specific applications: Control  – For short messages used during Enumeration, Identification and Control Bulk  –  Good for moving big files to/from Printers, scanners, and disk drives Interrupt  – Used for Mice & Keyboards (small amounts of data that must be delivered to a PC quickly and predictably) Isochronous  – For unidirectional streaming of audio & video, no error correction.
More How USB Works Host sends & receives data in “time slices” called Frames: For Low Speed & Full Speed – Frames are 1 msec  For High Speed – Microframes are 125  μ sec Data transfers are organized as “Transactions” consisting of: Token Packet (destination ID bytes) Data Packet (variable length) And / Or Handshake Packet (message acknowledgement)
More How USB Works Different transfer types use Frames differently: For High Speed: Control: 31  64-byte Transactions / microframe Bulk: 13  512-byte Transactions / microframe Interrupt: 3  1024-byte Transactions / microframe,  with error correction Isochronous:  3  1024-byte Transactions / microframe, without error correction
USB technology continues to evolve Basic USB Includes Low Speed & Full Speed High Speed USB Includes Low Speed, Full Speed & Hi-Speed USB On-The-Go Enables direct Camera to Printers Certified Wireless USB New wireless standard (later than planned)
Implementing a USB Product Many Choices to Make: Will this be a Host, a Hub or a Peripheral ?
Implementing USB Host More Choices: General Purpose (full feature set) Or Specific Purpose (application specific feature set) Windows based: Use existing Microsoft standards and PC hardware Or Non-Windows based:  Use existing open source standards and Linux kernels - customize to application.
Implementing USB Hub Chipsets from Asian sources are now available The decision is often: Make?  - copy a reference design Or  Buy?  - re-label / re-package existing product
Implementing USB Peripheral Determine a selected sub-set of USB features for your product. List the USB functions to include and exclude     This is an essential step for the project! Locate  chipset and software solutions that come close Ex: FTDI chipsets ( www.ftdichip.com ) enable rapid USB Peripheral development on a reasonable schedule and budget
USB Limitations Consider speed, distance & latency USB is  not  “peer to peer”  (USB On-the-Go is a partial fix) New products must work with legacy hardware Complex Protocol   Software is available from hardware & OS vendors Not free – Pay fees to USB-IF Inc. for Access to official USB committees, website and meetings USB Vendor ID and Product ID Compliance te$ting required (to use the USB logo)
USB Limitations Not a good choice for  real time  controls: Software in the Host controller cannot predict or control the exact time to make something happen   (Synchronous USB attempts to address this) Peripherals cannot demand service No Host-to-All-Peripherals “Broadcast” capability ...Better choices would be CAN BUS, Field Bus, etc.
Overcoming USB Limitations However, really interesting USB based products are being created every day.  Using USB-controlled stepper motors, actuators, valves, sensors, displays and digital radio links.   Example: Googling “USB motor control” produces 119 hits Using Windows™ or embedded Linux for the control software. Using new FTDI “Vinculum” chipset to simplify the implementation of the USB Host function.
References USB COMPLETE , Third Edition, Jan Axelson,  © 2005 Microchip Technology (www.microchip.com): Drill down to Design Center > Connectivity > USB for Devices, Application Notes, Development Tools, and free Firmware. FTDI Inc ( www.ftdichip.com ) for their Serial-Data-over-USB products and new USB Host chipset (the FTDI U.S. design center is in Hillsboro) Cypress Semiconductor offers a broad line of 8-bit processor-based USB interface devices ARM9-based processors with USB interfaces are available from Cirrus Logic, Atmel, NXP and other vendors.
More References Microsoft: Drill down to Windows Hardware Developer Central > USB Architecture plus their extensive .NET software products. The Open Source Initiative (www.opensource.org) Linux and variants Providers now support many USB standards Many are active in Oregon, including: Linux.com Open Source Development Labs
Even More References HIDmaker USB software development tools from TraceSystems ( www.tracesystemsinc.com ) “ HID” means “Human Interface Device” - the most simple implementation for USB peripherals.
What We Do New Product Definition and Development: 30 years in the New Product Development business. Have completed successful development projects resulting in more than $1 Billion in revenue. Circuit Board design, prototype, test,  and introduction to manufacturing (locally or Asia) Problem Solving Project Management
Who We Are Steve Wetterling,  MSEE [email_address]   503-860-5594 Pat Barrett, P.E. [email_address] 503-245-0325 Email specific to this presentation = OctoberBest@servenger.com

More Related Content

PPTX
Connectors and plugs
PPT
16 supporting io devices
PPTX
Usb connector
PPTX
Hardware and networking detailed ppt
PPTX
Peripherals
PPT
2 the visible pc
PPT
Usb 72213 76207
Connectors and plugs
16 supporting io devices
Usb connector
Hardware and networking detailed ppt
Peripherals
2 the visible pc
Usb 72213 76207

What's hot (20)

PPT
FireWire
PPTX
Ports and Connectors
PDF
Challenges in Embedded Computing
PPT
SIP info
PPTX
Phoenix family overview 080414
PPTX
Unit 1 2 p2 3 (2)
PPT
6 expansion bus
DOCX
Glossary of terms (assignment...)
PPT
Computer fundamentals
PPTX
Parts of a computer
PPTX
Introduction to computer
PDF
Basic of computers
PPT
mbed @ Elektor Live! 2010
DOCX
Glossary of terms (assignment...)
PPTX
M4 Computing - How a computer works
PPT
Modern cpus
PPT
Peripherals lidia y lucia 4ºa
PPT
Gace Basic Computer Operation And Troubleshooting
PDF
Notacd03
FireWire
Ports and Connectors
Challenges in Embedded Computing
SIP info
Phoenix family overview 080414
Unit 1 2 p2 3 (2)
6 expansion bus
Glossary of terms (assignment...)
Computer fundamentals
Parts of a computer
Introduction to computer
Basic of computers
mbed @ Elektor Live! 2010
Glossary of terms (assignment...)
M4 Computing - How a computer works
Modern cpus
Peripherals lidia y lucia 4ºa
Gace Basic Computer Operation And Troubleshooting
Notacd03
Ad

Similar to Choosing_(and_Implem.. (20)

PPTX
PDF
Usb Wp Implementing Usb
PPTX
usb protocol and its various application
PPT
Usb Overview
PPTX
Advance of usb
PPT
Computer fundamentals (kamleshwar pandey)
PDF
USB TO USB Data Transfer without PC
PPTX
computer maintainance and networking.pptx
PPTX
Usb universal serial bus
PPTX
USB 3.0 -Infinite Possibilities
PPT
Basic computer fundamentals
PPT
Basic computer fundamentals
PPT
Chapter-6_2.ppt
PPTX
USB presentation by Mishuk
PPT
Basic computer fundamentals (1)
PPTX
PDF
Device - to - Device communication (Pen drive) without PC
PDF
Device to-device communication (pen drive) without pc
PPT
Hcs Topic 3 Peripherals V2
Usb Wp Implementing Usb
usb protocol and its various application
Usb Overview
Advance of usb
Computer fundamentals (kamleshwar pandey)
USB TO USB Data Transfer without PC
computer maintainance and networking.pptx
Usb universal serial bus
USB 3.0 -Infinite Possibilities
Basic computer fundamentals
Basic computer fundamentals
Chapter-6_2.ppt
USB presentation by Mishuk
Basic computer fundamentals (1)
Device - to - Device communication (Pen drive) without PC
Device to-device communication (pen drive) without pc
Hcs Topic 3 Peripherals V2
Ad

More from webhostingguy (20)

PPT
File Upload
PDF
Running and Developing Tests with the Apache::Test Framework
PDF
MySQL and memcached Guide
PPT
Novell® iChain® 2.3
PDF
Load-balancing web servers Load-balancing web servers
PDF
SQL Server 2008 Consolidation
PDF
What is mod_perl?
PDF
What is mod_perl?
PDF
Master Service Agreement
PPT
PPT
PHP and MySQL PHP Written as a set of CGI binaries in C in ...
PDF
Dell Reference Architecture Guide Deploying Microsoft® SQL ...
PPT
Managing Diverse IT Infrastructure
PPT
Web design for business.ppt
PPS
IT Power Management Strategy
PPS
Excel and SQL Quick Tricks for Merchandisers
PPT
OLUG_xen.ppt
PPT
Parallels Hosting Products
PPT
Microsoft PowerPoint presentation 2.175 Mb
PDF
Reseller's Guide
File Upload
Running and Developing Tests with the Apache::Test Framework
MySQL and memcached Guide
Novell® iChain® 2.3
Load-balancing web servers Load-balancing web servers
SQL Server 2008 Consolidation
What is mod_perl?
What is mod_perl?
Master Service Agreement
PHP and MySQL PHP Written as a set of CGI binaries in C in ...
Dell Reference Architecture Guide Deploying Microsoft® SQL ...
Managing Diverse IT Infrastructure
Web design for business.ppt
IT Power Management Strategy
Excel and SQL Quick Tricks for Merchandisers
OLUG_xen.ppt
Parallels Hosting Products
Microsoft PowerPoint presentation 2.175 Mb
Reseller's Guide

Choosing_(and_Implem..

  • 1. Choosing (and Implementing) the Correct USB Connectivity for Your Embedded System Steve Wetterling, MSEE Email = octoberbest@servenger.com Pat Barrett, BSEE, P.E. Email = pat@barrettengineering.com
  • 2. USB Basics from the User’s Point of View Easy to use – all configuration is automatic Fast data transfer Reliable data transfer Adaptable to different applications Wide range of devices and peripherals available Cheap to buy Fully supported by Windows ™ and Linux The USB development community keeps improving it
  • 3. Where Did USB Come from ? A joint-effort by a group of manufacturers (Compaq, HP, Intel, Lucent, Microsoft, NEC and Philips) Replaces the aging Parallel Printer Port and Serial Port PC interfaces. Supported by the USB Implementers Forum, Inc. (USB-IF, www.usb.org ), in Beaverton USB-IF Member companies get access to Vendor Ids, specifications, testing, and use of the USB logos.
  • 4. Describing USB U niversal S erial B us Serial data transfer @ 1.5M, 12M or 480M bits / sec. Short distances (16 ft), with Hubs to 96 ft max Asynchronous (not slaved to a common clock) Master to Slaves = Host to Peripherals A 1 to N network, where N = 1 to 127 Peripherals can be powered by Host (500mA limit) Provides data error detection with retransmission
  • 5. How USB Works A single Host communicates with each/all Peripherals The Host recognizes a newly attached Peripheral and “Enumerates” to establish communication The Host assigns an address to each Peripheral Transfer speed is established during Enumeration: Low Speed  1.5 M/ bits per sec Full Speed  12 M/ bits per sec High Speed  480 M/ bits per sec
  • 6. More How USB Works Each Peripheral can contain 1 or more “Endpoints” Successful Enumeration establishes a logical “Pipe” between the Host and each Endpoint. Data transfers between the Host & Peripheral through established Pipe, at the agreed-upon speed Pipes are automatically terminated when the peripheral is disconnected or fails to respond.
  • 7. More How USB Works Four “Data Transfer types” are available, to fit specific applications: Control – For short messages used during Enumeration, Identification and Control Bulk – Good for moving big files to/from Printers, scanners, and disk drives Interrupt – Used for Mice & Keyboards (small amounts of data that must be delivered to a PC quickly and predictably) Isochronous – For unidirectional streaming of audio & video, no error correction.
  • 8. More How USB Works Host sends & receives data in “time slices” called Frames: For Low Speed & Full Speed – Frames are 1 msec For High Speed – Microframes are 125 μ sec Data transfers are organized as “Transactions” consisting of: Token Packet (destination ID bytes) Data Packet (variable length) And / Or Handshake Packet (message acknowledgement)
  • 9. More How USB Works Different transfer types use Frames differently: For High Speed: Control: 31 64-byte Transactions / microframe Bulk: 13 512-byte Transactions / microframe Interrupt: 3 1024-byte Transactions / microframe, with error correction Isochronous: 3 1024-byte Transactions / microframe, without error correction
  • 10. USB technology continues to evolve Basic USB Includes Low Speed & Full Speed High Speed USB Includes Low Speed, Full Speed & Hi-Speed USB On-The-Go Enables direct Camera to Printers Certified Wireless USB New wireless standard (later than planned)
  • 11. Implementing a USB Product Many Choices to Make: Will this be a Host, a Hub or a Peripheral ?
  • 12. Implementing USB Host More Choices: General Purpose (full feature set) Or Specific Purpose (application specific feature set) Windows based: Use existing Microsoft standards and PC hardware Or Non-Windows based: Use existing open source standards and Linux kernels - customize to application.
  • 13. Implementing USB Hub Chipsets from Asian sources are now available The decision is often: Make? - copy a reference design Or Buy? - re-label / re-package existing product
  • 14. Implementing USB Peripheral Determine a selected sub-set of USB features for your product. List the USB functions to include and exclude  This is an essential step for the project! Locate chipset and software solutions that come close Ex: FTDI chipsets ( www.ftdichip.com ) enable rapid USB Peripheral development on a reasonable schedule and budget
  • 15. USB Limitations Consider speed, distance & latency USB is not “peer to peer” (USB On-the-Go is a partial fix) New products must work with legacy hardware Complex Protocol Software is available from hardware & OS vendors Not free – Pay fees to USB-IF Inc. for Access to official USB committees, website and meetings USB Vendor ID and Product ID Compliance te$ting required (to use the USB logo)
  • 16. USB Limitations Not a good choice for real time controls: Software in the Host controller cannot predict or control the exact time to make something happen (Synchronous USB attempts to address this) Peripherals cannot demand service No Host-to-All-Peripherals “Broadcast” capability ...Better choices would be CAN BUS, Field Bus, etc.
  • 17. Overcoming USB Limitations However, really interesting USB based products are being created every day. Using USB-controlled stepper motors, actuators, valves, sensors, displays and digital radio links. Example: Googling “USB motor control” produces 119 hits Using Windows™ or embedded Linux for the control software. Using new FTDI “Vinculum” chipset to simplify the implementation of the USB Host function.
  • 18. References USB COMPLETE , Third Edition, Jan Axelson, © 2005 Microchip Technology (www.microchip.com): Drill down to Design Center > Connectivity > USB for Devices, Application Notes, Development Tools, and free Firmware. FTDI Inc ( www.ftdichip.com ) for their Serial-Data-over-USB products and new USB Host chipset (the FTDI U.S. design center is in Hillsboro) Cypress Semiconductor offers a broad line of 8-bit processor-based USB interface devices ARM9-based processors with USB interfaces are available from Cirrus Logic, Atmel, NXP and other vendors.
  • 19. More References Microsoft: Drill down to Windows Hardware Developer Central > USB Architecture plus their extensive .NET software products. The Open Source Initiative (www.opensource.org) Linux and variants Providers now support many USB standards Many are active in Oregon, including: Linux.com Open Source Development Labs
  • 20. Even More References HIDmaker USB software development tools from TraceSystems ( www.tracesystemsinc.com ) “ HID” means “Human Interface Device” - the most simple implementation for USB peripherals.
  • 21. What We Do New Product Definition and Development: 30 years in the New Product Development business. Have completed successful development projects resulting in more than $1 Billion in revenue. Circuit Board design, prototype, test, and introduction to manufacturing (locally or Asia) Problem Solving Project Management
  • 22. Who We Are Steve Wetterling, MSEE [email_address] 503-860-5594 Pat Barrett, P.E. [email_address] 503-245-0325 Email specific to this presentation = OctoberBest@servenger.com