12个员额/0个新员额
最后一篇文章
莫希特3112
离线
最后一次见到:7个月1周前
专家
加入:2014-08-04 13:45
睡眠后连接

int-app_-connection_功能我启动了一个计时器5秒以启用扩展睡眠模式,但我看到电流消耗从500uA减少到100uA,而不是2uA。
因此,是否有可能使da14850在连接间隔之间休眠。

密码
在app_connection_func
/ /调用计时器
ke_timer_set (FLIP_MAIN_TIMER TASK_APP 500);

/ /定时器处理程序
Int flip_main_timer_handler(ke_msg_id_t const msgid,
无效常量*参数,
KEU task\u id\u t const dest\u id,
ke_任务id_t常量src_id)
{
应用程序设置扩展睡眠();
返回(已消耗的热量);
}

这将产生100uA的电流,我可以将其降低到30UA或5uA吗
我正在使用SDK 3.0.8
谢谢
Mohit

对话
离线
最后一次见到:1天21小时前
工作人员
加入:2013-12-05 14:02
你好,莫希特,你好吗

你好,莫希特,你是如何测量电流的?请注意,如果您在smart snippets(专家/PRO板上)中使用电源供应器,测量电路的偏移电流很高。从下面的示例中,您可以看到设备在连接事件后进入延长睡眠状态,尽管波形没有下降到零:这是开发板上放大器ADC测量的偏移量。要测量uA水平,您确实需要AN-B-015中所述的高分辨率DMM。

BR JE_对话

莫希特3112
离线
最后一次见到:7个月1周前
专家
加入:2014-08-04 13:45
我正在用计算机测量电流

我用数字万用表测量电流,它显示平均电流。我使用的是PAN1740 usb加密狗。

以下是我做的实验:-

1.当设备正在播放广告时,5秒后我切换到ext睡眠模式,电流消耗为5uA到2uA。
//计时器处理程序中的代码
app_adv_stop ()
应用程序设置扩展睡眠();

2.设备连接后,5秒后,我切换到ext睡眠模式电流消耗为100uA,我知道这不能抵消电流,因为我在案例1中已达到5uA.
//计时器处理程序中的代码
应用程序设置扩展睡眠();

我的问题是,在连接状态下,即使启用了睡眠模式,外围设备也会与手机通信,而不会进入睡眠模式

我没有使用键盘项目,我已经修改了模板项目进行测试

谢谢
Mohit

对话
离线
最后一次见到:1天21小时前
工作人员
加入:2013-12-05 14:02
嗨,莫希特,谢谢:进来吧

你好,Mohit,谢谢:在连接状态下,手机设置的连接间隔是多少?你在测量平均电流。。。

考虑一个平均连接事件大约需要5uC…如果你的连接间隔是100mS,那么你将在连接事件上消耗每秒50uC(忽略少量睡眠能量):这相当于在连接事件上消耗每秒50uA。如果它是1秒的连接间隔,那么它将降为平均5uA....

BR JE_对话

莫希特3112
离线
最后一次见到:7个月1周前
专家
加入:2014-08-04 13:45
目前我的连接

目前,我的连接间隔约为45毫秒,但由于中央设备决定了连接间隔,因此可以始终获得1秒的连接间隔。

另外,为了测量连接间隔,我在rwble.c文件的BLE_EVENT_处理程序中添加了SysTick定时器代码,是当前位置,还是必须将其放置在其他位置?

对话
离线
最后一次见到:1天21小时前
工作人员
加入:2013-12-05 14:02
你好,莫希特,45毫秒

你好,莫希特,在45毫秒的内部连接时,这可以解释100uA的平均电流。

外围设备可以向处于连接状态的主机请求新的连接参数。这可以使用gapc_param_update_cmd函数完成。这就是14580上的从设备如何从主设备请求新的连接参数,因此,您可以请求更长的连接间隔。

SYSTICK在DA14580中实现,如Cortex M0用户指南所述,可从ARM网站获得。寄存器相同(0xE000E010-0xE000E01F)。
请注意,当DA14580进入睡眠状态时,SYSTICK计数器停止-因此它不适合测量连接间隔。

BR JE_对话

莫希特3112
离线
最后一次见到:7个月1周前
专家
加入:2014-08-04 13:45
我需要一个精确的计时器

我需要一个精确的计时器来测量心率传感器的rr间隔。正如你所说SYSTICK在睡眠模式下停止,建议我使用另一个计时器(猜测timer0也在睡眠模式下停止)

另外,我还有一个关于睡眠模式配置的疑问,当我在广告模式下执行app_set_extended_sleep()和app_ble_ext_wakeup_on()时,当前消耗量减少到5 uA,设备在获得外部中断之前不会广告。

如果我在连接状态下执行ext app_set_extended_sleep()和app_ext_wakeup_on(),这意味着它应该只在ext中断时唤醒,但它也会在ble core给出的中断时唤醒,有什么解释吗?

对话
离线
最后一次见到:1天21小时前
工作人员
加入:2013-12-05 14:02
你好,莫希特,多精确啊

您好mohit,您需要的计时器功能有多精确?

我对conenction状态下的设置的理解是不同的:它将与BLE核心同步唤醒,因为这取决于与中央设备相关的连接参数。

BR JE_对话

莫希特3112
离线
最后一次见到:7个月1周前
专家
加入:2014-08-04 13:45
我需要毫秒精度

我需要毫秒精度的计时器,如果可能的话是微秒,因为在睡眠模式下计时器不可用,我们在rr间隔计算中面临精度损失的问题。有没有办法在定时器0开启时启用睡眠模式,我使用了lld_evt_time_get(),有时它给出零,有时它给出实际值,另一种可能的解决方案是使用ke_定时器,但它给出了10ms的精度。

MT_对话框
离线
最后一次见到:3天2小时前
工作人员
加入:2015-06-08 11:34
你好,莫希特3112

你好,莫希特3112

对不起,但是当da进入睡眠模式时,你不能使用芯片的HW定时器。唯一的方法是使用一个10ms的ke_timer。

谢谢你的对话

杰特良
离线
最后一次见到:2年6个月前
加入:2014-12-02 06:50
你好,我想知道

您好,我想知道“lld_sleep_enter(睡眠周期、rwip_环境外部唤醒启用)”的功能是什么?

MT_对话框
离线
最后一次见到:3天2小时前
工作人员
加入:2015-06-08 11:34
嗨,杰特良,

嗨,杰特良,

这是指示系统进入睡眠的函数,它得到的参数是sleep_duration——在多少周期后它将被唤醒,ext_wakeup是如果外部中断被启用或未启用(意思是如果它将为某些外部中断唤醒)。

谢谢你的对话