⚠️
大家好. .感谢来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台的过程中,它将提供更好的功能,并包含在主对话网站。所有的帖子和账号已经迁移。我们现在只接受新论坛的流量-请发布任何新的帖子在https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
71帖子/ 0新
最后一篇
PM_DIALOG.
离线
最后一次露面:21小时58分钟前
职员
加入:2018-02-08 11:03
嗨罗希特,

嗨罗希特,

>>我不明白为什么在睡眠模式下,I2C数据没有阅读,即使在根据您的建议初始化它之后

正如我已经提到的那样,在任何可用睡眠模式中时,不可能使用任何外围块,包括I2C和SPI。这是通过设计!

该设备还可以在广告和连接间隔之间进入休眠模式。

谢谢,PM_DIALOG.

Rajapurerohit
离线
最后一次露面:1年2个星期前
加入:2017-04-20 09:17
嗨pm_dialog,

嗨pm_dialog,

好的,我的意思是在唤醒后重新初始化后,无法读取数据。

另外,昨天我分享了一个观察,请检查相同的,并让我知道你的反馈。

感谢致敬

罗希特 - [R

Rajapurerohit
离线
最后一次露面:1年2个星期前
加入:2017-04-20 09:17
嗨pm_dialog,

嗨pm_dialog,

从我的结局有一个更新,

我使用了外设计时器并使用此定时器配置的设备在休眠模式下,即10秒定时器设备是一个活动状态,然后经过时间延长睡眠,并使用5SEC的App_easy_Timer称为唤醒呼叫。

使用此配置,能够执行ARCH_EXTEDDED_SLEEP()和句点_WAKE_UP_TIMER_USED = EASY_TIMER_INVALID_TIMER;使用bkt检查。而且,能够读取I2C数据。

但唯一的问题是手术的成功率降低了,10次手术中只有3次手术成功,其余7次手术失败。

感谢致敬

罗希特 - [R

ABAHOU
离线
最后一次露面:2个月前1年
加入:2020年4月17日16:52
嗨rohit r,

嗨rohit r,

我正在使用Azoteq IQS621设计与Azoteq IQS621相同的配置DA14583 MCU

如果你感兴趣,我们可以分享我们在这个项目上的经验,感谢联系我

此致

Azdine BAHOU

azdinebahou@gmail.com.

Rajapurerohit
离线
最后一次露面:1年2个星期前
加入:2017-04-20 09:17
嗨Azdine Bahou,

嗨Azdine Bahou,

抱歉迟到的回复,我正在研究一些其他项目,所以我没有检查你的信息。

是的,如果你帮助我这个问题会很棒。

您将在这里分享你的项目的细节,或者我应该分别寄给你?

感谢致敬

罗希特 - [R

Rajapurerohit
离线
最后一次露面:1年2个星期前
加入:2017-04-20 09:17
嗨pm_dialog,

嗨pm_dialog,

正如我之前解释的那样,使用外围计时器(计时器0)配置睡眠模式。

步骤,

1)在user_config.h文件我已经启用EXT_SLEEP_ON

2)使用外围定时器,在10sec之后调用arch_set_extended_sleep()函数,并启动5sec app_easy_timer()

3)在app_easy_timer回调函数写入wakeup apis,如下所示,

静态无效app_wakeup_cb(无效)
{
句号_wake_up_timer_used = easy_timer_invalid_timer;
ARCH_DISABLE_SLEEP();
如果(GetBits16(SYS_STAT_REG,PER_IS_DOWN))
{
periph_init();
}

if(arch_ble_ext_wakeup_get()))
{
arch_set_sleep_mode (app_default_sleep_mode);
ARCH_BLE_FORCE_WAKEUP();
arch_ble_ext_wakeup_off ();
app_easy_wakeup();
}

i2c_init();//重新初始化I2C
}

4)在user_peripheral.c文件下面更改,

无效user_app_adv_undirect_complete(uint8_t状态)
{
//如果广告被取消,然后更新广告数据和重新刊登广告
if (status == = GAP_ERR_CANCELED) / /取消
{
arch_ble_ext_wakeup_on ();
user_app_adv_start();
}
}

