Why Windows needs more buses Standardized Buses PCI
Why Windows needs more buses
Standardized Buses • PCI and USB • Fast, powerful, enumerable • Class drivers Proprietary Buses • SMBus, LPC, etc • Proprietary uses • Proprietary drivers Simple Buses • I 2 C, SPI, High speed UART, GPIO • Often require embedded controllers and special firmware
The New Picture of System Connectivity
System Chipset Embedded Controller Sensors, buttons, lights, etc.
I 2 C 1 I 2 C 2
Accelerometer I 2 C Ambient Light Sensor Touch Screen Bluetooth Radio I 2 C GPIO UART IHV So. C Vendor ACPI Microsoft
Accelerometer Ambient Light Sensor Touch Screen Bluetooth Radio Resource Hub I 2 C GPIO I 2 C UART IHV So. C Vendor ACPI Microsoft
Introducing each “new” bus
GPIO • Used as interrupt or for general IO • Buttons, switches, lights, system wake, etc • Interrupts for SPB, serial, and other buses SPB • I 2 C, SPI • Up to 3. 4 Mbps for I 2 C, 160 Mbps for SPI • Wide variety of peripherals • Input • Radios • Sensors • Power management Serial • • High Speed UART Up to 20 Mbps No COM ports Typically used for Bluetooth, GPS, and other radios
Leading by example: how to integrate a sensor
Sensor Class Extension Spb. Accelerometer Driver UMDF Simple Peripheral Bus API Windows Driver Interrupts I 2 C Controller Driver (3 rd Party) GPIO Controller Driver (3 rd party) KMDF Sensor Hardware (I 2 C + GPIO)
Recap
Developing, Testing, and Deploying Drivers Windows Hardware Dev Center Windows Dev Center simplebus@microsoft. com
http: //forums. dev. windows. com http: //bldw. in/Session. Feedback
- Slides: 32