适用于Windows操作系统的传感器驱动方法和驱动系统技术方案

技术编号:17939231 阅读:48 留言:0更新日期:2018-05-15 19:46
本发明专利技术公开了一种适用于Windows操作系统的传感器驱动方法和驱动系统,传感器驱动方法包括:检测连接到应用处理器的传感器的工作模式;将来自传感器的原始数据输入算法库,并以该工作模式调用算法库以计算出虚拟的传感器结果;将该虚拟的传感器结果上报到应用处理器。对使用者来说,改变传感器配置方案后,最多只需要改变ACPI表中的I2C从地址,不再需要更新整个驱动系统,减少了很多工作量,尤其是极大简化了使用者移植驱动的难度和时间。对于开发者来说,减少了代码分支,只需要维护一套驱动代码,并且出现问题调试时,只需要统一用同一个调试文件来抓取信息进行分析,也减少了工作量。

【技术实现步骤摘要】
适用于Windows操作系统的传感器驱动方法和驱动系统
本专利技术涉及传感器驱动领域,特别涉及一种适用于Windows操作系统的传感器驱动方法和驱动系统。
技术介绍
随着Windows系统近年来在移动设备上的推广,越来越多的平板和手机选择了Windows系统作为其操作系统,应用于移动设备的传感器数量亦呈增长趋势。与笔记本上单一使用加速度计的硬件设计不同,移动设备上的传感器配置方案(sensorsolution)更加多样,更多配备的是六轴或者九轴的传感器配置方案。为了得到更优的用户体验与计算精确度,使用fusion算法并且将其应用在针对传感器的六轴和九轴配置方案当中。为了节省成本,一些现有的传感器配置方案是以I2C直接连接传感器的方式进行硬件设计,并没有MCU(微控制单元)部分,而驱动的工作内容也从MCU上固件(firmware)的编写转移到了Windows操作系统用户层上的UMDF(用户模式驱动程序框架)驱动开发上来。一些现有的六轴与九轴设计的传感器配置方案采用的是I2C直连的传感器硬件连接方案,而驱动则是使用带fusion算法的Windows驱动,该驱动是UMDF1.X架构,并且调用了fusion算法库。针对六轴和九轴传感器配置方案的Windows驱动可以只有一个驱动。如图1所示,该驱动10为一个带有fusion算法库的combo驱动,管理多个物理传感器11,直接获取物理传感器的原始数据,然后将原始数据交给驱动中的fusion算法库,由fusion算法库将物理传感器的原始数据作为输入数据,最终计算出各个虚拟传感器需要的结果,并且上报给上层12,即Windows系统的上层分层接口。针对六轴九轴的驱动,虽然总数只有一个,但是由于移动设备上的传感器配置方案较多,例如有的是指南针方案,有的是九轴方案,有的又是惯性测量单元方案,现有的驱动管理模式是,不同的传感器配置方案对应不同的combo驱动,同时不同的combo驱动对应不同的ACPI表文件。传感器配置方案不同,硬件上的物理传感器类型可能不同,从而对应的工作模式不同。在现有的多分支combo驱动管理模式下,要求开发人员,根据传感器配置方案的不同,选择不同的驱动代码,编译出对应其工作模式的驱动,从而适应不同的传感器配置方案。这样的方式需要管理多套驱动代码,遇到不同的传感器配置方案时需要发布不同的combo驱动。一旦传感器配置方案发生变化,使用者不得不重新改写ACPI表,刷新BIOS(基本输入输出系统),重新安装调试新的combo驱动,还要再次生成OSimage(操作系统映像)。这样很多工作需要重头做起,容易重复出错。而开发者则需要变换代码分支,生成新的驱动,还要再次解决错误问题,使用新的debug文件,浪费了很多不必要的时间和精力。
技术实现思路
本专利技术所解决的技术问题在于克服了现有技术中的至少一个缺陷,提供一种适用于Windows操作系统的传感器驱动方法和驱动系统。本专利技术通过以下技术方案解决上述技术问题。一种适用于Windows操作系统的传感器驱动方法,包括:检测连接到应用处理器的传感器的工作模式;将来自传感器的原始数据输入算法库,并以该工作模式调用算法库以计算出虚拟的传感器结果;将该虚拟的传感器结果上报到应用处理器。优选地,检测连接到应用处理器的传感器的工作模式包括:识别传感器的类型,以获知传感器配置方案;基于获知的传感器配置方案判定所需的工作模式。优选地,识别传感器的类型包括:按照ACPI表中的I2C从地址与传感器依次通信,得到该I2C从地址处的传感器的芯片识别号;将得到的各传感器的芯片识别号与预存的芯片识别号进行匹配,以获知各传感器的类型。优选地,基于获知的传感器配置方案判定所需的工作模式包括:对于加速度传感器和陀螺仪传感器这种传感器配置方案,判定所需的工作模式为IMU工作模式;对于加速度传感器和地磁传感器这种传感器配置方案,判定所需的工作模式为COMPASS工作模式;对于加速度传感器、地磁传感器和陀螺仪传感器这种传感器配置方案,判定所需的工作模式为NDOF工作模式。优选地,该算法库具有统一的输入接口和工作模式切换模块以根据不同的工作模式产生不同的输出。优选地,在获知传感器配置方案后,将该传感器配置方案通报应用处理器。根据本专利技术实施例的另外一个方面,还提供了一种适用于Windows操作系统的传感器驱动系统,包括:工作模式检测装置,用于检测连接到应用处理器的传感器的工作模式;调用装置,用于将来自传感器的原始数据输入算法库,并以该工作模式调用算法库,由算法库计算出虚拟的传感器结果;以及上报装置,用于将该虚拟的传感器结果上报到应用处理器。优选地,所述工作模式检测装置包括:识别装置,用于识别传感器的类型,以获知传感器配置方案;判定装置,用于基于获知的传感器配置方案判定所需的工作模式。优选地,所述识别装置包括:寻址装置,用于按照ACPI表中的I2C从地址与传感器依次通信,得到该I2C从地址处的传感器的芯片识别号;匹配装置,用于将得到的各传感器的芯片识别号与预存的芯片识别号进行匹配,以获知各传感器的类型。优选地,在判定装置中:对于加速度传感器和陀螺仪传感器这种传感器配置方案,判定所需的工作模式为IMU工作模式;对于加速度传感器和地磁传感器这种传感器配置方案,判定所需的工作模式为COMPASS工作模式;对于加速度传感器、地磁传感器和陀螺仪传感器这种传感器配置方案,判定所需的工作模式为NDOF工作模式。优选地,该算法库具有统一的输入接口和工作模式切换模块以根据不同的工作模式产生不同的输出。优选地,传感器驱动系统还包括通报装置,用于在获知传感器配置方案后,将该传感器配置方案通报应用处理器。本专利技术的积极效果在于:对使用者来说,改变传感器配置方案后,最多只需要改变ACPI表中的I2C从地址,不再需要更新整个驱动系统,减少了很多工作量,尤其是极大简化了使用者移植(porting)驱动的难度和时间。对于开发者来说,减少了代码分支,只需要维护一套驱动代码,并且出现问题调试时,只需要统一用同一个调试文件来抓取信息进行分析,也减少了工作量。附图说明图1显示了现有的六轴九轴传感器Windows驱动结构图;图2显示了根据本专利技术的适用于Windows操作系统的传感器驱动方法;图3显示了根据本专利技术的适用于Windows操作系统的传感器驱动系统。具体实施方式下面通过实施例的方式进一步说明本专利技术,但并不因此将本专利技术限制在所述的实施例范围之中。对于现有技术中传感器配置方案不同而需要多套combo驱动和多套驱动代码,其使用的算法库均是fusion算法库(fusion算法库是一种对采集自物理传感器的原始数据进行计算从而得到虚拟传感器结果的算法库),只是fusion算法库被调用时使用的工作模式不同,而工作模式的不同又导致了驱动上报给上层的虚拟传感器不同。在多分支驱动代码中,工作模式恰好是由软件应用工程师根据实际连接的物理传感器,由开发者在代码中改写宏定义来确定的。从软件角度来看,不同配置方案的驱动代码不同点,仅仅在于fusion算法工作模式的不同,而工作模式的不同,是由传感器配置方案中硬件连接的物理传感器的类型所决定的。对于现有的采用一个combo驱动管理所有物理传感器的特殊模式,不管物理传感器的本文档来自技高网
...
适用于Windows操作系统的传感器驱动方法和驱动系统

