bno055传感器数据不更新_BMF055和BNO055器件:快速开发传感器融合设计的定制

本文介绍了Bosch Sensortec的BNO055和BMF055传感器模块在实现传感器融合中的应用,这些器件集成了多种传感器和MCU,简化了方向和运动感测的设计。BNO055提供预处理的传感器融合数据,而BMF055则允许更高级别的定制。这两种解决方案降低了开发难度,适用于需要精确方向和运动感测的广泛应用。
摘要由CSDN通过智能技术生成

准确可靠地感测位置、方向和运动已经成为许多细分市场(包括消费、工业和军用/航空)各种应用领域的必要需求。要提供这种复杂的数据,适用的传感器系统除了整合来自基本的陀螺仪传感器或加速计的结果外,还需其他方面的结果。

从这些单独的传感器获得准确的读数本身就很难,系统设计人员还需进一步组合多个传感元件的输出,并通过传感器融合来整合其输出。然而,实施传感器融合的复杂性极易造成系统开发停滞不前。

为此,设计人员可以转而使用Bosch Sensortec的两款方向传感器器件。这些器件提供了一种比定制传感器融合设计更简单的替代方案,通过现成的解决方案加快传感器融合功能的开发。

传感器融合的需求

感知方向和运动的能力在依赖虚拟或物理运动的应用中起着至关重要的作用。智能手机依靠这种能力来进行各种操作,简单如纵向显示切换到横向显示,复杂如无需GPS辅助即可操作的惯性导航应用。除了智能手机及许多其他消费品和工业物联网(IoT)产品外,医疗和汽车应用越来越需要一定程度的方向感知功能。虽然在实施具有方向感知的传感器融合设计上会有所起伏,但这让设计人员有机会提供与众不同的设计。

在硬件层面,底层传感系统用加速计检测运动,用陀螺仪感测旋转,并用磁力仪识别航向。理论上,这些传感器可以提供确定方向、位置和航向所需的所有必要信息。

然而在实践中,每种传感器在其传输必要数据的能力方面都表现出严重的局限性。加速计的高灵敏度会带来高噪声。陀螺仪会随时间产生漂移,因此不能提供绝对旋转数据。磁力仪会响应所有磁场并会因给定设置中发现的磁性材料产生异常结果。

此外,这些传感器类型中没有一个能够明确地测量偏航等更复杂的运动,更不用说根据地球的磁场识别传感器的绝对方向。要取得这些更复杂的结果,需要在所谓的“传感器融合”的过程中组合传感器数据。

传感器融合方法

传感器融合会合并来自多个传感器的数据,以得出从单个传感器无法得出的结果。方向和惯性导航专家采用为特定类别的应用设计的一系列传感器融合算法。这些算法的细节不在本文的探讨范围内,但每种算法都力求优化原始传感器数据的合并,这些数据经传感器噪声和精度等各种特性进行了静态或动态加权。结果是使用诸如欧拉角或四元数等抽象概念的方向和运动的数学投影。

幸运的是,开发人员不必成为传感器融合算法的专家就能利用这些算法的功能。在构建传感器融合应用时,开发人员可以使用现有的软件解决方案,如NXP Semiconductors传感器融合库。设计用于在Kinetis K20之类的MCU上运行的NXP软件可以组合使用由可编程增益放大器(PGA)、比较器和模数转换器(ADC)组成的MCU集成模拟信号链采集的传感器数据。

这种基于MCU的方法在满足特定应用需求方面具有极大的灵活性。没有传感器融合理论经验的开发人员可以使用现成的库开发经过优化的系统。希望实施更专业算法的专家可以在目标应用程序中替换其代码。即使如此,所有开发人员在前端传感器系统自身的设计上仍面临重大挑战。

不管算法如何,传感器融合结果的精度很大程度上取决于底层传感器设计。作为传感器融合的基本要求,传感器测量值需要紧密/或足够紧密地同步,以满足时间分辨率的应用要求。目标传感器的物理布局等问题会影响同步,特别是对于传感器远离传感器处理设备的应用而言。在这些情况下,传感器及其各自的信号处理链之间的不同时序路径会导致同步中出现系统定时误差。虽然开发人员可以解释这些差异,但基于集成传感器的方法化解了这个问题。

集成传感器模块简化了融合

