Вы находитесь на странице: 1из 156
COMCOM 3101T3101T v1.0v1.0 IntroductionIntroduction toto Full-SpeedFull-Speed USBUSB Authors: Modify: Giacomo Colombo
COMCOM 3101T3101T v1.0v1.0 IntroductionIntroduction toto Full-SpeedFull-Speed USBUSB Authors: Modify: Giacomo Colombo
COMCOM 3101T3101T v1.0v1.0
IntroductionIntroduction toto Full-SpeedFull-Speed USBUSB
Authors:
Modify:
Giacomo Colombo
Dennis Cecic
Adam Syu
Microchip Technology Inc.
許育財許育財 AdamAdam SyuSyu MicrochipMicrochip CAECAE
許育財許育財 AdamAdam SyuSyu MicrochipMicrochip CAECAE
許育財許育財 AdamAdam SyuSyu
MicrochipMicrochip CAECAE
Class Objectives When you finish this class you will be able to: Describe the basics
Class Objectives When you finish this class you will be able to: Describe the basics
Class Objectives When you finish this class you will be able to: Describe the basics
Class Objectives When you finish this class you will be able to: Describe the basics
Class Objectives When you finish this class you will be able to: Describe the basics

Class Objectives

Class Objectives When you finish this class you will be able to: Describe the basics of

When you finish this class you will be able to:

Describe the basics of USB, and how to apply them in an embedded application them in an embedded application

Identify Microchip’s USB MCUs, development boards, and USB software frameworks relevant to your project your project

Analyze the capabilities and limitations of the CDC device class, and implement basic communications using the CDC device framework on PIC18/24/32 MCUs CDC device class, and implement basic communications using the CDC device framework on PIC18/24/32 MCUs

Part 1: Agenda Introduction to Full-Speed USB Part 2: Introduction to Microchip’s USB Device Frameworks
Part 1: Agenda Introduction to Full-Speed USB Part 2: Introduction to Microchip’s USB Device Frameworks
Part 1: Agenda Introduction to Full-Speed USB Part 2: Introduction to Microchip’s USB Device Frameworks
Part 1: Agenda Introduction to Full-Speed USB Part 2: Introduction to Microchip’s USB Device Frameworks
Part 1: Agenda Introduction to Full-Speed USB Part 2: Introduction to Microchip’s USB Device Frameworks

Part 1:Agenda Introduction to Full-Speed USB Part 2: Introduction to Microchip’s USB Device Frameworks Part 3:

Agenda

Introduction to Full-Speed USB

Part 2:Part 1: Agenda Introduction to Full-Speed USB Introduction to Microchip’s USB Device Frameworks Part 3: Using

Introduction to Microchip’s USB Device Frameworks

