Presentation is loading. Please wait.

Presentation is loading. Please wait.

Choosing (and Implementing) the Correct USB Connectivity for Your Embedded System Steve Wetterling, MSEE = Pat Barrett,

Similar presentations


Presentation on theme: "Choosing (and Implementing) the Correct USB Connectivity for Your Embedded System Steve Wetterling, MSEE = Pat Barrett,"— Presentation transcript:

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


Download ppt "Choosing (and Implementing) the Correct USB Connectivity for Your Embedded System Steve Wetterling, MSEE = Pat Barrett,"

Similar presentations


Ads by Google