Integrating Bluetooth on low-power buses

Slides:



Advertisements
Similar presentations
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Advertisements

© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Preface Demo A Quick Thank You How Did We Do It?
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
© 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
MIX 09 4/15/ :14 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Co- location Mass Market Managed Hosting ISV Hosting.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Feature: OLE Notes Migration Utility
Feature: Web Client Keyboard Shortcuts © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
Session 1.
Built by Developers for Developers…. © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
WinHEC /22/2017 © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Feature: Print Remaining Documents © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.
Connect with life Connect with life
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Feature: Document Attachment –Replace OLE Notes © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product.
Feature: Customer Combiner and Modifier © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
announcing Dev Manager Do I understand what we’ve built? Developer Can I bet on using this shared component? Testers What’s changed since I last.
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.
demo Instance AInstance B Read “7” Write “8”

customer.
demo © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
demo Demo.
demo QueryForeign KeyInstance /sm:body()/x:Order/x:Delivery/y:TrackingId1Z
projekt202 © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks.
© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.

MIX 09 4/17/2018 4:41 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Wireless Communication and Networks
Developing Drivers in Visual Studio
Building a great Metro style device app for your printer
Connecting Bluetooth Low Energy devices to Windows
Возможности Excel 2010, о которых следует знать
Introducing low-power buses for Windows 8
Understanding Wi-Fi Direct in Windows 8
Building Metro style apps that connect to specialized devices
11/8/2018 8:19 PM HW-98P Windows 8 kernel debugging: New protocols and certification requirements Tanya Radeva Program Manager Microsoft Corporation Joe.
Testing mobile broadband devices
Title of Presentation 11/22/2018 3:34 PM
Deep dive on app data roaming
Building a great Metro style device app for your camera
Architecting and integrating sensor drivers
Title of Presentation 12/2/2018 3:48 PM
Customizing WPA Trace Views
1/3/2019 1:21 PM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Create experiences that span devices
Introduction to the new WPA user interface
Building great Windows 8 systems
Best practices for packaging and distributing device drivers
8/04/2019 9:13 PM © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Delivering great hardware solutions for Windows
Windows 8 Security Internals
Виктор Хаджийски Катедра “Металургия на желязото и металолеене”
Feature: Multi-user Editing Allowed in RMA Entry
WINDOWS AZURE A LAP AROUND PLATFORM THE Steve Marx
PENSACOLA ENERGY WORK PLAN OCTOBER 10, 2016
Title of Presentation 5/12/ :53 PM
Шитманов Дархан Қаражанұлы Тарих пәнінің
The complete developer's guide to the SkyDrive API
Title of Presentation 5/24/2019 1:26 PM
5/24/2019 6:44 PM 1/8/18 Bell #10 In a world governed by the gods, is there any room for human will? Do human choices make a difference? EXPLAIN © 2007.
Inside the Windows 8 driver developer workflow
Title of Presentation 7/24/2019 8:53 PM
WCL425 App Compat for Nerds Chris Jackson.
Advanced app and driver debugging
Presentation transcript:

Integrating Bluetooth on low-power buses 11/18/2018 12:33 PM HW-255T Integrating Bluetooth on low-power buses Abhinav Gupta Program Manager Microsoft Corporation © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Agenda Transport connectivity – challenges & goals Delivering great Bluetooth experiences Sample Bluetooth integration You’ll leave with examples of how to Develop for Bluetooth connectivity using low-power transports Incorporate vendor-specific customizations

Improved power efficiency calls for lower power Bluetooth transport connectivity.

Transport connectivity – challenges & goals USB controllers are scarce & targeted for higher-bandwidth apps Goal: provide a transport extensibility model so you have connectivity options Bluetooth controllers using lower power buses rely on vendor-specific customizations Goal: enable implementation flexibility so integration is easy for you

Transport connectivity – challenges & goals Performance impact when using lower power transports Goal: ensure higher-layer Bluetooth scenarios remain transport agnostic so you can deliver the same experiences Voice-based scenarios have stricter latency requirements Goal: support an alternate voice channel (offloading) so you can achieve optimal audio quality while further reducing power

Bluetooth on QC and TI ARM platforms 11/18/2018 12:33 PM demo Bluetooth on QC and TI ARM platforms Tablet with several Bluetooth peripherals Speakers – listening to music HID – using a keyboard & mouse Bluetooth transport: high-speed UART © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Sample Bluetooth integration

Windows 7 stack architecture A look at Windows 7 USB Bluetooth controller support BthPort.sys: core driver BthUSB.sys: USB miniport driver Enumeration via PnP Inbox profiles HID, OPP, PAN, HCRP, SPP, DUN BthPort.sys SDP L2CAP SCO HCI BthUSB.sys USB port driver Bluetooth controller MSFT component 3rd party H/W

Windows 8 stack architecture A look at Windows 8 Transport connectivity options BthMini.sys: extensible driver Transport driver: vendor-supplied Controller drivers: meant for data I/O, power up & idle/wake Enumeration via ACPI ACPI table definition Enables for the same driver to be used across platforms BthPort.sys BthMini.sys BthUSB.sys Bluetooth transport driver Framework extensions USB port driver Controller driver(s) Bluetooth controller Vendor component 3rd party H/W MSFT component

