may 9, 20012 usb on-the-go kosta koeman cypress semiconductor kosta koeman cypress semiconductor
TRANSCRIPT
May 9, 2001 2
USB On-The-GoUSB On-The-Go
Kosta KoemanCypress Semiconductor
Kosta KoemanCypress Semiconductor
May 9, 2001 3
AgendaAgenda
History Contributors Why USB On-The-Go? Applications Goal of the specification Cables & Connectors On-The-Go spec details Summary
History Contributors Why USB On-The-Go? Applications Goal of the specification Cables & Connectors On-The-Go spec details Summary
May 9, 2001 4
HistoryHistory
USB On-The-Go started in June, 1999 To date, over 2 dozen companies have
contributed to the OTG specification Original intent was to connect portables directly
together for specific applications
USB On-The-Go started in June, 1999 To date, over 2 dozen companies have
contributed to the OTG specification Original intent was to connect portables directly
together for specific applications
May 9, 2001 5
ContributorsContributors
Advanced-Connectek, Inc. Aten Cypress Semiconductor Ericsson Hewlett-Packard Company Imation InSilicon Corporation Intel Corporation Lumburg Maxim Integrated Products MCCI Microsoft Molex
Advanced-Connectek, Inc. Aten Cypress Semiconductor Ericsson Hewlett-Packard Company Imation InSilicon Corporation Intel Corporation Lumburg Maxim Integrated Products MCCI Microsoft Molex
Motorola NEC Systems, Inc Nokia OnSpec Opti, Inc. Palm, Inc. Philips Qualcomm ScanLogic Texas Instruments, Inc TransDimension, Inc. Tyco Electronics V-Automation
Motorola NEC Systems, Inc Nokia OnSpec Opti, Inc. Palm, Inc. Philips Qualcomm ScanLogic Texas Instruments, Inc TransDimension, Inc. Tyco Electronics V-Automation
May 9, 2001 6
Why USB On-The-Go?Why USB On-The-Go?
USB provides a very inexpensive infrastructure for connecting slave peripherals to a host PC
OTG extends the architecture to allow USB peripherals to have host capability
This resulted in a very cost effective meansof providing point-to-point communication between peripherals
New means for generating content are introduced
USB provides a very inexpensive infrastructure for connecting slave peripherals to a host PC
OTG extends the architecture to allow USB peripherals to have host capability
This resulted in a very cost effective meansof providing point-to-point communication between peripherals
New means for generating content are introduced
May 9, 2001 7
ApplicationsApplications
MasterMaster SlaveSlave ApplicationApplication
Mobile PhoneMobile Phone Mobile PhoneStill Image Camera MP3 Player Mass StorageScannerPDA
Mobile PhoneStill Image Camera MP3 Player Mass StorageScannerPDA
Exchange contact informationEmail pictures, upload pictures to webUpload/download/broadcast musicUpload/download filesScan business cardsExchange contact information
Exchange contact informationEmail pictures, upload pictures to webUpload/download/broadcast musicUpload/download filesScan business cardsExchange contact information
Still Image CameraStill Image Camera Still Image CameraMobile PhonePrinterMass Storage
Still Image CameraMobile PhonePrinterMass Storage
Exchange picturesEmail pictures, upload pictures to webPrint picturesStore pictures
Exchange picturesEmail pictures, upload pictures to webPrint picturesStore pictures
PrinterPrinter Still Image Camera ScannerMass Storage
Still Image Camera ScannerMass Storage
Print picturesPrint scanned imagePrint files stored on device
Print picturesPrint scanned imagePrint files stored on device
MP3 PlayerMP3 Player MP3 Player Mass Storage MP3 Player Mass Storage
Exchange songsUpload/download songs Exchange songsUpload/download songs
May 9, 2001 8
More ApplicationsMore Applications
MasterMaster SlaveSlave ApplicationApplication
OscilliscopeOscilliscope PrinterPrinter Print screen imagePrint screen image
PDAPDA PDAPrinterMobile PhoneMP3 Player ScannerMass StorageGPSStill Image CameraOscilliscopeKeyboard
PDAPrinterMobile PhoneMP3 Player ScannerMass StorageGPSStill Image CameraOscilliscopeKeyboard
Exchange filesPrint filesUpload/download files Upload/download songsScan picturesUpload/download files Obtain directions, mapping informationUpload picturesConfigure oscilliscope
Exchange filesPrint filesUpload/download files Upload/download songsScan picturesUpload/download files Obtain directions, mapping informationUpload picturesConfigure oscilliscope
May 9, 2001 9
Goal of On-The-GoGoal of On-The-Go
Connect 2 USB devices directly Communicate in a “USB manner”
– Utilize USB’s master/slave architecture Master first resets and configures the slave
More geared towards portable devices– New connectors
Standard connectors are too big
– Small amount of current (4 ma) Typically battery-powered devices OTG device may supply more
– Non-portables can be OTG too May even supply 500 ma!
Connect 2 USB devices directly Communicate in a “USB manner”
– Utilize USB’s master/slave architecture Master first resets and configures the slave
More geared towards portable devices– New connectors
Standard connectors are too big
– Small amount of current (4 ma) Typically battery-powered devices OTG device may supply more
– Non-portables can be OTG too May even supply 500 ma!
May 9, 2001 10
Goal of On-The-GoGoal of On-The-Go
Minimize deviations from the USB spec– Session start protocols– Use of VBUS and Pull-up resistors for “signaling”– Limited host capability
Transfer types Limited number of devices supported
– 4 ma <= Current supplied <= 500 ma Provide good user experience
– inform user if remote device is not supported
Minimize deviations from the USB spec– Session start protocols– Use of VBUS and Pull-up resistors for “signaling”– Limited host capability
Transfer types Limited number of devices supported
– 4 ma <= Current supplied <= 500 ma Provide good user experience
– inform user if remote device is not supported
May 9, 2001 11
Cables & ConnectorsCables & Connectors
Connectors
New Cables
Adapters
Usability Study
Connectors
New Cables
Adapters
Usability Study
May 9, 2001 12
ConnectorsConnectors
Already defined in USB 2.0 specification– New ID pin (not connected & no corresponding wire)– Mini-B plug– Mini-B receptacle
On slave-only devices
Introduced by On-The-Go specification– Mini-A plug
ID Pin shorted to GND
– Mini-A receptacle (only allowed on adapters)– Mini-AB receptacle
Accepts both mini-A & mini-B plugs On dual-role devices
Already defined in USB 2.0 specification– New ID pin (not connected & no corresponding wire)– Mini-B plug– Mini-B receptacle
On slave-only devices
Introduced by On-The-Go specification– Mini-A plug
ID Pin shorted to GND
– Mini-A receptacle (only allowed on adapters)– Mini-AB receptacle
Accepts both mini-A & mini-B plugs On dual-role devices
May 9, 2001 13
ConnectorsConnectors
2 Connector Types– Indicate the default roles– Different by
Overmold Keying Colors inside plug
– ID pin Shorted to GND on mini-A plug Disconnected on mini-B plug
2 Connector Types– Indicate the default roles– Different by
Overmold Keying Colors inside plug
– ID pin Shorted to GND on mini-A plug Disconnected on mini-B plug
May 9, 2001 14
CablesCables
Already defined– Standard-A to Standard-B (26ns ‘long’)– Standard-A to Mini-B (26ns ‘long’)
New– Mini-A to Mini-B (*25ns ‘long’)– Mini-A to Standard-B (*25ns ‘long’)
Already defined– Standard-A to Standard-B (26ns ‘long’)– Standard-A to Mini-B (26ns ‘long’)
New– Mini-A to Mini-B (*25ns ‘long’)– Mini-A to Standard-B (*25ns ‘long’)
*Note: ‘Shorter’ cable allows for adapter*Note: ‘Shorter’ cable allows for adapter
May 9, 2001 15
AdaptersAdapters
Mini-A plug to standard-A plug– Has mini-A receptacle, standard-A plug– Connect OTG devices with tethered mini-A plugs
(such as mice) to standard ports
* Mini-A receptacles exist nowhere else!
Mini-A plug to standard-A plug– Has mini-A receptacle, standard-A plug– Connect OTG devices with tethered mini-A plugs
(such as mice) to standard ports
* Mini-A receptacles exist nowhere else!
Mini-A plugMini-A plug
Mini-A receptacle*Mini-A receptacle* Standard-A PlugStandard-A Plug
Standard-A receptacleStandard-A receptacle
USB Port (Hub Or Root Port)USB Port (Hub Or Root Port)
OTG SlaveOTG Slave
May 9, 2001 16
AdaptersAdapters
Standard-A plug to Mini-A plug– Has standard-A receptacle, a mini-A plug– Connect USB devices with tethered standard-A plugs
to OTG devices
Standard-A plug to Mini-A plug– Has standard-A receptacle, a mini-A plug– Connect USB devices with tethered standard-A plugs
to OTG devices
Standard-A plugStandard-A plug
Standard-A receptacleStandard-A receptacleMini-A PlugMini-A Plug
Mini-AB receptacleMini-AB receptacle
OTG DeviceOTG DeviceUSB DeviceUSB Device
May 9, 2001 17
AdaptersAdapters
Adapters using mini-B plug or receptacleare prohibited– Examples of prohibited adapters
Mini-B receptacle to Standard-B plug Standard-B receptacle to Mini-B plug
Must guarantee that an adapter is used onlyon one end of the cable– Maximum propagation delay of cable/adapter
combination is not exceeded– Signal quality is not compromised– Voltage drops are within specification
Adapters using mini-B plug or receptacleare prohibited– Examples of prohibited adapters
Mini-B receptacle to Standard-B plug Standard-B receptacle to Mini-B plug
Must guarantee that an adapter is used onlyon one end of the cable– Maximum propagation delay of cable/adapter
combination is not exceeded– Signal quality is not compromised– Voltage drops are within specification
May 9, 2001 18
TimingsTimings
Must preserve 30 ns delay from TP1 to TP4 to allow for high-speed signaling
Must preserve 30 ns delay from TP1 to TP4 to allow for high-speed signaling
USB Cable
Device Circuit BoardDevice Circuit Board Hub Circuit BoardHub Circuit Board
AConnector
AConnector
TracesTraces TracesTraces
TransceiverTransceiver TransceiverTransceiver
TP4TP4 TP3TP3 TP2TP2 TP1TP1
BConnector
BConnector
May 9, 2001 19
TimingsTimings
Scenario 1Scenario 1 TimeTime Scenario 2Scenario 2 TimeTime
Standard Host
Mini-A receptacle toStandard-A plug
Mini-A to Mini-Bcable
OTG device
Total
Standard Host
Mini-A receptacle toStandard-A plug
Mini-A to Mini-Bcable
OTG device
Total
3 ns
1 ns
25 ns
1 ns
30 ns
3 ns
1 ns
25 ns
1 ns
30 ns
OTG Host
Standard-A receptacleto Mini-A plug
Standard-A toStandard-B cable
USB peripheral
Total
OTG Host
Standard-A receptacleto Mini-A plug
Standard-A toStandard-B cable
USB peripheral
Total
1 ns
1 ns
26 ns
1 ns
29 ns
1 ns
1 ns
26 ns
1 ns
29 ns
May 9, 2001 20
Usability StudyUsability Study
Mini-A & mini-B plugslook similar– Have different “key”– Differentiating via the overmold
Oval for mini-A plug Square for mini-B plug
– Differentiating via color coding inside plugs/receptacles Mini-A - white Mini-B - black Mini-AB - gray
Mini-A & mini-B plugslook similar– Have different “key”– Differentiating via the overmold
Oval for mini-A plug Square for mini-B plug
– Differentiating via color coding inside plugs/receptacles Mini-A - white Mini-B - black Mini-AB - gray
May 9, 2001 21
Usability StudyUsability Study
Solve the potential connectivity problemof connecting a dual-role device to aslave-only device– Insert mini-B plug first into dual-role– Try to insert mini-A plug into slave– Cable must be turned around
Dual-role to Dual-role– No problem. Cable can be connected either way
Slave to slave– Not possible. Don’t want silent failures!
Solve the potential connectivity problemof connecting a dual-role device to aslave-only device– Insert mini-B plug first into dual-role– Try to insert mini-A plug into slave– Cable must be turned around
Dual-role to Dual-role– No problem. Cable can be connected either way
Slave to slave– Not possible. Don’t want silent failures!
May 9, 2001 22
Specification DetailsSpecification Details
Dual-role vs. Slave only Host Capabilities Point-to-Point Communication Master Negotiation Protocol (MNP)
Dual-role vs. Slave only Host Capabilities Point-to-Point Communication Master Negotiation Protocol (MNP)
May 9, 2001 23
Dual Role Vs. Slave OnlyDual Role Vs. Slave Only
Dual Role Mini-AB Receptacle MNP capable Has MNP descriptor* Master: source 4 ma+ Slave: consume 150 ua Some host capability
Dual Role Mini-AB Receptacle MNP capable Has MNP descriptor* Master: source 4 ma+ Slave: consume 150 ua Some host capability
Slave-Only Mini-B receptacle OR
tethered mini-A plug No MNP descriptor* Consume <= 4ma**
Slave-Only Mini-B receptacle OR
tethered mini-A plug No MNP descriptor* Consume <= 4ma**
** Many self-powered USB devices qualify as OTG slaves(self-powered USB devices may consume up to 100 ma)
* MNP descriptor consists of length and type
May 9, 2001 24
Host Capability ComparisonHost Capability Comparison
Support devices for which it has drivers
Support devices for which it has drivers
Standard PC’s/NotebooksStandard PC’s/Notebooks
May have a mechanism for loading more drivers
May have a mechanism for loading more drivers
Limited storage area for drivers
Limited storage area for drivers
Has a mechanism for loading more drivers
Has a mechanism for loading more drivers
“Unlimited” storage area for drivers
“Unlimited” storage area for drivers
OTG DevicesOTG Devices
Supports devices for which it has drivers
Supports devices for which it has drivers
May support all transfer types and speeds
May support all transfer types and speeds
Supports all transfer types and device speeds
Supports all transfer types and device speeds
Must source 4 ma minimum on VBUS
Must source 4 ma minimum on VBUS
Sources either 100 or500 ma on VBUS
Sources either 100 or500 ma on VBUS
1.0µF < C < 6.5µF 1.0µF < C < 6.5µF C > 96µF C > 96µF
May 9, 2001 25
Point-to-Point Point-to-Point
Have point-to-point communication, not peer-to-peer
We have 2 unequal devices connected– A-Device– B-Device– Different initial roles defined by plugs
Have point-to-point communication, not peer-to-peer
We have 2 unequal devices connected– A-Device– B-Device– Different initial roles defined by plugs
May 9, 2001 26
Device TypesDevice Types
A-Devices– Mini-A plug inserted (ID pin shorted)– Supplies power on VBUS – Default master– Must source at least 4 ma (can be more)
B-Device– Mini-B plug inserted (ID pin floating)– Default slave– May consume up to 150 ua
A-Devices– Mini-A plug inserted (ID pin shorted)– Supplies power on VBUS – Default master– Must source at least 4 ma (can be more)
B-Device– Mini-B plug inserted (ID pin floating)– Default slave– May consume up to 150 ua
May 9, 2001 27
MNP OverviewMNP Overview
Master Negotiation Protocol is the mechanism in which an A-device and a B-device exchange the master & slave roles– Virtual reversal of the cable
Pull-up resistor used to signal slave role Again, default roles defined by plugs
Master Negotiation Protocol is the mechanism in which an A-device and a B-device exchange the master & slave roles– Virtual reversal of the cable
Pull-up resistor used to signal slave role Again, default roles defined by plugs
May 9, 2001 28
MNP OverviewMNP Overview
A-device sets “MNP Enable” feature on B-device B-device deasserts pull-up A-device asserts its pull-up resistor
– Indicates that the A-device has submittedto be the slave
A-device still powers VBUS B-device detects A-device’s pull-up
– Resets/enumerates/uses A-device
A-device sets “MNP Enable” feature on B-device B-device deasserts pull-up A-device asserts its pull-up resistor
– Indicates that the A-device has submittedto be the slave
A-device still powers VBUS B-device detects A-device’s pull-up
– Resets/enumerates/uses A-device
May 9, 2001 29
MNP SessionsMNP Sessions
A period in which devices exchange data Two kinds of sessions
– Insertion-based VBUS always on Traditional USB
– Usage-based VBUS on when devices exchange data Allows for power savings Session start protocols
A period in which devices exchange data Two kinds of sessions
– Insertion-based VBUS always on Traditional USB
– Usage-based VBUS on when devices exchange data Allows for power savings Session start protocols
May 9, 2001 30
Session Start ProtocolsSession Start Protocols
B-device – First, pulses its pull-up resistor (Data-line pulsing)– Second, pumps a charge onto VBUS (VBUS pulsing)
Above 2.1 Volts on OTG devices Less than 2.0 Volts on standard hosts
A-device must respond to one method– Can use a comparator or TTL input for detection of
VBUS pulsing– Since it did not start the session, it can quickly give
the B-device permission to assume bus mastership
B-device – First, pulses its pull-up resistor (Data-line pulsing)– Second, pumps a charge onto VBUS (VBUS pulsing)
Above 2.1 Volts on OTG devices Less than 2.0 Volts on standard hosts
A-device must respond to one method– Can use a comparator or TTL input for detection of
VBUS pulsing– Since it did not start the session, it can quickly give
the B-device permission to assume bus mastership
May 9, 2001 31
MNP Example 1MNP Example 1
First Example– Usage-Based A-device– A-device initiates session– A-device supports B-device– B-device supports A-device
First Example– Usage-Based A-device– A-device initiates session– A-device supports B-device– B-device supports A-device
May 9, 2001 32
1. Initial conditions: devices connected, VBUS is powered off, mini-Aplug inserted in A-device, mini-B plug inserted in B-device
1. Initial conditions: devices connected, VBUS is powered off, mini-Aplug inserted in A-device, mini-B plug inserted in B-device
MNP Example 1MNP Example 1
2. User causes A-device to start a session, turns on VBUS. TheB-device detects voltage on VBUS and applies pullup
2. User causes A-device to start a session, turns on VBUS. TheB-device detects voltage on VBUS and applies pullup
A-device B-deviceD+D+
VV BUSBUS = 0V = 0V
GNDGND
D-D-
B-deviceS
B-deviceS
A-deviceM
A-deviceM
D+D+
VV BUSBUS = 5V = 5V
GNDGND
D-D-
3.3 V 3.3 V
May 9, 2001 33
MNP Example 1MNP Example 1
CommandsCommands
4. When A-device is done with B-device, it grants the B-devicepermission to assume bus mastership via set “MNP” command
4. When A-device is done with B-device, it grants the B-devicepermission to assume bus mastership via set “MNP” command
DataDataB-device
SB-device
S
3. A-device resets B-device, enumerates (get descriptors, setconfiguration, etc.) B-device
3. A-device resets B-device, enumerates (get descriptors, setconfiguration, etc.) B-device
A-deviceM
A-deviceM
Set “MNP”Set “MNP”
A-deviceM
A-deviceM
B-deviceS
B-deviceS
May 9, 2001 34
MNP Example 1MNP Example 1
5. B-device signals it wants to assume bus mastership bydeasserting its pull-up
5. B-device signals it wants to assume bus mastership bydeasserting its pull-up
6. A-device sees pull-up is deasserted and asserts its pullup since theB-device has been granted permission to assume bus mastership
6. A-device sees pull-up is deasserted and asserts its pullup since theB-device has been granted permission to assume bus mastership
B-device
A-deviceS
A-deviceS
A-deviceM
A-deviceM
D+D+
VV BUSBUS = 5V = 5V
GNDGND
D-D-
D+D+
VV BUSBUS = 5V = 5V
GNDGND
D-D- B-device
3.3 V 3.3 V
May 9, 2001 35
B-deviceM
B-deviceM
A-deviceS
A-deviceS
MNP Example 1 MNP Example 1
8. B-device transmits data to/from A-device8. B-device transmits data to/from A-device
7. B-device, seeing the A-device has asserted its pullup, assumesmastership, resets, enumerates the A-device
7. B-device, seeing the A-device has asserted its pullup, assumesmastership, resets, enumerates the A-device
D+D+
VV BUSBUS = 5V = 5V
GNDGNDD-D-
CommandsCommands
DataDataA-device
SA-device
SB-device
MB-device
M
3.3 V 3.3 V
May 9, 2001 36
MNP Example 1MNP Example 1
10. A-device times out from not seeing bus activity, ends session,stops driving VBUS
10. A-device times out from not seeing bus activity, ends session,stops driving VBUS
9. B-device finishes and goes back to being a slave (stopsgenerating bus activity and asserts its pullup). Both devices haveasserted their pull-up resistors.
9. B-device finishes and goes back to being a slave (stopsgenerating bus activity and asserts its pullup). Both devices haveasserted their pull-up resistors.
D+D+
VV BUSBUS = 5V = 5V
GNDGNDD-D-
D+D+
VV BUSBUS = 0V = 0V
GNDGNDD-D- B-deviceA-device
A-deviceS
A-deviceS
A-deviceS
A-deviceS
3.3 V 3.3 V 3.3 V 3.3 V
May 9, 2001 37
MNP Example 2MNP Example 2
Second Example– Usage-based A-device– Session requested by B-device– A-device supports B-device– B-device supports A-device
Second Example– Usage-based A-device– Session requested by B-device– A-device supports B-device– B-device supports A-device
May 9, 2001 38
B-device
MNP Example 2MNP Example 2
1. Initial conditions: devices connected, VBUS is powered off, mini-Aplug inserted in A-device, mini-B plug inserted in B-device1. Initial conditions: devices connected, VBUS is powered off, mini-Aplug inserted in A-device, mini-B plug inserted in B-device
2. User causes B-device to request a session. B-device pulsespullup, pumps charge onto VBUS
2. User causes B-device to request a session. B-device pulsespullup, pumps charge onto VBUS
D+D+
VV BUSBUS = 0V = 0V
GNDGND
D-D-
D+D+
VV BUSBUS = 2.1+V = 2.1+V
GNDGND
D-D-A-device
B-deviceA-device
May 9, 2001 39
B-deviceS
B-deviceS
A-deviceM
A-deviceM
A-deviceM
A-deviceM
B-deviceS
B-deviceS
MNP Example 2MNP Example 2
4. A-device knows that B-device requested session. Acquires MNPdescriptor, then issues set MNP feature4. A-device knows that B-device requested session. Acquires MNPdescriptor, then issues set MNP feature
3. A-device detects session request, turns on VBUS. B-devicedetects VBUS and asserts pullup. 3. A-device detects session request, turns on VBUS. B-devicedetects VBUS and asserts pullup.
Set “MNP”Set “MNP”
D+D+
VV BUSBUS = 5V = 5V
GNDGND
D-D-
3.3 V 3.3 V
May 9, 2001 40
B-device
A-deviceS
A-deviceS
A-deviceM
A-deviceM
MNP Example 1MNP Example 1
5. B-device signals it wants to assume bus mastership bydeasserting its pull-up
5. B-device signals it wants to assume bus mastership bydeasserting its pull-up
6. A-device sees pull-up is deasserted and asserts its pullup since theB-device has been granted permission to assume bus mastership
6. A-device sees pull-up is deasserted and asserts its pullup since theB-device has been granted permission to assume bus mastership
D+D+
VV BUSBUS = 5V = 5V
GNDGND
D-D-
D+D+
VV BUSBUS = 5V = 5V
GNDGND
D-D-
3.3 V 3.3 V
B-device
May 9, 2001 41
MNP Example 2 MNP Example 2
8. B-device transmits data to/from A-device8. B-device transmits data to/from A-device
7. B-device, seeing the A-device has asserted its pullup, assumes mastership, resets, enumerates the A-device7. B-device, seeing the A-device has asserted its pullup, assumes mastership, resets, enumerates the A-device
A-deviceS
A-deviceS
A-deviceS
A-deviceS
B-deviceM
B-deviceM
D+D+
VV BUSBUS = 5V = 5V
GNDGNDD-D-
CommandsCommands
DataData
3.3 V 3.3 V
B-deviceM
B-deviceM
May 9, 2001 42
MNP Example 2MNP Example 2
10. A-device times out from not seeing bus activity, ends session, stops driving VBUS
10. A-device times out from not seeing bus activity, ends session, stops driving VBUS
9. B-device finishes and goes back to being a slave (stopsgenerating bus activity and asserts its pullup). Both devices haveasserted their pull-up resistors.
9. B-device finishes and goes back to being a slave (stopsgenerating bus activity and asserts its pullup). Both devices haveasserted their pull-up resistors.
A-deviceS
A-deviceS
A-deviceS
A-deviceS
D+D+
VV BUSBUS = 5V = 5V
GNDGNDD-D-
D+D+
VV BUSBUS = 0V = 0V
GNDGNDD-D- B-deviceA-device
3.3 V 3.3 V 3.3 V 3.3 V
May 9, 2001 43
MNP Example 3MNP Example 3
Third Example– Insertion-based A-device– A-device supports B-device– B-device supports A-device
Third Example– Insertion-based A-device– A-device supports B-device– B-device supports A-device
May 9, 2001 44
B-deviceS
B-deviceS
A-deviceM
A-deviceM
MNP Example 3MNP Example 3
1. Initial conditions, A-device (mini-A plug inserted) always drivesVBUS waits for B-device to be inserted
1. Initial conditions, A-device (mini-A plug inserted) always drivesVBUS waits for B-device to be inserted
D+D+
VV BUSBUS = 5V = 5V
GNDGND
D-D-
D+D+
VV BUSBUS = 5V = 5V
GNDGND
D-D-
2. User inserts mini-B plug into B-device. B-device sees VBUS andaserts pullup
2. User inserts mini-B plug into B-device. B-device sees VBUS andaserts pullup
A-deviceM
A-deviceM
3.3 V 3.3 V
May 9, 2001 45
MNP Example 3MNP Example 3
4. When A-device is done with B-device, it grants the B-devicepermission to assume bus mastership via set “MNP” command
4. When A-device is done with B-device, it grants the B-devicepermission to assume bus mastership via set “MNP” command
3. A-device resets B-device, enumerates (get descriptors, setconfiguration, etc.) B-device
3. A-device resets B-device, enumerates (get descriptors, setconfiguration, etc.) B-device
B-deviceS
B-deviceS
A-deviceM
A-deviceM
A-deviceM
A-deviceM
B-deviceS
B-deviceS
Set “MNP”Set “MNP”
CommandsCommands
DataData
May 9, 2001 46
MNP Example 3 MNP Example 3
6. A-Device sees pull-up is deasserted and asserts its pullup since theB-device has been granted permission to assume bus mastership6. A-Device sees pull-up is deasserted and asserts its pullup since theB-device has been granted permission to assume bus mastership
5. B-device signals it wants to assume bus mastership bydeasserting its pull-up
5. B-device signals it wants to assume bus mastership bydeasserting its pull-up
A-deviceM
A-deviceM
A-deviceS
A-deviceS
D+D+
VV BUSBUS = 5V = 5V
GNDGNDD-D-
D+D+
VV BUSBUS = 5V = 5V
GNDGNDD-D- B-device
B-device
3.3 V 3.3 V
May 9, 2001 47
MNP Example 3 MNP Example 3
8. B-device transmits data to/from A-device8. B-device transmits data to/from A-device
7. B-device, seeing the A-device has asserted its pullup, assumesmastership, resets, enumerates the a_device
7. B-device, seeing the A-device has asserted its pullup, assumesmastership, resets, enumerates the a_device
A-deviceS
A-deviceS
A-deviceS
A-deviceS
B-deviceM
B-deviceM
B-deviceM
B-deviceM
D+D+
VV BUSBUS = 5V = 5V
GNDGNDD-D-
CommandsCommands
DataData
3.3 V 3.3 V
May 9, 2001 48
MNP Example 3MNP Example 3
10. A-device times out from not seeing bus activity, resumesmastership
10. A-device times out from not seeing bus activity, resumesmastership
9. B-device finishes and goes back to being a slave (stopsgenerating bus activity and asserts its pullup). Both devices haveasserted their pull-up resistors.
9. B-device finishes and goes back to being a slave (stopsgenerating bus activity and asserts its pullup). Both devices haveasserted their pull-up resistors.
A-deviceS
A-deviceS
B-deviceS
B-deviceS
D+D+VV BUSBUS = 5V = 5V
GNDGNDD-D-
3.3 V 3.3 V 3.3 V 3.3 V
D+D+
VV BUSBUS = 5V = 5V
GNDGNDD-D- B-device
SB-device
S
A-deviceM
A-deviceM
3.3 V 3.3 V
May 9, 2001 49
MNP Example 3MNP Example 3
11. A-device sets/clears the B-devices MNP bit depending onwhether it wants to use the bus or not (thus allowing the B-deviceto request bus mastership)
11. A-device sets/clears the B-devices MNP bit depending onwhether it wants to use the bus or not (thus allowing the B-deviceto request bus mastership)
D+D+
VV BUSBUS = 5V = 5V
GNDGNDD-D- B-device
SB-device
S
A-deviceM
A-deviceM
3.3 V 3.3 V
May 9, 2001 50
ConclusionConclusion
Key Differences with USB 2.0 specification Compliance Current Status Resources Call to action
Key Differences with USB 2.0 specification Compliance Current Status Resources Call to action
May 9, 2001 51
Key DifferencesKey Differences
TP1 to TP2 limited to 1 ns – 3 ns in the USB 2.0 specification (allows for ribbon
cables to the front of a PC, for example) Output current 4 ma minimum Dual-role devices consume only 150 ua Number of devices typically supported
TP1 to TP2 limited to 1 ns – 3 ns in the USB 2.0 specification (allows for ribbon
cables to the front of a PC, for example) Output current 4 ma minimum Dual-role devices consume only 150 ua Number of devices typically supported
May 9, 2001 52
ComplianceCompliance
First pass USB 2.0 peripheral compliance program– Covers slave-only characteristics
Then the OTG compliance program – Test host capability & electrical characteristics– Test proper MNP support– Test user experience
First pass USB 2.0 peripheral compliance program– Covers slave-only characteristics
Then the OTG compliance program – Test host capability & electrical characteristics– Test proper MNP support– Test user experience
May 9, 2001 53
Current StatusCurrent Status
Release Candidate for revision 0.9
Compliance spec at revision 0.7
Release Candidate for revision 0.9
Compliance spec at revision 0.7
May 9, 2001 54
ResourcesResources
http://www.usb.org/members/onthego/
mail distribution list: [email protected]
http://www.usb.org/members/onthego/
mail distribution list: [email protected]
May 9, 2001 55
Call to ActionCall to Action
Get involved! Device class specs to make OTG universal!
– Printers– Mobile phones – Scanners– Cameras
Get involved! Device class specs to make OTG universal!
– Printers– Mobile phones – Scanners– Cameras