基于对这个问题的回答:计量单位是什么?和外推,当从imu数据源(imu9)读取时间戳时,时间戳可能不是来自基本系统,而是来自其他来源。是这种情况吗?
顺便说一句,有没有人幸运地将设备上的时间同步到外部设备上,比如ios或android设备?我知道时间是可以安排的,但似乎总有一秒的时间。这可能是一个函数,它需要多少个ble数据包才能实际发送时间值,然后处理它,然后返回一个响应?如果是的话,是否有一种方法来量化这个时间差是什么?
发布于 2018-09-13 07:05:30
更新:
在1.7中增加了一种获取UTC与RelativeTime差异的方法。请看获取/时间/详细-API。
移动传感器有一个时钟源(32 The,20 low晶体稳定的低频滴答计数器),运行时间为1024刻度/秒。然后计算"RelativeTime“ms (自重置以来的ms)。RelativeTime作为来自许多传感器测量的时间戳返回,并且基于xtal稳定时钟,因此它是稳定的。由于IMU单元(Acc/Gyro/Magn)采样是由LSM6DSL的内部RC振荡器定时的,所以时间戳的差值可以改变,实际采样量是订阅参数中标称的+-10%。由于该芯片使用来自稳定振荡器的时钟信号,所以心电图样本是准确的。
UTC时钟是通过与RelativeTime的偏移来计算的。因此,在内部,UTC时钟是以毫秒计算的,而API有微秒的时间,以防将来的硬件具有更好的功能。
当执行PUT /Time时,传感器使用给定的UTC时间来计算UTC时钟和RelativeTime之间的新偏移量,并将其投入使用。BLE上的PUT请求需要一些时间,可以通过PUT-GET往返来估计。如果需要更精确的设置,可以使用CustomGATTService模块(/Comm/Ble/GattSvc)来实现更简单的时间设置服务,从而避免所有MDS/白板协议开销。通常情况下,BLE连接间隔似乎在45 is 60 is左右,因此无论如何都会有很大的延迟。
当前发布的Movesense设备库没有提供一种方便的方法来了解UTC时间与传感器上的RelativeTime之间的关系。然而,即将发布的1.7版本(几周后到期)将拥有它并简化多传感器同步。
充分披露:我为Movesense团队工作
https://stackoverflow.com/questions/51942289
复制相似问题