Presentation is loading. Please wait.

Presentation is loading. Please wait.

May 9, 20012 USB On-The-Go Kosta Koeman Cypress Semiconductor Kosta Koeman Cypress Semiconductor.

Similar presentations


Presentation on theme: "May 9, 20012 USB On-The-Go Kosta Koeman Cypress Semiconductor Kosta Koeman Cypress Semiconductor."— Presentation transcript:

1

2 May 9, 20012 USB On-The-Go Kosta Koeman Cypress Semiconductor Kosta Koeman Cypress Semiconductor

3 May 9, 20013 Agenda w History w Contributors w Why USB On-The-Go? w Applications w Goal of the specification w Cables & Connectors w On-The-Go spec details w Summary w History w Contributors w Why USB On-The-Go? w Applications w Goal of the specification w Cables & Connectors w On-The-Go spec details w Summary

4 May 9, 20014 History w USB On-The-Go started in June, 1999 w To date, over 2 dozen companies have contributed to the OTG specification w Original intent was to connect portables directly together for specific applications w USB On-The-Go started in June, 1999 w To date, over 2 dozen companies have contributed to the OTG specification w Original intent was to connect portables directly together for specific applications

5 May 9, 20015 Contributors w Advanced-Connectek, Inc. w Aten w Cypress Semiconductor w Ericsson w Hewlett-Packard Company w Imation w InSilicon Corporation w Intel Corporation w Lumburg w Maxim Integrated Products w MCCI w Microsoft w Molex w Advanced-Connectek, Inc. w Aten w Cypress Semiconductor w Ericsson w Hewlett-Packard Company w Imation w InSilicon Corporation w Intel Corporation w Lumburg w Maxim Integrated Products w MCCI w Microsoft w Molex w Motorola w NEC Systems, Inc w Nokia w OnSpec w Opti, Inc. w Palm, Inc. w Philips w Qualcomm w ScanLogic w Texas Instruments, Inc w TransDimension, Inc. w Tyco Electronics w V-Automation

6 May 9, 20016 Why USB On-The-Go? w USB provides a very inexpensive infrastructure for connecting slave peripherals to a host PC w OTG extends the architecture to allow USB peripherals to have host capability w This resulted in a very cost effective means of providing point-to-point communication between peripherals w New means for generating content are introduced w USB provides a very inexpensive infrastructure for connecting slave peripherals to a host PC w OTG extends the architecture to allow USB peripherals to have host capability w This resulted in a very cost effective means of providing point-to-point communication between peripherals w New means for generating content are introduced

7 May 9, 20017 Applications Master Slave Application Mobile Phone Still Image Camera MP3 Player Mass Storage Scanner PDA Mobile Phone Still Image Camera MP3 Player Mass Storage Scanner PDA Exchange contact information Email pictures, upload pictures to web Upload/download/broadcast music Upload/download files Scan business cards Exchange contact information Email pictures, upload pictures to web Upload/download/broadcast music Upload/download files Scan business cards Exchange contact information Still Image Camera Mobile Phone Printer Mass Storage Still Image Camera Mobile Phone Printer Mass Storage Exchange pictures Email pictures, upload pictures to web Print pictures Store pictures Exchange pictures Email pictures, upload pictures to web Print pictures Store pictures Printer Still Image Camera Scanner Mass Storage Still Image Camera Scanner Mass Storage Print pictures Print scanned image Print files stored on device Print pictures Print scanned image Print files stored on device MP3 Player Mass Storage MP3 Player Mass Storage Exchange songs Upload/download songs Exchange songs Upload/download songs

8 May 9, 20018 More Applications Master Slave Application Oscilliscope Printer Print screen image PDA Printer Mobile Phone MP3 Player Scanner Mass Storage GPS Still Image Camera Oscilliscope Keyboard PDA Printer Mobile Phone MP3 Player Scanner Mass Storage GPS Still Image Camera Oscilliscope Keyboard Exchange files Print files Upload/download files Upload/download songs Scan pictures Upload/download files Obtain directions, mapping information Upload pictures Configure oscilliscope Exchange files Print files Upload/download files Upload/download songs Scan pictures Upload/download files Obtain directions, mapping information Upload pictures Configure oscilliscope

