Movesense中可用的存储空间是多少?它能在本地捕获数据多长时间?

时间:2017-09-06 07:37:39

标签: storage movesense

tech specs sheet中,似乎Movesense以512kB本地内存运行:

我是对的吗?我们是否能够计算出本地存储数据的时间长度(例如26Hz)。

我们的想法是在本地存储数据并暂时将其与移动应用同步。

由于

1 个答案:

答案 0 :(得分:1)

<强>更新

在上一次原型构建(hw build G1)和生产版本中,EEPROM数据存储器已经增长到 384kB 。内存可以在 DataLogger / Logbook 使用和“其他”(Movesense设备lib sw版本&gt; = 1.0.1)之间自由分配。

Movesense传感器(在撰写本文时):

  • 512kB的FLASH(程序)内存,其中大约70kB用于客户应用程序(其余内容由蓝牙堆栈,引导程序,movesense平台和设置)
  • 64kB的RAM,其中~10kB保留用于蓝牙堆栈。在初始化框架和执行上下文之后,当前的软件似乎为客户软件提供了12.5kB的免费堆。
  • 128 kB的EEPROM数据存储器(虽然可能在生产版本中更大)。这是 DataLogger 保存测量值的内存。

/sbem-code/sbem_definitions.cpp 中可以看到 dataLogger 所需的每个测量字节数。在26Hz采样率下,每个数据包包含2个测量值,因此它需要28个字节,并且它们以13Hz的间隔出现。每个EEPROM组块中有112个字节可用于数据,因此它完全匹配,每个128字节组块可包含4个数据包。所以答案是:

128*1024 [B] / 128 [B / chuck] / ( 13 [pkg/sec] / 2 [pkg/chunk] ) =>
1024 [chunks] / 6.5 [chuck/sec] = ~157 seconds

免责声明 :以上计算适用于当前的Movesense硬件和当前软件,两者的情况可能会在未来发生变化

完全披露:我为Movesense团队工作