Determining USB Peripheral Device Class



Similar documents
White Paper WP_001. Connecting Peripherals to an Android Platform

Technical Note TN_152. USB 3.0 Compatibility Issues Explained

Application Note AN_385. FTDI D3XX Driver Installation Guide

Simplified Description of USB Device Enumeration

Application Note AN_149. Upgrading a passive DB9 RS232 Interface to an active USB Interface using an FTDI DB9-USB-RS232 Module

Application Note. AN_136_Hi-Speed Mini Module EEPROM Disaster Recovery

Technical Note. TN_134 FTDI Android D2XX Driver

Future Technology Devices International Ltd. FTDI Drivers Installation guide for. Windows 7

Application Note AN_243. FT312D USB Host to UART Cable Application

Future Technology Devices International Ltd. Application Note AN_234. FTDI Drivers Installation guide for. Windows 8

Application Note AN_242

Application Note AN_101. Submitting Modified FTDI Drivers for Windows Hardware Certification

Application Note AN_185. Vinculum-II UART to USB HID Class Host Bridge

Future Technology Devices International Ltd. USB-Key. Datasheet

Application Note AN_241. FTDI_AOA_HyperTerm_User_Manual

Future Technology Devices International Ltd. FTDI Drivers Installation guide for Windows XP

Application Note AN_209. AN_209 PDIUSBD12 to FT120 Migration Guide

UMFT4222PROG FT4222 Programmer Module

Technical Note. TN_132 Adding FTDI Devices VCP Driver Support to Android

Technical Note TN_146. Creating Android Images for Application Development

Future Technology Devices International Ltd. AN232R-02 FTDIChip-ID for the FT232R and FT245R

Future Technology Devices International Ltd. USB NMC-2.5m. USB to USB Null Modem Cable. Datasheet

Future Technology Devices International Ltd

Technical Note TN_158. What is the Camera Parallel Interface?

Application Note AN_299. FT800_FT801_Internal_Clock _Trimming

Future Technology Devices International Ltd

TTL-232R-PCB. TTL to USB Serial Converter PCB. Datasheet

Application Note AN_276. FT800 Audio File Conversion

Command Processor for MPSSE and MCU Host Bus Emulation Modes

Future Technology Devices International Ltd. Technical Note TN_101

VDIP1. Vinculum VNC1L Module. Datasheet

Future Technology Devices International Ltd. VF2F2. USB Flash Disk File-to-file Transfer Vinculum Evaluation Kit.

Future Technology Devices International Ltd. FTDI Drivers Installation guide for Windows XP

Future Technology Devices International Ltd. FTDI Drivers Installation guide for. Windows VISTA

Technical Note. TN_147 Java D2xx for Android

FT2232H Mini Module. USB Hi-Speed FT2232H Evaluation Module. Datasheet

Future Technology Devices International Ltd. USB to RS232 UART Serial Converter PCB. Datasheet

Future Technology Devices International Ltd USB TO RS422 UART SERIAL CONVERTER PCB. Datasheet. Document Reference No.: FT_000119

FT4232H Mini Module. USB Hi-Speed FT4232H Evaluation Module. Datasheet

VF2F. USB Flash Disk File-to-file Transfer Vinculum Evaluation Kit. Future Technology Devices International Ltd. Preliminary - Subject to Change

FTDI Chip. VM800P Datasheet Embedded Video Engine Plus Module. VM800P Embedded Video Engine Plus Module Datasheet Version 1.0

Future Technology Devices International Ltd. Windows XP Installation Guide

USB Hi-Speed Serial/Hub Module. Datasheet

Vinco Development Module. Datasheet

C232HD. USB 2.0 Hi-Speed to UART Cable. Datasheet

TTL-232R. TTL to USB Serial Converter Range of Cables. Datasheet

USB-COM422-PLUS1. Datasheet

Application Note AN_254. FT800 Designs With Visual TFT

The DB9-USB Family of. UART Converter Modules. Datasheet

DB9-USB-RS232 Module. Male & Female. Datasheet

USB-COM422-PLUS2. Datasheet

Future Technology Devices International Ltd

