integrating bluetooth on low power buses n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Integrating Bluetooth on low-power buses PowerPoint Presentation
Download Presentation
Integrating Bluetooth on low-power buses

Loading in 2 Seconds...

play fullscreen
1 / 29

Integrating Bluetooth on low-power buses - PowerPoint PPT Presentation


  • 148 Views
  • Uploaded on

HW-255T. Integrating Bluetooth on low-power buses. Abhinav Gupta Program Manager Microsoft Corporation. Agenda. Transport connectivity – challenges & goals Delivering great Bluetooth experiences Sample Bluetooth integration You’ll leave with examples of how to

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Integrating Bluetooth on low-power buses' - acacia


Download Now An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
integrating bluetooth on low power buses
HW-255T

Integrating Bluetooth on low-power buses

Abhinav Gupta

Program Manager

Microsoft Corporation

agenda
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
transport connectivity challenges goals
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 goals1
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
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

windows 7 stack a rchitecture
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 a rchitecture
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

MSFT component

Vendor component

3rd party H/W

sample system c onnectivity
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
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 a rchitecture
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 UART transport driver

Bluetooth transport driver

I2C Cx

Framework extensions

UART Cx

GPIO Cx

I2C driver

Controller driver(s)

UARTdriver

GPIO driver

Bluetooth controller

MSFT component

Vendor component

3rd party H/W

sample device c onfiguration
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

I2C Cx

UART Cx

GPIO Cx

I2C driver

UARTdriver

GPIO driver

Bluetooth controller

MSFT component

Vendor component

3rd party H/W

core stack d evice p ower s tates transitions

D0: Active

Core stack device power states & transitions
  • D2: Low Duty Cycle
  • How does the Bluetooth stack achieve energy efficiency?
  • You can leverage this behavior and easily integrate it into your designs

S0

  • D3: Off

WAKE

ON

IDLE

Sx

OFF

sample bluetooth power up idle wake
Sample Bluetooth power-up & idle/wake
  • Power up
    • I2C – Bluetooth power on
    • GPIO – Bluetooth enable
  • Idle
    • GPIO – armed for wake
    • GPIO – Bluetooth disable
  • Wake
    • GPIO – Host wake detected
    • GPIO – Bluetooth enable

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 o ff s upport
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

I2C Cx

UART Cx

GPIO Cx

I2C driver

UARTdriver

GPIO driver

Multi-function device (BT/FM/GPS)

MSFT component

Vendor component

3rd party H/W

User-mode component

supported profiles
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
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

HFP driver

Audio driver

Bluetooth stack

Transport driver

Bluetooth controller

I2S

HS-UART

MSFT component

Vendor component

3rd party H/W

performance cpu u tilization a nalysis
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
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
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
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
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
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 DevCenter
  • More about Bluetooth
    • http://www.bluetooth.org
feedback and questions http forums dev windows com session feedback http bldw in sessionfeedback
thank you

Feedback and Questions: http://forums.dev.windows.com

Session Feedback: http://bldw.in/SessionFeedback

slide28

© 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.