9 May 9, 20019 Goal of On-The-Go w Connect 2 USB devices directly w Communicate in a “USB manner” – Utilize USB’s master/slave architecture u Master first resets and configures the slave w More geared towards portable devices – New connectors u Standard connectors are too big – Small amount of current (4 ma) u Typically battery-powered devices u OTG device may supply more – Non-portables can be OTG too u May even supply 500 ma! w Connect 2 USB devices directly w Communicate in a “USB manner” – Utilize USB’s master/slave architecture u Master first resets and configures the slave w More geared towards portable devices – New connectors u Standard connectors are too big – Small amount of current (4 ma) u Typically battery-powered devices u OTG device may supply more – Non-portables can be OTG too u May even supply 500 ma!

10 May 9, 200110 Goal of On-The-Go w Minimize deviations from the USB spec – Session start protocols – Use of V BUS and Pull-up resistors for “signaling” – Limited host capability u Transfer types u Limited number of devices supported – 4 ma <= Current supplied <= 500 ma w Provide good user experience – inform user if remote device is not supported w Minimize deviations from the USB spec – Session start protocols – Use of V BUS and Pull-up resistors for “signaling” – Limited host capability u Transfer types u Limited number of devices supported – 4 ma <= Current supplied <= 500 ma w Provide good user experience – inform user if remote device is not supported

11 May 9, 200111 Cables & Connectors w Connectors w New Cables w Adapters w Usability Study w Connectors w New Cables w Adapters w Usability Study

12 May 9, 200112 Connectors w Already defined in USB 2.0 specification – New ID pin (not connected & no corresponding wire) – Mini-B plug – Mini-B receptacle u On slave-only devices w Introduced by On-The-Go specification – Mini-A plug u ID Pin shorted to GND – Mini-A receptacle (only allowed on adapters) – Mini-AB receptacle u Accepts both mini-A & mini-B plugs u On dual-role devices w Already defined in USB 2.0 specification – New ID pin (not connected & no corresponding wire) – Mini-B plug – Mini-B receptacle u On slave-only devices w Introduced by On-The-Go specification – Mini-A plug u ID Pin shorted to GND – Mini-A receptacle (only allowed on adapters) – Mini-AB receptacle u Accepts both mini-A & mini-B plugs u On dual-role devices

13 May 9, 200113 Connectors w 2 Connector Types – Indicate the default roles – Different by u Overmold u Keying u Colors inside plug – ID pin u Shorted to GND on mini-A plug u Disconnected on mini-B plug w 2 Connector Types – Indicate the default roles – Different by u Overmold u Keying u Colors inside plug – ID pin u Shorted to GND on mini-A plug u Disconnected on mini-B plug

14 May 9, 200114 Cables w Already defined – Standard-A to Standard-B (26ns ‘long’) – Standard-A to Mini-B (26ns ‘long’) w New – Mini-A to Mini-B (*25ns ‘long’) – Mini-A to Standard-B (*25ns ‘long’) w Already defined – Standard-A to Standard-B (26ns ‘long’) – Standard-A to Mini-B (26ns ‘long’) w New – Mini-A to Mini-B (*25ns ‘long’) – Mini-A to Standard-B (*25ns ‘long’) *Note: ‘Shorter’ cable allows for adapter

15 May 9, 200115 Adapters w 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! w 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 Mini-A receptacle* Standard-A Plug Standard-A receptacle USB Port (Hub Or Root Port) USB Port (Hub Or Root Port) OTG Slave

16 May 9, 200116 Adapters w 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 w 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 Standard-A receptacle Mini-A Plug Mini-AB receptacle OTG Device USB Device

17 May 9, 200117 Adapters w Adapters using mini-B plug or receptacle are prohibited – Examples of prohibited adapters u Mini-B receptacle to Standard-B plug u Standard-B receptacle to Mini-B plug w Must guarantee that an adapter is used only on 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 w Adapters using mini-B plug or receptacle are prohibited – Examples of prohibited adapters u Mini-B receptacle to Standard-B plug u Standard-B receptacle to Mini-B plug w Must guarantee that an adapter is used only on 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

18 May 9, 200118 Timings w Must preserve 30 ns delay from TP1 to TP4 to allow for high-speed signaling USB Cable Device Circuit Board Hub Circuit Board A Connector A Connector Traces Transceiver TP4 TP3 TP2 TP1 B Connector B Connector