USB-COM232-PLUS4. Datasheet

Application Note AN_146. USB Hardware Design Guidelines for FTDI ICs

Technical Note TN_105

C232HM. USB 2.0 Hi-Speed to MPSSE Cable. Datasheet

Application Note AN_250. Configuring FT313H Driver for Embedded Linux

Application Note AN_208. FT311D and FT312D Demo_APK_User_GuideFT311D and FT312D Demo_APK_User_Guide

Application Note AN_100. Using the FT232R/FT245R with an External Crystal or Oscillator

Future Technology Devices International Ltd. USB to RS232 Serial Converter Range of Cables. Datasheet

FTDI Ltd DS_US232R-10(R-100/500) USB to RS232 Adapter cable. Data Sheet

TTL-232R-3V3 USB to TTL Serial Converter Cable

Application Note AN_252. FT800 Audio Primer

TTL-232R. TTL to USB Serial Converter Range of Cables. Datasheet

Application Note AN_113. Interfacing FT2232H Hi-Speed Devices To I2C Bus

ICs. Modules. Cables. FTDI Chip USB Solutions BRIDGING TECHNOLOGIES.

Future Technology Devices International Ltd. FT311D

Future Technology Devices International Ltd. UM245R USB - Parallel FIFO. Development Module. Datasheet

Application Note AN_240. FT800 From the Ground Up

FTDI Chip Microcontrollers BRIDGING TECHNOLOGIES

Application Note AN_180. FT232H MPSSE Example - USB Current Meter using the SPI Interface

AN295 USB AUDIO CLASS TUTORIAL. 1. Introduction. 2. USB, Isochronous Transfers, and the Audio Class Overview USB Operational Overview

Using WinUSB in a Visual Studio Project with Freescale USB device controller

Ways to Use USB in Embedded Systems

Data Transfer between Two USB Flash SCSI Disks using a Touch Screen

AN1142. USB Mass Storage Class on an Embedded Host INTRODUCTION. USB Mass Storage Class. Overview

Design Considerations in Adding USB Communications to Embedded Applications

CP2110-EK CP2110 EVALUATION KIT USER S GUIDE. 1. Kit Contents. 2. Relevant Documentation. 3. Software Setup

AVR32807: Getting Started with the AVR UC3 Software Framework USB Classes. 32-bit Microcontrollers. Application Note. Features.

Bypassing Endpoint Security for $20 or Less. Philip A. Polstra, ppolstra.blogspot.com

Atmel AVR4920: ASF - USB Device Stack - Compliance and Performance Figures. Atmel Microcontrollers. Application Note. Features.

USB Port Extender Kit

AN249 HUMAN INTERFACE DEVICE TUTORIAL. Relevant Devices This application note applies to all Silicon Labs USB MCUs. 1.

AVR287: USB Host HID and Mass Storage Demonstration. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

AN1164. USB CDC Class on an Embedded Device INTRODUCTION ASSUMPTIONS FEATURES LIMITATIONS

Universal Serial Bus Implementers Forum EHCI and xhci High-speed Electrical Test Tool Setup Instruction

An introduction to nxpusblib. March 2012

GPS 35 USB. installation and quick start guide

DATASHEET. ADAM Arduino Display Adaptor Module. Arduino Compatible Shield P/N: 4Display-Shield-FT843 For the 4D Systems 4DLCD-FT843 Display

Prolific USB to SATA Bridge Controller Backup Software User s Manual

USB OTG and Embedded Host Microchip Technology Incorporated. All Rights Reserved. Slide 1

UC232R ChiPi Minimum Component FT232RL USB to RS232 Converter Cable

Freescale MQX RTOS USB Host User s Guide

Application Note AN_106. Interfacing to a USB Printer using Vinculum VNC1L Host Controller

2012/02/10: Re-formatted and revised document 2012/01/05: Added figures and notes 2011/11/08: Initial release

Transcription:

