ST意法半导体
直播中

叹久

9年用户 765经验值
擅长:可编程逻辑 光电显示 接口/总线/驱动
私信 关注
[问答]

为什么会发生LIS2DS12的采样频率不准确的情况呢?

我有兴趣同时使用两个 LIS2DS12 传感器测量加速度。因此,我开始测量(几乎同时),采样频率为 800Hz,持续 10 秒,两个传感器的满量程范围为 +-2g。测试用例如下。两个传感器都放在桌子上,我在桌子上施加轻微的震动。
我的预期结果是在两个传感器上同时看到传感器数据的振动。由于同时启动时不准确,两个传感器之间可能存在偏移。但是这个偏移量应该在 10 秒的测量时间内保持不变。
正如您在附图 (measurement.png) 中看到的那样,我成功地测量了两个传感器的振动。由于同时启动两个传感器的不准确性,也存在偏移。但如果我们仔细观察,偏移量将不会保持不变。它改变了。图片first_shock.png 顾名思义,显示了测量的第一次冲击。第一个传感器在震动发生前的最后一个测量点大约为 74 毫秒,第二个传感器的最后一个测量点大约为 393 毫秒。因此,第一次冲击的两个传感器之间的偏移量为 319 毫秒。如果我们看一下 last_shock.png,我们会看到传感器之间有 233 毫秒的偏移。
因此,我的问题是这怎么可能?我仅有的两个想法是我丢失了样本,但我现在不知道为什么会发生这种情况。LIS2DS12 的时钟控制可能不准确,因此采样频率会随时间变化,因此会发生偏移时间的偏移。
更多的信息:
两个传感器具有相同的配置(800Hz、10s、+-2g)并且处于连续模式。如果 fifo 中有超过 2 个样本,我会读取数据,因此读取请求的时间 (~970µs) 小于 1/ODR(800Hz 时为 1.25ms)。我还在每次读取请求时检查寄存器 0x​​2F 是否有 fifo 溢出或 fifo 已满,因此没有数据丢失。


回帖(1)

夏房釜

2023-1-4 11:04:47
我咨询了一些同事,实际 ODR 值的差异很常见(由于很多物理原因而变化),包括平均值和准时值。
检查这些值,与标称的 800Hz 有 1.2% 的偏差。
这个值并不常见(通常较低),但不可能非常精确。
如果对于您的应用程序,您需要比这更精确的 ODR,您可以遵循 2 种不同的路径:


  • 如何表征 ODR,您发现了平均 ODR 的差异,因此您可以通过在更快的传感器中丢弃一些样本来补偿这种差异
  • 您也可以尝试以更高的 ODR 运行,看看情况是否会好转。这样你至少可以有更多的样本,并能够决定使用哪些。

举报

更多回帖

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