Download presentation
Presentation is loading. Please wait.
Published byDoreen Tate Modified over 9 years ago
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 Universal Serial Bus 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)www.ftdichip.com 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)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 steve_wetterling@ieee.org 503-860-5594 Pat Barrett, P.E. pbarrett@ieee.org 503-245-0325 Email specific to this presentation = OctoberBest@servenger.com
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.