70
Microsoft And Device Microsoft And Device Bay Bay Dan Shapiro Dan Shapiro Program Manager Program Manager Microsoft Corporation Microsoft Corporation

Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

  • Upload
    lala

  • View
    37

  • Download
    0

Embed Size (px)

DESCRIPTION

Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation. Getting Started With Device Bay. Grant Ley, TI, Chuck Stancil, Compaq, and Krunali Patel, TI “USB Device Bay Controller Requirements” Jeff Wolford, Compaq - PowerPoint PPT Presentation

Citation preview

Page 1: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

Microsoft And Device BayMicrosoft And Device Bay

Dan ShapiroDan ShapiroProgram ManagerProgram ManagerMicrosoft CorporationMicrosoft Corporation

Page 2: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

Getting Started Getting Started With Device BayWith Device Bay Grant Ley,Grant Ley, TI, TI, Chuck Stancil,Chuck Stancil,

Compaq, and Compaq, and Krunali Patel,Krunali Patel, TI TI ““USB Device Bay USB Device Bay

Controller Requirements”Controller Requirements”

Jeff Wolford,Jeff Wolford, Compaq Compaq ““Building the First Device Bay Building the First Device Bay

Platforms and Devices” Platforms and Devices”

Page 3: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

USB Device Bay Controller:USB Device Bay Controller:Implementation, Software, Implementation, Software, And Power ConsiderationsAnd Power Considerations

Grant Ley, Texas InstrumentsGrant Ley, Texas InstrumentsChuck Stancil, Compaq Chuck Stancil, Compaq Krunali Patel, Texas InstrumentsKrunali Patel, Texas Instruments

Page 4: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

DeviceDevice

Expansion/remoteExpansion/remotebay systembay system

BayBayDesktop Desktop systemsystem

Bay managementBay management1394 data path1394 data pathUSB data pathUSB data path

Mobile Mobile systemsystem

PowerPower

The Device Bay ConceptThe Device Bay Concept

Page 5: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

Device Bay SpecificationDevice Bay Specification

Open industry specification jointly Open industry specification jointly developed by Compaq, Intel, and Microsoftdeveloped by Compaq, Intel, and Microsoft www.device-bay.orgwww.device-bay.org Private questions: [email protected] questions: [email protected] Public: send “subscribe device_bay” to Public: send “subscribe device_bay” to

[email protected]@europa.com

Supports a wide variety of devicesSupports a wide variety of devices Mass storage (HDD, DVD/CD-ROM, tape, etc.)Mass storage (HDD, DVD/CD-ROM, tape, etc.) Communications and connectivity Communications and connectivity

(modem, LAN)(modem, LAN) Audio and security via USBAudio and security via USB

Page 6: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

Device Bay ControllerDevice Bay Controller

For specification of the DBC, For specification of the DBC, see Section 6 of the Device Bay Specsee Section 6 of the Device Bay Spec

DBC manages all baysDBC manages all bays Maintains bay status Maintains bay status Detects device insertion/removalDetects device insertion/removal Enables Vid (enumeration power) Enables Vid (enumeration power)

to the deviceto the device Detects user removal requests via Detects user removal requests via

optional bay mounted push buttonoptional bay mounted push button

Page 7: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

Device Bay Device Bay Connector SignalsConnector Signals Presence detectPresence detect

USBPRSN#, 1394PRSN#USBPRSN#, 1394PRSN# Pulled to ground to indicate interface Pulled to ground to indicate interface

type (USB or 1394 or both)type (USB or 1394 or both)

USB data signalsUSB data signals 1394 data signals1394 data signals

Page 8: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

DBC Signals To The BayDBC Signals To The Bay

Required:Required: Lock enableLock enable ID power (Vid) enableID power (Vid) enable

Optional:Optional: Removal requestRemoval request Security lock statusSecurity lock status Bay status indicatorBay status indicator

Page 9: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

USB rootUSB root controllercontroller

1394 link1394 linkcontrollercontroller

Walk-up portWalk-up port

1394 PHY1394 PHY

Device Bay Device Bay controllercontroller

Device Bay 0Device Bay 0Device Bay 1Device Bay 1Device Bay 2Device Bay 2Device Bay 3Device Bay 3

PHY/LinkPHY/Link interfaceinterface

PCIPCI

ACPIACPI

ACPI DBC ImplementationACPI DBC Implementation

Page 10: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

ACPI DBC ImplementationACPI DBC Implementation

ACPI name space and ACPI name space and control methods describe control methods describe the DBC implementationthe DBC implementation

Can reside on a bus like PCI, Can reside on a bus like PCI, II22C, SMBusC, SMBus

No physical connection between No physical connection between DBC and PHYDBC and PHY

DBC data structures implemented DBC data structures implemented as a register setas a register set

Page 11: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

USB DBC ImplementationUSB DBC Implementation

