⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程//www.wsdof.com/support. 我们将在未来几天内修复bug/优化搜索和标记。
71个员额/0个新员额
最后一篇文章
PM_对话框
离线
最后一次见到:21小时8分钟前
工作人员
加入:2018-02-08 11:03
嗨罗希特,

嗨罗希特,

>>我不明白为什么在睡眠模式下I2C数据没有读取,即使按照您的建议初始化了它

正如我已经提到的,在任何可用的睡眠模式下都不可能使用任何外围模块,包括I2C和SPI。这是故意的!

该器件还可以进入广告和连接间隔之间休眠模式。

谢谢,下午好

Rajapurerohit
离线
最后一次见到:2周前1年
加入:2017-04-20 09:17
嗨PM_Dialog,

嗨PM_Dialog,

好吧,我的意思是,即使在醒来后重新初始化,也无法读取数据。

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

感谢致敬

Rohit R.

Rajapurerohit
离线
最后一次见到:2周前1年
加入:2017-04-20 09:17
嗨PM_Dialog,

嗨PM_Dialog,

我这边的一个更新,

我使用了外设定时器,并在睡眠模式下使用此定时器配置的设备,即10秒定时器设备处于活动状态,经过一段时间后进入延长睡眠,并使用5秒的app_easy_定时器,称为唤醒回拨。

有了这个配置,可以同时执行arch_extended_sleep()和periodic_wake_up_timer_used = EASY_TIMER_INVALID_TIMER;检查使用支架。并且,能够读取I2C数据。

但唯一的一点是操作设备的成功率降低,手段出10operation只有3个操作是成功的,但休息7个操作越来越失败。

感谢致敬

Rohit R.

ABAHOU
离线
最后一次见到:2个月前1年
加入:2020-04-17 16:52
嗨,Rohit R

嗨,Rohit R

我正在用Azoteq IQS621设计相同配置的DA14583 Mcu

如果你是interrested我们可以在这个项目上分享我们experise感谢与我联系

此致

Azdine BAHOU

azdinebahou@gmail.com

Rajapurerohit
离线
最后一次见到:2周前1年
加入:2017-04-20 09:17
嗨,阿兹丁巴胡,

嗨,阿兹丁巴胡,

很抱歉这么晚回复你,因为我在做其他的项目,所以没有查看你的信息。

是的,如果你能帮我解决这个问题就太好了。

您是否应该在此分享您的项目细节或者我应该单独邮寄您吗?

感谢致敬

Rohit R.

Rajapurerohit
离线
最后一次见到:2周前1年
加入:2017-04-20 09:17
嗨PM_Dialog,

嗨PM_Dialog,

如我先前解释,使用被配置睡眠模式的周定时器(定时器0)。

脚步,

1)在user_config.h文件中我已启用ext_sleep_on

2)使用外围计时器,10秒后称为arch_set_extended_sleep()函数,并开始5秒app_easy_timer()

3)在app_easy_timer回调函数中编写唤醒api如下:

静态void app_wakeup_cb(void)
{
periodic_wake_up_timer_used = EASY_TIMER_INVALID_TIMER;
arch_disable_sleep ();
if(getBits16(sys_stat_reg,per_is_down))
{
periph_init ();
}

如果(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,

void user_app_add_undirect_complete(uint8_t状态)
{
//如果广告被取消,则更新广告数据并再次启动广告
如果(状态== GAP_ERR_CANCELED)
{
ARCH_BLE_EXT_WAKEUP_ON();
用户_应用_adv_start();
}
}

结果,

能够在外围定时器和app_easy_timer回调函数中保持BKT。

-能够在广告中发送我的信息包。

-使用数字式万用表测量我的定制电路板的电流消耗,它在1.012毫安到791毫安之间变化。

结论,

目前的消费远远,正如我之前告诉我的设备应该持续长时间的2年,但是通过这个目前,我看不到很大的差异或者它没有进入睡眠。

我需要紧急帮助这个,我正在被我的团队加压,尽早解决这个问题。请访问此反馈并让我知道可以提高设备生活的内容。

附件是代码链接-

HTTPS://drive.google.com/file/d/1S_0wgnqJhgMoy3AiOd70uyj9dATt_yGS/viewü...

感谢致敬

Rohit R.

PM_对话框
离线
最后一次见到:21小时8分钟前
工作人员
加入:2018-02-08 11:03
嗨罗希特,

嗨罗希特,

你提到:

“使用数字式万用表测量自定义电路板的电流消耗,它在1.012毫安到791毫安之间变化。”

这是平均电流消耗,还是设备处于延长睡眠模式?您是仅测量DA14583的电流消耗,还是测量整个定制电路板的电流消耗?

我们强烈建议测量仅针对DA14583的电流消耗 - 如果定制板有泄漏,则会增加消耗。

另外,由于它是DA14583,如果flash现在下电,那么消耗将再次增加。有一个函数用于将SPI置于关机模式- spi_flash_power_down() -在这种情况下,你将无法与flash交互,除非你指示SPI flash上电。在开始与flash交互之前,您应该调用spi_flash_release_from_power_down()。

广告停止且设备处于睡眠模式后,耗电量是多少?

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

请查看随附的屏幕截图。有多少是在高亮部分的消费?

//www.wsdof.com/sites/default/files/training_04_sleep_mode_configurations.pdf

谢谢,下午好

附件:
Rajapurerohit
离线
最后一次见到:2周前1年
加入:2017-04-20 09:17
嗨PM_Dialog,

嗨PM_Dialog,

“这是当前的平均消耗,还是当设备处于长时间休眠模式时?”-我的设备在定期改变其模式,即5秒的睡眠模式,然后在10SEC的活动模式下,并且根据我的观察,当前消耗分别为0.800mA(800A)和1mA。参考此,我将获得900mA的平均电流你测量的电流消耗只为DA14583,或整个定制电路板“? -我们已经测量了整个定制电路板的电流消耗。

“另外,由于是DA14583,如果flash现在掉电,那么消耗会再次增加。有一个函数用于将SPI置于下电模式- spi_flash_power_down() -在这种情况下,您将无法与flash交互,除非您指示SPI flash上电。在开始与flash交互之前,您应该调用spi_flash_release_from_power_down()。-是否有任何示例,其解释了使用SPI闪光的步骤,从而消耗低功率。意味着在包括这些“SPI_FLASH_POWER_DOWN()”之前要小心的任何强制性步骤,以及“SPI_FLASH_RELEASE_FROM_POWER_DOWN()”等初始化或任何宏确实定义的功能。需要步骤遵循这个。

以及如何使用SmartSnippet查询定制董事会当前消耗,因为您共享图像?我已经搜索了相对文件,但我找不到任何东西。如果您已分享,请

此外,请通过我的代码,让我知道您的反馈。有什么我错过的是造成这个问题的东西。

感谢致敬

Rohit R.

PM_对话框
离线
最后一次见到:21小时8分钟前
工作人员
加入:2018-02-08 11:03
嗨罗希特,

嗨罗希特,

  1. 你提到1.012毫安到791uA是整个板的平均电流消耗。这意味着,当设备无论是在主动和延长休眠模式要测量。我不知道是什么设计的成分,但建议把所有的外围组件(实例传感器)为动力 - 断模式。什么你现在的测量,是全体的平均电流消耗,并没有为DA14583!也许你可以检查你的PCB它是否有泄漏。

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

  1. 在测量睡眠电流时,建议将FLASH设置为关机模式。您只需要在设备处于永久休眠模式时(当广告停止时)调用spi_flash_power_down()。这个功能会向FLASH发送适当的命令,然后将其置于低能量模式。在开始与flash交互之前,您应该调用spi_flash_release_from_power_down()。您只需要在应用程序文件中包含spi_flash.h头文件。

  1. 为了衡量DA14583消耗了多少,我建议您遵循建议的教程。让芯片进入永久休眠模式(广告停止),然后测量当前的消耗。目前延长睡眠模式的费用是多少?你能在你的设计中做一个快速测试吗?如果你能在Pro-DK中也这样做,以便比较数字,那就太棒了

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

  1. 当设备正在进行时,您是否可以共享屏幕截图,并且当它停止广告并进入睡眠模式时?通常,应该开始广告5秒钟,然后在延长睡眠中进行5秒。

  1. 我在你的代码中看到了您使用的是无向连接的adverting。您是否有兴趣使用与对等设备连接的DA14583?

  1. 此外,您还提到:“我的设备会定期更改其模式,即它会在睡眠模式下保持5秒,然后在活动模式下保持10秒”--您的意思是,当设备进行广告时,广告间隔之间的睡眠模式是活动的吗?

  1. 通常,您可以从Pro主板J5引脚23向您的自定义板供电。这将允许您在SmartSnippets工具箱中使用PowerProfiler的所有功能。

谢谢,下午好

Rajapurerohit
离线
最后一次见到:2周前1年
加入:2017-04-20 09:17
嗨PM_Dialog,

嗨PM_Dialog,

感谢您的反馈,

我会在建议时测试所有要点。

关于点不。7.-yes, I am connecting devices to mobile phones and assigning data through the app. And the same data I am storing into flash.

当您之前建议时,我未配置在广告和连接间隔之间的睡眠中的设备。我正在使用计时器进入睡眠模式并使用app_easy计时器唤醒,因为您可以在我的代码中看到。

并且该装置是在广告的状态,我没有改变这部分

void user_app_add_undirect_complete(uint8_t状态)
{
//如果广告被取消,则更新广告数据并再次启动广告
如果(状态== GAP_ERR_CANCELED)
{
ARCH_BLE_EXT_WAKEUP_ON();
用户_应用_adv_start();
}
}

请考虑以上几点,让我知道你对此的看法。

同时,我将逐点测试,并让您知道我的结果。

感谢致敬

Rohit R.

Rajapurerohit
离线
最后一次见到:2周前1年
加入:2017-04-20 09:17
嗨PM_Dialog,

嗨PM_Dialog,

这么晚才回复很抱歉,

我已经将对话开发工具包与我的I2C底座传感器连接起来。然后亮出我的固件,用一个智能代码片段试图计算功率配置。下面是附件的结果。

而且,我试图在您建议时禁用Flash,但代码输入NMI_Hanlder我没有得到原因?我还包括spi_flash.h文件。你能分享步骤吗?

在定制板中,传感器直接由Dialog MCU路径中的3v3供电,因此我无法在定制板中仅测试Dialog部分。

但是,使用开发套件给我周围的750毫安无需连接到传感器试图测试。能否请您提出的任何改变的事情。

此外,在智能代码段上进行电源配置文件计算时需要进行哪些设置?

谢谢提前

Rohit R.

附件:
PM_对话框
离线
最后一次见到:21小时8分钟前
工作人员
加入:2018-02-08 11:03
嗨罗希特,

嗨罗希特,

在所附的截屏,什么是你正在测试的例子吗?有多少是在睡眠模式下当前消费?你按照教程?

在自定义板中,传感器在对话MCU的路径中直接使用3v3供电,所以我不能在自定义板中只测试对话部分。

这取决于您的设计 - 您正在测量整个定制板的电流消耗,

谢谢,下午好

Rajapurerohit
离线
最后一次见到:2周前1年
加入:2017-04-20 09:17
嗨PM_Dialog,

嗨PM_Dialog,

附件图片是自定义代码。

在此之前,如在教程文档中所述,我已经尝试了Prox_report示例,在开发套件上显示我正确的阅读。

但我无法在定制板上测试相同的例子,因为传感器也在通电,由于电流很高。但对于我的自定义代码显示了更多的当前。你能帮我看看固件出了什么问题吗?

雅,我正在测量整个定制板的目前消耗。

谢谢提前

Rohit R.

Rajapurerohit
离线
最后一次见到:2周前1年
加入:2017-04-20 09:17
嗨PM_Dialog,

嗨PM_Dialog,

我的目的有一个更新,

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

1)在user_config.h文件集EXT_SLEEP_ON

2)在user_peripheral.c文件广告中被称为arch_set_extended_sleep()