Future Technology Devices International Ltd. Application Note AN_174 Determining USB Peripheral Device Class Document Reference No.: FT_000447 Issue Date: 2011-05-23 This document will demonstrate how a USB peripheral device class can be obtained. This information can be helpful in determining if the peripheral is supported by the current Vinculum host controller firmware. Use of FTDI devices in life support and/or safety applications is entirely at the user s risk, and the user agrees to defend, indemnify and hold harmless FTDI from any and all damages, claims, suits or expense resulting from such use. Copyright 2011 Future Technology Devices International Limited 1

TABLE OF CONTENTS 1 Introduction... 3 2 What are Device Classes?... 4 3 Determining the Device Class... 5 3.1 Using PC Utilities... 5 3.2 Using the VNC2 firmware... 6 4 Classes of devices currently supported by the Vinculum firmware... 7 5 Contact Information... 8 Appendix A References... 10 A.1 Websites... 10 A.2 Technical Documentation... 10 A.3 Utilities... 10 Appendix B Revision History... 11 Copyright 2011 Future Technology Devices International Limited 2

1 Introduction Many users enquire if a certain device is supported by the Vinculum host controllers. Although the VNC2 generation supports all USB transfer types (Control, Bulk, Interrupt and Isochronous) the real answer to the question depends on the device class reported back by the device and whether a VOS driver currently exists for that device class or has still to be created. This document will demonstrate to users how a device class can be determined. Copyright 2011 Future Technology Devices International Limited 3

2 What are Device Classes? Not all USB peripherals are the same. Each device type is defined by a number referred to as the device class. The class definitions are defined and controlled by the USB Implementers Forum. For example a keyboard is a Human Interface Device (HID) class device and therefore has device class 0x03. A full list of device classes can be found at: http://www.usb.org/developers/defined_class The device class is reported back to the USB host controller during device enumeration as part of the device descriptors. Copyright 2011 Future Technology Devices International Limited 4

3 Determining the Device Class 3.1 Using PC Utilities The simplest method to read the device class is to plug the peripheral into a windows PC and use the free USBVIEW utility from the FTDI website: http://www.ftdichip.com/support/utilities/usbview.zip Set the utility to display Config Descriptors under the options tab and then select the required device from the device tree. Figure 1: USBVIEW Screenshot Copyright 2011 Future Technology Devices International Limited 5

The key information to look for first is: bdeviceclass bdevicesubclass bdeviceprotocol This is highlighted at the top of the screenshot in figure 1. Many device classes can be determined from these fields. In the example shown the values are defied as 0x00. This indicates that the values are defined in the interface class section and as such the user must then check: binterfaceclass binterfacesubclass binterfaceprotocol This is highlighted at the bottom of the screenshot in figure 1. 0x08 in the binterfaceclass in the example defines the device as Mass Storage class. In this case the class is supported by both VNC1L and VNC2 firmware drivers. If the class is returned as 0xFF then this is vendor specific and as such the device normally uses a vendor supplied driver as opposed to a generic USB driver. Such devices, with the exception of FTDI devices, are unlikely to appear as part of the generic Vinculum library. To allow the Vinculum device to support such a class would require the user to obtain the device API and create their own driver. 3.2 Using the VNC2 firmware The Vinculum device, VNC2, is supplied with an IDE and sample projects. One of these projects is called USBDescriptors.vproj. If a VNC2 device is available then this project can be built and loaded onto the device to allow the descriptors of any device plugged into the USB ports of the VNC2 to be read out over the UART interface. Using a utility such as HyperTerminal the printout follows a similar format to USBVIEW. A getting started guide for VNC2 tools is available at: http://www.ftdichip.com/support/documents/appnotes/an_142_vinculum- II_Tool_Chain_Getting_Started_Guide.pdf Copyright 2011 Future Technology Devices International Limited 6

4 Classes of devices currently supported by the Vinculum firmware Classes of devices supported by the Vinculum firmware at the time of writing (corresponds to toolchain release version 1.4.0) are: Class VNC1L VNC2 Bulk Only Mass Storage (BOMS) YES YES Human Interface Device (HID) YES YES Printer YES YES Hub YES YES Communication Device Class (CDC) YES YES FTDI peripherals YES YES Video No Under Consideration Audio No Under Consideration Wireless controller No Under Consideration Copyright 2011 Future Technology Devices International Limited 7