DBC implemented as a USB functionDBC implemented as a USB function Connected to the USB hubConnected to the USB hub

Can be integrated into the hub as an Can be integrated into the hub as an embedded functionembedded function

MustMust have simple Link controller have simple Link controller to communicate with a 1394 PHY to communicate with a 1394 PHY

Walk-up ports can be connected to Walk-up ports can be connected to the same USB hub or 1394 PHY that the same USB hub or 1394 PHY that is connected to the baysis connected to the bays

Page 12: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

USB DBC ImplementationUSB DBC Implementation

DBC is a self-powered or DBC is a self-powered or bus-powered USB devicebus-powered USB device

DBC communicates with system DBC communicates with system via USB control and interrupt via USB control and interrupt endpoints (pipes)endpoints (pipes)

DBC descriptors contain info about DBC descriptors contain info about Bay controlBay control Bay statusBay status DBC capabilitiesDBC capabilities

DBC descriptors accessed using DBC descriptors accessed using USB DBC class-specific requests USB DBC class-specific requests

Page 13: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

USB rootUSB root controllercontroller

1394 link1394 linkcontrollercontroller

Walk-up portWalk-up port

USB hubUSB hub controllercontroller 1394 PHY1394 PHY

Device Bay Device Bay controllercontroller

Device Bay 0Device Bay 0Device Bay 1Device Bay 1Device Bay 2Device Bay 2Device Bay 3Device Bay 3

PHY/LinkPHY/Link interfaceinterface

PCIPCI

1394 PHY1394 PHY

USB DBC ImplementationUSB DBC Implementation

Page 14: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

Device Bay standardDevice Bay standard

DeviceDevice

BayBayControllerController

DeviceDevice

Power Power supplysupply

1394 1394 PHYPHY

Sys

tem

Bu

sS

yste

m B

us

USB USB Host Host CtrlCtrl

1394 1394 Host Host CtrlCtrl

CPUCPU Mgmt. Mgmt. S/WS/W

Mech Form Mech Form Factor(s)Factor(s)

ConnectorConnector

Interface signalsInterface signals * * USB DataUSB Data * * 1394 Data1394 Data * * Bay ManagementBay Management

* * PowerPower

Management Management commands and commands and

proceduresprocedures

CommunicationsCommunications methodsmethods

* USB Class Device* USB Class Device

Computer systemComputer system

BayBay

BayBayPhy/Link Phy/Link I/FI/F

1394 1394 PHYPHY

USB USB HUBHUB

Phy/Link Phy/Link I/FI/F

“ “Riser card” in desktop chassisRiser card” in desktop chassis “ “Remote” expansion chassisRemote” expansion chassis Monitor with Device Bay capabilityMonitor with Device Bay capability “ “Docking Station” for mobile platformsDocking Station” for mobile platforms

USB-Based DBC SystemUSB-Based DBC System

Page 15: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

Remote ConsiderationsRemote Considerations

Bus or hybrid powered USB hubBus or hybrid powered USB hub Minimum of two 1394 walk-up portsMinimum of two 1394 walk-up ports

Three recommended to Three recommended to support spanningsupport spanning

Supply 1394 bus powerSupply 1394 bus power Recommend minimum of 15W at 20VRecommend minimum of 15W at 20V

Support DB32 devicesSupport DB32 devices Requires 12V supportRequires 12V support

Page 16: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

Remote Device Bay SystemRemote Device Bay System

RemoteRemoteDBCDBC

PowerPowerSupplySupply

13941394OHCIOHCI

USBUSBOHCI/UHCIOHCI/UHCI

MonitorMonitor

Windows Windows

DBCDBCClassClassDriverDriver

1394 Walkup Port 01394 Walkup Port 01394 Walkup Port 11394 Walkup Port 1

USB Walkup Port 0USB Walkup Port 0USB Walkup Port 1USB Walkup Port 1

Bay 0Bay 0 Bay 1Bay 1

HDDHDD DVDDVD USBUSBSpeakerSpeaker

Software stack:Software stack: 1394 Bus Driver1394 Bus Driver OHCI Port DriverOHCI Port Driver SBP2 Port DriverSBP2 Port Driver USB Bus DriverUSB Bus Driver USB OHCI Port DriverUSB OHCI Port Driver USB Audio Class DriverUSB Audio Class Driver USB DBC Class DriverUSB DBC Class Driver

Host PCHost PC Remote Device BayRemote Device Bay

Page 17: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

The Software PiecesThe Software Pieces

Universal Serial Bus Driver (USBD)Universal Serial Bus Driver (USBD) USB OHCI/UHCI port driverUSB OHCI/UHCI port driver 1394 bus driver1394 bus driver 1394 OHCI port driver 1394 OHCI port driver

Page 18: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

The DBC Link ControllerThe DBC Link Controller

