总线和传感器度量值

总线和传感器措施有助于确保跨 Windows 设备进行可靠的硬件通信和准确的环境感知。 这些措施旨在检测和防止可能导致性能下降、意外行为或用户体验不佳的问题。 通过监视关键设备类(例如 USB、系统总线和传感器),Windows 可以主动识别故障、强制实施驱动程序质量标准,并支持跨不同平台的一致功能。

概述

总线和传感器设备类包含关键的硬件连接和环境感知组件,这些组件可实现现代计算体验。 这些设备类包括 USB 连接、系统总线(PCIe、I2C、SPI)和各种传感器(加速计、陀螺仪、环境光、邻近度),这些传感器为跨桌面、移动和 IoT 方案提供自适应计算、安全性和用户体验功能的基本数据。

开发框架和驱动程序模型

  • USB 驱动程序利用多个框架选项,具体取决于复杂性和设备类型。 WinUSB 为自定义设备提供了最简单的路径,使用户模式应用程序可以直接通过 WinUSB API 进行通信,而无需自定义内核驱动程序。 标准 USB 设备类使用内置驱动程序,如 HID(hidusb.sys)用于输入设备和大容量存储(usbstor.sys)用于存储设备。 复杂的 USB 实现将 Windows 驱动程序框架(WDF)与 KMDF 配合使用,用于内核模式驱动程序,这些驱动程序需要直接硬件访问,并且将 UMDF 用于具有增强安全性的用户模式驱动程序。

  • PCIe、I2C 和 SPI 等总线依赖于专用框架,包括与 Windows PCI 总线驱动程序体系结构集成的 I2C/SPI 控制器和 PCIe 微型端口驱动程序简单外围总线(SPB)框架。

  • 传感器 开发主要使用 Windows 传感器框架传感器类扩展(SensorsCx), 它为环境、运动、方向和生物识别传感器提供标准化 API。 该框架通过 通用传感器驱动程序模型 抽象化硬件复杂性,以便通过 Windows 运行时传感器 API 将一致的传感器数据传输到应用程序。 现代传感器部署还利用人机接口设备(HID)框架针对通过 HID 描述符报告的传感器,并且在传感器与云服务和机器学习管道集成的边缘计算场景中,越来越多地利用 Windows IoT 核心扩展。