结果,

- 能够在外设计时器和App_easy_Timer调用回函数中保持BKT。

- 能够在广告中发送我的数据包。

- 使用DMM测量我的定制板的电流消耗,它在1.012mA至791ua之间变化。

结论,

电流消耗远,正如我刚才告诉我的设备应该持续很长时间的2年但此电流,我看不出太大的差别或者要么不进入休眠。

我需要这方面的紧急援助,我被我的团队来解决这个尽早加压。请走到这条反馈,让我知道什么可以做,以提高设备的使用寿命。

附件是代码链接 -

https://drive.google.com/file/d/1S_0wgnqJhgMoy3AiOd70uyj9dATt_yGS/view?u..。

感谢致敬

罗希特 - [R

PM_DIALOG.
离线
最后一次露面:21小时58分钟前
职员
加入:2018-02-08 11:03
嗨罗希特,

嗨罗希特,

你提到了:

“使用DMM测量我的定制板的电流消耗,它在1.012mA至791ua之间变化。”

这是这种平均电流消耗,还是在扩展睡眠模式中的设备?您是否只测量DA14583或全定制董事会的当前消耗量?

我们强烈建议测量电流消耗只为DA14583 - 如果自定义板有泄漏,消费将有所增加。

此外,由于它是DA14583,如果闪光灯现在断电,则消耗将再次增加。有一个函数,以便将SPI放在下电模式 - SPI_FLASH_POWER_DOWN() - 并且在这种情况下,除非您指示SPI闪光灯通电,否则您将无法与闪存进行交互。在开始与Flash互动之前,您应该调用SPI_FLASH_RELEASE_FROM_POWER_DOWN()。

一旦广告停止,设备处于睡眠模式下,功耗是多少?

请尝试运行BLE_APP_SLEEPMODE(或PROX_REPORTER)SDK的示例,让设备进入永久睡眠模式,然后测量当前消耗。

请查看附件截图。高亮显示部分的消耗是多少?

https://www.dialog-seminile.com/sites/default/files/training_04_sleep_mode_configurations.pdf.

谢谢,PM_DIALOG.

依恋:
Rajapurerohit
离线
最后一次露面:1年2个星期前
加入:2017-04-20 09:17
嗨pm_dialog,

嗨pm_dialog,

“这是平均电流消耗,还是在扩展睡眠模式下设备时? -我的设备在不断变化的周期性模式,即它保持在睡眠模式5secs,然后在主动模式10secs,并按照我的观察,电流消耗大约是0.800毫安(800uA),并提供1mA分别。参照这个我得到的平均电流周围900毫安您是仅测量DA14583的当前消耗,还是整个定制板的消耗?”-我们已经测量了整个定制板的电流消耗。

“另外,由于它是DA14583,如果闪光灯现在断电,那么消耗将再次增加。有一个功能,以便将SPI放在掉电模式下 - SPI_FLASH_POWER_DOWN() - 以及在这种情况下,您won’t be able to interact with the flash unless you instruct the SPI flash to be powered up. Before starting to interact with the flash, you should invoke spi_flash_release_from_power_down()." -是否有这解释了使用SPI闪存,使功耗低的步骤的任何例子。包括这些“spi_flash_power_down()”和“spi_flash_release_from_power_down()”之类的初始化函数或宏一样定义之前指任何强制性的措施来照顾。需要要遵循的步骤这一点。

而如何使用SmartSnippet为您共享图像检查定制电路板的电流消耗?我搜索了相关文档,但我没有发现任何。如果您有任何共享。

另外,请通过我的代码,让我知道您的反馈意见。有什么,我已经错过了,这是造成这个问题。

感谢致敬

罗希特 - [R

PM_DIALOG.
离线
最后一次露面:21小时58分钟前
职员
加入:2018-02-08 11:03
嗨罗希特,

嗨罗希特,

  1. 你提到1.012mA到791uA是整个板的平均电流消耗。这意味着您正在测量设备何时处于ACTIVE和EXTENDED SLEEP模式。我不知道设计的组件是什么,但建议将所有外围组件(例如传感器)置于断电模式。您现在所测量的是整个平均电流消耗,而不是DA14583!可能你会检查PCB是否有泄漏。

  1. 例如,如果您与I2C接口(在活动模式下)交互,那么预期平均消耗量会增加,因为您在活动模式和I2C接口中测量整个电流:DA14583以及其他组件和泄漏等。

  1. 在测量睡眠电流时,也建议将闪光灯放入掉电模式。一旦设备处于永久睡眠模式,您只需调用SPI_FLASH_POWER_DOWN()“(当广告停止时)。此函数将为闪光灯发送相应的命令,然后将其敲入低电平能量模式。在开始与Flash互动之前,您应该调用SPI_FLASH_RELEASE_FROM_POWER_DOWN()。您只需要在应用程序文件中包含SPI_FLASH.H头文件。

  1. 为了测量只有DA14583消耗多少,我建议您遵循建议的教程。让芯片进入永久睡眠模式(广告停止),然后测量电流消耗。延长睡眠模式下的电流是多少?您可以在您的设计中进行快速测试吗?如果你能在Pro-DK中做到这一点,这将是伟大的,以便比较数字

  1. 该系统还在间隔(广告或连接)之间进入睡眠模式 - 广告间隔之间的睡眠电流是多少?因此,您可以理解,消费也密切依赖于间隔 - 如果间隔更大,则系统将进入睡眠模式更多的时间,因此平均消耗将较低。

  1. 你可以分享在设备adverting截图,当它停止广告和进入睡眠模式?通常情况下,应该是5秒开始投放广告,然后在5延长休眠第二。

  1. 我在你的代码看到你正在使用无向连接adverting。您是否在使用与对端设备连接DA14583感兴趣吗?

  1. 此外,您还提到了:“我的设备在定期保持其模式,它保持在5SEC的睡眠模式,然后在10SEC的活动模式下” - 您的意思是,当设备正在进行时,睡眠模式在附间隔之间的睡眠模式是积极的?

  1. 在一般情况下,你可以从电源的PRO主板J5针23.您的定制电路板这将允许您使用在SmartSnippets工具箱的功率分配器的所有功能。

谢谢,PM_DIALOG.

Rajapurerohit
离线
最后一次露面:1年2个星期前
加入:2017-04-20 09:17
嗨pm_dialog,

嗨pm_dialog,

谢谢你的反馈,

如你所说,我会测试所有的点。

关于No.7-是的,我将设备连接到移动电话并通过应用分配数据。和我存储进入闪存的相同数据。

我没有在广告和连接间隔之间睡眠配置的设备如先前建议。我使用的是定时器进入睡眠模式和唤醒使用app_easy定时器,你可以在我的代码中看到。

并且设备处于广告状态,我没有改变这部分

无效user_app_adv_undirect_complete(uint8_t状态)
{
//如果广告被取消,然后更新广告数据和重新刊登广告
if (status == = GAP_ERR_CANCELED) / /取消
{
arch_ble_ext_wakeup_on ();
user_app_adv_start();
}
}

请考虑上面的目的,让我知道你的观点。

与此同时,我将以点测试点,让您知道我的结果。

感谢致敬

罗希特 - [R

Rajapurerohit
离线
最后一次露面:1年2个星期前
加入:2017-04-20 09:17
嗨pm_dialog,

嗨pm_dialog,

这么晚才回复很抱歉,

我对具有I2C基本传感器的接口对话框开发套件。并闪烁我的固件并使用智能代码段试图计算电源配置文件。以下是附加结果。

还有,我试图禁用闪光灯如你所说,但代码进入NMI_hanlder我不知道为什么?我已经包括spi_flash.h文件还。能否请您分享的步骤。

并且在自定义板中,传感器在路径中直接供电到对话框MCU,因此我无法在自定义板中仅测试对话框。

但我尝试使用开发工具包进行测试,在不连接传感器的情况下给我大约750mA。你能建议我们做些什么改变吗?

此外,在智能片段上为电源配置计算的所有设置是什么?

提前致谢

罗希特 - [R

依恋:
PM_DIALOG.
离线
最后一次露面:21小时58分钟前
职员
加入:2018-02-08 11:03
嗨罗希特,

嗨罗希特,

在附件截图中,你正在测试的例子是什么?当前睡眠模式下的消耗是多少?你按照教程做了吗?

>>和在自定义板中,传感器直接在路径中直接供电到对话框MCU,因此我无法在自定义板中测试对话框。

这取决于你的设计 - 你是测量整个定制电路板的电流消耗,

谢谢,PM_DIALOG.

Rajapurerohit
离线
最后一次露面:1年2个星期前
加入:2017-04-20 09:17
嗨pm_dialog,

嗨pm_dialog,

附加的图像是自定义代码。

在此之前,作为教程文件我已经尝试了开发套件prox_report例子中提到它显示我正确的读数。

但我无法在自定义板上测试相同的例子,因为传感器也被电源打开并由于此电流很高。但是对于我的自定义代码告诉我更多的当前。你能帮我解决固件中的错误吗?

雅,我测量了整个定制电路板的电流消耗。

提前致谢

罗希特 - [R

Rajapurerohit
离线
最后一次露面:1年2个星期前
加入:2017-04-20 09:17
嗨pm_dialog,

嗨pm_dialog,

有一个从我结束一个更新,

在我的自定义代码中,我在广告期间配置了睡眠模式,下面是片段,

1)在user_config.h文件中设置EXT_SLEEP_ON

2)在user_peripheral.c文件中调用arch_set_extended_sleep()在广告期间

void user_app_adv_start(void)
{
//安排下一个广告数据更新
app_adv_data_update_timer_used = app_easy_timer(APP_ADV_DATA_UPDATE_TO,adv_data_update_timer_cb);

struct gapm_start_advertise_cmd * cmd;
cmd = app_easy_gap_undirected_advertise_get_active();

//动态添加制造商特定数据
mnf_data_update();
App_add_ad_struct (cmd, &mnf_data, sizeof(struct mnf_specific_data_ad_structure));

//广告中设置的扩展的睡眠
arch_set_extended_sleep();

app_easy_gap_undirected_advertise_start();
}

通过上述更改,我测试了开发套件上的代码,并在不将传感器连接到开发套件的情况下测量电流消耗,并且我的消耗量较少。我还没有在代码中编写唤醒过程。

现在,我的下一步是使用中断的唤醒设备。我有一个传感器RDY引脚,使我每5秒低。我已经尝试在RDY_PIN中断处理程序中唤醒设备,但我不能我的设备确实得到唤醒。

以下是检测低脉冲的GPIO配置。请检查此代码段是否包含在PIN配置期间需要启用的配置或任何其他参数的问题。

1)硬件侧RDY引脚输入,用电阻拉出

2)配置片段,

// iqs62x_rdy_pin.
GPIO_ConfigurePin(IQS62X_GPIO_PORT,IQS62X_RDY_PIN,INPUT_PULLUP,PID_GPIO,FALSE);
GPIO_EnableIRQ(IQS62X_GPIO_PORT,IQS62X_RDY_PIN,GPIO1_IRQn,真实,真,0);
GPIO_RegisterCallback(GPIO1_IRQn,rdyinthaldr);

请帮我一下。

提前致谢

罗希特 - [R

Rajapurerohit
离线
最后一次露面:1年2个星期前
加入:2017-04-20 09:17
嗨pm_dialog,

嗨pm_dialog,

任何更新我关于我以前的帖子?

当I2C上有数据时,我将此RDY中断引脚较低。根据传感器文档,当有任何数据时,我会得到RDY低。你能帮助我如何阅读I2C,无论是否在睡眠期间和睡眠之后都有数据吗?

另外,在我从睡梦中醒来后,我想在广告中宣传我的控制数据包的从设备。你能帮我做一下这个功能吗,就是在广告中醒来后发送数据包意思是更新所有包,然后进入休眠状态,在当前固件中,我在mnf_data_update()函数中更新包。我要求在醒来后要把所有的数据包都发送出去然后睡觉,否则直到数据包完成才醒来。

为了达到我的要求,我需要在以下功能中做哪些更改?

/ **
****************************************************************************************
* @brief应用程序唤醒回调函数。注册API消息实用程序。
* @return无效
****************************************************************************************
*/
静态无效app_wakeup_cb(无效)
{
//如果state不是空闲的,忽略消息
if(ke_state_get(task_app)== app_connectable)
{
user_app_adv_start();
}
}

提前致谢

罗希特 - [R

PM_DIALOG.
离线
最后一次露面:21小时58分钟前
职员
加入:2018-02-08 11:03
嗨罗希特,

嗨罗希特,

我们将直接与您联系。

问候,PM_Dialog

Rajapurerohit
离线
最后一次露面:1年2个星期前
加入:2017-04-20 09:17
嗨pm_dialog,

嗨pm_dialog,

从我的最终更新,我能当RDY引脚变为低电平来配置唤醒设备。我已经在广告中设置睡眠和唤醒当RDY引脚变为低电平。

但是我在外围定时器0中面临着不同的问题。我已经配置了定时计时器0,重新加载时间为200毫秒。在我的自定义应用程序中,我的要求是当检测到事件时启动30秒计时器,当定义的计时器经过时使time count = 0。当没有睡眠配置时,它绝对工作得很好,现在我已经合并了睡眠计时器0不能正常工作。

意味着,我的时间计数在30秒的计时器经过之前在15秒内获得零。我并不低估这个问题。即使我在经过了1min定时器时间计数之前尝试过1min定时器,甚至在超过30秒的时间内完成0。

你能帮帮我可能是什么问题。我在调试模式下检查。

提前致谢

罗希特 - [R

PM_DIALOG.
离线
最后一次露面:21小时58分钟前
职员
加入:2018-02-08 11:03
嗨罗希特,

嗨罗希特,

如果您想通过RDY中断醒来,则冷却使用唤醒控制器。该实现应与BLE_APP_SLEEPMODE示例类似,以及它如何使用外部GPIO作为唤醒源。所以,自从你提到你可以通过RDY唤醒,我假设你已经完成了类似的实现。

关于您后续关于SW Timer 0的问题,如果我理解正确,问题是设备处于睡眠模式时没有正确计数?我的理解正确吗?它是预期的,因为当延长睡眠时,系统可以同步唤醒,通过BLE定时器,或异步唤醒,通过外部中断(输入)通过唤醒控制器。

我们强烈建议每个问题提高一个新的论坛,这样我们就可以更好地处理您的问题。有一张票为您的所有问题,很难获得和搜索所有可用信息。

谢谢,PM_DIALOG.

Rajapurerohit
离线
最后一次露面:1年2个星期前
加入:2017-04-20 09:17
嗨pm_dialog,

嗨pm_dialog,

谢谢你的反馈。

是的,我与BLE_SLEEP_MODE示例相同以使用RDY引脚唤醒设备。

当Rdy引脚低温时,设备唤醒,它也从传感器唤醒,如果事件我启动定时器0并等待30SEC或1min定义的时间,那么在时间经过的时间经过计数0时。在此,我的计时器正在减少意味着我开始30SEC定时器,它在30SEC完成之前经过。

这个问题是在增加睡眠后引起的。我知道睡觉的时候其他的外围设备都关闭了,但我的问题是在醒来之后。请建议我如何处理这件事。

感谢致敬

罗希特 - [R

Rajapurerohit
离线
最后一次露面:1年2个星期前
加入:2017-04-20 09:17
嗨pm_dialog,

嗨pm_dialog,

我试图使用RDY引脚唤醒设备,但设备不稳定。我无法正确阅读I2C数据。有时我有某个时间得到数据,而且只有在I2C寄存器的地址上存在数据时,我的RDY引脚才会降低。

请帮我我应该怎么做才能让设备稳定,睡眠和唤醒正常,没有任何问题。这对我来说是非常紧迫的。

提前致谢

罗希特 - [R

页面