Supports a 400 Mbps Supports a 400 Mbps PHY/link interface PHY/link interface Strongly recommend P1394a complianceStrongly recommend P1394a compliance

Software access to PHY registers Software access to PHY registers compliant with method defined by compliant with method defined by 1394 OHCI Release 1.01394 OHCI Release 1.0

Asynchronous transaction capableAsynchronous transaction capable Minimal CSR and Config ROM spaceMinimal CSR and Config ROM space

General ROM format requiredGeneral ROM format required

Page 19: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

The DBC Link ControllerThe DBC Link Controller

Isochronous resource manager, cycle Isochronous resource manager, cycle master, and bus manager capability master, and bus manager capability not requirednot required

Maximum payload size is 1 quadletMaximum payload size is 1 quadlet

Page 20: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

USB DBC Class SpecificationUSB DBC Class Specification

Defines the USB communication Defines the USB communication channel used by the DBC to channel used by the DBC to communicate with the hostcommunicate with the host Standard device descriptorStandard device descriptor Standard configuration descriptor Standard configuration descriptor Standard endpoint descriptorsStandard endpoint descriptors

ControlControl InterruptInterrupt

USB port power managementUSB port power management

Page 21: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

USB DBC Class SpecificationUSB DBC Class Specification

Device descriptorsDevice descriptors Class-specific device descriptorsClass-specific device descriptors

Subsystem descriptorSubsystem descriptor Bay descriptorsBay descriptors

Standard device descriptorStandard device descriptor

Page 22: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

USB DBC Class SpecificationUSB DBC Class Specification

USB requestsUSB requests Standard requestsStandard requests Class-specific requestsClass-specific requests

GetBayStatusGetBayStatus Get/SetPHYCommunicationRegisterGet/SetPHYCommunicationRegister

Optional vendor-specific requestsOptional vendor-specific requests For example, asset trackingFor example, asset tracking

Set/ClearFeature requestsSet/ClearFeature requests

See www.microsoft.com/hwdev for See www.microsoft.com/hwdev for white paper about USB DBC Specwhite paper about USB DBC Spec

Page 23: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

Design ConsiderationsDesign Considerations

Bay state machineBay state machine The LOCK_CTL and The LOCK_CTL and

PWR_CTL relationshipPWR_CTL relationship Initializing “read-only” fieldsInitializing “read-only” fields Driving the bay status indicatorDriving the bay status indicator

Page 24: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

Bay State Machine DesignBay State Machine Design

Behavior after reset with Behavior after reset with a device present a device present The state transition Bay Empty The state transition Bay Empty Device Device

Inserted (or any other state) requires Inserted (or any other state) requires software interventionsoftware intervention

DEVSTSCHG can either be set or cleared; DEVSTSCHG can either be set or cleared; if set system BIOS should clear it!if set system BIOS should clear it!

Page 25: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

Bay State Machine DesignBay State Machine Design

Software state transitionsSoftware state transitions All software state transition requests All software state transition requests

(via BAY_STREQ field in BCERx) must (via BAY_STREQ field in BCERx) must be qualified with device presence by be qualified with device presence by the hardware!the hardware!

Software state transitions occur at the Software state transitions occur at the time of the write to the BAY_STREQ field time of the write to the BAY_STREQ field (i.e., there is no queuing!); however, DBC (i.e., there is no queuing!); however, DBC hardware will always retain the last non-hardware will always retain the last non-zero value written to BAY_STREQzero value written to BAY_STREQ

Page 26: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

LOCK_CTL And LOCK_CTL And PWR_CTL RelationshipPWR_CTL Relationship Normal sequence of these two bitsNormal sequence of these two bits::

1. After device is inserted S/W 1. After device is inserted S/W sets LOCK_CTLsets LOCK_CTL

2. S/W sets PWR_CTL2. S/W sets PWR_CTL

3. When device is to be removed S/W 3. When device is to be removed S/W clears PWR_CTLclears PWR_CTL

4. S/W clears LOCK_CTL4. S/W clears LOCK_CTL DBC hardware MUST prevent PWR_CTL DBC hardware MUST prevent PWR_CTL

(V(VIDID enable) enable) from being set if LOCK_CTL from being set if LOCK_CTL is not setis not set

Page 27: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

LOCK_CTL And LOCK_CTL And PWR_CTL RelationshipPWR_CTL Relationship If both bits are set and LOCK_CTL is If both bits are set and LOCK_CTL is

erroneously cleared first (by S/W) then erroneously cleared first (by S/W) then DBC hardware DBC hardware mustmust automatically automatically clear PWR_CTLclear PWR_CTL

If the software controlled interlock If the software controlled interlock mechanism is overridden then DBC mechanism is overridden then DBC hardware hardware mustmust clear PWR_CTL clear PWR_CTL

Page 28: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

