Академический Документы
Профессиональный Документы
Культура Документы
2012 Microchip Technology Incorporated. All Rights Reserved. 1640 USB1 Slide 1
Objectives
When you finish this class you will be able to:
Describe the basics of USB, and how apply them in an embedded application Identify Microchips USB MCUs, development boards, and USB software frameworks relevant to your project Chose the right USB MASTERs classes you need to attend
1640 USB1 Slide 2
Agenda
USB Fundamentals Microchip USB solutions Design considerations How to get started Summary
1640 USB1
Slide
Auto detection & configuration (Plug & Play) Easy expansion using hubs Bus power Data CRC protected, bad packets resent Four speeds: Low- 1.5, Full- 12, High- 480, Super- 5000 Mb/s
1640 USB1
Slide
Agenda
USB Fundamentals Microchip USB solutions Design considerations How to get started Summary
1640 USB1
Slide
USB Basics
USB is a Single Master + Multiple Slaves polled bus USB Host Controller (Master) and Root Hub
Mouse
Start Of Frame Mouse Packets
Printer
Speakers Packets
Speakers
Printer Packets
Frame
2012 Microchip Technology Incorporated. All Rights Reserved.
Frame
1640 USB1
Frame
Slide 6
USB Host
Manages and controls the bus Initiates all communications Automatically detects all device insertions and extractions Enumerates all devices connected and matches them with drivers
1640 USB1
Slide
Typically Host is a PC USB 3.0 Host Controller, running at Full Speed (12 Mbps) or High Speed (480 Mbps) or Super Speed (5 Gbps) High throughput 32/64 bit CPU running a Operating System like Windows USB Drivers identifying and enumerating USB Devices Automatic update of USB drivers
1640 USB1 Slide 8
1640 USB1
Slide
Embedded Host
Embedded Host connects to a fixed number of USB Peripheral Devices USB Drivers fixed in firmware Advantage: Smaller, less complex embedded firmware Example: Remote Temperature Data Logger
Download data to USB Flash Drive Not connected directly to PC Host but You can exchange data with PC Host using the Flash Drive
1640 USB1
Slide
10
Peripherals to service real world I/O: A/D converters, Comparators, etc. Serial Interfaces like SPI, I2C, UART PWMs, Timers and I/O lines Full Speed (12 Mbps) USB 2.0 Transceiver with data input/output buffers High throughput 16/32-bit MCU Host Firmware Drivers to identify and enumerate USB Peripheral Devices Microchips 16 and 32 bit USB PIC MCUs are designed for Embedded Host applications
1640 USB1 Slide 11
Microchip USB MCUs support USB 2.0 full-speed or low-speed USB 3.0 devices are supported at full-speed (12Mbps)
1640 USB1
Slide
12
Responds to Host, cannot initiate transactions Requires drivers to be recognized by the Host Hardware/Firmware to respond to Host Microchips PIC MCUs are used in USB Peripheral Devices
1640 USB1
Slide
13
A/D converters, Comparators, etc. Serial Interfaces like SPI, I2C, UART PWMs, Timers and I/O lines
Full Speed (12 Mbps) USB 2.0 Transceiver with data input/output buffers Throughput to service Full speed USB requests USB Device and peripheral interface Firmware All USB PIC MCUs are designed for USB Peripheral Device applications
1640 USB1 Slide 14
PDA (Device) connected to PC (Host) PDA (Host) connected to Thumb drive (Device) PDA connected to PDA, host and device roles can switch (OTG mode)
PC Host
Thumb Drive
1640 USB1
Slide
15
Peripherals to service real world I/O: A/D converters, Comparators, etc. Serial Interfaces like SPI, I2C, UART PWMs, Timers and I/O lines Full Speed (12 Mbps) USB 2.0 OTG Transceiver with data input/output buffers High throughput 16/32-bit MCU Host Software Drivers to identify and enumerate USB Peripheral Devices
Microchips 16 and 32-bit USB PIC MCUs are designed for USB OTG applications
1640 USB1 Slide 16
Hub
Compound Device
Contains a hub and 1 or more peripherals Host treats hub and peripheral function separately (each has its own address)
Composite Device
Has multiple interfaces active at the same time Host loads a driver for each interface
1640 USB1
Slide
17
Enables USB connectivity in applications with UART Pre-programmed USB stack Easy to configure USB 2.0 Compliant Full-speed USB USB activity LED outputs Easiest way to add USB to your design Fully configurable VID and PID assignments
GPIO
USB LEDs
UART Controller
Control
USB Transceiver
EEPROM
1640 USB1
Slide
18
Enables USB connectivity in applications with SPI interface Enumerate as HID device Easy to configure USB 2.0 Compliant Full-speed USB USB activity LED outputs Easiest way to add USB to your design Fully configurable VID and PID assignments
GPIO
USB LEDs
Control
USB Transceiver
EEPROM
1640 USB1
Slide
19
2 connectors (Standard A & B or mini B or micro B) Must have some type of mechanical block so that both connectors are not accessible at any given point of time No need to dynamically switch the role, connector used decides which is the role
1640 USB1
Slide
20
2K 2K
A/D
VBUS
Input DD+ 1F
150K
1640 USB1
Physical Interface
VBUS D+ DVBUS D+ ~ 5.0 V ~ 3.3 V
DGND
GND
Half Duplex with NRZI Data Encoding Bus Power to each device:
1640 USB1
Slide
22
Standard Connectors
A USB Host Full or Embedded
B USB Device
1640 USB1
Slide
23
Standard Connectors
micro-AB OTG Host
A
B USB Device
1640 USB1
Slide
24
Tier 2 Tier 3
Hub Hub Hub Hub 8-bit USB PIC MCUs are designed to be peripherals 16- and 32-bit USB PIC MCUs and dsPIC DSCs can function as either embedded hosts or peripherals Hub: Max Chaining = 5
Tier 4
Tier 5 Tier 6 Tier 7
Printer
Hub
Hub Up to 126 peripherals...
Data Logger
1640 USB1
Slide
25
Not a tiered-star! Host software communicates to each logical device as if it were directly connected to the root hub
Host
Logical Device Logical Device Logical Device Logical Device
Logical Device
Logical Device
1640 USB1
Slide
26
Peripheral Device
Pipe Bundle
Interface
Function Layer
SIE
USB Cable
PIC
MCU
LED
RAM Endpoint 1 IN
Caps-Lock
16 OUT endpoints + 16 IN endpoints = 32 endpoints PIC18F87J50, PIC18F4550, PIC24F, PIC32MX supports up to 32 endpoints PIC18F14K50 supports up to 16 endpoints
Configuration Interface
Analog/Digital I/O IN (Endpoint x) USB Device-Specific Pipe(s) (Human Interface Device) OUT (Endpoint x) HID TX/RX Functions (MCHPFSUSB FW)
These settings are represented by a Device Descriptor Table, stored in firmware. More on this later
Slide 29
1640 USB1
USB Transaction
USB Transaction Token Packet
SETUP and OUT token types inform the target device that the host wants to send data. IN token type informs the target device that the host wants to fetch data.
2012 Microchip Technology Incorporated. All Rights Reserved. 1640 USB1
Specifies: Target device address Endpoint number Direction of the data transfer
Slide
30
IN Transaction ACK
USB Transaction IN Token Packet
Data Packet
Handshake Packet
Acknowledge - ACK
1640 USB1
Slide
31
IN Transaction NAK
USB Transaction IN Token Packet
Handshake Packet
1640 USB1
Slide
32
Data Packet
Handshake Packet
Acknowledge - ACK
1640 USB1
Slide
33
Data Packet
Handshake Packet
1640 USB1
Slide
34
Demo
- Capturing a Transaction -
To read the potentiometer value, the PIC24F USB embedded host continually sends command 0x37 The PIC18F USB device Returns Command Code + 10-bit Potentiometer ADC value: <0x37><ADRESL><ADRESH>
1640 USB1 Slide 35
Demo
- Capturing a Transaction -
1640 USB1
Slide
36
Transfer
Transaction 1
64 Byte Payload
Key:
OUT Token Packet Data Packet ACK Handshake Packet
Transaction 2
64 Byte Payload
Transaction 3
1 Byte Payload
1640 USB1
Slide
37
Polling Interval
Data Integrity
Fixed, Periodic
Yes
Isochronous
Fixed, Periodic
90
1023 (1 x 1023)
No
Bulk
Yes
Control
Variable
10
Yes
Transactions
64
64
Frame
1640 USB1
Slide
39
Int.
Isoc.
Int.
64
64
Int.
Frame
1640 USB1
Slide
40
400
200 0
0.8
64
Bulk Iso
Control Interrupt
Transfer Type
1640 USB1
Slide
41
Quiz!
Mouse
Printer
Speaker
Control + Interrupt
Control + Bulk
Control + Isochronous
1640 USB1
Slide
42
Modem
Keyboard
Custom Class (Vendor Class) Human Interface Device Class (HID) Many more classes.
2012 Microchip Technology Incorporated. All Rights Reserved. 1640 USB1 Slide 43
Bus reset
DEFAULT
Cable Connected
DETACHED
ADDRESS
Get Descriptors
CONFIGURED
1640 USB1
Slide
44
Descriptors
String 0 Device
String 1
String N Configuration 1
Endpoint
Endpoint
Endpoint
Endpoint
1640 USB1
Slide
45
Descriptors - Example
Manu. String Device
USB 2.0, VID = 0x04D8, PID = 0x0007, Num. Configurations, Strings? Configuration #1: Bus-Powered, Remote Wakeup, 500mA, Num. Interfaces Interface #0: HID Class, Num. Endpoints
Microchip
Prod. String Configuration 1
PICDEMTM USB
Other String Interface 0
Go USB!
Endpoint
Unicode Characters
2012 Microchip Technology Incorporated. All Rights Reserved.
1640 USB1
Slide
46
Demo
- Viewing Descriptor Information -
1640 USB1
Slide
47
Vendor ID (VID):
16-bit number
http://www.usb.org/developers/vendor
USD $2,000 Technical & Legal trouble if not using an approved VID 16-bit number Microchips Sub-licensing Program
Product ID (PID):
Every USB Device product line is required to have a unique combination of VID and PID
2012 Microchip Technology Incorporated. All Rights Reserved. 1640 USB1 Slide 48
USB Compliance
Compliance Testing
Tests device for conformance to USB Framework and Class standard control requests USB Protocol Analyzer USBCV USB Command Verifier www.usb.org/developers/tools Electrical Signal Quality Power Management
1640 USB1 Slide 49
Compliance Testing
http://www.usb.org/developers/compliance/check_list/peripheral_checklist.pdf http://www.usb.org/developers/compliance/check_list/compchk_otgeh2_0_v1.0_-_fill-in.pdf
Use certified USB receptacle and cable for testing Know the TID (Test ID) of your components
Find
Its a good idea to take a look at the checklist before starting your design!
2012 Microchip Technology Incorporated. All Rights Reserved. 1640 USB1 Slide 50
Agenda
USB Fundamentals Microchip USB solutions Design considerations How to get started Summary
1640 USB1
Slide
51
Performance
The industrys strongest scalable product, family, and software migration path
PIC24F/PIC24E/dsPIC33E
Low Power, GPU, DSP Engine Up to 70 MIPS 28- to 144-Pin Packages Up to 512 KB Flash Up to 96KB RAM USB 2.0 Device, Embedded Host, OTG
PIC16F1/PIC18F
Small, Low Power, Low Cost Up to 16 MIPS 14- to 80-Pin Packages Up to 128KB Flash Up to 4KB RAM USB 2.0 Device Support
Migration
2012 Microchip Technology Incorporated. All Rights Reserved. 1640 USB1 Slide 52
Download from www.microchip.com/MLA Contains different stacks (USB, TCP/IP, Graphics, mTouch Sensing Solution, MDD FS, etc.) Default installation path: C:/Microchip Solutions vYYYY-MM-DD/
Contains libraries source code and several example firmware projects based on Microchips Development Tools
1640 USB1 Slide 53
MCHPFSUSB Framework
PIC16F, PIC18F, PIC24F/E, dsPIC33E & PIC32 USB MCUs XC8/XC16/XC32 Compatible MPLAB X IDE Project Centric Audio, CCID, CDC, HID, MSD, PHDC, Custom Polling or Interrupt driven
PIC24F/E, dsPIC33E & PIC32 USB MCUs Polling or Event-driven Scheme Client drivers for Basic Android Accessory, CDC, Charger, Custom, HID, MSD, Printer
Device Stacks
1640 USB1
Slide
55
Keyboard
Custom
MCHP WinUSB
LibUSB
More demos in future releases
2012 Microchip Technology Incorporated. All Rights Reserved. 1640 USB1
Simple Charger
Battery Charging Class
MCHP
Custom Class (Vendor Class)
1640 USB1
Slide
57
Agenda
USB Fundamentals Microchip USB solutions Design considerations How to get started Summary
1640 USB1
Slide
58
For CDC Class the PIC MCU looks like a modem, or terminal connected to a COM port Custom OS driver is not required!
1640 USB1 Slide 59
PC Computer
Standard Windows Drivers Hyper Terminal
USB Cable
Design Considerations: ~80 KB/s max Bulk Transfers PC applications can access the device as though it is connected to a serial COM port
2012 Microchip Technology Incorporated. All Rights Reserved. 1640 USB1 Slide 60
PC Computer
Standard Windows Drivers HID App
Design Considerations: 64 KB/s max Interrupt Transfer Type Standard Windows driver Custom PC application can access HID data through Win32 APIs
2012 Microchip Technology Incorporated. All Rights Reserved. 1640 USB1 Slide 61
PC Computer
(Supplied in MCHPFSUSB)
Design Considerations: ~1,088 KB/s max Very flexible (Control, Bulk, Interrupt transfers are possible) Not a standard Windows driver PC programming is required
2012 Microchip Technology Incorporated. All Rights Reserved. 1640 USB1 Slide 62
Agenda
USB Fundamentals Microchip USB solutions Design considerations How to get started Summary
1640 USB1
Slide
63
USB Classes
USB Device
1641 USB2
USB Human Interface Device (HID) Class
1642 USB3
USB Communication Device Class (CDC) Serial Port Emulation
1643 USB4
USB Device - Generic Driver Solutions
1640 USB1
Slide
64
USB Classes
USB Device
1644 USB5
USB Personal Healthcare Device Class (PHDC)
1645 USB6
Using USB Interface Bridges to Enable Embedded System Communication with USB Hosts
1640 USB1
Slide
65
USB Classes
1646 USB7
USB Embedded Host and On-The-Go (OTG)
1626 FAT
Using the FAT File System Library to Manipulate Files on a USB Thumb Drive
1640 USB1
Slide
66
Worldwide Training Centers and live online classes In-depth Technical Training with Hands-on Ethernet, Motor control, Graphics, USB, etc. Local Language Support Live Onsite training available
www.microchip.com/training
USB classes COM3101 Introduction to FullSpeed USB COM3201 Designing a Custom USB Peripheral Application COM3202 Designing a USB Embedded Host Application
2012 Microchip Technology Incorporated. All Rights Reserved.
Slide
67
Agenda
USB Fundamentals Microchip USB solutions Design considerations How to get started Summary
1640 USB1
Slide
68
Summary
USB Fundamental
Host is master Up to 126 devices sharing bandwidth USB PIC MCUs and dsPIC DCSs Free USB software & demo codes USB Classes Pros & Cons USB classes at MASTERs 2012 Microchip Technical Training Live
1640 USB1 Slide 69
Design considerations
Additional Resources
1640 USB1
Slide
70
MCHPFSUSB Framework
- Supported Platforms
Low Pin Count USB Development Kit (PIC18F14K50 Family) PICDEM Full Speed USB (PIC18F4550 family) MPLAB Starter Kit for PIC18F MCU (PIC18F46J50 family) PIC18FxxJ50 FS USB Demo Board (+ HPC Explorer Board) MPLAB Starter Kit for PIC24F (PIC24FJ256GB106) PIC24FJ64GB502 Microstick PIC24FJ256DA210 Development Kit PIC24F USB PIMs (+ Explorer 16 + USB PICtail Plus) dsPIC33E/PIC24E PIMs (+ Explorer 16 + USB PICtail Plus) PIC32 USB PIMs (+ Explorer 16 + USB PICtail Plus) PIC32 USB Starter Board (PIC32MX460F512L family) PIC32 USB Starter Board II (PIC32MX795F512L family)
2012 Microchip Technology Incorporated. All Rights Reserved. 1640 USB1 Slide 71
Includes self-directed class and lab material The Demo Kit provides all of the hardware and software needed to demonstrate and develop a complete USB communication solution Priced from $59.99 Part Numbers
DM163025
Available Now
1640 USB1 Slide 72
Contains everything you need to get started quickly Can be plugged into PICDEM HPC Explorer Board or PICDEM PIC18 Explorer Board Can be operated as a stand-alone board Priced from $40.00 Part Numbers
PIC18F87J50 FS USB PIM PIC18F46J50 FS USB PIM PIC18F47J53 FS USB PIM PICDEM PIC18 EXPLORER BOARD
Available Now
1640 USB1
Slide
73
Includes self-directed class and lab material Quickly implement common USB functions:
Available Now
1640 USB1 Slide 74
Functions as a USB mouse, joystick or mass storage device all using the on-board capacitive touch sense pads Includes a MicroSD memory card, potentiometer, acceleration sensor, and OLED display On-board debugger/programming Completely USB-powered Demonstrates PIC18 Family
USB communication
DM180021
Available Now
1640 USB1 Slide 75
Part #: DM240011 PIC24FJ256GB110 Priced from $59.98 Part #: DM320003-2 PIC32MX795F512L Priced from $55.00 Part #: DM320004 PIC32MX795F512L Priced from $72.00
Debugger Port Thumb Drive Connection (Host)
1640 USB1
Slide
77
Thank You!
Please complete the Class Evaluation Form
2012 Microchip Technology Incorporated. All Rights Reserved. 1640 USB1 Slide 78
Trademarks
The Microchip name and logo, the Microchip logo, dsPIC, KeeLoq, KeeLoq logo, MPLAB, PIC, PICmicro, PICSTART, PIC32 logo, rfPIC and UNI/O are registered trademarks of Microchip Technology Incorporated in the U.S.A. and other countries. FilterLab, Hampshire, HI-TECH C, Linear Active Thermistor, MXDEV, MXLAB, SEEVAL and The Embedded Control Solutions Company are registered trademarks of Microchip Technology Incorporated in the U.S.A. Analog-for-the-Digital Age, Application Maestro, chipKIT, chipKIT logo, CodeGuard, dsPICDEM, dsPICDEM.net, dsPICworks, dsSPEAK, ECAN, ECONOMONITOR, FanSense, HI-TIDE, In-Circuit Serial Programming, ICSP, Mindi, MiWi, MPASM, MPLAB Certified logo, MPLIB, MPLINK, mTouch, Omniscient Code Generation, PICC, PICC-18, PICDEM, PICDEM.net, PICkit, PICtail, REAL ICE, rfLAB, Select Mode, Total Endurance, TSHARC, UniWinDriver, WiperLock and ZENA are trademarks of Microchip Technology Incorporated in the U.S.A. and other countries. SQTP is a service mark of Microchip Technology Incorporated in the U.S.A. All other trademarks mentioned herein are property of their respective companies. 2012, Microchip Technology Incorporated, All Rights Reserved.
1640 USB1
Slide
79