19 May 9, 200119 Timings Scenario 1 Time Scenario 2 Time Standard Host Mini-A receptacle to Standard-A plug Mini-A to Mini-B cable OTG device Total Standard Host Mini-A receptacle to Standard-A plug Mini-A to Mini-B cable 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 receptacle to Mini-A plug Standard-A to Standard-B cable USB peripheral Total OTG Host Standard-A receptacle to Mini-A plug Standard-A to Standard-B cable USB peripheral Total 1 ns 26 ns 1 ns 29 ns 1 ns 26 ns 1 ns 29 ns

20 May 9, 200120 Usability Study w Mini-A & mini-B plugs look similar – Have different “key” – Differentiating via the overmold u Oval for mini-A plug u Square for mini-B plug – Differentiating via color coding inside plugs/receptacles u Mini-A - white u Mini-B - black u Mini-AB - gray w Mini-A & mini-B plugs look similar – Have different “key” – Differentiating via the overmold u Oval for mini-A plug u Square for mini-B plug – Differentiating via color coding inside plugs/receptacles u Mini-A - white u Mini-B - black u Mini-AB - gray

21 May 9, 200121 Usability Study w Solve the potential connectivity problem of connecting a dual-role device to a slave-only device – Insert mini-B plug first into dual-role – Try to insert mini-A plug into slave – Cable must be turned around w Dual-role to Dual-role – No problem. Cable can be connected either way w Slave to slave – Not possible. Don’t want silent failures! w Solve the potential connectivity problem of connecting a dual-role device to a slave-only device – Insert mini-B plug first into dual-role – Try to insert mini-A plug into slave – Cable must be turned around w Dual-role to Dual-role – No problem. Cable can be connected either way w Slave to slave – Not possible. Don’t want silent failures!

22 May 9, 200122 Specification Details w Dual-role vs. Slave only w Host Capabilities w Point-to-Point Communication w Master Negotiation Protocol (MNP) w Dual-role vs. Slave only w Host Capabilities w Point-to-Point Communication w Master Negotiation Protocol (MNP)

23 May 9, 200123 Dual Role Vs. Slave Only Dual Role w Mini-AB Receptacle w MNP capable w Has MNP descriptor* w Master: source 4 ma+ w Slave: consume 150 ua w Some host capability Dual Role w Mini-AB Receptacle w MNP capable w Has MNP descriptor* w Master: source 4 ma+ w Slave: consume 150 ua w Some host capability Slave-Only w Mini-B receptacle OR tethered mini-A plug w No MNP descriptor* w 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

24 May 9, 200124 Host Capability Comparison w Support devices for which it has drivers Standard PC’s/Notebooks w May have a mechanism for loading more drivers w Limited storage area for drivers w Has a mechanism for loading more drivers w “Unlimited” storage area for drivers OTG Devices w Supports devices for which it has drivers w May support all transfer types and speeds w Supports all transfer types and device speeds w Must source 4 ma minimum on V BUS w Sources either 100 or 500 ma on V BUS w1.0µF < C < 6.5µF wC > 96µF

25 May 9, 200125 Point-to-Point w Have point-to-point communication, not peer-to-peer w We have 2 unequal devices connected – A-Device – B-Device – Different initial roles defined by plugs w Have point-to-point communication, not peer-to-peer w We have 2 unequal devices connected – A-Device – B-Device – Different initial roles defined by plugs

26 May 9, 200126 Device Types w A-Devices – Mini-A plug inserted (ID pin shorted) – Supplies power on V BUS – Default master – Must source at least 4 ma (can be more) w B-Device – Mini-B plug inserted (ID pin floating) – Default slave – May consume up to 150 ua w A-Devices – Mini-A plug inserted (ID pin shorted) – Supplies power on V BUS – Default master – Must source at least 4 ma (can be more) w B-Device – Mini-B plug inserted (ID pin floating) – Default slave – May consume up to 150 ua

27 May 9, 200127 MNP Overview w 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 w Pull-up resistor used to signal slave role w Again, default roles defined by plugs w 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 w Pull-up resistor used to signal slave role w Again, default roles defined by plugs

28 May 9, 200128 MNP Overview w A-device sets “MNP Enable” feature on B-device w B-device deasserts pull-up w A-device asserts its pull-up resistor – Indicates that the A-device has submitted to be the slave w A-device still powers V BUS w B-device detects A-device’s pull-up – Resets/enumerates/uses A-device w A-device sets “MNP Enable” feature on B-device w B-device deasserts pull-up w A-device asserts its pull-up resistor – Indicates that the A-device has submitted to be the slave w A-device still powers V BUS w B-device detects A-device’s pull-up – Resets/enumerates/uses A-device