Initializing Initializing “Read-Only” Fields“Read-Only” Fields There are fields in the DBC (registers There are fields in the DBC (registers

or descriptors) that contain static or descriptors) that contain static information about a DB subsystem; information about a DB subsystem; they could be implemented as they could be implemented as “write-once” and initialized via:“write-once” and initialized via: An embedded controllerAn embedded controller OEM BIOSOEM BIOS A configuration EEPROMA configuration EEPROM

Page 29: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

Driving The Driving The Bay Status IndicatorBay Status Indicator Use of bipolar drivers allows the Use of bipolar drivers allows the

system designer to use a two-pin system designer to use a two-pin bipolar (green/yellow) LED, a three-pin bipolar (green/yellow) LED, a three-pin LED or discrete LEDsLED or discrete LEDs

Page 30: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

If using bipolar drivers with a 2-pin If using bipolar drivers with a 2-pin bipolar LED watch your supply voltage!bipolar LED watch your supply voltage! 3.3V probably isn’t high enough!3.3V probably isn’t high enough!

VVOH(min) OH(min) - V- VOL(max) OL(max) VVF(LED) F(LED) + V+ VRR

typical case:typical case: V VOH(min)OH(min) V VCCCC - 1.0V- 1.0V

VVOL(max)OL(max) 0.4V 0.4V

VVF(LED)F(LED) 2.1V 2.1V

2.3V - 0.4V 2.3V - 0.4V 2.1V + V2.1V + VRR

Driving The Driving The Bay Status IndicatorBay Status Indicator

Page 31: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

Driving The Driving The Bay Status IndicatorBay Status Indicator Don’t power the LEDs from an Don’t power the LEDs from an

auxiliary or standby power supply! auxiliary or standby power supply! The LEDs must be off when the The LEDs must be off when the system is in S3 through S5!system is in S3 through S5!

Page 32: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

Call To ActionCall To Action

Use Device Bay resources:Use Device Bay resources: Spec is at www.device-bay.orgSpec is at www.device-bay.org Private questions: [email protected] questions: [email protected] Public: send “subscribe device_bay” to Public: send “subscribe device_bay” to

[email protected]@europa.com USB DBC Spec. white paper on USB DBC Spec. white paper on

www.microsoft.com/hwdev www.microsoft.com/hwdev

OEMs and DBC silicon providers start OEMs and DBC silicon providers start working togetherworking together

Send your hardware to Microsoft for Send your hardware to Microsoft for software development and testingsoftware development and testing

Page 33: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

Device Bay, Device Bay, Beyond The SpecificationBeyond The Specification

Jeff WolfordJeff WolfordSenior Systems ArchitectSenior Systems ArchitectAdvanced Technology GroupAdvanced Technology GroupCompaq Computer CorporationCompaq Computer Corporation

Page 34: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

Device Bay IntroductionDevice Bay Introduction

Open industry specification jointly Open industry specification jointly developed by Compaq, Intel, and Microsoftdeveloped by Compaq, Intel, and Microsoft www.device-bay.orgwww.device-bay.org Private questions: [email protected] questions: [email protected] Public: send “subscribe device_bay” to Public: send “subscribe device_bay” to

[email protected]@europa.com

Supports a wide variety of devices:Supports a wide variety of devices: Mass storage (HDD, DVD/CD-ROM, tape, etc.)Mass storage (HDD, DVD/CD-ROM, tape, etc.) Communications and connectivity Communications and connectivity

(modem, LAN)(modem, LAN) Audio and security via USBAudio and security via USB

Page 35: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

Device Bay OverviewDevice Bay Overview

Complete architecture for adding/upgrading PC Complete architecture for adding/upgrading PC peripherals without opening the chassisperipherals without opening the chassis

Specifies bus interfaces, form factor, mechanicals, Specifies bus interfaces, form factor, mechanicals, and OS behavior for device insertion and removaland OS behavior for device insertion and removal

Mandatory busesMandatory buses Host: USB, 1394 (400 Mbit host ports) and Host: USB, 1394 (400 Mbit host ports) and

POWER Bus(es) Vid, VopPOWER Bus(es) Vid, Vop Device: either USB, 1394 or both + at least Vid Device: either USB, 1394 or both + at least Vid

and Vop if > 1.5 Wattand Vop if > 1.5 Watt

Key enablers:Key enablers: USBUSB IEEE 1394IEEE 1394

Page 36: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

Device Bay OverviewDevice Bay OverviewForm-factorsForm-factors

3 Device Bay form-factors3 Device Bay form-factors DB32 - 32.00 x 146.00 x 178.00 mmDB32 - 32.00 x 146.00 x 178.00 mm

Size and power optimized for desktopSize and power optimized for desktop DB20 - 20.00 x 130.00 x 141.50 mmDB20 - 20.00 x 130.00 x 141.50 mm DB13 - 13.00 x 130.00 x 141.50 mmDB13 - 13.00 x 130.00 x 141.50 mm

