Upload
stenly-ho
View
3.323
Download
0
Embed Size (px)
DESCRIPTION
USB Discussion義隆電子吳進男
Citation preview
Cost Effective Smart Appliance Solution ProviderA Mixed Signal System on Chip Design House
USB DiscussionUSB DiscussionUSB Discussion
義隆電子義隆電子義隆電子義隆電子 吳進男吳進男吳進男吳進男
Cost Effective Smart Appliance Solution ProviderA Mixed Signal System on Chip Design House
USB DiscussionUSB DiscussionUSB Discussion�USB Introduction
�USB Standard Command
�USB Descriptor
Cost Effective Smart Appliance Solution ProviderA Mixed Signal System on Chip Design House
USB Introduction
USB USB IntroductionIntroduction
�Preface
�USB Architecture
�USB transfer data format
Elan Microelectronics Corporation
4
USB Preface• USB origin
– 1996 USB 1.0 12/1.5 Mbits• Compaq, Intel, Microsoft, NEC
– 1998 USB 1.1
– 2000 USB 2.0 480Mbits
– 2004 Wireless USB
Elan Microelectronics Corporation
5
USB Preface• Shortcoming of existing PC I/O Paradigm– Interrupts
– I/O Addresses Conflict
– Non-Shareable Interface
– Cable Crazed
– Installation and Configuration of Expansion Cards
– No Hot Attachment of Peripheral
– Cost
Elan Microelectronics Corporation
6
USB Preface
Elan Microelectronics Corporation
7
USB PrefaceClass (群組)• HID Class 人機介面裝置群組人機介面裝置群組人機介面裝置群組人機介面裝置群組
• Keyboard Mouse…..
• Audio Class 聲音裝置群組聲音裝置群組聲音裝置群組聲音裝置群組• USB Mac USB Speaker
• Mass Storage Class 大量儲存裝置群大量儲存裝置群大量儲存裝置群大量儲存裝置群• Flash Disk USB CD-ROM
• Display Class 顯示器裝置群組顯示器裝置群組顯示器裝置群組顯示器裝置群組• USB Monitor
• Communication Class 通訊裝置群組通訊裝置群組通訊裝置群組通訊裝置群組• Phone
Cost Effective Smart Appliance Solution ProviderA Mixed Signal System on Chip Design House
USB introduction
USB USB introductionintroduction
�Preface
�USB Architecture
�USB transfer data format
Elan Microelectronics Corporation
9
USB Architecture• USB Peripheral Connection
• Root Hub, Topology
• 127 devices (including root hub)
• Up to 6 tiers (up to 5 meters per segment)
Elan Microelectronics Corporation
10
• USB Connector
– 4 pin connector, 4 wire cable
– 2-wire differential signaling, NRZI Supply
– Sourcing +5V
– Signaling at 3.3V
USB Architecture
Elan Microelectronics Corporation
11
USB Architecture• USB Device Concept
Address
– 7 bits record for 128 address. (0 ~ 127)
– Each USB Device has one Device Address.
– One Host has support max 127 devices.
– Address 0 reserve for initial plug in device.
Elan Microelectronics Corporation
12
USB Architecture• USB Device ConceptEndpoint
– 4 bits record for 16 Endpoints. (0 ~ 15)
– Endpoint 0 reserve for Control Endpoint.
– Direction• IN Device to Host
• OUT Host to Device
– Transfer Type• Control
• Interrupt
• Isochronous
• Bulk
Elan Microelectronics Corporation
13
USB Architecture• Transfer Type
– Control Transfer 控制型傳輸• For All Device
– Interrupt Transfer 中斷型傳輸• Mouse / Keyboard
– Isochronous Transfer 即時型傳輸• Audio / Video
– Bulk Transfer 巨量型傳輸• Printer / Scanner
Elan Microelectronics Corporation
14
USB Architecture
MassYesNonBulk
NormalYesInterrupt
MassNo90%Isochronous
NormalYes10%Control
Data
Amount
Error
Recovery
Bandwidth
Guarantee
Transfer
Type
Elan Microelectronics Corporation
15
• Frame 訊框
USB Architecture
F ram eF ram eF ram eF ram e
�10% for Control Transfer
�MAX 90% for (Isochronous + Interrupt)
�Remain for Bulk Transfer
Elan Microelectronics Corporation
16
USB Architecture
Full / Low Speed Frame Size (1ms)Full / Low Speed Frame Size (1ms)
High Speed MicroHigh Speed Micro--Frames (125us)Frames (125us)
1ms1ms 1ms1ms
Classic USB Frame Ticks Classic USB Frame Ticks Full Speed Isochronous Data PayloadFull Speed Isochronous Data Payload
USB 2.0 MicroUSB 2.0 Micro--Frame TicksFrame Ticks
(1/8(1/8thth Classic Frame) Classic Frame) High Speed Isochronous Data PayloadHigh Speed Isochronous Data Payload
. . . . . .
. . . . . .
• Frame 訊框
Elan Microelectronics Corporation
17
• Frame 訊框
– UHC Host Controller
– OHC Host Controller
USB Architecture
SOF 即時傳輸 中斷型 控制型 巨量型
1ms
SOF 非週期性 週期性(isochronous; bulk) 非週
期性
1ms
Elan Microelectronics Corporation
18
USB Architecture
• USB 1.1– Low Speed : 1.5Mb/s
– Full Speed : 12Mb/s
• USB 2.0– Low Speed : 1.5Mb/s
– Full Speed : 12Mb/s
– High Speed : 480Mb/s
Elan Microelectronics Corporation
19
USB Architecture• USB Bus speed model
Elan Microelectronics Corporation
20
USB Architecture• Low/Full-speed Identification
Elan Microelectronics Corporation
21
USB Architecture• High-speed Identification
– The hub drives SE0 to device
– The device creates a Chirp K
– The hub sends an alternating sequence of Chirp K’s and Chirp J’s
– The hub asserts SE0, then to the high-speed Enable state
– The device disconnects the D+ pull-up resistor, enter the high-speed Default state
Elan Microelectronics Corporation
22
USB Architecture• The elements
– USB Hardware• USB Host Controller/Root Hub
– UHCI– OHCI– Enhanced Host Controller Interface
• USB Hub• USB Device
– USB Software• USB Device Driver• USB Driver• Host Controller Driver
Elan Microelectronics Corporation
23
USB Architecture
End PointElectrical ,
mechanical,
signal transaction
Include 1.USBD
2. HCD
Elan Microelectronics Corporation
24
ClientClient
SoftwareSoftware
InterfaceInterface
EndpointsEndpoints
Data FlowsData Flows
BuffersBuffers
USB DeviceUSB Device
HostHost
PipesPipes
USB Architecture
• Endpoint
Elan Microelectronics Corporation
25
USB Architecture
• How Device Present Themselves to SW• Device Descriptor 裝置描述元
• Configuration Descriptor 設定描述元
• Interface Descriptor 界面描述元
• Endpoint Descriptor 終點描述元
• String Descriptor 字串描述元
• Class specific Descriptor 群組特定描述元
Cost Effective Smart Appliance Solution ProviderA Mixed Signal System on Chip Design House
USB introduction
USB USB introductionintroduction
�Preface
�USB Architecture
�USB Transfer Data Format
Elan Microelectronics Corporation
27
USB transfer data formatToken Packet
Data Packet
Handshake Packet
Setup stage
Data stage
Status stage
Elan Microelectronics Corporation
28
USB transfer flow• Control transfer
Elan Microelectronics Corporation
29
USB transfer flow• Bulk transfer
Elan Microelectronics Corporation
30
USB transfer flow• Interrupt transfer
Elan Microelectronics Corporation
31
USB transfer flow• Isochronous transfer
Elan Microelectronics Corporation
32
Token Packet Format
• Packets– The basic building blocks of USB transaction
Data length
– SYNC:8bit
– PID:4bit (and 4bits check field)
– Data: Depend on transfer type
– CRC: 5bit or 16bit
– EOP:3 bits time
SYNC PID DATA CRC EOP
Elan Microelectronics Corporation
33
Packet Identifier Type– PID:
• Token Packet– SOF
» PID [3:0] 0101» Start of frame
– In » PID[3:0] 1001» Transfer direction , device to host
– Out » PID [3:0] 0001» Transfer direction, host to device
– Setup » PID [3:0] 1101» A control transfer start
• Data Packet- For data toggle – Data0– Data1– Data2(USB 2.0)– MData(USB 2.0)
Elan Microelectronics Corporation
34
Packet Identifier Type– PID:
• Handshake Packet – Acknowledge (ACK)– No Acknowledge (NAK)– STALL– NYET(USB 2.0)
» in response to a CSPLIT or PING• Special Packet
– Preamble Packet» For Low Speed device communication» Without EOP
– ERR(USB 2.0)» Split Transaction Error Handshake
– SPLIT(USB 2.0)» Using at high-speed hub with Full/Low speed device
– PING(USB 2.0)» High-speed flow control probe for a bulk/control endpoint
Elan Microelectronics Corporation
35
Other Token packets– Start-/Complete-Split Transaction Token
• SC : 0=Start , 1=Complete
• S : for Control/Interrupt– 0=Full speed , 1=Low speed
• ET : Endpoint type
Elan Microelectronics Corporation
36
PID for data packet– Isochronous IN High bandwidth Endpoints
– Isochronous OUT High bandwidth Endpoints
Elan Microelectronics Corporation
37
USB Transaction• Transaction
– Setup Transaction• Two-Stage Control Transfer
– Setup stage, Status stage
– EX: Remote weak up
• Three-Stage Control Transfer – Setup stage/ Data stage/ Status stage
Setup IN IN IN IN OUT
Setup Stage Data Stage Status Stage
Elan Microelectronics Corporation
38
– IN Transactions
USB Transaction
Host���� Device
Token stage
Host ���� Device
Handshake
Device���� Host
Data stage
SYNC IN TOKEN EOP
SYNC Data (MAX 64byte) EOP
SYNC ACK EOP
NOTE: “Isochronous In” transaction maximum data
packet1024 bytes (USB 1.1) and without handshake stage
Elan Microelectronics Corporation
39
– OUT Transactions
USB Transaction
Host���� Device
Token stage
Device���� Host
Handshake
Host ���� Device
Data stage
SYNC OUT TOKEN EOP
SYNC Data (MAX 64byte) EOP
SYNC ACK EOP
NOTE: “Isochronous OUT” transaction maximum data
packet1024 bytes (USB 1.1) and without handshake stage
Elan Microelectronics Corporation
40
– Split Transactions (USB 2.0)• Start-split
USB Transaction
• Complete-split
Elan Microelectronics Corporation
41
USB Architecture• USB Bus speed model
Elan Microelectronics Corporation
42
– Split Transactions• High-speed Split IN transaction
USB Transaction
Elan Microelectronics Corporation
43
– Split Transactions• High-speed Split OUT transaction
USB Transaction
Elan Microelectronics Corporation
44
Bus EnumerationFive bus states during the USB device plug in:– Attached
• Device plug in/out USB port
– Powered state• Disable port >100ms (for stable)
– Defaule state• Reset signal 10ms• Draw no more than 100mA from Vbus
– Address state• Assign a new address
– Configured state
Elan Microelectronics Corporation
45
Device state
Cost Effective Smart Appliance Solution ProviderA Mixed Signal System on Chip Design House
USB Standard Command
USB Standard USB Standard CommandCommand
Elan Microelectronics Corporation
47
USB Standard Command
• Command Length: 8 Bytes
0706050403020100
Request wValue wIndex wLengthType
Elan Microelectronics Corporation
48
USB Standard Command
Elan Microelectronics Corporation
49
USB Standard Command
Elan Microelectronics Corporation
50
USB Standard Command
Example: • Get Status8a 00 0000 XX00 0200a =0x00: DEVICEa=0x01 : INTERFACEa=0x02 : ENDPOINT
Elan Microelectronics Corporation
51
USB Standard Command
• Reply “ Get Status”For DEVICE
For ENDPOINT
Elan Microelectronics Corporation
52
USB Standard Command
• Set Address00 05 XX 00 00 00 00 00
XX : Address number
Elan Microelectronics Corporation
53
USB Standard Command• Get Descriptor
80 06 00 0X 00 00 L1 L2
0X : Descriptor Type
L1,L2 Descriptor Length
Elan Microelectronics Corporation
54
USB Standard Command
USB 2.0
Cost Effective Smart Appliance Solution ProviderA Mixed Signal System on Chip Design House
USB Descriptor
USB USB DescriptorDescriptor
Elan Microelectronics Corporation
56
Device Descriptor Definition
SubClass1bDeviceSubClass5
ValueSizeFieldOffset
Number1bMaxPacketSize07
Protocol1bDeviceProtocol6
Class1bDeviceClass4
BCD2bcdUSB2
Constant1bDescriptorType1
Number1bLength0
Elan Microelectronics Corporation
57
Device Descriptor Definition
ID1idVendor8
ID1idProduct10
Number1bNumConfigurations17
Index1iSerialNumber16
Index2iProduct15
Index1iManufacturer14
BCD1bcdDevice12
ValueSizeFieldOffset
Elan Microelectronics Corporation
58
Device Descriptor
Elan Microelectronics Corporation
59
Device_Qualifier descriptor
Protocol1bDeviceProtocol6
Number1bMaxPacketSize07
SubClass1bDeviceSubClass5
ValueSizeFieldOffset
Zero1bReserved7
Number1bNumConfigurations6
Class1bDeviceClass4
BCD2bcdUSB2
Constant1bDescriptorType1
Number1bLength0
Elan Microelectronics Corporation
60
Configuration Descriptor
Bitmap1bmAttributes7
Number1bConfigurationValue5
ValueSizeFieldOffset
mA1bMaxPower8
Index1iConfiguration6
Number1bNumInterfaces4
Number2wTotalLength2
Constant1bDescriptorType1
Number1bLength0
Elan Microelectronics Corporation
61
Configuration Descriptor
Elan Microelectronics Corporation
62
Configuration Descriptor
Elan Microelectronics Corporation
63
Other_Speed Configuration
Bitmap1bmAttributes7
Number1bConfigurationValue5
ValueSizeFieldOffset
mA1bMaxPower8
Index1iConfiguration6
Number1bNumInterfaces4
Number2wTotalLength2
Constant1bDescriptorType1
Number1bLength0
Elan Microelectronics Corporation
64
Interface Descriptor
Protocol1bInterfaceProtocol7
SubClass1bInterfaceSubClass6
Number1bNumEndpoints4
ValueSizeFieldOffset
Index1iInterface8
Class1bInterfaceClass5
Number1bAlternateSetting3
Number1bInterfaceNumber2
Constant1bDescriptorType1
Number1bLength0
Elan Microelectronics Corporation
65
Interface Descriptor
Elan Microelectronics Corporation
66
Endpoint Descriptor
Number2wMaxPacketSize4
ValueSizeFieldOffset
Number1bInterval6
Bitmap1bmAttributes3
Endpoint1bEndpointAddress2
Constant1bDescriptorType1
Number1bLength0
Elan Microelectronics Corporation
67
Endpoint Descriptor• bmAttributes
– Bits1..0 : Transfer Type• 00 = Control• 01 = Isochronous• 10 = Bulk• 11 = Interrupt
– Bits3..2 : Synchronization (for ISO)• 00 = No Synchronization• 01 = Asynchronous (Free running)• 10 = Adaptive (locked to SOF)• 11 = Synchronization (locked to sink)
– Bits5..4 : Usage Type (for ISO)• 00 = Data endpoint• 01 = Feedback endpoint• 10 = Implicit feedback Data endpoint (group)• 11 = Reserved
Elan Microelectronics Corporation
68
Endpoint Descriptor• wMaxPacketSize
– Bits10..0 : Maximum packet size– Bits12..11 : Additional transaction per microframe
• 00 = None(1 transaction per microframe)• 01 = 1 additional (2 per microframe)• 10 = 2 additional (3 per microframe)• 11 = Reserved
– Bits15..13 : Reserved and must be set to zero
• bInterval : interval for polling endpoint– Full-/High-speed ISO : 1~2^15– Full-/Low-speed INT : 1~255 – High-speed INT : 1~2^15
Elan Microelectronics Corporation
69
Endpoint Descriptor
Cost Effective Smart Appliance Solution ProviderA Mixed Signal System on Chip Design House
THE ENDTHE ENDTHE END