原始数据 - 100Hz

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
4个帖子/ 0新
最后一篇
戈麦佐戈
离线
最后一次露面:1年4个月前
加入:2018-12-04 10:46
原始数据 - 100Hz

你好,
我目前正在使用da1458,我已经修改了user_sensor_reports.h以添加额外的数据字段(UINT32_T,CURRIME)以获取HW的当前时间值。而且我在user_sensor_reports.cn上调用lld_evt_time_get.c,如下所示:

pdrc =(data_report_acc_gyr_mag *)&req->报告[0];
pdrc-> ucreportid = rep_id;
pdrc-> ucsensorstate = 2;// 2就绪,3无数据
pdrc-> ucsensorevent = 3;
切换(Sensor_type){
案例SENSOR_TYPE_ACCOLEROMER:
pdrc-> val_x = sensor_data.accel_xyz.x;
pdrc-> val_y = sensor_data.accel_xyz.y;
pdrc-> val_z = sensor_data.accel_xyz.z

pdrc-> curtime = lld_evt_time_get();

ble_attribute_idx(dws_idx_accel_val);
休息;
....

我正在进行这一点来将所获取的数据同义100Hz的获取,其中来自连接到应用的其他传感器的数据。我已经修改了应用程序只使用DA1458,我在时间戳上看到了一个奇怪的行为,因为我的采样频率是100Hz,我期望在大约10ms的两个连续时间戳之间具有近似的差异,但我得到了波动很多,Beteween 10和50毫秒的值。
考虑到采集的时间,每次获取的样本数量为100Hz的样本频率,但时间戳有点截止。附加存在时间戳差异的文件差异。

有什么我能做些什么来解决它吗?lld_evt_time_get()是否有任何已知问题?我的方法是什么问题吗?

先谢谢您的帮助!

附件:
设备:
PM_DIALOG.
离线
最后一次露面:1周1小时前
职员
加入:2018-02-08 11:03
嗨戈麦佐戈,

嗨戈麦佐戈,

让我检查一下,我会尽快回复你。

谢谢,PM_DIALOG.

戈麦佐戈
离线
最后一次露面:1年4个月前
加入:2018-12-04 10:46
嗨pm_dialog,

嗨pm_dialog,

你有什么新闻吗?

祝一切顺利!

PM_DIALOG.
离线
最后一次露面:1周1小时前
职员
加入:2018-02-08 11:03
嗨戈麦佐戈

嗨戈麦佐戈

我为延迟道歉。让我分享关于LLD_evt_time_get()的一些提示。但是,由于您已修改IOT源代码,这取决于您的应用程序,这取决于您。

LLD_EVT_TIME_GET()根据625US基础时间计数器测量时间并返回BLE定时器的值。该计数器没有稳定的时钟输入,但根据设备是否正在睡觉而变化,或者它是清醒的,并且根据XTAL16和XTAL32从上电传出时的时间。因此,测量的时间来自xtal16,并且当睡眠期间经过的时间通过XTAL32测量并在设备唤醒时得到补偿并应用于定时器,因此在测量的时间内引入错误不固定。

此外,您可以使用user_add_sensor_report_acc_gyro_mag()。此功能以通知(报告)的形式发送传感器数据到中央设备。传感器数据通知称为报告。此功能形成加速度计,陀螺仪或磁力计的报告。形成DWS_VAL_NTF_REQ消息并发送到DWS配置文件任务。

谢谢,PM_DIALOG.