DB20 and DB13’s size and power DB20 and DB13’s size and power optimized for, but optimized for, but notnot limited to, limited to, notebook implementationsnotebook implementations

Page 37: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

Device Bay OverviewDevice Bay OverviewRetaining a connectionRetaining a connection

Retention feature:Retention feature: Required to engage immediatelyRequired to engage immediately

Software-controlled interlockSoftware-controlled interlock RequiredRequired

Security lockSecurity lock OptionalOptional

Any of the above can be combinedAny of the above can be combined

Page 38: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

Device Bay Overview Device Bay Overview BusesBuses

Vid power: 1.5W at 3.3V Vid power: 1.5W at 3.3V (switched by the system)(switched by the system)

Vop power (switched by the device)Vop power (switched by the device) DB32 - 30W electrical, 25W thermalDB32 - 30W electrical, 25W thermal DB20 and DB13 - 4WDB20 and DB13 - 4W

2 serial buses (1394 and USB)2 serial buses (1394 and USB) Keeps appropriate performing devices on Keeps appropriate performing devices on

the corresponding busthe corresponding bus Allows power consumption to scale with Allows power consumption to scale with

performance of the deviceperformance of the device

Page 39: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

Device Bay Overview Device Bay Overview USBUSB

USB is a medium-bandwidth bus USB is a medium-bandwidth bus (1.2 - 12 Mbps)(1.2 - 12 Mbps) Bay requirements:Bay requirements:

One USB port per bayOne USB port per bay Device Bay device requirements:Device Bay device requirements:

Provide power requirement registersProvide power requirement registers Unique serial numberUnique serial number If Vop is used, must be switched with If Vop is used, must be switched with

configuration complete commandconfiguration complete command

Page 40: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

Device Bay Overview Device Bay Overview 13941394

IEEE 1394 and future extensions:IEEE 1394 and future extensions: Initial transfer rate is 100 - 400 Mb/s, with Initial transfer rate is 100 - 400 Mb/s, with

P1394A and P1394B extensions to P1394A and P1394B extensions to support Gbps data rates that must be support Gbps data rates that must be backward compatiblebackward compatible

Device Bay bay requirements:Device Bay bay requirements: One 1394 port per bayOne 1394 port per bay Must support 400Mbps minimumMust support 400Mbps minimum

Page 41: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

Device Bay Overview Device Bay Overview 13941394

Device Bay device requirements:Device Bay device requirements: Provide power requirement registersProvide power requirement registers If Vop is used, must be switched with If Vop is used, must be switched with

start/stop unit commandstart/stop unit command Devices can use 100 - 400MbpsDevices can use 100 - 400Mbps

Encouraged to use highest rate Encouraged to use highest rate possible for devices to minimize possible for devices to minimize equivalent bandwidth requirementsequivalent bandwidth requirements

Page 42: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

Device Bay Overview Device Bay Overview ConnectorConnector

Open industry standardOpen industry standard Blind-mate connector pairBlind-mate connector pair

Plug in the device, receptacle in the bayPlug in the device, receptacle in the bay Supports power, one USB port, Supports power, one USB port,

and one 1394 port in one connectorand one 1394 port in one connector Pin configuration for higher speed Pin configuration for higher speed

1394 (> 1Gb/s) and hot-plug1394 (> 1Gb/s) and hot-plug High durability (min 2,500 cycles)High durability (min 2,500 cycles) Flexible and cable friendlyFlexible and cable friendly

Page 43: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

Device Bay Overview Device Bay Overview Device Bay Controller (DBC)Device Bay Controller (DBC)

Two possible implementations:Two possible implementations: USBUSB ACPI - abstracts HW I/F (PCI, IACPI - abstracts HW I/F (PCI, I22C, etc.)C, etc.)

Required functions:Required functions: Power controlPower control Insertion events (PRSN)Insertion events (PRSN) Software-controlled interlock mechanismSoftware-controlled interlock mechanism 1394 PHY port mapping1394 PHY port mapping USB port mappingUSB port mapping

Page 44: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

Device Bay DevelopmentDevice Bay DevelopmentImplementers guideImplementers guide

Bay mechanical designBay mechanical design Bay electrical designBay electrical design Device Bay Controller (DBC) Device Bay Controller (DBC)

software requirementssoftware requirements Device mechanical designDevice mechanical design Device electrical designDevice electrical design

PowerPower SignalSignal ResetReset

Page 45: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

Bay Mechanical DesignBay Mechanical DesignBay coverBay cover

A bay must be covered when no A bay must be covered when no device is present to keep from “short device is present to keep from “short circuiting” the air flow from other circuiting” the air flow from other baysbays