无效用户\应用\高级\启动(无效)
{
//安排下一次广告数据更新
app_add_data_update_timer_used = app_easy_timer(app_add_data_update_to,avd_data_update_timer_cb);

结构gapm_start_advertise_cmd * CMD;
cmd=app_easy_gap_undirected_adverting_get_active();

//动态添加制造商特定数据
mnf_数据_更新();
app_add_ad_struct(cmd,&mnf_data,sizeof(struct mnf_specific_data_ad_structure));

//在广告期间设置延长睡眠
ARCH_SET_EXTEDDE_SLEEP();

app_easy_gap_undircated_advertise_start();
}

通过上述更改,我在开发工具包上测试了代码,并在没有将传感器连接到开发工具包的情况下测量了电流消耗,因此得到的电流消耗更少。我还没有用代码编写唤醒过程。

现在,我的下一个步骤是使用中断唤醒设备。我有一个传感器RDY针,给了我低,每5秒。我试图来唤醒RDY_PIN中断处理程序的设备,但我不能在我的设备没有得到唤醒。

下面是检测低脉冲的GPIO配置。你能检查这个片段是什么问题在配置或任何其他参数需要启用在引脚配置。

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,true,true,0);
gpio_registercallback(gpio1_irqn,rdyinthaldr);

请帮我解决一下这个。

