ST意法半导体
直播中

刘刚

7年用户 1063经验值
私信 关注
[问答]

如何使用WHO_AM_I寄存器值来区分某些惯性传感器

你好,
我需要使用 WHO_AM_I 寄存器值来区分某些惯性传感器,但我意识到该值在某些产品中是相同的。

例子:
ISM330DLC 和 LSM6DSM 共享相同的 01101010 WHO_AM_I 值。
LSM6DSO 和 LSM6DSO32 共享相同的 01101100 WHO_AM_I 值。

在第一种情况下,ISM330DLC 和 LSM6DSM,这似乎不是主要问题,只是无法确切知道威廉希尔官方网站 板上安装了哪个部件。据我所知,这两个选项的所有寄存器和配置都是相同的。
但是,对于 LSM6DSO 和 LSM6DSO32,这是一个问题。使用此信息无法知道威廉希尔官方网站 板上安装了哪些确切部件,并且每个部件都需要一些特定的寄存器值(设置加速度计满量程是最明显的区别)。

只是为了提供一些背景信息:我们正在开发一块带有一些惯性传感器足迹的威廉希尔官方网站 板,我们希望在 BOM 中具有一定的灵活性,以应对组件短缺和价格上涨。应该由固件来检测 PCB 上安装的传感器,并相应地进行配置。

除了 WHO_AM_I 寄存器之外,还有其他方法可以区分这些传感器吗?




回帖(1)

龙旭

2022-12-23 10:59:07
除了检查 WHO_AM_I 值之外,我认为您可以通过地址区分传感器?话虽如此,我假设您使用的是 I2C 模式。

我查看了 LSM6DSO32 的数据表,发现可以通过设置或重置引脚 (SA0) 来更改设备地址的 I²C 最低有效位。参考来自数据表的表 2。

如果您使用的是 SPI 模式,您可以通过为传感器分配不同的 CS 引脚来区分传感器吗?

举报

更多回帖

发帖
×
20
完善资料,
赚取积分