Watch out for:Watch out for: Devices that are hollow in the centerDevices that are hollow in the center Hanging up on device’s Hanging up on device’s

retention featuresretention features Interacting with the ESD/EMI bay springInteracting with the ESD/EMI bay spring

Page 46: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

Bay Mechanical DesignBay Mechanical DesignDevice alignmentDevice alignment

Bay must provide rough Bay must provide rough device alignmentdevice alignment Needs to get the device to a +/-2mm Needs to get the device to a +/-2mm

connector toleranceconnector tolerance Needs to keep the device in tight Needs to keep the device in tight

vertical and horizontal tolerancevertical and horizontal tolerance Allows retention and interlock Allows retention and interlock

features to engage and features to engage and disengage properlydisengage properly

Page 47: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

Bay Mechanical DesignBay Mechanical DesignRetention mechanismRetention mechanism

Needs to hold the device on the Needs to hold the device on the connector and not allow the device to connector and not allow the device to back off (i.e., 1.46 mm minimum wipe)back off (i.e., 1.46 mm minimum wipe)

Design for multiple device Design for multiple device enclosure materials:enclosure materials: Steel, aluminum, plastic, and bi-material Steel, aluminum, plastic, and bi-material

(metal over plastic) that produces two (metal over plastic) that produces two materials on the same retention facematerials on the same retention face

Page 48: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

Bay Electrical DesignBay Electrical DesignPower switchingPower switching

Vid switching:Vid switching: Should be rampedShould be ramped Insertion resistance (FET, wire, etc.)Insertion resistance (FET, wire, etc.)

Vop switching:Vop switching: OptionalOptional Difficult to maintain valid voltagesDifficult to maintain valid voltages

Feedback from processor power, Feedback from processor power, not from DB powernot from DB power

Must support switching of maximum Must support switching of maximum power on all voltage railspower on all voltage rails

Page 49: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

Bay Electrical Design Bay Electrical Design Connector setsConnector sets

Connector stack-up:Connector stack-up: Two sets minimum for cable versionTwo sets minimum for cable version Easy to get three setsEasy to get three sets

Watch termination and differential Watch termination and differential routing through noisy digital logicrouting through noisy digital logic

There may also be one set in the There may also be one set in the device for mechanical isolation device for mechanical isolation or for adaptersor for adapters

Page 50: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

Bay Controller DesignBay Controller DesignDBC softwareDBC software

After an insertion notification, the After an insertion notification, the DBC driver needs to verify several DBC driver needs to verify several things before it turns on Vidthings before it turns on Vid Verify the Bay is enabled to take devicesVerify the Bay is enabled to take devices Verify there is 1.5W in the power budgetVerify there is 1.5W in the power budget Wait for the device to settle down and Wait for the device to settle down and

become fully latched on the connector become fully latched on the connector before enabling powerbefore enabling power

Page 51: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

Device Design: MechanicalDevice Design: MechanicalCritical dimensionsCritical dimensions

Most critical is keeping the Most critical is keeping the connector square:connector square: Connector float in the Bay and connector Connector float in the Bay and connector

blind-mate features will compensate for blind-mate features will compensate for some tolerance in the X, Y, and Z planessome tolerance in the X, Y, and Z planes

ButBut, if the connector is not square with , if the connector is not square with the device, the float and blind-mate will the device, the float and blind-mate will be of little helpbe of little help

DB32 height is +/-0.25mmDB32 height is +/-0.25mm

Page 52: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

Device Design: Mechanical Device Design: Mechanical

Retention featuresRetention features Critical dimension is from the Critical dimension is from the

retention edge to the back of retention edge to the back of the device the device

Required faces must be present Required faces must be present and in toleranceand in tolerance

Bi-material features must have Bi-material features must have smooth transition from one material to smooth transition from one material to another so as not to “snag” the bay’s another so as not to “snag” the bay’s retention mechanismretention mechanism

Page 53: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

Device Design: Mechanical Device Design: Mechanical Device shellDevice shell

Round corners and edges within Round corners and edges within spec:spec: Round edges reduces the drag of Round edges reduces the drag of

insertion and removal of deviceinsertion and removal of device Round corners help the user get the Round corners help the user get the

device lined up and in the baydevice lined up and in the bay Round edges supports new Round edges supports new

handling modelshandling models The device “feels” better in the The device “feels” better in the user’s user’s

handshands

Page 54: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

Device Design: Mechanical Device Design: Mechanical Device shellDevice shell

Cosmetics no longer limited to Cosmetics no longer limited to front front bezelbezel Users now see the entire deviceUsers now see the entire device

Additional user models beyond Additional user models beyond upgrade need to be considered:upgrade need to be considered: Casual device swappingCasual device swapping Taking devices on the roadTaking devices on the road

Page 55: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

Device Design: Electrical Device Design: Electrical Power switchingPower switching