29 May 9, 200129 MNP Sessions w A period in which devices exchange data w Two kinds of sessions – Insertion-based u V BUS always on u Traditional USB – Usage-based u V BUS on when devices exchange data u Allows for power savings u Session start protocols w A period in which devices exchange data w Two kinds of sessions – Insertion-based u V BUS always on u Traditional USB – Usage-based u V BUS on when devices exchange data u Allows for power savings u Session start protocols

30 May 9, 200130 Session Start Protocols w B-device – First, pulses its pull-up resistor (Data-line pulsing) – Second, pumps a charge onto V BUS (V BUS pulsing) u Above 2.1 Volts on OTG devices u Less than 2.0 Volts on standard hosts w A-device must respond to one method – Can use a comparator or TTL input for detection of V BUS pulsing – Since it did not start the session, it can quickly give the B-device permission to assume bus mastership w B-device – First, pulses its pull-up resistor (Data-line pulsing) – Second, pumps a charge onto V BUS (V BUS pulsing) u Above 2.1 Volts on OTG devices u Less than 2.0 Volts on standard hosts w A-device must respond to one method – Can use a comparator or TTL input for detection of V BUS pulsing – Since it did not start the session, it can quickly give the B-device permission to assume bus mastership

31 May 9, 200131 MNP Example 1 w First Example – Usage-Based A-device – A-device initiates session – A-device supports B-device – B-device supports A-device w First Example – Usage-Based A-device – A-device initiates session – A-device supports B-device – B-device supports A-device

32 May 9, 200132 1. Initial conditions: devices connected, V BUS is powered off, mini-A plug inserted in A-device, mini-B plug inserted in B-device MNP Example 1 2. User causes A-device to start a session, turns on V BUS. The B-device detects voltage on V BUS and applies pullup A-deviceB-device D+ V V BUS = 0V GND D- B-device S A-device M D+ V V BUS = 5V GND D- 3.3 V

33 May 9, 200133 MNP Example 1 Commands 4. When A-device is done with B-device, it grants the B-device permission to assume bus mastership via set “MNP” command Data B-device S 3. A-device resets B-device, enumerates (get descriptors, set configuration, etc.) B-device A-device M Set “MNP” A-device M B-device S

34 May 9, 200134 MNP Example 1 5. B-device signals it wants to assume bus mastership by deasserting its pull-up 6. A-device sees pull-up is deasserted and asserts its pullup since the B-device has been granted permission to assume bus mastership B-device A-device S A-device M D+ V V BUS = 5V GND D- D+ V V BUS = 5V GND D- B-device 3.3 V

35 May 9, 200135 B-device M A-device S MNP Example 1 8. 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-device D+ V V BUS = 5V GND D- Commands Data A-device S B-device M 3.3 V

36 May 9, 200136 MNP Example 1 10. A-device times out from not seeing bus activity, ends session, stops driving V BUS 9. B-device finishes and goes back to being a slave (stops generating bus activity and asserts its pullup). Both devices have asserted their pull-up resistors. D+ V V BUS = 5V GND D- D+ V V BUS = 0V GND D- B-deviceA-device A-device S 3.3 V

37 May 9, 200137 MNP Example 2 w Second Example – Usage-based A-device – Session requested by B-device – A-device supports B-device – B-device supports A-device w Second Example – Usage-based A-device – Session requested by B-device – A-device supports B-device – B-device supports A-device

38 May 9, 200138 B-device MNP Example 2 1. Initial conditions: devices connected, V BUS is powered off, mini-A plug inserted in A-device, mini-B plug inserted in B-device 2. User causes B-device to request a session. B-device pulses pullup, pumps charge onto V BUS D+ V V BUS = 0V GND D- D+ V V BUS = 2.1+V GND D- A-deviceB-deviceA-device

39 May 9, 200139 B-device S A-device M B-device S MNP Example 2 4. A-device knows that B-device requested session. Acquires MNP descriptor, then issues set MNP feature 3. A-device detects session request, turns on V BUS. B-device detects V BUS and asserts pullup. Set “MNP” D+ V V BUS = 5V GND D- 3.3 V

40 May 9, 200140 B-device A-device S A-device M MNP Example 1 5. B-device signals it wants to assume bus mastership by deasserting its pull-up 6. A-device sees pull-up is deasserted and asserts its pullup since the B-device has been granted permission to assume bus mastership D+ V V BUS = 5V GND D- D+ V V BUS = 5V GND D- 3.3 V B-device