5 Contact Information Head Office Glasgow, UK Future Technology Devices International Limited Unit 1, 2 Seaward Place, Centurion Business Park Glasgow G41 1HH United Kingdom Tel: +44 (0) 141 429 2777 Fax: +44 (0) 141 429 2758 E-mail (Sales) E-mail (Support) E-mail (General Enquiries) Web Site URL Web Shop URL sales1@ftdichip.com support1@ftdichip.com admin1@ftdichip.com http://www.ftdichip.com http://www.ftdichip.com Branch Office Taipei, Taiwan Future Technology Devices International Limited (Taiwan) 2F, No 516, Sec. 1 NeiHu Road Taipei 114 Taiwan, R.O.C. Tel: +886 (0) 2 8797 1330 Fax: +886 (0) 2 8751 9737 E-mail (Sales) E-mail (Support) E-mail (General Enquiries) Web Site URL tw.sales1@ftdichip.com tw.support1@ftdichip.com tw.admin1@ftdichip.com http://www.ftdichip.com Branch Office Hillsboro, Oregon, USA Future Technology Devices International Limited (USA) 7235 NW Evergreen Parkway, Suite 600 Hillsboro, OR 97123-5803 USA Tel: +1 (503) 547 0988 Fax: +1 (503) 547 0987 E-Mail (Sales) E-mail (Support) E-mail (General Enquiries) Web Site URL us.sales@ftdichip.com us.support@ftdichip.com us.admin@ftdichip.com http://www.ftdichip.com Branch Office Shanghai, China Future Technology Devices International Limited (China) Room 408, 317 Xianxia Road, ChangNing District, ShangHai, China Tel: +86 (21) 62351596 Fax: +86(21) 62351595 E-mail (Sales) E-mail (Support) E-mail (General Enquiries) Web Site URL cn.sales@ftdichip.com cn.support@ftdichip.com cn.admin1@ftdichip.com http://www.ftdichip.com Copyright 2011 Future Technology Devices International Limited 8

Distributor and Sales Representatives Please visit the Sales Network page of the FTDI Web site for the contact details of our distributor(s) and sales representative(s) in your country. Legal Disclaimer: System and equipment manufacturers and designers are responsible to ensure that their systems, and any Future Technology Devices International Ltd (FTDI) devices incorporated in their systems, meet all applicable safety, regulatory and system-level performance requirements. All application-related information in this document (including application descriptions, suggested FTDI devices and other materials) is provided for reference only. While FTDI has taken care to assure it is accurate, this information is subject to customer confirmation, and FTDI disclaims all liability for system designs and for any applications assistance provided by FTDI. Use of FTDI devices in life support and/or safety applications is entirely at the user s risk, and the user agrees to defend, indemnify and hold harmless FTDI from any and all damages, claims, suits or expense resulting from such use. This document is subject to change without notice. No freedom to use patents or other intellectual property rights is implied by the publication of this document. Neither the whole nor any part of the information contained in, or the product described in this document, may be adapted or reproduced in any material or electronic form without the prior written consent of the copyright holder. Future Technology Devices International Ltd, Unit 1, 2 Seaward Place, Centurion Business Park, Glasgow G41 1HH, United Kingdom. Scotland Registered Company Number: SC136640 Copyright 2011 Future Technology Devices International Limited 9

Appendix A References A.1 Websites FTDI home page http://www.ftdichip.com/index.html Vinculum II Home page http://www.ftdichip.com/products/ics/vnc2.htm USB Implementers Forum Device Class List http://www.usb.org/developers/defined_class A.2 Technical Documentation What is USB? Technical Note http://www.ftdichip.com/support/documents/technicalnotes/tn_110%20what%20is%20usb.pdf VNC2 tools getting started guide http://www.ftdichip.com/support/documents/appnotes/an_142_vinculum- II_Tool_Chain_Getting_Started_Guide.pdf A.3 Utilities USBVIEW http://www.ftdichip.com/support/utilities/usbview.zip Copyright 2011 Future Technology Devices International Limited 10

Appendix B Revision History First Release 2011-05-23 Copyright 2011 Future Technology Devices International Limited 11