Vop power switchingVop power switching di/dt requirements support:di/dt requirements support:

Hot pluggingHot plugging Capacitance load-independentCapacitance load-independent

Supports lower power consuming Supports lower power consuming PC in the futurePC in the future

Vid - switched by the Bay (1.5W,3.3V)Vid - switched by the Bay (1.5W,3.3V) Needed to power the native bus interface Needed to power the native bus interface

and allow access of identification and and allow access of identification and power registerspower registers

Page 56: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

Device Design: Electrical Device Design: Electrical Power switchingPower switching

Vop power switching assumptions:Vop power switching assumptions: No more than 5uA can be drawn on No more than 5uA can be drawn on

Vop if Vid is not validVop if Vid is not valid When Vid is not valid, Vid is not When Vid is not valid, Vid is not

required to be shorted to groundrequired to be shorted to ground Vop may or may not be valid when Vid Vop may or may not be valid when Vid

is disabledis disabled Vop power rails can be switched on/off Vop power rails can be switched on/off

in any order when Vid is not validin any order when Vid is not valid

Page 57: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

Device Design: PowerDevice Design: Power

1394: PHY’s with Links required as 1394: PHY’s with Links required as first connectionfirst connection Provides Link to get device information, Provides Link to get device information,

including driver and power requirementsincluding driver and power requirements

Full power authorization via native Full power authorization via native bus driver stack:bus driver stack: USB: configuration completeUSB: configuration complete 1394: Start Unit command1394: Start Unit command Device Bay power manager would fail the Device Bay power manager would fail the

above commands to block enumerationabove commands to block enumeration

Page 58: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

Device Design: PowerDevice Design: Power

All devices are required to support All devices are required to support ACPI states 0, 2, and 3ACPI states 0, 2, and 3 Support of state 1 is Support of state 1 is highlyhighly desired to desired to

support a fully power managed PCsupport a fully power managed PC

0: device is fully on 0: device is fully on 1: reduced power consumption on Vop 1: reduced power consumption on Vop 2: no power consumption on Vop and, 2: no power consumption on Vop and,

if possible, reduced power on Vidif possible, reduced power on Vid Can be same as pre-enumeration stateCan be same as pre-enumeration state

3: device is fully off3: device is fully off

Page 59: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

Device DesignDevice DesignElectrical problemsElectrical problems

Problem:Problem: using 12V of Vop for switch using 12V of Vop for switch voltage enhancement for V5 and V33voltage enhancement for V5 and V33 Vid is not valid, thus the gate might not Vid is not valid, thus the gate might not

be groundedbe grounded Vop12v is valid, thus the gate might not Vop12v is valid, thus the gate might not

be pulled to 12Vbe pulled to 12V

Page 60: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

Device DesignDevice DesignElectrical problemsElectrical problems

Problem:Problem: using Vid (3.3V) and Vop using Vid (3.3V) and Vop (5V) to drive reset circuits(5V) to drive reset circuits Vop is only required to be valid with VidVop is only required to be valid with Vid

If Vop is used for a reset RC circuit, If Vop is used for a reset RC circuit, the reset might not be done when the reset might not be done when Vid becomes valid Vid becomes valid

Page 61: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

Device DesignDevice DesignElectrical problemsElectrical problems

Problem:Problem: input leakage current and input leakage current and voltage for a device that is offvoltage for a device that is off Could violate 5uA current limitCould violate 5uA current limit Voltage feed-through could allow this Voltage feed-through could allow this

voltage to come out another pinvoltage to come out another pin Requires fail-safe buffersRequires fail-safe buffers

Page 62: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

Device DesignDevice DesignElectrical problemsElectrical problems

Problem:Problem: tying two resets together tying two resets together PHY reset RC was biased to 1.4V PHY reset RC was biased to 1.4V

because of input voltage leak when the because of input voltage leak when the device was powered off via TPbiasdevice was powered off via TPbias

PHY reset was tied to Link reset, causing PHY reset was tied to Link reset, causing the Link reset edge to start at 1.4V, the Link reset edge to start at 1.4V, causing a non-complete edge on its resetcausing a non-complete edge on its reset

Page 63: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

Device DesignDevice DesignReset problemsReset problems

When the 1394 bus has completed the When the 1394 bus has completed the self-ID phase, the Link must be able to self-ID phase, the Link must be able to respond to CSR and ROM reads; if it respond to CSR and ROM reads; if it cannot, there are several options:cannot, there are several options: Best: be able to respond after self-IDBest: be able to respond after self-ID Second best: respond with an ack-Second best: respond with an ack-

pending and respond before the ack-pending and respond before the ack-pending times outpending times out

Page 64: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

Device DesignDevice DesignReset problemsReset problems

Link reads after self-IDLink reads after self-ID Third best: strap PHY to come up in link-off mode Third best: strap PHY to come up in link-off mode