谢谢提前

Rohit R.

Rajapurerohit
离线
最后一次见到:2周前1年
加入:2017-04-20 09:17
嗨PM_Dialog,

嗨PM_Dialog,

对我之前的帖子有任何更新吗?

当i2c上有数据时,我得到这个RDY中断引脚。根据传感器文件,当有任何数据时,我得到RDY低。您能帮助我如何读取i2c数据,无论数据在睡眠期间和睡眠后是否存在?

此外,从睡眠状态唤醒后,我要宣传我从设备控制广告数据包。你能帮帮我这做这行唤醒后在广告发送报文的功能。手段更新所有数据包,然后去睡觉,并在当前的固件,我更新的mnf_data_update包()函数。我要求要唤醒会把所有的包,然后睡觉,否则醒来,到包说完之后。

我需要什么样的变化在下面的功能来实现我的要求,遵循?

/ **
****************************************************************************************
*@brief应用程序唤醒回调函数。在API消息实用程序中注册。
* @返回无效
****************************************************************************************
* /
静态void app_wakeup_cb(void)
{
//如果状态不空闲,请忽略该消息
if(ke_state_get(TASK_APP)=APP_CONNECTABLE)
{
用户_应用_adv_start();
}
}

谢谢提前

Rohit R.

PM_对话框
离线
最后一次见到:21小时8分钟前
工作人员
加入:2018-02-08 11:03
嗨罗希特,

嗨罗希特,

我们会直接联系你的。

问候,pm_dialog

Rajapurerohit
离线
最后一次见到:2周前1年
加入:2017-04-20 09:17
嗨PM_Dialog,

嗨PM_Dialog,

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

但我在外围定时器0我已经配置周期性定时器0与200毫秒装弹时间面临不同的问题。在我的自定义应用程序,我的要求是,当事件检测启动30秒计时器,当定义的定时器经过化妆时间计数= 0是绝对工作正常时,有没有睡眠的配置,现在我已经把睡眠定时器0不正常。

也就是说,我的时间计数在30秒计时器运行之前的15秒内变为零。我并没有低估这个问题。甚至我也尝试了一分钟的计时器,在30秒内,一分钟的计时器计数为0。

你能帮我解决问题吗?我正在检查调试模式。

谢谢提前

Rohit R.

PM_对话框
离线
最后一次见到:21小时8分钟前
工作人员
加入:2018-02-08 11:03
嗨罗希特,

嗨罗希特,

如果你想通过RDY中断唤醒,你可以使用唤醒控制器。实现应该与ble_app_sleepmode示例以及如何使用外部GPIO作为唤醒源类似。因此,既然您提到可以通过RDY唤醒,那么我假定您已经完成了类似的实现。

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

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

谢谢,下午好

Rajapurerohit
离线
最后一次见到:2周前1年
加入:2017-04-20 09:17
嗨PM_Dialog,

嗨PM_Dialog,

感谢您的反馈。

是的,我做了与ble_sleep_模式示例相同的操作,使用RDY引脚唤醒设备。

当RDY引脚变低时,设备将唤醒,并且它也会从传感器发出事件。因此,如果事件我启动计时器0并等待30秒或1分钟,则在时间流逝后计数为0。在这种情况下,我的计时器正在减少,这意味着如果我启动30秒计时器,它将在30秒完成之前消失。

而这个问题将睡眠后引发。我睡眠其他外围设备关机时知道,但我的问题是醒来后。请建议我如何处理这个问题。

感谢致敬

Rohit R.

Rajapurerohit
离线
最后一次见到:2周前1年
加入:2017-04-20 09:17
嗨PM_Dialog,

嗨PM_Dialog,

我试图用低RDY引脚唤醒设备,但设备不稳定。我无法正常读取I2C数据。有时我得到数据,有时没有,我的RDY引脚低,只有当有数据在I2C寄存器的地址。

请帮助我,我该怎么做,使设备稳定并睡眠,并在没有任何问题的情况下正确唤醒。这对我来说非常紧迫。

谢谢提前

Rohit R.

页面