Part 3:Part 2: Introduction to Microchip’s USB Device Frameworks Using the Microchip CDC Class Device Framework (RS-232

Using the Microchip CDC Class Device Framework (RS-232 Replacement)

Class Folders COM3101T MCHPFSUSB Framework is also installed in C:\Microchip Solutions v20xx-xx-xx \Exercise\ Lab1a,
Class Folders COM3101T MCHPFSUSB Framework is also installed in C:\Microchip Solutions v20xx-xx-xx \Exercise\ Lab1a,
Class Folders COM3101T MCHPFSUSB Framework is also installed in C:\Microchip Solutions v20xx-xx-xx \Exercise\ Lab1a,
Class Folders COM3101T MCHPFSUSB Framework is also installed in C:\Microchip Solutions v20xx-xx-xx \Exercise\ Lab1a,
Class Folders COM3101T MCHPFSUSB Framework is also installed in C:\Microchip Solutions v20xx-xx-xx \Exercise\ Lab1a,

Class Folders

COM3101T

MCHPFSUSB Framework is also installed in C:\Microchip Solutions

v20xx-xx-xx

\Exercise\ Lab1a, Lab1b,

Microchip (Framework) \USB Precompiled Demos (*.hex) \USB Tools Presentation Files

, Lab5

PartPart 1.1. IntroductionIntroduction toto Full-SpeedFull-Speed USBUSB
PartPart 1.1. IntroductionIntroduction toto Full-SpeedFull-Speed USBUSB
PartPart 1.1.
IntroductionIntroduction toto Full-SpeedFull-Speed USBUSB
Agenda – Part 1 USB Fundamentals – The serious & important stuff Basics/Speeds Topology/ Physical
Agenda – Part 1 USB Fundamentals – The serious & important stuff Basics/Speeds Topology/ Physical
Agenda – Part 1 USB Fundamentals – The serious & important stuff Basics/Speeds Topology/ Physical
Agenda – Part 1 USB Fundamentals – The serious & important stuff Basics/Speeds Topology/ Physical
Agenda – Part 1 USB Fundamentals – The serious & important stuff Basics/Speeds Topology/ Physical

Agenda – Part 1

USB Fundamentals – The serious & important stuffAgenda – Part 1 Basics/Speeds Topology/ Physical Connection Architecture/Programmer’s Model USB Transactions USB

Basics/Speeds1 USB Fundamentals – The serious & important stuff Topology/ Physical Connection Architecture/Programmer’s

Topology/Physical Connection Physical Connection

Architecture/Programmer’s Modelimportant stuff Basics/Speeds Topology/ Physical Connection USB Transactions USB Transfers Device Classes Enumeration

USB TransactionsPhysical Connection Architecture/Programmer’s Model USB Transfers Device Classes Enumeration Descriptors Power

USB TransfersArchitecture/Programmer’s Model USB Transactions Device Classes Enumeration Descriptors Power Planning

Device ClassesModel USB Transactions USB Transfers Enumeration Descriptors Power Planning VID/PID & USB

EnumerationModel USB Transactions USB Transfers Device Classes Descriptors Power Planning VID/PID & USB Compliance

DescriptorsUSB Transactions USB Transfers Device Classes Enumeration Power Planning VID/PID & USB Compliance PIC18/24/32 USB

Power PlanningUSB Transfers Device Classes Enumeration Descriptors VID/PID & USB Compliance PIC18/24/32 USB

VID/PID & USB ComplianceDevice Classes Enumeration Descriptors Power Planning PIC18/24/32 USB Microcontrollers Microchip Demo/Development

PIC18/24/32 USB MicrocontrollersDescriptors Power Planning VID/PID & USB Compliance Microchip Demo/Development Solutions © 2010 Microchip

Microchip Demo/Development Solutions& USB Compliance PIC18/24/32 USB Microcontrollers © 2010 Microchip Technology Incorporated. All Rights

A little history USB was co-developed by a group of companies…. Compaq, Intel, Microsoft, NEC
A little history USB was co-developed by a group of companies…. Compaq, Intel, Microsoft, NEC
A little history USB was co-developed by a group of companies…. Compaq, Intel, Microsoft, NEC
A little history USB was co-developed by a group of companies…. Compaq, Intel, Microsoft, NEC
A little history USB was co-developed by a group of companies…. Compaq, Intel, Microsoft, NEC

A little history

USB was co-developed by a group of companies…. companies….

Compaq, Intel, Microsoft, NEChistory USB was co-developed by a group of companies…. …who wanted to make it much easier

…who wanted to make it much easier to add/remove peripheral devices from PCs peripheral devices from PCs

Jan., 1996 – USB 1.0it much easier to add/remove peripheral devices from PCs Sep., 1998 – USB 1.1 Apr., 2000

Sep., 1998 – USB 1.1peripheral devices from PCs Jan., 1996 – USB 1.0 Apr., 2000 – USB 2.0 2003 –

Apr., 2000 – USB 2.0from PCs Jan., 1996 – USB 1.0 Sep., 1998 – USB 1.1 2003 – On-the-Go supplement

2003 – On-the-Go supplement to USB 2.0 (v1.0a)– USB 1.0 Sep., 1998 – USB 1.1 Apr., 2000 – USB 2.0 © 2010 Microchip

USB Basics USB is a “Single Master + Multiple Slaves” Polled Bus USB Host Controller
USB Basics USB is a “Single Master + Multiple Slaves” Polled Bus USB Host Controller
USB Basics USB is a “Single Master + Multiple Slaves” Polled Bus USB Host Controller
USB Basics USB is a “Single Master + Multiple Slaves” Polled Bus USB Host Controller
USB Basics USB is a “Single Master + Multiple Slaves” Polled Bus USB Host Controller

USB Basics

USB Basics USB is a “Single Master + Multiple Slaves” Polled Bus USB Host Controller (Master)

USB is a “Single Master + Multiple Slaves” Polled Bus

USB Host Controller (Master) and Root Hub Mouse Printer Speakers
USB Host Controller (Master)
and Root Hub
Mouse
Printer
Speakers
Start Of Frame Mouse Packets Speakers Packets Printer Packets Frame Frame Frame
Start Of Frame
Mouse Packets
Speakers Packets
Printer Packets
Frame
Frame
Frame
USB Device Types Peripheral (also called “Function”) Provides a functionality (capability) to the host Hub
USB Device Types Peripheral (also called “Function”) Provides a functionality (capability) to the host Hub
USB Device Types Peripheral (also called “Function”) Provides a functionality (capability) to the host Hub
USB Device Types Peripheral (also called “Function”) Provides a functionality (capability) to the host Hub
USB Device Types Peripheral (also called “Function”) Provides a functionality (capability) to the host Hub

USB Device Types

Peripheral (also called “Function”)USB Device Types Provides a functionality (capability) to the host Hub i.e. data acquisition Repeats traffic

Provides a functionality (capability) to the hostUSB Device Types Peripheral (also called “Function”) Hub i.e. data acquisition Repeats traffic (both directions),

Provides a functionality (capability) to the host Hub i.e. data acquisition Repeats traffic (both directions),

HubProvides a functionality (capability) to the host i.e. data acquisition Repeats traffic (both directions),

i.e. data acquisition

Repeats traffic (both directions), manages power(capability) to the host Hub i.e. data acquisition Compound Device Contains a hub and 1 or

Compound Deviceacquisition Repeats traffic (both directions), manages power Contains a hub and 1 or more peripheral Host

Contains a hub and 1 or more peripheraltraffic (both directions), manages power Compound Device Host treats hub and peripheral function separately (each

Host treats hub and peripheral function separately (each has its own address) (each has its own address)

i.e. USB keyboard with 1-port hubperipheral function separately (each has its own address) Composite Device Has multiple interfaces active at the

Composite Device(each has its own address) i.e. USB keyboard with 1-port hub Has multiple interfaces active at

Has multiple interfaces active at the same timeaddress) i.e. USB keyboard with 1-port hub Composite Device Host loads a driver for each interface

Host loads a driver for each interfaceDevice Has multiple interfaces active at the same time i.e. video camera (both au dio &

at the same time Host loads a driver for each interface i.e. video camera (both au

i.e. video camera (both audio & video interfaces active)

Buses & Speeds Comparison Does not have to support High-Speed to be USB 2.0 Compliant
Buses & Speeds Comparison Does not have to support High-Speed to be USB 2.0 Compliant
Buses & Speeds Comparison Does not have to support High-Speed to be USB 2.0 Compliant
Buses & Speeds Comparison Does not have to support High-Speed to be USB 2.0 Compliant
Buses & Speeds Comparison Does not have to support High-Speed to be USB 2.0 Compliant

Buses & Speeds Comparison

Does not have to support High-Speed to be USB 2.0 Compliant
Does not have to
support High-Speed
to be USB 2.0
Compliant

1394-Fire Wire

Ethernet

WiFi (b/g)

USB 2.0

LS-USB FS-USB HS-USB 1.5 Mb/s 12 Mb/s 480 Mb/s
LS-USB
FS-USB
HS-USB
1.5 Mb/s
12 Mb/s
480 Mb/s

CAN

2.0 LS-USB FS-USB HS-USB 1.5 Mb/s 12 Mb/s 480 Mb/s CAN USB 1.1 Serial Port Parallel

USB 1.1

Serial Port

Parallel Port

500500 Kb/sKb/s 11 Mb/sMb/s 1.51.5 Mb/sMb/s 1212 Mb/sMb/s 100100 Mb/sMb/s 480480 Mb/sMb/s 11 GbGb
500500 Kb/sKb/s
11 Mb/sMb/s
1.51.5 Mb/sMb/s
1212 Mb/sMb/s
100100 Mb/sMb/s 480480 Mb/sMb/s 11 GbGb
TIP Connect Full-Speed Peripherals to an High-Speed HUB USB 2.0 HS Host 480 Mb/s 12
TIP Connect Full-Speed Peripherals to an High-Speed HUB USB 2.0 HS Host 480 Mb/s 12
TIP Connect Full-Speed Peripherals to an High-Speed HUB USB 2.0 HS Host 480 Mb/s 12
TIP Connect Full-Speed Peripherals to an High-Speed HUB USB 2.0 HS Host 480 Mb/s 12
TIP Connect Full-Speed Peripherals to an High-Speed HUB USB 2.0 HS Host 480 Mb/s 12

TIP

TIP Connect Full-Speed Peripherals to an High-Speed HUB USB 2.0 HS Host 480 Mb/s 12 Mb/s

Connect Full-Speed Peripherals to an High-Speed HUB

USB 2.0 HS Host 480 Mb/s 12 Mb/s USB 2.0 HS Hub 12 Mb/s 12
USB 2.0 HS Host
480 Mb/s
12 Mb/s
USB 2.0 HS Hub
12 Mb/s
12 Mb/s
<12 Mb/s
<12 Mb/s
LS/FS device
LS/FS device
LS/FS device

Usb 1.1 LS/FS Hub

LS/FS device LS/FS device LS/FS device Usb 1.1 LS/FS Hub LS/FS device © 2010 Microchip Technology

LS/FS device

Agenda – Part 1 USB Fundamentals – The serious & important stuff Basics/Speeds Topology/Physical Connection
Agenda – Part 1 USB Fundamentals – The serious & important stuff Basics/Speeds Topology/Physical Connection
Agenda – Part 1 USB Fundamentals – The serious & important stuff Basics/Speeds Topology/Physical Connection
Agenda – Part 1 USB Fundamentals – The serious & important stuff Basics/Speeds Topology/Physical Connection
Agenda – Part 1 USB Fundamentals – The serious & important stuff Basics/Speeds Topology/Physical Connection

Agenda – Part 1

USB Fundamentals – The serious & important stuffAgenda – Part 1 Basics/Speeds Topology/Physical Connection Architecture/Programmer’s Model USB Transactions USB

Basics/Speeds1 USB Fundamentals – The serious & important stuff Topology/Physical Connection Architecture/Programmer’s

Topology/Physical Connection– The serious & important stuff Basics/Speeds Architecture/Programmer’s Model USB Transactions USB

Architecture/Programmer’s Modelimportant stuff Basics/Speeds Topology/Physical Connection USB Transactions USB Transfers Device Classes Enumeration

USB TransactionsConnection Architecture/Programmer’s Model USB Transfers Device Classes Enumeration Descriptors Power

USB TransfersArchitecture/Programmer’s Model USB Transactions Device Classes Enumeration Descriptors Power Planning

Device ClassesModel USB Transactions USB Transfers Enumeration Descriptors Power Planning VID/PID & USB

EnumerationModel USB Transactions USB Transfers Device Classes Descriptors Power Planning VID/PID & USB Compliance

DescriptorsUSB Transactions USB Transfers Device Classes Enumeration Power Planning VID/PID & USB Compliance PIC18/24/32 USB

Power PlanningUSB Transfers Device Classes Enumeration Descriptors VID/PID & USB Compliance PIC18/24/32 USB

VID/PID & USB ComplianceDevice Classes Enumeration Descriptors Power Planning PIC18/24/32 USB Microcontrollers Microchip Demo/Development

PIC18/24/32 USB MicrocontrollersDescriptors Power Planning VID/PID & USB Compliance Microchip Demo/Development Solutions © 2010 Microchip

Microchip Demo/Development Solutions& USB Compliance PIC18/24/32 USB Microcontrollers © 2010 Microchip Technology Incorporated. All Rights

Host (Tier 1) Tier 2 Tier 3 Tier 4 Tier 5 Tier 6 Tier 7
Host (Tier 1) Tier 2 Tier 3 Tier 4 Tier 5 Tier 6 Tier 7
Host (Tier 1) Tier 2 Tier 3 Tier 4 Tier 5 Tier 6 Tier 7
Host (Tier 1) Tier 2 Tier 3 Tier 4 Tier 5 Tier 6 Tier 7
Host (Tier 1) Tier 2 Tier 3 Tier 4 Tier 5 Tier 6 Tier 7

Host (Tier 1)

Tier 2

Tier 3

Tier 4

Tier 5

Tier 6

Tier 7

Physical Bus Topology

USB Host Controller & Root Hub Keyboard Speaker HubHub Hub: Max Chaining = 5 Logic
USB Host Controller
& Root Hub
Keyboard
Speaker
HubHub
Hub: Max Chaining = 5
Logic
HubHub
Analyzer
Printer
HubHub
HubHub
HubHub
PIC18 USB devices are
designed to be
peripherals. PIC24/PIC32
can function as either
embedded host or
peripheral.
Data Logger
HubHub
Up to 126 peripherals
Physical Interface V D+ D- GND BUS V BUS ~ 5.0 V D+   ~
Physical Interface V D+ D- GND BUS V BUS ~ 5.0 V D+   ~
Physical Interface V D+ D- GND BUS V BUS ~ 5.0 V D+   ~
Physical Interface V D+ D- GND BUS V BUS ~ 5.0 V D+   ~
Physical Interface V D+ D- GND BUS V BUS ~ 5.0 V D+   ~

Physical Interface

V

D+

D-

GND

BUS

Physical Interface V D+ D- GND BUS V BUS ~ 5.0 V D+   ~ 3.3

V

BUS

~ 5.0 V

D+

D+  
 

~ 3.3 V

D-

GND

Half Duplex with NRZI (No Return to Zero Invert) Data Encoding Encoding

Bus Power to each device:Duplex with NRZI (No Return to Zero Invert) Data Encoding Must use external power if more

Must use external power if more is required
Must use external
power if more is
required

4.40-5.25Veach device: Must use external power if more is required Guaranteed 100 mA 500 mA maximum

Guaranteed 100 mAMust use external power if more is required 4.40-5.25V 500 mA maximum through negotiation © 2010

500 mA maximum through negotiationpower if more is required 4.40-5.25V Guaranteed 100 mA © 2010 Microchip Technology Incorporated. All Rights

Standard Connectors - USB 2.0 Specification - “A” USB Host “B” “mini-B” FS, HS FS,
Standard Connectors - USB 2.0 Specification - “A” USB Host “B” “mini-B” FS, HS FS,
Standard Connectors - USB 2.0 Specification - “A” USB Host “B” “mini-B” FS, HS FS,
Standard Connectors - USB 2.0 Specification - “A” USB Host “B” “mini-B” FS, HS FS,
Standard Connectors - USB 2.0 Specification - “A” USB Host “B” “mini-B” FS, HS FS,

Standard Connectors

- USB 2.0 Specification -

“A” USB Host “B” “mini-B” FS, HS FS, HS Device Device
“A”
USB Host
“B”
“mini-B”
FS, HS
FS, HS
Device
Device
Agenda – Part 1 USB Fundamentals – The serious & important stuff Basics/Speeds Topology/Physical Connection
Agenda – Part 1 USB Fundamentals – The serious & important stuff Basics/Speeds Topology/Physical Connection
Agenda – Part 1 USB Fundamentals – The serious & important stuff Basics/Speeds Topology/Physical Connection
Agenda – Part 1 USB Fundamentals – The serious & important stuff Basics/Speeds Topology/Physical Connection
Agenda – Part 1 USB Fundamentals – The serious & important stuff Basics/Speeds Topology/Physical Connection

Agenda – Part 1

USB Fundamentals – The serious & important stuffAgenda – Part 1 Basics/Speeds Topology/Physical Connection Architecture/Programmer’s Model USB Transactions USB

Basics/Speeds1 USB Fundamentals – The serious & important stuff Topology/Physical Connection Architecture/Programmer’s

Topology/Physical Connection– The serious & important stuff Basics/Speeds Architecture/Programmer’s Model USB Transactions USB

Architecture/Programmer’s Modelimportant stuff Basics/Speeds Topology/Physical Connection USB Transactions USB Transfers Device Classes Enumeration

USB TransactionsConnection Architecture/Programmer’s Model USB Transfers Device Classes Enumeration Descriptors Power

USB TransfersArchitecture/Programmer’s Model USB Transactions Device Classes Enumeration Descriptors Power Planning

Device ClassesModel USB Transactions USB Transfers Enumeration Descriptors Power Planning VID/PID & USB

EnumerationModel USB Transactions USB Transfers Device Classes Descriptors Power Planning VID/PID & USB Compliance

DescriptorsUSB Transactions USB Transfers Device Classes Enumeration Power Planning VID/PID & USB Compliance PIC18/24/32 USB

Power PlanningUSB Transfers Device Classes Enumeration Descriptors VID/PID & USB Compliance PIC18/24/32 USB

VID/PID & USB ComplianceDevice Classes Enumeration Descriptors Power Planning PIC18/24/32 USB Microcontrollers Microchip Demo/Development

PIC18/24/32 USB MicrocontrollersDescriptors Power Planning VID/PID & USB Compliance Microchip Demo/Development Solutions © 2010 Microchip

Microchip Demo/Development Solutions& USB Compliance PIC18/24/32 USB Microcontrollers © 2010 Microchip Technology Incorporated. All Rights

Logical Bus Topology Not a tiered-star! Host software communicates to each “logical” device as if
Logical Bus Topology Not a tiered-star! Host software communicates to each “logical” device as if
Logical Bus Topology Not a tiered-star! Host software communicates to each “logical” device as if
Logical Bus Topology Not a tiered-star! Host software communicates to each “logical” device as if
Logical Bus Topology Not a tiered-star! Host software communicates to each “logical” device as if

Logical Bus Topology

Not a tiered-star!Logical Bus Topology Host software communicates to each “logical” device as if it were directly connected

Host software communicates to each “logical” device as if it were directly connected to the root hub “logical” device as if it were directly connected to the root hub

Host Logical Logical Device Device Logical Logical Device Device Logical Device Logical Device
Host
Logical
Logical
Device
Device
Logical
Logical
Device
Device
Logical
Device
Logical
Device
The “Logical” Device Device (Manufacturer: Microchip Technology) (Product: Mouse in a Circle Demo) Configuration
The “Logical” Device Device (Manufacturer: Microchip Technology) (Product: Mouse in a Circle Demo) Configuration
The “Logical” Device Device (Manufacturer: Microchip Technology) (Product: Mouse in a Circle Demo) Configuration
The “Logical” Device Device (Manufacturer: Microchip Technology) (Product: Mouse in a Circle Demo) Configuration
The “Logical” Device Device (Manufacturer: Microchip Technology) (Product: Mouse in a Circle Demo) Configuration

The “Logical” Device

Device

(Manufacturer: Microchip Technology) (Product: Mouse in a Circle Demo)

Configuration

Interface

IN (Endpoint x)

IN (Endpoint x) OUT (Endpoint x)

OUT (Endpoint x)

IN (Endpoint 0)

IN (Endpoint 0) OUT (Endpoint 0)

OUT (Endpoint 0)

Analog/Digital I/O HID TX/RX Functions (MCHPFSUSB FW) These settings are represented by a Device Descriptor
Analog/Digital I/O
HID TX/RX Functions
(MCHPFSUSB FW)
These settings are
represented by a
Device Descriptor
Table, stored in
firmware.
by a Device Descriptor Table, stored in firmware. USB Device-Specific Pipe(s) (Human Interface Device) USB
USB Device-Specific Pipe(s) (Human Interface Device)
USB Device-Specific Pipe(s)
(Human Interface Device)
USB System Software (default control pipes)
USB System Software
(default control pipes)
Endpoints: Source/Destination of USB Data in a Peripheral Data Bucket USB PIC ® MCU USB
Endpoints: Source/Destination of USB Data in a Peripheral Data Bucket USB PIC ® MCU USB
Endpoints: Source/Destination of USB Data in a Peripheral Data Bucket USB PIC ® MCU USB
Endpoints: Source/Destination of USB Data in a Peripheral Data Bucket USB PIC ® MCU USB
Endpoints: Source/Destination of USB Data in a Peripheral Data Bucket USB PIC ® MCU USB

Endpoints: Source/Destination of USB Data in a Peripheral

Endpoints: Source/Destination of USB Data in a Peripheral Data Bucket USB PIC ® MCU USB framed
Data Bucket USB PIC ® MCU USB framed data RAM Endpoint 1 OUT LED USB
Data Bucket
USB PIC ® MCU
USB framed data
RAM
Endpoint 1 OUT
LED
USB framed data
RAM
Endpoint 1 IN
“Caps-Lock”

Maximum number of endpoints per device specified by USB specification:

16 OUT endpoints + 16 IN endpoints = 32 endpoints

PIC18F87J50, PIC18F4550, PIC24F, PIC32MX supports up to 32 endpoints

PIC18F14K50 supports up to 16 endpoints

EP0 = Default Communication Pipe

USB Device Framework - Software View of Hardware - Function Layer USB Device Layer Bus
USB Device Framework - Software View of Hardware - Function Layer USB Device Layer Bus
USB Device Framework - Software View of Hardware - Function Layer USB Device Layer Bus
USB Device Framework - Software View of Hardware - Function Layer USB Device Layer Bus
USB Device Framework - Software View of Hardware - Function Layer USB Device Layer Bus

USB Device Framework

- Software View of Hardware -

Function Layer

USB Device

Layer

Bus Interface Layer

Host System

Client Software Client Client Software Software
Client Software
Client Client Software Software

BuffersHost System Client Software Client Client Software Software USB System Software Transfers USB Bus Interface Host

USB System Software

TransfersClient Client Software Software Buffers USB System Software USB Bus Interface Host Transactions SIE Controller

USB Bus Interface Host Transactions SIE Controller
USB Bus Interface
Host
Transactions
SIE
Controller

Function Layer

USB Device

Layer

Bus Interface Layer

Peripheral Device

Function Interface
Function
Interface

Interface-specificBus Interface Layer Peripheral Device Function Interface USB Logical Device Endpoint zero Data per Endpoint USB

USB Logical

Device

Endpoint zero
Endpoint
zero

Data per EndpointPeripheral Device Function Interface Interface-specific USB Logical Device Endpoint zero USB Bus Interface SIE

USB Bus Interface

SIEUSB Bus Interface

Pipe Bundle

Data per Endpoint USB Bus Interface SIE Pipe Bundle Default Pipe (EP0) USB Cable Physical Communication

Default Pipe (EP0)

USB Bus Interface SIE Pipe Bundle Default Pipe (EP0) USB Cable Physical Communication Path Logical Communication

USB Cable

Interface SIE Pipe Bundle Default Pipe (EP0) USB Cable Physical Communication Path Logical Communication Path
Interface SIE Pipe Bundle Default Pipe (EP0) USB Cable Physical Communication Path Logical Communication Path
Interface SIE Pipe Bundle Default Pipe (EP0) USB Cable Physical Communication Path Logical Communication Path

Physical Communication Path Logical Communication Path (“Pipe”)

Sending/Receiving on the PC Only High Level Access Four Basic Function Types Example: Microchip General
Sending/Receiving on the PC Only High Level Access Four Basic Function Types Example: Microchip General
Sending/Receiving on the PC Only High Level Access Four Basic Function Types Example: Microchip General
Sending/Receiving on the PC Only High Level Access Four Basic Function Types Example: Microchip General
Sending/Receiving on the PC Only High Level Access Four Basic Function Types Example: Microchip General

Sending/Receiving on the PC

Only High Level AccessSending/Receiving on the PC Four Basic Function Types Example: Microchip General Purpose USB Device Driver

Four Basic Function TypesSending/Receiving on the PC Only High Level Access Example: Microchip General Purpose USB Device Driver MPUSBOpen(…);

Example:on the PC Only High Level Access Four Basic Function Types Microchip General Purpose USB Device

Microchip General Purpose USB Device DriverPC Only High Level Access Four Basic Function Types Example: MPUSBOpen(…); MPUSBRead(…); MPUSBWrite(…);

MPUSBOpen(…);

MPUSBRead(…);

MPUSBWrite(…);

MPUSBClose(…);

Microsoft ® WinUSB driver ® WinUSB driver

WinUSB_Initialize(…);

WinUsb_ReadPipe(…);

WinUsb_WritePipe(…);

WinUSB_Free(…);

Sending/Receiving on the Device Only high level access Example: CDC Class RS-232 Emulation BOOL USBUSARTIsTxTrfReady(
Sending/Receiving on the Device Only high level access Example: CDC Class RS-232 Emulation BOOL USBUSARTIsTxTrfReady(
Sending/Receiving on the Device Only high level access Example: CDC Class RS-232 Emulation BOOL USBUSARTIsTxTrfReady(
Sending/Receiving on the Device Only high level access Example: CDC Class RS-232 Emulation BOOL USBUSARTIsTxTrfReady(
Sending/Receiving on the Device Only high level access Example: CDC Class RS-232 Emulation BOOL USBUSARTIsTxTrfReady(

Sending/Receiving on the Device

Only high level accessSending/Receiving on the Device Example: CDC Class RS-232 Emulation BOOL USBUSARTIsTxTrfReady( void ); void putUSBUSART(

Example: CDC Class RS-232 EmulationSending/Receiving on the Device Only high level access BOOL USBUSARTIsTxTrfReady( void ); void putUSBUSART( char *data,

BOOL USBUSARTIsTxTrfReady(void); void putUSBUSART(char *data, BYTE Length); BYTE getsUSBUSART(char *buffer, BYTE len);

You are not directly reading/writing to the peripheral SFRs anymore!

Agenda – Part 1 USB Fundamentals – The serious & important stuff Basics/Speeds Topology/Physical Connection
Agenda – Part 1 USB Fundamentals – The serious & important stuff Basics/Speeds Topology/Physical Connection
Agenda – Part 1 USB Fundamentals – The serious & important stuff Basics/Speeds Topology/Physical Connection
Agenda – Part 1 USB Fundamentals – The serious & important stuff Basics/Speeds Topology/Physical Connection
Agenda – Part 1 USB Fundamentals – The serious & important stuff Basics/Speeds Topology/Physical Connection

Agenda – Part 1

USB Fundamentals – The serious & important stuffAgenda – Part 1 Basics/Speeds Topology/Physical Connection Architecture/Programmer’s Model USB Transactions USB

Basics/Speeds1 USB Fundamentals – The serious & important stuff Topology/Physical Connection Architecture/Programmer’s

Topology/Physical Connection– The serious & important stuff Basics/Speeds Architecture/Programmer’s Model USB Transactions USB

Architecture/Programmer’s Modelimportant stuff Basics/Speeds Topology/Physical Connection USB Transactions USB Transfers Device Classes Enumeration

USB TransactionsConnection Architecture/Programmer’s Model USB Transfers Device Classes Enumeration Descriptors Power

USB TransfersArchitecture/Programmer’s Model USB Transactions Device Classes Enumeration Descriptors Power Planning

Device ClassesModel USB Transactions USB Transfers Enumeration Descriptors Power Planning VID/PID & USB

EnumerationModel USB Transactions USB Transfers Device Classes Descriptors Power Planning VID/PID & USB Compliance

DescriptorsUSB Transactions USB Transfers Device Classes Enumeration Power Planning VID/PID & USB Compliance PIC18/24/32 USB

Power PlanningUSB Transfers Device Classes Enumeration Descriptors VID/PID & USB Compliance PIC18/24/32 USB

VID/PID & USB ComplianceDevice Classes Enumeration Descriptors Power Planning PIC18/24/32 USB Microcontrollers Microchip Demo/Development

PIC18/24/32 USB MicrocontrollersDescriptors Power Planning VID/PID & USB Compliance Microchip Demo/Development Solutions © 2010 Microchip

Microchip Demo/Development Solutions& USB Compliance PIC18/24/32 USB Microcontrollers © 2010 Microchip Technology Incorporated. All Rights

USB Transaction USB Transaction Token Packet Specifies: • Target device address • Endpoint number •
USB Transaction USB Transaction Token Packet Specifies: • Target device address • Endpoint number •
USB Transaction USB Transaction Token Packet Specifies: • Target device address • Endpoint number •
USB Transaction USB Transaction Token Packet Specifies: • Target device address • Endpoint number •
USB Transaction USB Transaction Token Packet Specifies: • Target device address • Endpoint number •

USB Transaction

USB Transaction

Token Packet Specifies: • Target device address • Endpoint number • Direction of the data
Token Packet
Specifies:
• Target device address
• Endpoint number
• Direction of the data transfer
• Endpoint number • Direction of the data transfer SETUP and OUT token types inform the
SETUP and OUT token types inform the target device that the host wants to send
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.
USB Transaction – IN USB Transaction IN Token Packet Data Packet Handshake Packet Acknowledge -
USB Transaction – IN USB Transaction IN Token Packet Data Packet Handshake Packet Acknowledge -
USB Transaction – IN USB Transaction IN Token Packet Data Packet Handshake Packet Acknowledge -
USB Transaction – IN USB Transaction IN Token Packet Data Packet Handshake Packet Acknowledge -
USB Transaction – IN USB Transaction IN Token Packet Data Packet Handshake Packet Acknowledge -

USB Transaction – IN

USB Transaction

IN Token Packet
IN Token Packet
Data Packet
Data Packet
Handshake Packet Acknowledge - ACK
Handshake Packet
Acknowledge - ACK
Packet Data Packet Handshake Packet Acknowledge - ACK © 2010 Microchip Technology Incorporated. All Rights
Packet Data Packet Handshake Packet Acknowledge - ACK © 2010 Microchip Technology Incorporated. All Rights
USB Traffic IN Transaction ACK USB PIC ® MCU Update BD Keystrokes If (UOWN ==
USB Traffic IN Transaction ACK USB PIC ® MCU Update BD Keystrokes If (UOWN ==
USB Traffic IN Transaction ACK USB PIC ® MCU Update BD Keystrokes If (UOWN ==
USB Traffic IN Transaction ACK USB PIC ® MCU Update BD Keystrokes If (UOWN ==
USB Traffic IN Transaction ACK USB PIC ® MCU Update BD Keystrokes If (UOWN ==

USB Traffic

IN Transaction ACK

USB PIC ® MCU

Update BD Keystrokes If (UOWN == 1) USB Transaction IN Token Packet (to EP1 IN)
Update BD
Keystrokes
If (UOWN == 1)
USB Transaction
IN Token Packet
(to EP1 IN)
Serial
RAM
Endpoint 1 OUT
SFR EP1 OUT BD
(UOWN, Length,
Pointer)
Interface
Data Packet
SIE Sends
Data
Engine
RAM
Endpoint 1 IN
SFR EP1 IN BD
(UOWN, Length,
Pointer)
Handshake Packet
putsUSBUSART( )
Clear UOWN = 0
IN Transaction NAK USB Traffic USB PIC ® MCU USB Transaction IN Token Packet (to
IN Transaction NAK USB Traffic USB PIC ® MCU USB Transaction IN Token Packet (to
IN Transaction NAK USB Traffic USB PIC ® MCU USB Transaction IN Token Packet (to
IN Transaction NAK USB Traffic USB PIC ® MCU USB Transaction IN Token Packet (to
IN Transaction NAK USB Traffic USB PIC ® MCU USB Transaction IN Token Packet (to

IN Transaction NAK

USB Traffic

USB PIC ® MCU

USB Transaction

IN Token Packet (to EP1 IN)
IN Token Packet
(to EP1 IN)
Handshake Packet
Handshake
Packet

Serial

Interface

Engine

Sends NAK

If (UOWN == 0) RAM Endpoint 1 OUT SFR EP1 OUT BD (UOWN, Length, Pointer)
If (UOWN == 0)
RAM
Endpoint 1 OUT
SFR EP1 OUT BD
(UOWN, Length,
Pointer)
RAM
Endpoint 1 IN
SFR EP1 IN BD
(UOWN, Length,
Pointer)
SIE
SIE
OUT Transaction ACK USB Traffic USB PIC ® MCU USB Transaction OUT If (UOWN ==
OUT Transaction ACK USB Traffic USB PIC ® MCU USB Transaction OUT If (UOWN ==
OUT Transaction ACK USB Traffic USB PIC ® MCU USB Transaction OUT If (UOWN ==
OUT Transaction ACK USB Traffic USB PIC ® MCU USB Transaction OUT If (UOWN ==
OUT Transaction ACK USB Traffic USB PIC ® MCU USB Transaction OUT If (UOWN ==

OUT Transaction ACK

USB Traffic

USB PIC ® MCU

USB Transaction

OUT
OUT
ACK USB Traffic USB PIC ® MCU USB Transaction OUT If (UOWN == 1) Token Packet
If (UOWN == 1) Token Packet (to EP1 OUT) Serial Interface Data Packet SIE Deposits
If (UOWN == 1)
Token Packet
(to EP1 OUT)
Serial
Interface
Data Packet
SIE Deposits Data
RAM
Endpoint 1 OUT
SFR EP1 OUT BD
(UOWN, Length,
Pointer)
Engine
RAM
Handshake
Endpoint 1 IN
SFR EP1 IN BD
(UOWN, Length,
Pointer)
SIE Sends ACK
Packet
Clear Length, UOWN = 0
Pointer) SIE Sends ACK Packet Clear Length, UOWN = 0 © 2010 Microchip Technology Incorporated. All
OUT Transaction NAK If (UOWN == 0) USB Traffic USB PIC ® MCU USB Transaction
OUT Transaction NAK If (UOWN == 0) USB Traffic USB PIC ® MCU USB Transaction
OUT Transaction NAK If (UOWN == 0) USB Traffic USB PIC ® MCU USB Transaction
OUT Transaction NAK If (UOWN == 0) USB Traffic USB PIC ® MCU USB Transaction
OUT Transaction NAK If (UOWN == 0) USB Traffic USB PIC ® MCU USB Transaction

OUT Transaction NAK

If (UOWN == 0) USB Traffic USB PIC ® MCU USB Transaction SIE Discards Data
If (UOWN == 0)
USB Traffic
USB PIC ® MCU
USB Transaction
SIE Discards Data
OUT
Token Packet
(to EP1 OUT)
Serial
Interface
Data Packet
RAM
Endpoint 1 OUT
SFR EP1 OUT BD
(UOWN, Length,
Pointer)
Engine
Handshake
RAM
Endpoint 1 IN
SFR EP1 IN BD
(UOWN, Length,
Pointer)
SIE Sends NAK
Packet
Agenda – Part 1 USB Fundamentals – The serious & important stuff Basics/Speeds Topology/Physical Connection
Agenda – Part 1 USB Fundamentals – The serious & important stuff Basics/Speeds Topology/Physical Connection
Agenda – Part 1 USB Fundamentals – The serious & important stuff Basics/Speeds Topology/Physical Connection
Agenda – Part 1 USB Fundamentals – The serious & important stuff Basics/Speeds Topology/Physical Connection
Agenda – Part 1 USB Fundamentals – The serious & important stuff Basics/Speeds Topology/Physical Connection

Agenda – Part 1

USB Fundamentals – The serious & important stuffAgenda – Part 1 Basics/Speeds Topology/Physical Connection Architecture/Programmer’s Model USB Transactions USB

Basics/Speeds1 USB Fundamentals – The serious & important stuff Topology/Physical Connection Architecture/Programmer’s

Topology/Physical Connection– The serious & important stuff Basics/Speeds Architecture/Programmer’s Model USB Transactions USB

Architecture/Programmer’s Modelimportant stuff Basics/Speeds Topology/Physical Connection USB Transactions USB Transfers Device Classes Enumeration

USB TransactionsConnection Architecture/Programmer’s Model USB Transfers Device Classes Enumeration Descriptors Power

USB TransfersArchitecture/Programmer’s Model USB Transactions Device Classes Enumeration Descriptors Power Planning

Device ClassesModel USB Transactions USB Transfers Enumeration Descriptors Power Planning VID/PID & USB

EnumerationModel USB Transactions USB Transfers Device Classes Descriptors Power Planning VID/PID & USB Compliance

DescriptorsUSB Transactions USB Transfers Device Classes Enumeration Power Planning VID/PID & USB Compliance PIC18/24/32 USB

Power PlanningUSB Transfers Device Classes Enumeration Descriptors VID/PID & USB Compliance PIC18/24/32 USB

VID/PID & USB ComplianceDevice Classes Enumeration Descriptors Power Planning PIC18/24/32 USB Microcontrollers Microchip Demo/Development

PIC18/24/32 USB MicrocontrollersDescriptors Power Planning VID/PID & USB Compliance Microchip Demo/Development Solutions © 2010 Microchip

Microchip Demo/Development Solutions& USB Compliance PIC18/24/32 USB Microcontrollers © 2010 Microchip Technology Incorporated. All Rights

Transfer: A Group of Related Transactions MPUSBWrite(EP7, Pointer, Size = 129, Timeout) Transfer   Transaction
Transfer: A Group of Related Transactions MPUSBWrite(EP7, Pointer, Size = 129, Timeout) Transfer   Transaction
Transfer: A Group of Related Transactions MPUSBWrite(EP7, Pointer, Size = 129, Timeout) Transfer   Transaction
Transfer: A Group of Related Transactions MPUSBWrite(EP7, Pointer, Size = 129, Timeout) Transfer   Transaction
Transfer: A Group of Related Transactions MPUSBWrite(EP7, Pointer, Size = 129, Timeout) Transfer   Transaction

Transfer: A Group of Related Transactions

MPUSBWrite(EP7, Pointer, Size = 129, Timeout)

Transfer

 

Transaction 1

 
64 Byte Payload

64

Byte Payload

64 Byte Payload
 

Transaction 2

 
64 Byte Payload

64

Byte Payload

64 Byte Payload
 

Transaction 3

 
1 Byte Payload

1 Byte Payload

1 Byte Payload

Key:

OUT Token PacketKey: Data Packet ACK Handshake Packet

Data PacketKey: OUT Token Packet ACK Handshake Packet

ACK Handshake PacketKey: OUT Token Packet Data Packet

Data Transfer Types - Full Speed USB - Control-> Signal and setup Isochronous -> Timely
Data Transfer Types - Full Speed USB - Control-> Signal and setup Isochronous -> Timely
Data Transfer Types - Full Speed USB - Control-> Signal and setup Isochronous -> Timely
Data Transfer Types - Full Speed USB - Control-> Signal and setup Isochronous -> Timely
Data Transfer Types - Full Speed USB - Control-> Signal and setup Isochronous -> Timely

Data Transfer Types

- Full Speed USB -

Data Transfer Types - Full Speed USB - Control-> Signal and setup Isochronous -> Timely but

Control-> Signal and setup

Types - Full Speed USB - Control-> Signal and setup Isochronous -> Timely but may be

Isochronous -> Timely but may be corrupted (or missed)

Isochronous -> Timely but may be corrupted (or missed) Interrupt -> Guaranteed and timely Bulk ->

Interrupt -> Guaranteed and timely

corrupted (or missed) Interrupt -> Guaranteed and timely Bulk -> Guaranteed but can be untimely ©

Bulk -> Guaranteed but can be untimely

Summary - Data Transfer Types Transfer/ Endpoint Type Interrupt Isochronous Bulk Control Polling
Summary - Data Transfer Types Transfer/ Endpoint Type Interrupt Isochronous Bulk Control Polling
Summary - Data Transfer Types Transfer/ Endpoint Type Interrupt Isochronous Bulk Control Polling
Summary - Data Transfer Types Transfer/ Endpoint Type Interrupt Isochronous Bulk Control Polling
Summary - Data Transfer Types Transfer/ Endpoint Type Interrupt Isochronous Bulk Control Polling

Summary - Data Transfer Types

Transfer/

Endpoint

Type

Interrupt

Isochronous

Bulk

Control

Transfer/ Endpoint Type Interrupt Isochronous Bulk Control Polling Interval Fixed, Periodic Fixed, Periodic Variable,

Polling Interval

Fixed, Periodic

Fixed, Periodic

Variable, Uses Free Bandwidth

Variable

% Reserved BW/Frame for all transfers of this type

% Reserved BW/Frame for all transfers of this type

10

90

0

10

Max. # Data Bytes/Frame/Endpoint (Max# transactions per frame @ Max Ep Size)*

Max. # Data Bytes/Frame/Endpoint (Max# transactions per frame @ Max Ep Size)*

Max. # Data Bytes/Frame/Endpoint (Max# transactions per frame @ Max Ep Size)*
64 (1 x 64)

64 (1 x 64)

1,023 (1 x 1023)

1,023 (1 x 1023)

1,216 (19 x 64)

1,216 (19 x 64)

832

(13 x 64)

per frame @ Max Ep Size)* 64 (1 x 64) 1,023 (1 x 1023) 1,216 (19

Data

Integrity

Yes

No

Yes

Yes

*Assumes transfers use maximum packet sizes allowed per Ep type

Interrupt Transfer Example MPUSBWrite(EP7, Pointer, Size = 129, Timeout) Traffic to other Endpoints or Idle
Interrupt Transfer Example MPUSBWrite(EP7, Pointer, Size = 129, Timeout) Traffic to other Endpoints or Idle
Interrupt Transfer Example MPUSBWrite(EP7, Pointer, Size = 129, Timeout) Traffic to other Endpoints or Idle
Interrupt Transfer Example MPUSBWrite(EP7, Pointer, Size = 129, Timeout) Traffic to other Endpoints or Idle
Interrupt Transfer Example MPUSBWrite(EP7, Pointer, Size = 129, Timeout) Traffic to other Endpoints or Idle

Interrupt Transfer Example

MPUSBWrite(EP7, Pointer, Size = 129, Timeout)

Traffic to other Endpoints or Idle

Transactions

other Endpoints or Idle T r a n s a c t i o n s

64

Endpoints or Idle T r a n s a c t i o n s 64
Endpoints or Idle T r a n s a c t i o n s 64
1
1
64
64
Endpoints or Idle T r a n s a c t i o n s 64

Frame

Bulk Transfer Example MPUSBWrite(EP7, Pointer, Size = 129, Timeout) Transactions only occur if no higher
Bulk Transfer Example MPUSBWrite(EP7, Pointer, Size = 129, Timeout) Transactions only occur if no higher
Bulk Transfer Example MPUSBWrite(EP7, Pointer, Size = 129, Timeout) Transactions only occur if no higher
Bulk Transfer Example MPUSBWrite(EP7, Pointer, Size = 129, Timeout) Transactions only occur if no higher
Bulk Transfer Example MPUSBWrite(EP7, Pointer, Size = 129, Timeout) Transactions only occur if no higher

Bulk Transfer Example

MPUSBWrite(EP7, Pointer, Size = 129, Timeout)

Transactions only occur if no higher priority traffic

Transactions only occur if no higher priority traffic Int. Isoc. Int. 64 64 Int. 1 Frame

Int.

Isoc.

Int.

64

64

Int.

1
1
priority traffic Int. Isoc. Int. 64 64 Int. 1 Frame © 2010 Microchip Technology Incorporated. All
priority traffic Int. Isoc. Int. 64 64 Int. 1 Frame © 2010 Microchip Technology Incorporated. All
priority traffic Int. Isoc. Int. 64 64 Int. 1 Frame © 2010 Microchip Technology Incorporated. All

Frame

KByte/s Theoretical Maximum Transfer Rate Per Endpoint 1400 1200 1000 800 600 400 200 0
KByte/s Theoretical Maximum Transfer Rate Per Endpoint 1400 1200 1000 800 600 400 200 0
KByte/s Theoretical Maximum Transfer Rate Per Endpoint 1400 1200 1000 800 600 400 200 0
KByte/s Theoretical Maximum Transfer Rate Per Endpoint 1400 1200 1000 800 600 400 200 0
KByte/s Theoretical Maximum Transfer Rate Per Endpoint 1400 1200 1000 800 600 400 200 0

KByte/s

Theoretical Maximum Transfer Rate Per Endpoint

1400

1200

1000

800

600

400

200

0

1216 1023 832 24 0.8 64 Control Interrupt Bulk Iso
1216
1023
832
24 0.8 64
Control
Interrupt
Bulk
Iso

Transfer Type

Low Full
Low
Full
Transfer Types – Examples Mouse Control + Interrupt Printer Control + Bulk Speaker Control +
Transfer Types – Examples Mouse Control + Interrupt Printer Control + Bulk Speaker Control +
Transfer Types – Examples Mouse Control + Interrupt Printer Control + Bulk Speaker Control +
Transfer Types – Examples Mouse Control + Interrupt Printer Control + Bulk Speaker Control +
Transfer Types – Examples Mouse Control + Interrupt Printer Control + Bulk Speaker Control +

Transfer Types – Examples

Transfer Types – Examples Mouse Control + Interrupt Printer Control + Bulk Speaker Control + Isochronous

Mouse

Control

+

Interrupt

Transfer Types – Examples Mouse Control + Interrupt Printer Control + Bulk Speaker Control + Isochronous
Transfer Types – Examples Mouse Control + Interrupt Printer Control + Bulk Speaker Control + Isochronous
Printer Control + Bulk
Printer
Control
+
Bulk
Mouse Control + Interrupt Printer Control + Bulk Speaker Control + Isochronous © 2010 Microchip

Speaker

Control

+

Isochronous

Printer Control + Bulk Speaker Control + Isochronous © 2010 Microchip Technology Incorporated. All Rights
Agenda – Part 1 USB Fundamentals – The serious & important stuff Basics/Speeds Topology/Physical Connection
Agenda – Part 1 USB Fundamentals – The serious & important stuff Basics/Speeds Topology/Physical Connection
Agenda – Part 1 USB Fundamentals – The serious & important stuff Basics/Speeds Topology/Physical Connection
Agenda – Part 1 USB Fundamentals – The serious & important stuff Basics/Speeds Topology/Physical Connection
Agenda – Part 1 USB Fundamentals – The serious & important stuff Basics/Speeds Topology/Physical Connection

Agenda – Part 1

USB Fundamentals – The serious & important stuffAgenda – Part 1 Basics/Speeds Topology/Physical Connection Architecture/Programmer’s Model USB Transactions USB

Basics/Speeds1 USB Fundamentals – The serious & important stuff Topology/Physical Connection Architecture/Programmer’s

Topology/Physical Connection– The serious & important stuff Basics/Speeds Architecture/Programmer’s Model USB Transactions USB

Architecture/Programmer’s Modelimportant stuff Basics/Speeds Topology/Physical Connection USB Transactions USB Transfers Device Classes Enumeration

USB TransactionsConnection Architecture/Programmer’s Model USB Transfers Device Classes Enumeration Descriptors Power

USB TransfersArchitecture/Programmer’s Model USB Transactions Device Classes Enumeration Descriptors Power Planning

Device ClassesModel USB Transactions USB Transfers Enumeration Descriptors Power Planning VID/PID & USB

EnumerationModel USB Transactions USB Transfers Device Classes Descriptors Power Planning VID/PID & USB Compliance

DescriptorsUSB Transactions USB Transfers Device Classes Enumeration Power Planning VID/PID & USB Compliance PIC18/24/32 USB

Power PlanningUSB Transfers Device Classes Enumeration Descriptors VID/PID & USB Compliance PIC18/24/32 USB

VID/PID & USB ComplianceDevice Classes Enumeration Descriptors Power Planning PIC18/24/32 USB Microcontrollers Microchip Demo/Development

PIC18/24/32 USB MicrocontrollersDescriptors Power Planning VID/PID & USB Compliance Microchip Demo/Development Solutions © 2010 Microchip

Microchip Demo/Development Solutions& USB Compliance PIC18/24/32 USB Microcontrollers © 2010 Microchip Technology Incorporated. All Rights

Mouse PICkit™ 3 Starter Kit Keyboard Data Glove Joystick Human Interface Device Class (HID) USB
Mouse PICkit™ 3 Starter Kit Keyboard Data Glove Joystick Human Interface Device Class (HID) USB
Mouse PICkit™ 3 Starter Kit Keyboard Data Glove Joystick Human Interface Device Class (HID) USB
Mouse PICkit™ 3 Starter Kit Keyboard Data Glove Joystick Human Interface Device Class (HID) USB
Mouse PICkit™ 3 Starter Kit Keyboard Data Glove Joystick Human Interface Device Class (HID) USB

Mouse

PICkit™ 3

Starter Kit

Keyboard

Data Glove

Joystick

Human Interface Device Class (HID)

USB Device Classes

External

Hard Drive

Floppy

Drive

Ethernet

Adapter

Mass Storage Device Class (MSD)

Drive Ethernet Adapter Mass Storage Device Class (MSD) Modem Communication Device Class (CDC) MPLAB ® REAL
Drive Ethernet Adapter Mass Storage Device Class (MSD) Modem Communication Device Class (CDC) MPLAB ® REAL

Modem

Communication Device Class (CDC)

MPLAB ®

REAL ICE™

in-circuit emulator

Custom Class (Vendor Class)

Many more classes….
Many more classes….
USB Driver Choices - Windows ® PC Host - Features HID CDC MCHPUSB WinUSB LibUSB
USB Driver Choices - Windows ® PC Host - Features HID CDC MCHPUSB WinUSB LibUSB
USB Driver Choices - Windows ® PC Host - Features HID CDC MCHPUSB WinUSB LibUSB
USB Driver Choices - Windows ® PC Host - Features HID CDC MCHPUSB WinUSB LibUSB
USB Driver Choices - Windows ® PC Host - Features HID CDC MCHPUSB WinUSB LibUSB

USB Driver Choices

- Windows ® PC Host -

Features

HID

CDC

MCHPUSB

WinUSB

LibUSB

Driver support built into Windows

Yes

Need .inf

No

Need .inf

No

64-bit PC Support

Yes

Yes

Yes

Yes

Yes

XP Ready

Yes

Yes

Yes

Yes

Yes

Vista Ready

Yes

Yes

Yes

Yes

32 bit

Transfer Types for user’s data

 

Control

No

No

Yes

Yes

Yes

Interrupt

Yes

No

Yes

Yes

Yes

Isochronous

No

No

Yes

No

Yes

Bulk

No

Yes

Yes

Yes

Yes

Max Speed

64 KB/s

~80 kB/s

~1.0 MB/s

~1.0 MB/s

~1.0 MB/s

Agenda – Part 1 USB Fundamentals – The serious & important stuff Basics/Speeds Topology/Physical Connection
Agenda – Part 1 USB Fundamentals – The serious & important stuff Basics/Speeds Topology/Physical Connection
Agenda – Part 1 USB Fundamentals – The serious & important stuff Basics/Speeds Topology/Physical Connection
Agenda – Part 1 USB Fundamentals – The serious & important stuff Basics/Speeds Topology/Physical Connection
Agenda – Part 1 USB Fundamentals – The serious & important stuff Basics/Speeds Topology/Physical Connection

Agenda – Part 1

USB Fundamentals – The serious & important stuffAgenda – Part 1 Basics/Speeds Topology/Physical Connection Architecture/Programmer’s Model USB Transactions USB

Basics/Speeds1 USB Fundamentals – The serious & important stuff Topology/Physical Connection Architecture/Programmer’s

Topology/Physical Connection– The serious & important stuff Basics/Speeds Architecture/Programmer’s Model USB Transactions USB

Architecture/Programmer’s Modelimportant stuff Basics/Speeds Topology/Physical Connection USB Transactions USB Transfers Device Classes Enumeration

USB TransactionsConnection Architecture/Programmer’s Model USB Transfers Device Classes Enumeration Descriptors Power

USB TransfersArchitecture/Programmer’s Model USB Transactions Device Classes Enumeration Descriptors Power Planning

Device ClassesModel USB Transactions USB Transfers Enumeration Descriptors Power Planning VID/PID & USB

EnumerationModel USB Transactions USB Transfers Device Classes Descriptors Power Planning VID/PID & USB Compliance

DescriptorsUSB Transactions USB Transfers Device Classes Enumeration Power Planning VID/PID & USB Compliance PIC18/24/32 USB

Power PlanningUSB Transfers Device Classes Enumeration Descriptors VID/PID & USB Compliance PIC18/24/32 USB

VID/PID & USB ComplianceDevice Classes Enumeration Descriptors Power Planning PIC18/24/32 USB Microcontrollers Microchip Demo/Development

PIC18/24/32 USB MicrocontrollersDescriptors Power Planning VID/PID & USB Compliance Microchip Demo/Development Solutions © 2010 Microchip

Microchip Demo/Development Solutions& USB Compliance PIC18/24/32 USB Microcontrollers © 2010 Microchip Technology Incorporated. All Rights

The Enumeration Process Power (self/bus) ATTACHED Cable Connected DETACHED POWERED Bus reset DEFAULT Get Device
The Enumeration Process Power (self/bus) ATTACHED Cable Connected DETACHED POWERED Bus reset DEFAULT Get Device
The Enumeration Process Power (self/bus) ATTACHED Cable Connected DETACHED POWERED Bus reset DEFAULT Get Device
The Enumeration Process Power (self/bus) ATTACHED Cable Connected DETACHED POWERED Bus reset DEFAULT Get Device
The Enumeration Process Power (self/bus) ATTACHED Cable Connected DETACHED POWERED Bus reset DEFAULT Get Device

The Enumeration Process

Power (self/bus) ATTACHED Cable Connected DETACHED
Power
(self/bus)
ATTACHED
Cable
Connected
DETACHED
POWERED Bus reset DEFAULT Get Device Descriptor SUSPENDED ADDRESS Get Descriptors CONFIGURED
POWERED
Bus
reset
DEFAULT
Get Device
Descriptor
SUSPENDED
ADDRESS
Get
Descriptors
CONFIGURED
Auto-Detection: Full-Speed Peripheral Device USB PIC ® MCU V USB 3.3 V Full Speed Identification
Auto-Detection: Full-Speed Peripheral Device USB PIC ® MCU V USB 3.3 V Full Speed Identification
Auto-Detection: Full-Speed Peripheral Device USB PIC ® MCU V USB 3.3 V Full Speed Identification
Auto-Detection: Full-Speed Peripheral Device USB PIC ® MCU V USB 3.3 V Full Speed Identification
Auto-Detection: Full-Speed Peripheral Device USB PIC ® MCU V USB 3.3 V Full Speed Identification

Auto-Detection: Full-Speed

Peripheral Device USB PIC ® MCU V USB 3.3 V Full Speed Identification D+ line
Peripheral Device
USB PIC ® MCU
V USB 3.3 V
Full Speed Identification
D+ line pull-up
1.5 kΩ±5%
+5V
D+
Transceiver
D-
GND
USB

Connector

Auto-Detection: Low-Speed Peripheral Device USB PIC ® MCU V USB 3.3 V Low Speed Identification
Auto-Detection: Low-Speed Peripheral Device USB PIC ® MCU V USB 3.3 V Low Speed Identification
Auto-Detection: Low-Speed Peripheral Device USB PIC ® MCU V USB 3.3 V Low Speed Identification
Auto-Detection: Low-Speed Peripheral Device USB PIC ® MCU V USB 3.3 V Low Speed Identification
Auto-Detection: Low-Speed Peripheral Device USB PIC ® MCU V USB 3.3 V Low Speed Identification

Auto-Detection: Low-Speed

Peripheral Device USB PIC ® MCU V USB 3.3 V Low Speed Identification D- line
Peripheral Device
USB PIC ® MCU
V USB 3.3 V
Low Speed Identification
D- line pull-up
1.5 kΩ±5%
+5V
D+
Transceiver
D-
GND
USB

Connector

On-chip Pull-up Resistors Peripheral Device USB PIC ® MCU V USB 3.3 V On-chip pull-up
On-chip Pull-up Resistors Peripheral Device USB PIC ® MCU V USB 3.3 V On-chip pull-up
On-chip Pull-up Resistors Peripheral Device USB PIC ® MCU V USB 3.3 V On-chip pull-up
On-chip Pull-up Resistors Peripheral Device USB PIC ® MCU V USB 3.3 V On-chip pull-up
On-chip Pull-up Resistors Peripheral Device USB PIC ® MCU V USB 3.3 V On-chip pull-up

On-chip Pull-up Resistors

Peripheral Device USB PIC ® MCU V USB 3.3 V On-chip pull-up resistors available! +5V
Peripheral Device
USB PIC ® MCU
V USB 3.3 V
On-chip pull-up
resistors available!
+5V
D+
Transceiver
D-
GND
USB

Connector

Address and Configuration: EP0 See Chapter 9 in USB 2.0 Spec for more info. USB
Address and Configuration: EP0 See Chapter 9 in USB 2.0 Spec for more info. USB
Address and Configuration: EP0 See Chapter 9 in USB 2.0 Spec for more info. USB
Address and Configuration: EP0 See Chapter 9 in USB 2.0 Spec for more info. USB
Address and Configuration: EP0 See Chapter 9 in USB 2.0 Spec for more info. USB

Address and Configuration: EP0

Address and Configuration: EP0 See Chapter 9 in USB 2.0 Spec for more info. USB PIC

See Chapter 9 in USB 2.0 Spec for more info.

EP0 See Chapter 9 in USB 2.0 Spec for more info. USB PIC ® MCU Dual
USB PIC ® MCU Dual Port/Access RAM Endpoint 0 OUT (Control Data) Control Transfers Endpoint
USB PIC ® MCU
Dual Port/Access RAM
Endpoint 0 OUT
(Control Data)
Control Transfers
Endpoint 0 IN
Descriptors
(Control Data)
Other Endpoints
Agenda – Part 1 USB Fundamentals – The serious & important stuff Basics/Speeds Topology/Physical Connection
Agenda – Part 1 USB Fundamentals – The serious & important stuff Basics/Speeds Topology/Physical Connection
Agenda – Part 1 USB Fundamentals – The serious & important stuff Basics/Speeds Topology/Physical Connection
Agenda – Part 1 USB Fundamentals – The serious & important stuff Basics/Speeds Topology/Physical Connection
Agenda – Part 1 USB Fundamentals – The serious & important stuff Basics/Speeds Topology/Physical Connection

Agenda – Part 1

USB Fundamentals – The serious & important stuffAgenda – Part 1 Basics/Speeds Topology/Physical Connection Architecture/Programmer’s Model USB Transactions USB

Basics/Speeds1 USB Fundamentals – The serious & important stuff Topology/Physical Connection Architecture/Programmer’s

Topology/Physical Connection– The serious & important stuff Basics/Speeds Architecture/Programmer’s Model USB Transactions USB

Architecture/Programmer’s Modelimportant stuff Basics/Speeds Topology/Physical Connection USB Transactions USB Transfers Device Classes Enumeration

USB TransactionsConnection Architecture/Programmer’s Model USB Transfers Device Classes Enumeration Descriptors Power

USB TransfersArchitecture/Programmer’s Model USB Transactions Device Classes Enumeration Descriptors Power Planning

Device ClassesModel USB Transactions USB Transfers Enumeration Descriptors Power Planning VID/PID & USB

EnumerationModel USB Transactions USB Transfers Device Classes Descriptors Power Planning VID/PID & USB Compliance

DescriptorsUSB Transactions USB Transfers Device Classes Enumeration Power Planning VID/PID & USB Compliance PIC18/24/32 USB

Power PlanningUSB Transfers Device Classes Enumeration Descriptors VID/PID & USB Compliance PIC18/24/32 USB

VID/PID & USB ComplianceDevice Classes Enumeration Descriptors Power Planning PIC18/24/32 USB Microcontrollers Microchip Demo/Development

PIC18/24/32 USB MicrocontrollersDescriptors Power Planning VID/PID & USB Compliance Microchip Demo/Development Solutions © 2010 Microchip

Microchip Demo/Development Solutions& USB Compliance PIC18/24/32 USB Microcontrollers © 2010 Microchip Technology Incorporated. All Rights

Descriptors String 0 Device String 1 String N Configuration 1 Interface 0 Interface 1 Endpoint
Descriptors String 0 Device String 1 String N Configuration 1 Interface 0 Interface 1 Endpoint
Descriptors String 0 Device String 1 String N Configuration 1 Interface 0 Interface 1 Endpoint
Descriptors String 0 Device String 1 String N Configuration 1 Interface 0 Interface 1 Endpoint
Descriptors String 0 Device String 1 String N Configuration 1 Interface 0 Interface 1 Endpoint

Descriptors

String 0 Device String 1 String N Configuration 1 Interface 0 Interface 1 Endpoint Endpoint
String 0
Device
String 1
String N
Configuration 1
Interface 0
Interface 1
Endpoint
Endpoint
Endpoint
Endpoint

To other Configurations if any

To other Interfaces if any

Descriptors are typically stored in non-volatile/Flash memory

Descriptors - Example Device USB 2.0, VID = 0x04D8, PID = 0x0007, Num. Configurations, Strings?
Descriptors - Example Device USB 2.0, VID = 0x04D8, PID = 0x0007, Num. Configurations, Strings?
Descriptors - Example Device USB 2.0, VID = 0x04D8, PID = 0x0007, Num. Configurations, Strings?
Descriptors - Example Device USB 2.0, VID = 0x04D8, PID = 0x0007, Num. Configurations, Strings?
Descriptors - Example Device USB 2.0, VID = 0x04D8, PID = 0x0007, Num. Configurations, Strings?

Descriptors - Example

Device USB 2.0, VID = 0x04D8, PID = 0x0007, Num. Configurations, Strings? Configuration 1 Configuration
Device
USB 2.0, VID = 0x04D8,
PID = 0x0007, Num. Configurations,
Strings?
Configuration 1
Configuration #1: Bus-Powered,
Remote Wakeup, 500mA, Num.
Interfaces
Interface 0
Interface #0: HID Class, Num.
Endpoints
Endpoint
Endpoint 1 IN, Interrupt Transfer Type,
64-byte buffer, Poll every 3 ms

Manu. String

Microchip
Microchip

Prod. String

PICDEM™ USB
PICDEM™ USB
Other String Go USB! Unicode Characters
Other String
Go USB!
Unicode
Characters
MCHPFSUSB Software Framework - Device Descriptor Table - usb_descriptors.c usb_descriptors.c Descriptors VID & PID
MCHPFSUSB Software Framework - Device Descriptor Table - usb_descriptors.c usb_descriptors.c Descriptors VID & PID
MCHPFSUSB Software Framework - Device Descriptor Table - usb_descriptors.c usb_descriptors.c Descriptors VID & PID
MCHPFSUSB Software Framework - Device Descriptor Table - usb_descriptors.c usb_descriptors.c Descriptors VID & PID
MCHPFSUSB Software Framework - Device Descriptor Table - usb_descriptors.c usb_descriptors.c Descriptors VID & PID

MCHPFSUSB Software Framework

- Device Descriptor Table -

usb_descriptors.cusb_descriptors.c

Descriptor Table - usb_descriptors.c usb_descriptors.c Descriptors VID & PID Class Specific /* Device

Descriptors

VID & PIDTable - usb_descriptors.c usb_descriptors.c Descriptors Class Specific /* Device Descriptor */ ROM

Class Specificusb_descriptors.c Descriptors VID & PID /* Device Descriptor */ ROM USB_DEVICE_DESCRIPTOR

/* Device Descriptor */ ROM USB_DEVICE_DESCRIPTOR device_dsc=

{ 0x12,

// Size of this descriptor in bytes

USB_DESCRIPTOR_DEVICE, // DEVICE descriptor type

0x0200,

// USB Spec Release Number

CDC_DEVICE,

// Class Code

0x00,

// Subclass code

0x00,

// Protocol code

EP0_BUFF_SIZE,

// Max packet size for EP0,

0x04D8,

// Vendor ID

0x000C,

// Product ID

Demo UVCView.exe - Viewing Descriptor Information - © 2010 Microchip Technology Incorporated. All Rights Reserved.
Demo UVCView.exe - Viewing Descriptor Information - © 2010 Microchip Technology Incorporated. All Rights Reserved.
Demo UVCView.exe - Viewing Descriptor Information - © 2010 Microchip Technology Incorporated. All Rights Reserved.
Demo UVCView.exe - Viewing Descriptor Information - © 2010 Microchip Technology Incorporated. All Rights Reserved.
Demo UVCView.exe - Viewing Descriptor Information - © 2010 Microchip Technology Incorporated. All Rights Reserved.

Demo UVCView.exe

- Viewing Descriptor Information -

Demo UVCView.exe - Viewing Descriptor Information - © 2010 Microchip Technology Incorporated. All Rights Reserved. COM
Agenda – Part 1 USB Fundamentals – The serious & important stuff Basics/Speeds Topology/Physical Connection
Agenda – Part 1 USB Fundamentals – The serious & important stuff Basics/Speeds Topology/Physical Connection
Agenda – Part 1 USB Fundamentals – The serious & important stuff Basics/Speeds Topology/Physical Connection
Agenda – Part 1 USB Fundamentals – The serious & important stuff Basics/Speeds Topology/Physical Connection
Agenda – Part 1 USB Fundamentals – The serious & important stuff Basics/Speeds Topology/Physical Connection

Agenda – Part 1

USB Fundamentals – The serious & important stuffAgenda – Part 1 Basics/Speeds Topology/Physical Connection Architecture/Programmer’s Model USB Transactions USB

Basics/Speeds1 USB Fundamentals – The serious & important stuff Topology/Physical Connection Architecture/Programmer’s

Topology/Physical Connection– The serious & important stuff Basics/Speeds Architecture/Programmer’s Model USB Transactions USB

Architecture/Programmer’s Modelimportant stuff Basics/Speeds Topology/Physical Connection USB Transactions USB Transfers Device Classes Enumeration

USB TransactionsConnection Architecture/Programmer’s Model USB Transfers Device Classes Enumeration Descriptors Power

USB TransfersArchitecture/Programmer’s Model USB Transactions Device Classes Enumeration Descriptors Power Planning

Device ClassesModel USB Transactions USB Transfers Enumeration Descriptors Power Planning VID/PID & USB

EnumerationModel USB Transactions USB Transfers Device Classes Descriptors Power Planning VID/PID & USB Compliance

DescriptorsUSB Transactions USB Transfers Device Classes Enumeration Power Planning VID/PID & USB Compliance PIC18/24/32 USB

Power PlanningUSB Transfers Device Classes Enumeration Descriptors VID/PID & USB Compliance PIC18/24/32 USB

VID/PID & USB ComplianceDevice Classes Enumeration Descriptors Power Planning PIC18/24/32 USB Microcontrollers Microchip Demo/Development

PIC18/24/32 USB MicrocontrollersDescriptors Power Planning VID/PID & USB Compliance Microchip Demo/Development Solutions © 2010 Microchip

Microchip Demo/Development Solutions& USB Compliance PIC18/24/32 USB Microcontrollers © 2010 Microchip Technology Incorporated. All Rights

Power Planning - Architecture - “Low Power” bus-powered function Draws up to 100 mA (1
Power Planning - Architecture - “Low Power” bus-powered function Draws up to 100 mA (1
Power Planning - Architecture - “Low Power” bus-powered function Draws up to 100 mA (1
Power Planning - Architecture - “Low Power” bus-powered function Draws up to 100 mA (1
Power Planning - Architecture - “Low Power” bus-powered function Draws up to 100 mA (1

Power Planning

- Architecture -

Power Planning - Architecture - “Low Power” bus-powered function Draws up to 100 mA (1 ‘unit

“Low Power” bus-powered function

- Architecture - “Low Power” bus-powered function Draws up to 100 mA (1 ‘unit load’) from

Draws up to 100 mA (1 ‘unit load’) from the bus

Function Controller + Function
Function Controller +
Function
Power Planning - Architecture - “High Power” bus-powered function Draws 100-500 mA from the bus
Power Planning - Architecture - “High Power” bus-powered function Draws 100-500 mA from the bus
Power Planning - Architecture - “High Power” bus-powered function Draws 100-500 mA from the bus
Power Planning - Architecture - “High Power” bus-powered function Draws 100-500 mA from the bus
Power Planning - Architecture - “High Power” bus-powered function Draws 100-500 mA from the bus

Power Planning

- Architecture -

Power Planning - Architecture - “High Power” bus-powered function Draws 100-500 mA from the bus Must

“High Power” bus-powered function

Draws 100-500 mA from the bus- Architecture - “High Power” bus-powered function Must be able to enumerate at low power (100

Must be able to enumerate at low power (100 mA)Power” bus-powered function Draws 100-500 mA from the bus Device requests bMaxPower Host enables configuration with

Device requests bMaxPower bMaxPower

Host enables configuration with appropriate Set_Configuration request Set_Configuration request

configuration with appropriate Set_Configuration request © 2010 Microchip Technology Incorporated. All Rights
Power Planning - Architecture - “Self Powered” device Can optionally draw up to 100 mA
Power Planning - Architecture - “Self Powered” device Can optionally draw up to 100 mA
Power Planning - Architecture - “Self Powered” device Can optionally draw up to 100 mA
Power Planning - Architecture - “Self Powered” device Can optionally draw up to 100 mA
Power Planning - Architecture - “Self Powered” device Can optionally draw up to 100 mA

Power Planning

- Architecture -

Power Planning - Architecture - “Self Powered” device Can optionally draw up to 100 mA from

“Self Powered” device

Power Planning - Architecture - “Self Powered” device Can optionally draw up to 100 mA from

Can optionally draw up to 100 mA from the bus (if unsuspended) + as much as is available from its own supply

unsuspended) + as much as is available from its own supply © 2010 Microchip Technology Incorporated.
Power Planning - Do I Need Self-Power? - Device will need to provide self power
Power Planning - Do I Need Self-Power? - Device will need to provide self power
Power Planning - Do I Need Self-Power? - Device will need to provide self power
Power Planning - Do I Need Self-Power? - Device will need to provide self power
Power Planning - Do I Need Self-Power? - Device will need to provide self power

Power Planning

- Do I Need Self-Power? -

Power Planning - Do I Need Self-Power? - Device will need to provide self power if:

Device will need to provide self power if:

It needs to function when not attached to the bus the bus

It needs more than 500 mApower if: It needs to function when not attached to the bus It needs to function

It needs to function when connected to battery powered PCs, or bus-powered hubs battery powered PCs, or bus-powered hubs

when connected to battery powered PCs, or bus-powered hubs i.e. needs to function during Suspend mode

i.e. needs to function during Suspend mode

Power Planning - Suspend Mode - Bus activity may cease due to a host entering
Power Planning - Suspend Mode - Bus activity may cease due to a host entering
Power Planning - Suspend Mode - Bus activity may cease due to a host entering
Power Planning - Suspend Mode - Bus activity may cease due to a host entering
Power Planning - Suspend Mode - Bus activity may cease due to a host entering

Power Planning

- Suspend Mode -

Bus activity may cease due to a host entering a “Suspend” mode to conserve battery life host entering a “Suspend” mode to conserve battery life

All devices must suspend if bus activity has not been observed for 3 ms activity has not been observed for 3 ms

suspend if bus activity has not been observed for 3 ms And must operate with reduced

And must operate with reduced current…

Power Planning - Suspend Mode - Maximum USB suspend current: 2.5 mA Don’t: Power from
Power Planning - Suspend Mode - Maximum USB suspend current: 2.5 mA Don’t: Power from
Power Planning - Suspend Mode - Maximum USB suspend current: 2.5 mA Don’t: Power from
Power Planning - Suspend Mode - Maximum USB suspend current: 2.5 mA Don’t: Power from
Power Planning - Suspend Mode - Maximum USB suspend current: 2.5 mA Don’t: Power from

Power Planning

- Suspend Mode -

Maximum USB suspend current:Power Planning - Suspend Mode - 2.5 mA Don’t: Power from USB Cable V DD 22µF

Power Planning - Suspend Mode - Maximum USB suspend current: 2.5 mA Don’t: Power from USB

2.5 mA

Don’t:- Suspend Mode - Maximum USB suspend current: 2.5 mA Power from USB Cable V DD

Power from USB Cable

V DD 22µF
V
DD
22µF
Power Planning - Suspend Mode - Maximum USB suspend current: 2.5 mA Do: Power from
Power Planning - Suspend Mode - Maximum USB suspend current: 2.5 mA Do: Power from
Power Planning - Suspend Mode - Maximum USB suspend current: 2.5 mA Do: Power from
Power Planning - Suspend Mode - Maximum USB suspend current: 2.5 mA Do: Power from
Power Planning - Suspend Mode - Maximum USB suspend current: 2.5 mA Do: Power from

Power Planning

- Suspend Mode -

Maximum USB suspend current:Power Planning - Suspend Mode - 2.5 mA Do: Power from USB Cable V DD ≤10µF

Power Planning - Suspend Mode - Maximum USB suspend current: 2.5 mA Do: Power from USB

2.5 mA

Do:- Suspend Mode - Maximum USB suspend current: 2.5 mA Power from USB Cable V DD

Power from USB Cable

V DD ≤10µF
V DD
≤10µF
current: 2.5 mA Do: Power from USB Cable V DD ≤10µF © 2010 Microchip Technology Incorporated.
current: 2.5 mA Do: Power from USB Cable V DD ≤10µF © 2010 Microchip Technology Incorporated.
current: 2.5 mA Do: Power from USB Cable V DD ≤10µF © 2010 Microchip Technology Incorporated.
Self-Powered Devices - Detecting a USB Attachment - Self-Powered V BUS from USB Cable V
Self-Powered Devices - Detecting a USB Attachment - Self-Powered V BUS from USB Cable V
Self-Powered Devices - Detecting a USB Attachment - Self-Powered V BUS from USB Cable V
Self-Powered Devices - Detecting a USB Attachment - Self-Powered V BUS from USB Cable V
Self-Powered Devices - Detecting a USB Attachment - Self-Powered V BUS from USB Cable V

Self-Powered Devices

- Detecting a USB Attachment -

Self-Powered

V BUS from USB Cable V DD I/O If the device is self-powered, you MUST
V BUS from
USB Cable
V DD
I/O
If the device is self-powered, you
MUST use a 5V tolerant I/O pin to
detect a cable attachment before
enabling the USB module and pull-up
on D+ or D- . In addition, the device
must never source current on V BUS .
Agenda – Part 1 USB Fundamentals – The serious & important stuff Basics/Speeds Topology/Physical Connection
Agenda – Part 1 USB Fundamentals – The serious & important stuff Basics/Speeds Topology/Physical Connection
Agenda – Part 1 USB Fundamentals – The serious & important stuff Basics/Speeds Topology/Physical Connection
Agenda – Part 1 USB Fundamentals – The serious & important stuff Basics/Speeds Topology/Physical Connection
Agenda – Part 1 USB Fundamentals – The serious & important stuff Basics/Speeds Topology/Physical Connection

Agenda – Part 1

USB Fundamentals – The serious & important stuffAgenda – Part 1 Basics/Speeds Topology/Physical Connection Architecture/Programmer’s Model USB Transactions USB

Basics/Speeds1 USB Fundamentals – The serious & important stuff Topology/Physical Connection Architecture/Programmer’s

Topology/Physical Connection– The serious & important stuff Basics/Speeds Architecture/Programmer’s Model USB Transactions USB

Architecture/Programmer’s Modelimportant stuff Basics/Speeds Topology/Physical Connection USB Transactions USB Transfers Device Classes Power Planning

USB TransactionsConnection Architecture/Programmer’s Model USB Transfers Device Classes Power Planning Enumeration

USB TransfersArchitecture/Programmer’s Model USB Transactions Device Classes Power Planning Enumeration Descriptors

Device ClassesModel USB Transactions USB Transfers Power Planning Enumeration Descriptors VID/PID & USB

Power PlanningModel USB Transactions USB Transfers Device Classes Enumeration Descriptors VID/PID & USB Compliance

EnumerationUSB Transactions USB Transfers Device Classes Power Planning Descriptors VID/PID & USB Compliance PIC18/24/32 USB

DescriptorsUSB Transfers Device Classes Power Planning Enumeration VID/PID & USB Compliance PIC18/24/32 USB

VID/PID & USB ComplianceDevice Classes Power Planning Enumeration Descriptors PIC18/24/32 USB Microcontrollers Microchip Demo/Development

PIC18/24/32 USB MicrocontrollersEnumeration Descriptors VID/PID & USB Compliance Microchip Demo/Development Solutions © 2010 Microchip

Microchip Demo/Development Solutions& USB Compliance PIC18/24/32 USB Microcontrollers © 2010 Microchip Technology Incorporated. All Rights

Vendor ID (VID): VID & PID 16-bit number Required to market your product http://www.usb.org/developers/vendor USD
Vendor ID (VID): VID & PID 16-bit number Required to market your product http://www.usb.org/developers/vendor USD
Vendor ID (VID): VID & PID 16-bit number Required to market your product http://www.usb.org/developers/vendor USD
Vendor ID (VID): VID & PID 16-bit number Required to market your product http://www.usb.org/developers/vendor USD
Vendor ID (VID): VID & PID 16-bit number Required to market your product http://www.usb.org/developers/vendor USD

Vendor ID (VID):VID & PID 16-bit number Required to market your product http://www.usb.org/developers/vendor USD $2,000 Technical

VID & PID

16-bit number

Required to market your productVendor ID (VID): VID & PID 16-bit number http://www.usb.org/developers/vendor USD $2,000 Technical & Legal trouble

http://www.usb.org/developers/vendor

USD $2,000to market your product http://www.usb.org/developers/vendor Technical & Legal trouble if not using an approved VID

Technical & Legal trouble if not using an approved VID approved VID

Product ID (PID):Technical & Legal trouble if not using an approved VID 16-bit number Microchip’s Sub-licensing Program Every

16-bit number

Microchip’s Sub-licensing Programnot using an approved VID Product ID (PID): 16-bit number Every product line is required to

Every product line is required to have a unique combination of VID and PID combination of VID and PID

USB Compliance Compliance Testing Must pass to use USB logo Test fee: USD ~$1,500 Tests
USB Compliance Compliance Testing Must pass to use USB logo Test fee: USD ~$1,500 Tests
USB Compliance Compliance Testing Must pass to use USB logo Test fee: USD ~$1,500 Tests
USB Compliance Compliance Testing Must pass to use USB logo Test fee: USD ~$1,500 Tests
USB Compliance Compliance Testing Must pass to use USB logo Test fee: USD ~$1,500 Tests

USB Compliance

Compliance TestingUSB Compliance Must pass to use USB logo Test fee: USD ~$1,500 Tests device for conformance

Must pass to use USB logoUSB Compliance Compliance Testing Test fee: USD ~$1,500 Tests device for conformance to USB Device Framework

Test fee: USD ~$1,500USB Compliance Compliance Testing Must pass to use USB logo Tests device for conformance to USB

Testing Must pass to use USB logo Test fee: USD ~$1,500 Tests device for conformance to

Tests device for conformance to USB Device Framework and Class standard control requests Framework and Class standard control requests

USB Protocol Analyzerto USB Device Framework and Class standard control requests “USBCV” USB Command Verifier

“USBCV” USB Command Verifier www.usb.org/developers/tools www.usb.org/developers/tools

Electrical Signal QualityUSB Command Verifier www.usb.org/developers/tools Power Management © 2010 Microchip Technology Incorporated.

Power Managementwww.usb.org/developers/tools Electrical Signal Quality © 2010 Microchip Technology Incorporated. All Rights

Agenda – Part 1 Brief history of USB USB Fundamentals – The serious & important
Agenda – Part 1 Brief history of USB USB Fundamentals – The serious & important
Agenda – Part 1 Brief history of USB USB Fundamentals – The serious & important
Agenda – Part 1 Brief history of USB USB Fundamentals – The serious & important
Agenda – Part 1 Brief history of USB USB Fundamentals – The serious & important

Agenda – Part 1

Brief history of USBAgenda – Part 1 USB Fundamentals – The serious & important stuff Basics/Speeds Topology/Physical Connection

USB Fundamentals – The serious & important stuffAgenda – Part 1 Brief history of USB Basics/Speeds Topology/Physical Connection Architecture/Programmer’s Model USB

Basics/SpeedsUSB USB Fundamentals – The serious & important stuff Topology/Physical Connection Architecture/Programmer’s

Topology/Physical Connection– The serious & important stuff Basics/Speeds Architecture/Programmer’s Model USB Transactions USB

Architecture/Programmer’s Modelimportant stuff Basics/Speeds Topology/Physical Connection USB Transactions USB Transfers Device Classes Enumeration

USB TransactionsConnection Architecture/Programmer’s Model USB Transfers Device Classes Enumeration Descriptors Power

USB TransfersArchitecture/Programmer’s Model USB Transactions Device Classes Enumeration Descriptors Power Planning

Device ClassesModel USB Transactions USB Transfers Enumeration Descriptors Power Planning VID/PID & USB

EnumerationModel USB Transactions USB Transfers Device Classes Descriptors Power Planning VID/PID & USB Compliance

DescriptorsUSB Transactions USB Transfers Device Classes Enumeration Power Planning VID/PID & USB Compliance PIC18/24/32 USB

Power PlanningUSB Transfers Device Classes Enumeration Descriptors VID/PID & USB Compliance PIC18/24/32 USB

VID/PID & USB ComplianceDevice Classes Enumeration Descriptors Power Planning PIC18/24/32 USB Microcontrollers Microchip Demo/Development

PIC18/24/32 USB MicrocontrollersDescriptors Power Planning VID/PID & USB Compliance Microchip Demo/Development Solutions © 2010 Microchip

Microchip Demo/Development Solutions& USB Compliance PIC18/24/32 USB Microcontrollers © 2010 Microchip Technology Incorporated. All Rights

Scalable USB PIC ® MCU Portfolio ~50 USB PIC MCUs PIC32 The industry’s strongest scalable
Scalable USB PIC ® MCU Portfolio ~50 USB PIC MCUs PIC32 The industry’s strongest scalable
Scalable USB PIC ® MCU Portfolio ~50 USB PIC MCUs PIC32 The industry’s strongest scalable
Scalable USB PIC ® MCU Portfolio ~50 USB PIC MCUs PIC32 The industry’s strongest scalable
Scalable USB PIC ® MCU Portfolio ~50 USB PIC MCUs PIC32 The industry’s strongest scalable

Scalable USB PIC ® MCU Portfolio

~50 USB PIC MCUs PIC32 The industry’s strongest scalable product, family, and software migration path
~50 USB PIC MCUs
PIC32
The industry’s strongest
scalable product, family,
and software migration path
High Performance, Pin Compatible to PIC24F
80 MHz, 1.53 DMIPS/MHz
Up to 80 MIPS
64- & 100-Pin Packages
Up to 512 KB Flash
Up to 32 KB RAM
USB 2.0 Device, Embedded Host, OTG
PIC24F
Mid-Range, Capacitive-Touch Capable
Up to 16 MIPS
64-, 80- & 100-Pin Packages
Up to 256 KB Flash
Up to 16KB RAM
USB 2.0 Device, Embedded Host, OTG
PIC18F
32-bit
Small, Low Power, Low Cost
Up to 12 MIPS
18- to 80-Pin Packages
Up to 128KB Flash
Up to 4KB RAM
USB 2.0 Device Support
16-bit
8-bit
Migration
Integrated Development Environment
Unified MPLAB
®
Performance
USB Microcontroller Portfolio     PIC18F4450       PIC18F4550 PIC18F14K50 PIC18F4553
USB Microcontroller Portfolio     PIC18F4450       PIC18F4550 PIC18F14K50 PIC18F4553
USB Microcontroller Portfolio     PIC18F4450       PIC18F4550 PIC18F14K50 PIC18F4553
USB Microcontroller Portfolio     PIC18F4450       PIC18F4550 PIC18F14K50 PIC18F4553

USB Microcontroller Portfolio

    PIC18F4450      
   

PIC18F4450

     

PIC18F4550

PIC18F14K50

PIC18F4553

PIC18F87J50

PIC24FJ256GB1XX

PIC32MX4XXF512

 

Core

8-bit

 

8-bit

8-bit

16-bit

32-bit

 

USB

USB 2.0 device

USB 2.0 device

USB 2.0 device

USB 2.0 device, embedded host, dual role, OTG

USB 2.0 device, embedded host, dual role, OTG

 

Flash

16K bytes

up to 32K bytes

128K bytes

256K bytes

512K bytes

 

RAM

768 bytes

up to 2048 bytes

3904 bytes

16K Bytes

32K Bytes

mTouch™ support

yes

 

yes, external

yes, external

yes CTMU

yes, external

UARTs

1

 

1

2

4

2

 

SPI

1

 

1

1

3

2

I

2 C™

1

 

1

1

3

2

Peripheral Pin Select

no

 

no

no

yes

no

 

ADC

10 bit, 9 channel

10

bit, 10 and 13 ch

10 bit, 8 and 12

10 bit, 16 channel

10 bit, 16 channel

 

12

bit, 10 and 13 ch

channel

 

RTCC

software

 

software

software

yes

yes

Parallel Master Port

no

 

no

yes

yes

yes

Analog comparators

2

 

2

2

3

2

Free SW Stacks

yes

 

yes

yes

yes

yes

Free Class Drivers

yes

 

yes

yes

yes

yes

Scalable Development Environment

yes

 

yes

yes

yes

yes

Packages

20-pin

 

28, 40, 44-pin

60, 80-pin

64, 80, 100-pin

64, 100-pin

S erial I nterface E ngine SIE Serializes and deserializes USB data Encodes and decodes
S erial I nterface E ngine SIE Serializes and deserializes USB data Encodes and decodes
S erial I nterface E ngine SIE Serializes and deserializes USB data Encodes and decodes
S erial I nterface E ngine SIE Serializes and deserializes USB data Encodes and decodes
S erial I nterface E ngine SIE Serializes and deserializes USB data Encodes and decodes

Serial Interface Engine

SIE Serializes and deserializes USB data Encodes and decodes NRZI data Checks CRC to validate
SIE
Serializes and deserializes
USB data
Encodes and decodes NRZI
data
Checks CRC to validate data
packet
Detects bus signaling events
and notifies the CPU through
interrupts
Handles USB transactions
Handles handshaking
protocol

D+/D-

Handles bit stuffing

USB PIC ® MCU

Transceiver RAM CPU SIE Control Registers
Transceiver
RAM
CPU
SIE
Control
Registers
USB Device (Peripheral) Example Circuit Receptacle: PIC18, PIC24F, or PIC32MX USB device • B •
USB Device (Peripheral) Example Circuit Receptacle: PIC18, PIC24F, or PIC32MX USB device • B •
USB Device (Peripheral) Example Circuit Receptacle: PIC18, PIC24F, or PIC32MX USB device • B •
USB Device (Peripheral) Example Circuit Receptacle: PIC18, PIC24F, or PIC32MX USB device • B •
USB Device (Peripheral) Example Circuit Receptacle: PIC18, PIC24F, or PIC32MX USB device • B •

USB Device (Peripheral) Example Circuit

Receptacle: PIC18, PIC24F, or PIC32MX USB device • B • Mini B • Micro B
Receptacle:
PIC18, PIC24F,
or PIC32MX
USB device
• B
• Mini B
• Micro B
V
V
BUS
BUS
150KΩ
3.3v
D-
1μF
D+
V
USB
1μF
GND
D-
D+
Agenda – Part 1 Brief history of USB USB Fundamentals – The serious & important
Agenda – Part 1 Brief history of USB USB Fundamentals – The serious & important
Agenda – Part 1 Brief history of USB USB Fundamentals – The serious & important
Agenda – Part 1 Brief history of USB USB Fundamentals – The serious & important
Agenda – Part 1 Brief history of USB USB Fundamentals – The serious & important

Agenda – Part 1

Brief history of USBAgenda – Part 1 USB Fundamentals – The serious & important stuff Basics/Speeds Topology/Physical Connection

USB Fundamentals – The serious & important stuffAgenda – Part 1 Brief history of USB Basics/Speeds Topology/Physical Connection Architecture/Programmer’s Model USB

Basics/SpeedsUSB USB Fundamentals – The serious & important stuff Topology/Physical Connection Architecture/Programmer’s

Topology/Physical Connection– The serious & important stuff Basics/Speeds Architecture/Programmer’s Model USB Transactions USB

Architecture/Programmer’s Modelimportant stuff Basics/Speeds Topology/Physical Connection USB Transactions USB Transfers Device Classes Enumeration

USB TransactionsConnection Architecture/Programmer’s Model USB Transfers Device Classes Enumeration Descriptors Power

USB TransfersArchitecture/Programmer’s Model USB Transactions Device Classes Enumeration Descriptors Power Planning

Device ClassesModel USB Transactions USB Transfers Enumeration Descriptors Power Planning VID/PID & USB

EnumerationModel USB Transactions USB Transfers Device Classes Descriptors Power Planning VID/PID & USB Compliance

DescriptorsUSB Transactions USB Transfers Device Classes Enumeration Power Planning VID/PID & USB Compliance PIC18/24/32 USB

Power PlanningUSB Transfers Device Classes Enumeration Descriptors VID/PID & USB Compliance PIC18/24/32 USB

VID/PID & USB ComplianceDevice Classes Enumeration Descriptors Power Planning PIC18/24/32 USB Microcontrollers Microchip Demo/Development

PIC18/24/32 USB MicrocontrollersDescriptors Power Planning VID/PID & USB Compliance Microchip Demo/Development Solutions © 2010 Microchip

Microchip Demo/Development Solutions& USB Compliance PIC18/24/32 USB Microcontrollers © 2010 Microchip Technology Incorporated. All Rights

PICDEM™ Full-Speed USB Demo Kit Contains everything you need to get started quickly Use with
PICDEM™ Full-Speed USB Demo Kit Contains everything you need to get started quickly Use with
PICDEM™ Full-Speed USB Demo Kit Contains everything you need to get started quickly Use with
PICDEM™ Full-Speed USB Demo Kit Contains everything you need to get started quickly Use with
PICDEM™ Full-Speed USB Demo Kit Contains everything you need to get started quickly Use with

PICDEM™ Full-Speed USB Demo Kit

Contains everything you need to get started quicklyPICDEM™ Full-Speed USB Demo Kit Use with any of the PIC18F4550 family microcontrollers Includes self-directed class

Use with any of the PIC18F4550 family microcontrollersDemo Kit Contains everything you need to get started quickly Includes self-directed class and lab material

Includes self-directed class and lab materialUse with any of the PIC18F4550 family microcontrollers The Demo Kit provides all of the hardware

The Demo Kit provides all of the hardware and software needed to demonstrate and develop a complete USB communication solution needed to demonstrate and develop a complete USB communication solution

Priced from $59.99and develop a complete USB communication solution Part Numbers DM163025 Available Now © 2010 Microchip

Part Numbersa complete USB communication solution Priced from $59.99 DM163025 Available Now © 2010 Microchip Technology

USB communication solution Priced from $59.99 Part Numbers DM163025 Available Now © 2010 Microchip Technology

DM163025USB communication solution Priced from $59.99 Part Numbers Available Now © 2010 Microchip Technology Incorporated. All

Available Nowsolution Priced from $59.99 Part Numbers DM163025 © 2010 Microchip Technology Incorporated. All Rights

PIC18FXXJ50 Full-Speed USB Plug-In Module (PIM) Contains everything you need to get started quickly Use
PIC18FXXJ50 Full-Speed USB Plug-In Module (PIM) Contains everything you need to get started quickly Use
PIC18FXXJ50 Full-Speed USB Plug-In Module (PIM) Contains everything you need to get started quickly Use
PIC18FXXJ50 Full-Speed USB Plug-In Module (PIM) Contains everything you need to get started quickly Use
PIC18FXXJ50 Full-Speed USB Plug-In Module (PIM) Contains everything you need to get started quickly Use

PIC18FXXJ50 Full-Speed USB Plug-In Module (PIM)

Contains everything you need to get started quicklyPIC18FXXJ50 Full-Speed USB Plug-In Module (PIM) Use with any of the PIC18F87J 50 or PIC18F46J50 family

Use with any of the PIC18F87J50 or PIC18F46J50 family microcontrollers 50 or PIC18F46J50 family microcontrollers

Can be plugged into PICDEM™ HPC Explorer Board or PICDEM PIC18 Explorer Board PICDEM PIC18 Explorer Board

Can be operated as a stand-alone boardPICDEM™ HPC Explorer Board or PICDEM PIC18 Explorer Board Priced from $40.00 Part Numbers MA180021 -

Priced from $40.00PIC18 Explorer Board Can be operated as a stand-alone board Part Numbers MA180021 - PIC18F87J50 FS

Part NumbersCan be operated as a stand-alone board Priced from $40.00 MA180021 - PIC18F87J50 FS USB PIM

as a stand-alone board Priced from $40.00 Part Numbers MA180021 - PIC18F87J50 FS USB PIM MA180024

MA180021 - PIC18F87J50 FS USB PIMas a stand-alone board Priced from $40.00 Part Numbers MA180024 - PIC18F46J50 FS USB PIM DM183022

MA180024 - PIC18F46J50 FS USB PIMfrom $40.00 Part Numbers MA180021 - PIC18F87J50 FS USB PIM DM183022 - PICDEM HPC EXPLORER BOARD

DM183022 - PICDEM HPC EXPLORER BOARD- PIC18F87J50 FS USB PIM MA180024 - PIC18F46J50 FS USB PIM DM183032 - PICDEM PIC18 EXPLORER

DM183032 - PICDEM PIC18 EXPLORER BOARDPIC18F46J50 FS USB PIM DM183022 - PICDEM HPC EXPLORER BOARD Available Now © 2010 Microchip Technology

Available NowHPC EXPLORER BOARD DM183032 - PICDEM PIC18 EXPLORER BOARD © 2010 Microchip Technology Incorporated. All Rights

PIC18 Starter Kit Functions as a USB mouse, joystick or mass storage device all using
PIC18 Starter Kit Functions as a USB mouse, joystick or mass storage device all using
PIC18 Starter Kit Functions as a USB mouse, joystick or mass storage device all using
PIC18 Starter Kit Functions as a USB mouse, joystick or mass storage device all using
PIC18 Starter Kit Functions as a USB mouse, joystick or mass storage device all using

PIC18 Starter Kit

Functions as a USB mouse, joystick or mass storage device all using the on-board capacitive touch sense pads device all using the on-board capacitive touch sense pads

Includes a MicroSD™ memory card, potentiometer, acceleration sensor, and OLED display acceleration sensor, and OLED display

On-board debugger/programmingcard, potentiometer, acceleration sensor, and OLED display Completely USB-powered Demonstrates PIC18F46J50 USB

Completely USB-poweredsensor, and OLED display On-board debugger/programming Demonstrates PIC18F46J50 USB communication Priced from

Demonstrates PIC18F46J50display On-board debugger/programming Completely USB-powered USB communication Priced from $59.98 Part Numbers DM180021

Completely USB-powered Demonstrates PIC18F46J50 USB communication Priced from $59.98 Part Numbers DM180021

USB communicationCompletely USB-powered Demonstrates PIC18F46J50 Priced from $59.98 Part Numbers DM180021 Available Now ©

Priced from $59.98USB-powered Demonstrates PIC18F46J50 USB communication Part Numbers DM180021 Available Now © 2010 Microchip

Part NumbersPIC18F46J50 USB communication Priced from $59.98 DM180021 Available Now © 2010 Microchip Technology

DM180021USB communication Priced from $59.98 Part Numbers Available Now © 2010 Microchip Technology Incorporated. All

Available NowUSB communication Priced from $59.98 Part Numbers DM180021 © 2010 Microchip Technology Incorporated. All Rights

Low Pin Count USB Development Kit Contains everything you need to get started quickly Use
Low Pin Count USB Development Kit Contains everything you need to get started quickly Use
Low Pin Count USB Development Kit Contains everything you need to get started quickly Use
Low Pin Count USB Development Kit Contains everything you need to get started quickly Use
Low Pin Count USB Development Kit Contains everything you need to get started quickly Use

Low Pin Count USB Development Kit

Contains everything you need to get started quicklyLow Pin Count USB Development Kit Use with new 20-pin PIC18F USB microcontrollers – PIC18F13K50, PIC18F14K50

Use with new 20-pin PIC18F USB microcontrollers – PIC18F13K50, PIC18F14K50 PIC18F13K50, PIC18F14K50

Includes self-directed class and lab materialPIC18F USB microcontrollers – PIC18F13K50, PIC18F14K50 Quickly implement common USB functions: RS-232 to Serial

Quickly implement common USB functions:PIC18F14K50 Includes self-directed class and lab material RS-232 to Serial Keyboard/Mouse, etc… Priced from $39.99

RS-232 to Serialand lab material Quickly implement common USB functions: Keyboard/Mouse, etc… Priced from $39.99 Part Numbers

Keyboard/Mouse, etc…Quickly implement common USB functions: RS-232 to Serial Priced from $39.99 Part Numbers DV164126 (w/PICkit™ 2)

Priced from $39.99USB functions: RS-232 to Serial Keyboard/Mouse, etc… Part Numbers DV164126 (w/PICkit™ 2) DM164127 Available Now

Part Numbers