集成传感器器件将每个目标传感器放置在同一个模块上,消除了有关不同时序路径的实际问题。此外,使用这种器件,开发人员可以依赖于其传感器模块设计人员来尽量减少噪声源或会影响传感器精度的其他设计因素。事实上,Bosch Sensortec通过其BMF055 9轴方向传感器使这种方法更进一步。这种系统级封装(SiP)器件将Atmel ATSAMD20J18A 32位MCU和与其BMA280加速计、BMG160陀螺仪和BMM150地磁传感器(图1)大致相当的传感器加以集成。(注意,BMF055的传感器在某些性能值方面与其独立的等效产品有所不同。)

图1:Bosch Sensortec BMF055将传感器与基于Atmel Cortex-M0+的MCU相结合,收集原始传感器数据并执行传感器融合,简化了方向和惯性测量应用的传感器系统设计。

基于ARM®Cortex®-M0+内核的内置Atmel ATSAMD20J18A MCU集成了32 KB的SRAM和256 KB的闪存。它用作本地主机,通过SPI总线获取原始传感器数据,并在模块内执行传感器融合软件算法。反过来,Atmel MCU通过USART接口与外部主机通信,以传输最终的传感器融合结果。

硬件设计简单明了。BMF055只需要一个外部32 KHz晶体和电容即可完成传感器融合设计(图2)。事实上,Bosch Sensortec BMF055评估套件提供了一个简单的即用型开发平台,将分线板与包含BMF055和所有必要组件的小板组合在一起。

图2:Bosch Sensortec BMF055几乎不需要额外组件来实施方向传感器系统,并提供串行接口用于开发及将传感器融合结果传输到主机系统。

BMF055 SiP消除了传感器融合设计硬件实施的重大障碍。需要自行编写传感器融合算法的开发人员可以使用BMF055作为集成替代方案,不用再创建基于MCU的传感器融合设计。事实上,Bosch Sensortec在基于Atmel软件框架(ASF)的分层架构中提供了BSX-Lite传感器融合库。

该软件包在每一层上都公开了一系列API,用于访问BSX-Lite库、传感器驱动程序和底层ASF驱动程序(图3)。实际的运行时间代码驻留在随分发包提供的封装库中。开发人员可以在提供的堆栈上快速构建其应用程序,根据特定应用程序需求替换自己的专有传感器融合库。

图3:Bosch Sensortec提供传感器融合软件包,允许通过API访问BSX-Lite传感器融合库、传感器和Atmel软件框架(ASF)。

Bosch Sensortec软件包甚至包含示例代码,该代码能展现用于执行各种器件操作(代码列表)的高级调用。软件为每个传感器提供了分类,因此从特定传感器读取数据就像为相应类别的实例调用适当的方法一样简单。传感器支持库中的低级例程执行必要的总线读取,由嵌入式MCU执行,以通过SiP模块的内部SPI总线访问传感器器件寄存器。

直接替代型解决方案

凭借完整的可编程性,BMF055为需要定制功能,甚至专门的传感器融合计算的应用提供了有效的解决方案。对于寻求快速直接替代型解决方案的开发人员,Bosch Sensortec BNO055将传感器融合固件与传感器和MCU集成,直接输出固件所生成的高级信息。BNO055使用基于寄存器的方法,能让主机获得最终的结果,包括加速度、线性加速度、重力矢量、磁场强度、角速率、温度,以及欧拉角或四元数的方向。

对于硬件集成,模块提供I2C和UART端口用于连接到主机,并需要与BMF055相同的基本晶体和电容器补充。与BMF055一样,Bosch Sensortec还提供了一个BNO055开发板,其中包括该器件和所有必需的组件。

因为BNO055执行传感器融合计算并提供最终结果,所以软件界面相对简单。基本器件驱动程序处理外部主机通过I2C或UART硬件接口访问器件所需的总线读写操作。

低级软件例程会访问BNO055的专用寄存器来检索特定的传感器融合结果。

增强现实、无人机和智能手机等应用依赖于确定方向和运动的能力。传感器融合基于不能单独生成信息或者不能明确和快速生成信息的传感器来提供这些信息。对于设计人员来说,创建合适的传感器解决方案在硬件设计和软件开发方面都面临重大挑战。

BMF055和BNO055器件能满足快速开发传感器融合设计的定制和直接替代型解决方案的需求。

注:文章内的所有配图皆为网络转载图片,侵权即删!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值