Then when the Link is able to take commands, Then when the Link is able to take commands, assert the LPS to the PHY and if the PHY does assert the LPS to the PHY and if the PHY does not do a reset on LPS status change, pop a not do a reset on LPS status change, pop a 1394 bus reset1394 bus reset

Worst, but better than none: let the initial CSR Worst, but better than none: let the initial CSR read’s ack time-out; when the Link becomes read’s ack time-out; when the Link becomes available, cause a 1394 bus resetavailable, cause a 1394 bus reset

Page 65: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

Demo: Device InsertionDemo: Device Insertion

DB deviceDB deviceDB connectorDB connector

Device BayDevice Baycontrollercontroller

DBC driverDBC driver

Device BayDevice Baypowerpower

managermanager

USBUSB ACPIACPI

PR

SN

PR

SNV33V33

V5V5V12V12 V

idV

id

PCI OHCIPCI OHCI

1394 PHY1394 PHY

13941394

1394 class1394 class

OHCIOHCI TI TI LINKSLINKS

PCIPCI

SBP-2SBP-2

Disk.sysDisk.sys

PWR FILTERPWR FILTER

PRSN -> DBC, DBC DriverPRSN -> DBC, DBC Driver Device InsertionDevice Insertion Start blinking LEDStart blinking LEDDBC Driver -> DB PWR MGRDBC Driver -> DB PWR MGR Do we have 1.5 W ?Do we have 1.5 W ?DB PWR MGR -> DBC DriverDB PWR MGR -> DBC Driver YESYESDBC Driver -> DBCDBC Driver -> DBC IF Vop switched, turn on VopIF Vop switched, turn on Vop Turn on VidTurn on Vid Turn LED on solidTurn LED on solid Wait for Native Bus to take overWait for Native Bus to take over

NATIVE BUS:NATIVE BUS:Disk.sys -> SBP-2Disk.sys -> SBP-2 Start UnitStart UnitSBP-2 -> PWR FilterSBP-2 -> PWR FilterPWR Filter -> DB PWR MGRPWR Filter -> DB PWR MGR See Start UnitSee Start UnitDB PWR MGR -> 1394 FilterDB PWR MGR -> 1394 Filter Read Unit Directory Power RegRead Unit Directory Power Reg1394 Filter -> DB PWR MGR1394 Filter -> DB PWR MGR Power Requirements DataPower Requirements DataDB PWR MGR -> 1394 FilterDB PWR MGR -> 1394 Filter Pass or Fail Start UnitPass or Fail Start Unit

Page 66: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

Demo: Copy FilesDemo: Copy Files

Copy files from Device Bay Copy files from Device Bay device to anotherdevice to another

Page 67: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

DB deviceDB device

Demo: Device RemovalDemo: Device Removal

DB connectorDB connector

Device BayDevice Baycontrollercontroller

DBC driverDBC driver

Plug -n- PlayPlug -n- Playmanagermanager

USBUSB ACPIACPI

PR

SN

PR

SNV33V33

V5V5V12V12 V

idV

id

PCI OHCIPCI OHCI

1394 PHY1394 PHY

13941394

1394 class1394 class

OHCIOHCI TI TI LINKSLINKS

PCIPCI

SBP-2SBP-2

Disk.sysDisk.sys

PWR FILTERPWR FILTER

RemReq -> DBCRemReq -> DBC Start blinking LEDStart blinking LEDDBC -> DBC DriverDBC -> DBC Driver Device Removal RequestDevice Removal RequestDBC Driver -> Plug-n-Play MGRDBC Driver -> Plug-n-Play MGR Remove Device RequestRemove Device RequestPlug-n-Play MGRPlug-n-Play MGR Close down all open file handlesClose down all open file handles Send the device to D3 stateSend the device to D3 state When complete, send ACK toWhen complete, send ACK to DBC DriverDBC DriverDBC Driver -> DBCDBC Driver -> DBC Turn off VidTurn off Vid Wait for device to dischargeWait for device to discharge IF Vop switched, turn off VopIF Vop switched, turn off Vop Turn LED offTurn LED off Release software interlocksRelease software interlocksDBC Driver -> DB PWR MGRDBC Driver -> DB PWR MGR Release allocated powerRelease allocated power

RemReqRemReq

Page 68: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

Demo: Moving DevicesDemo: Moving Devices

Show movement of a Device Bay Show movement of a Device Bay device from one machine to anotherdevice from one machine to another

Page 69: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

Demo: Swapping DevicesDemo: Swapping Devices

Remove one Device Bay deviceRemove one Device Bay device Insert a different Device Bay Insert a different Device Bay

device in the same baydevice in the same bay

Page 70: Microsoft And Device Bay Dan Shapiro Program Manager Microsoft Corporation

Questions And Answers Questions And Answers