Sample system connectivity System designer – required controllers: Data I/O Power on/off Idle/wake signaling (Bluetooth enable, host wake) Chosen controllers: HS-UART I2C GPIO System core I2C GPIO GPIO HS-UART BT_ENABLE DATA_IO HOST_WAKE Bluetooth controller POWER Power Management IC

Sample ACPI description for Bluetooth Device (BTH0) { Name (_HID, "ABCD_BTH") //where "ABCD" is vendor name; Method (_CRS, 0x0, NotSerialized) Name (RBUF, ResourceTemplate() //UART Serial Bus Descriptor UARTSerialBus (0xC0, LittleEndian, DataBitsEight, StopBitsOne, FlowControlHW, 115200, 480, 32, ParityTypeNone, "\\_SB.UAR1", , ) //I2C Descriptor ... //GPIO Descriptor }) Return (RBUF) }

Sample stack architecture Dependent controller drivers UART, I2C, GPIO Based on frame extensions (Cx) WDK samples – easier development Bluetooth transport driver KMDF WDK sample – UART Vendor supplied for: Device configuration (& F/W update) Power up & idle/wake Combo-chip support Radio on/off BthPort.sys BthMini.sys Bluetooth transport driver Bluetooth UART transport driver UART Cx Framework extensions I2C Cx GPIO Cx Controller driver(s) UART driver I2C driver GPIO driver Bluetooth controller Vendor component 3rd party H/W MSFT component

Sample device configuration Setting up the Bluetooth controller Configuration done through vendor-specific commands Enabling implementation flexibility Integrated within transport driver Separate initialization library BthPort.sys BthMini.sys Initialization Lib Bluetooth UART transport driver UART Cx I2C Cx GPIO Cx UART driver I2C driver GPIO driver Bluetooth controller Vendor component 3rd party H/W MSFT component

Core stack device power states & transitions How does the Bluetooth stack achieve energy efficiency? You can leverage this behavior and easily integrate it into your designs S0 D0: Active WAKE D2: Low Duty Cycle ON IDLE Sx D3: Off OFF

Sample Bluetooth power-up & idle/wake I2C – Bluetooth power on GPIO – Bluetooth enable Idle GPIO – armed for wake GPIO – Bluetooth disable Wake GPIO – Host wake detected System core I2C GPIO GPIO GPIO GPIO HS-UART BT_ENABLE DATA_IO HOST_WAKE Bluetooth controller POWER Power Management IC

Sample combo-chip & radio on/off support More radios becoming integrated Sample combo-chip device Transport driver now a bus driver Can accommodate for changing H/W configurations Radio on/off A unified radio management experience across system components Vendor-provided DLL is easy to integrate BthPort.sys FM GPS Radio manager BthMini.sys Bth on/off DLL UART bus driver Bluetooth transport driver UART Cx I2C Cx GPIO Cx UART driver I2C driver GPIO driver Multi-function device (BT/FM/GPS) Vendor component 3rd party H/W MSFT component User-mode component

Bluetooth profile support

Supported profiles Inbox profiles HID, PAN, OPP (file transfer), HCRP (print) HFP (with sideband support), A2DP, AVRCP Partners can develop profiles on top of the stack

Sample sideband SCO audio (voice) support Voice has strict latency requirements Isochronous channel in USB ensures on-time delivery Low-power buses don’t have a prioritization concept Rely on an I2S/PCM channel for improved audio quality Enabling flexibility in the HFP driver USB: operates in “in-band” mode Low-power buses: operates in “side-band” mode 3rd party app (e.g. Skype) Audio core CallButtons API Audio driver HFP driver Bluetooth stack Transport driver Bluetooth controller I2S HS-UART MSFT component Vendor component 3rd party H/W

Performance & CPU utilization (back to the demo)

Performance & CPU utilization analysis File transfer (object push profile) – receive & transmit scenarios Internal HS-UART (no DMA) vs. external USB radio on the same platform For about the same throughput, CPU utilization is higher for USB Throughput CPU Utilization USB: ~68% more USB: ~17% faster USB: ~2% faster USB: ~6% more

Windows certification for Bluetooth Our stack provides a platform so you can easily integrate and innovate Benefit from tight integration with the power management framework Leverage inbox experiences and develop more higher-layer profiles We need your help in designing Bluetooth controllers that deliver the highest quality experiences to our customers

Final remarks Developed for Bluetooth connectivity using low-power transports Bluetooth stack is enabling implementation ease & flexibility around: Transport connectivity, device configuration, power-up & idle/wake signaling, combo-chip support, and unified radio management Bluetooth stack is delivering key end-user experiences

Call to action Meet certification requirements for your system Follow extensible transport Bluetooth bring-up guidelines: ACPI table description – device properties & interconnectivity Bluetooth transport/bus driver Dependent controller drivers Audio driver

Related sessions [Session 774] Building great Windows 8 systems [Session 251] Introducing low-power buses for Windows 8 [Session 254] Connecting Bluetooth Low Energy devices to Windows

Further reading and documentation Bluetooth Extensible Transport Enumerations Bluetooth Extensible Transport Structures Bluetooth Extensible Transport IOCTLs Bluetooth Software Radio Switch Function Prototypes Bluetooth Devices Reference Windows Hardware Dev Center Windows Dev Center More about Bluetooth http://www.bluetooth.org

thank you Feedback and Questions: http://forums.dev.windows.com Session Feedback: http://bldw.in/SessionFeedback

11/18/2018 12:33 PM © 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. © 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.