41 May 9, 200141 MNP Example 2 8. 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-device A-device S B-device M D+ V V BUS = 5V GND D- Commands Data 3.3 V B-device M

42 May 9, 200142 MNP Example 2 10. A-device times out from not seeing bus activity, ends session, stops driving V BUS 9. B-device finishes and goes back to being a slave (stops generating bus activity and asserts its pullup). Both devices have asserted their pull-up resistors. A-device S D+ V V BUS = 5V GND D- D+ V V BUS = 0V GND D- B-deviceA-device 3.3 V

43 May 9, 200143 MNP Example 3 w Third Example – Insertion-based A-device – A-device supports B-device – B-device supports A-device w Third Example – Insertion-based A-device – A-device supports B-device – B-device supports A-device

44 May 9, 200144 B-device S A-device M MNP Example 3 1. Initial conditions, A-device (mini-A plug inserted) always drives V BUS waits for B-device to be inserted D+ V V BUS = 5V GND D- D+ V V BUS = 5V GND D- 2. User inserts mini-B plug into B-device. B-device sees V BUS and aserts pullup A-device M 3.3 V

45 May 9, 200145 MNP Example 3 4. When A-device is done with B-device, it grants the B-device permission to assume bus mastership via set “MNP” command 3. A-device resets B-device, enumerates (get descriptors, set configuration, etc.) B-device B-device S A-device M B-device S Set “MNP” Commands Data

46 May 9, 200146 MNP Example 3 6. A-Device sees pull-up is deasserted and asserts its pullup since the B-device has been granted permission to assume bus mastership 5. B-device signals it wants to assume bus mastership by deasserting its pull-up A-device M A-device S D+ V V BUS = 5V GND D- D+ V V BUS = 5V GND D- B-device 3.3 V

47 May 9, 200147 MNP Example 3 8. 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_device A-device S B-device M D+ V V BUS = 5V GND D- Commands Data 3.3 V

48 May 9, 200148 MNP Example 3 10. A-device times out from not seeing bus activity, resumes mastership 9. B-device finishes and goes back to being a slave (stops generating bus activity and asserts its pullup). Both devices have asserted their pull-up resistors. A-device S B-device S D+ V V BUS = 5V GND D- 3.3 V D+ V V BUS = 5V GND D- B-device S A-device M 3.3 V

49 May 9, 200149 MNP Example 3 11. A-device sets/clears the B-devices MNP bit depending on whether it wants to use the bus or not (thus allowing the B-device to request bus mastership) D+ V V BUS = 5V GND D- B-device S A-device M 3.3 V

50 May 9, 200150 Conclusion w Key Differences with USB 2.0 specification w Compliance w Current Status w Resources w Call to action w Key Differences with USB 2.0 specification w Compliance w Current Status w Resources w Call to action

51 May 9, 200151 Key Differences w 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) w Output current 4 ma minimum w Dual-role devices consume only 150 ua w Number of devices typically supported w 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) w Output current 4 ma minimum w Dual-role devices consume only 150 ua w Number of devices typically supported

52 May 9, 200152 Compliance w First pass USB 2.0 peripheral compliance program – Covers slave-only characteristics w Then the OTG compliance program – Test host capability & electrical characteristics – Test proper MNP support – Test user experience w First pass USB 2.0 peripheral compliance program – Covers slave-only characteristics w Then the OTG compliance program – Test host capability & electrical characteristics – Test proper MNP support – Test user experience

53 May 9, 200153 Current Status w Release Candidate for revision 0.9 w Compliance spec at revision 0.7 w Release Candidate for revision 0.9 w Compliance spec at revision 0.7

54 May 9, 200154 Resources w http://www.usb.org/members/onthego/ w mail distribution list: onthego@usb.org w http://www.usb.org/members/onthego/ w mail distribution list: onthego@usb.org

55 May 9, 200155 Call to Action w Get involved! w Device class specs to make OTG universal! – Printers – Mobile phones – Scanners – Cameras w Get involved! w Device class specs to make OTG universal! – Printers – Mobile phones – Scanners – Cameras


Download ppt "May 9, 20012 USB On-The-Go Kosta Koeman Cypress Semiconductor Kosta Koeman Cypress Semiconductor."

Similar presentations


Ads by Google