【技术保护点】
一种适用于Windows操作系统的传感器驱动方法,其特征在于,所述传感器驱动方法包括:检测连接到应用处理器的传感器的工作模式;将来自传感器的原始数据输入算法库,并以该工作模式调用算法库以计算出虚拟的传感器结果;将该虚拟的传感器结果上报到应用处理器。

【技术特征摘要】
1.一种适用于Windows操作系统的传感器驱动方法,其特征在于,所述传感器驱动方法包括:检测连接到应用处理器的传感器的工作模式;将来自传感器的原始数据输入算法库,并以该工作模式调用算法库以计算出虚拟的传感器结果;将该虚拟的传感器结果上报到应用处理器。2.如权利要求1所述的传感器驱动方法,其特征在于,检测连接到应用处理器的传感器的工作模式包括:识别传感器的类型,以获知传感器配置方案;基于获知的传感器配置方案判定所需的工作模式。3.如权利要求2所述的传感器驱动方法,其特征在于,识别传感器的类型包括:按照ACPI表中的I2C从地址与传感器依次通信,得到该I2C从地址处的传感器的芯片识别号;将得到的各传感器的芯片识别号与预存的芯片识别号进行匹配,以获知各传感器的类型。4.如权利要求2所述的传感器驱动方法,其特征在于,基于获知的传感器配置方案判定所需的工作模式包括:对于加速度传感器和陀螺仪传感器这种传感器配置方案,判定所需的工作模式为IMU工作模式;对于加速度传感器和地磁传感器这种传感器配置方案,判定所需的工作模式为COMPASS工作模式;对于加速度传感器、地磁传感器和陀螺仪传感器这种传感器配置方案,判定所需的工作模式为NDOF工作模式。5.如权利要求1所述的传感器驱动方法,其特征在于,该算法库具有统一的输入接口和工作模式切换模块以根据不同的工作模式产生不同的输出。6.如权利要求2所述的传感器驱动方法,其特征在于,在获知传感器配置方案后,将该传感器配置方案通报应用处理器。7.一种适用于Windows操作系统的传感器...

【专利技术属性】
技术研发人员:葛冰晶
申请(专利权)人:罗伯特·博世有限公司
类型:发明
国别省市:德国,DE

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1