TI中文支持网
TI专业的中文技术问题咨询交流网站

CC2640R2F采集数据传感器

您好!我在使用贵公司的CC2640R2F时遇到如下问题:
使用IO中断读取传感器数据,会导致丢包现象严重,基本读不到数据。在使用timer定时器的输入捕获时可以正确读取数据,但是会导致功耗较高,CPU一直处于唤醒状态。通过测量同行产品的功耗,同行设备在保证数据正确读取的情况下CPU一直处于standby模式。请问还有哪种方式可以实现standby模式下实现传感器的读取?或者timer定时器输入捕获要怎么进行优化?目前我们是每500ms对外发送一包数据。传感器通信协议见附件。量表通讯口协议.doc
Viki Shi:

standby模式下只有RTC开启,只能使用XOSC_LF ,其他定时器都无法使用。用RTC做捕获实现起来比其他timer难一些,参考下这边的例程:e2e.ti.com/…/654174

梦与远方:

回复 Viki Shi:

您好,刚刚的例程我看了一下,这是利用GPIO中断来实现?我之前有尝试过使用GPIO中断+sysclk定时器来实现这个读传感器功能,但是在仿真的过程中,我很难完成正确的读数

Viki Shi:

回复 梦与远方:

如果希望在stanby模式下使用定时器,目前只有这样。“我很难完成正确的读数” 能否具体描述?

梦与远方:

回复 Viki Shi:

我是这样实现的,开启sysclk计时器为20ms,每20ms计数器加1。然后在GPIO中断函数中通过判断计数器的数值来确定两个中断之间的时间(粗略计算即可,只要保证两个中断的时间间隔在100ms以内,则认为是同一包数据,否则为两包数据,当前中断信号为新数据的起始位),最后发现在读取过程中存在丢数的问题,即很难完成连续28次的读取数据

Viki Shi:

回复 梦与远方:

首先,用sysclk是做不了低功耗的。
sensor在准备好数据后一般都会通过触发信号的pin 发送一个信号给cpu,cpu接收到该信号后 进行数据的采集处理。所以方案一般都是外部触发中断的方式。没有数据 sensor就不触发cpucpu就可以休眠。从而实现低功耗

外部中断触发是可以实现数据的完整采集的基于spi or i2c 等接口的sensor数据量不会大到无法采集完整的地步。还是要从程序设计上找原因。

YiKai Chen:

回复 梦与远方:

可以考慮用sensor controller

梦与远方:

回复 YiKai Chen:

您好,如果我要使用sensor controller的话,我要使用哪几个资源?目前当前的协议好像不符合i2c或spi的通信

YiKai Chen:

回复 梦与远方:

你传感器是什麼?有沒有datasheet?

梦与远方:

回复 YiKai Chen:

2068.量表通讯口协议.doc我在问题里已经提交了通信协议。在这里我再重新提交一份吧

YiKai Chen:

回复 梦与远方:

你的文件我打開都是亂碼

赞(0)
未经允许不得转载:TI中文支持网 » CC2640R2F采集数据传感器
分享到: 更多 (0)