Eextended Deep Sleep DSP

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
16 posts / 0 new
最后一篇
玛罗斯
Offline
最后一次露面:3 months 1 week ago
加入:2017-05-09 20:27
Eextended Deep Sleep DSP

你好对话!

我们希望为DSP启用深度睡眠模式,我们已在KEL项目中更改了user_config.h上的配置值

const static sleep_state_t app_default_sleep_mode = arch_ext_sleep_on;

Also we have disabled the debug mode at the config_basic.h

#undef CFG_DEVELOPMENT_DEBUG

在ysel_periph_setup.h上,我们已更改为:

#define cfg_uart_hw_flow_ctrl.
#undef CFG_UART_HW_FLOW_CTRL

当我们对DIV的电源时,我们有电池供电设备,我们播出了10秒钟,并且停止可能会睡觉,但是当我们发现DSP应用程序时从未再次唤醒。

任何进一步的帮助,我有actached图像。

提前致谢,
Marios

Device:
PM_DIALOG.
Offline
最后一次露面:3天16小时前
职员
加入:2018-02-08 11:03
Hi marios,

Hi marios,

The DSPS reference application code does not support deep sleep configuration. Apart from that the deep sleep mode demands to burn to OTP. Please check the Introduction section ofUM-B-038:对话框串行端口配置文件的用户手册(DA14580)来自我们的支持页面的用户手册。中央和外围设备都可以在活动模式下或延长睡眠而不是深度睡眠模式操作。通过拒绝cfg_development_debug,您可以禁用调试模式,因此您无法热热连接调试器并获得调试信息。例如,如果将发生硬肢或NMI,则无法捕获它。此外,如果启用CFG_DEVELINMENT_DEBUG,则可以在不编程OTP内存的情况下模拟深度睡眠模式,但是NI DSPS应用程序,因为我已经提到,不支持深度睡眠。关于CFG_UART_HW_FLOW_CTRL定义,请阅读用户手册的5.1.3部分。DSP提供了软件(XON / XOFF)和硬件(RTS / CTS)流控制方案,分别由user_periph_setup.h配置文件中的cfg_uart_sw_flow_ctrl和cfg_uart_hw_flow_ctrl定义选择。请您可以在开发模式下运行代码,热连接调试器,并找到代码在设备进入睡眠模式时崩溃的原因>如果代码由于硬盘驱动器之后,设备永远不会醒来的最可能原因或者是NMI,所以它停止广告,您无法使用DSP移动应用程序发现它。请首先在扩展睡眠模式下配置您的设备,并定义CFG_DEVELVEMMENT_DEBUG。

谢谢,PM_DIALOG.

玛罗斯
Offline
最后一次露面:3 months 1 week ago
加入:2017-05-09 20:27
Hello thanks for your quick

你好谢谢你的快速回复!!
Yes you have right i mean extended sleep mode !

我们希望DA14580进入我们知道在DSP中所用的扩展睡眠模式,
有优化的功耗。

我们在我们的自定义板上使用外部Atmel处理器一切都在活动模式下运行良好。

How to get DA14580 to enter sleep ?

1)当不是手机中的删除过程时,DA 14580睡觉
2)
如果我们从手机发现,那么醒来并恰好
并传输数据

现在我们有600 ua

提前致谢,
Marios

PM_DIALOG.
Offline
最后一次露面:3天16小时前
职员
加入:2018-02-08 11:03
Hi marios,

Hi marios,

In order to get the DA14580 into extended sleep mode, you should configure the app_default_sleep_mode value with the proper define into the user_config.h header file. Please, check the code snippets below:

  • 扩展睡眠模式配置Const静态Sleep_state_t app_default_sleep_mode = Arch_ext_sleep_on;
  • 活动模式配置const static sleep_state_t app_default_sleep_mode = arch_sleep_off;

请注意,设备在广告/连接间隔之间睡眠。你能澄清一下:“如果我们从手机发现,那就醒来并连接?要获取有关DSP参考应用程序代码的更多信息,请阅读UM-B-038:对话框串行端口配置文件的用户手册(DA14580)来自我们的支持页面的用户手册。In this document, you will be able to learn about the architecture and the software implementation details of the DSPS. If you found any of the above answers useful please mark one of them as accepted.

谢谢,PM_DIALOG.

玛罗斯
Offline
最后一次露面:3 months 1 week ago
加入:2017-05-09 20:27
你好PM_DIALOG!

你好PM_DIALOG!

感谢您的快速回复 !

can you check the code from your side ?

请帮助我们将这种巨大的顽固消耗Slove为600 ua

我如何将DSP项目发送到您身边的DSP项目,因为我无法在论坛上上传超过10 MB。

we want to achive the 1,6 uA or something similar will be ok.

我们在主动和延长的睡眠模式下具有相同的毅力消费。

我的一些照片。

谢谢你的珍贵帮助!

很高兴听到你的声音!

提前,
Marios

附件:
PM_DIALOG.
Offline
最后一次露面:3天16小时前
职员
加入:2018-02-08 11:03
Hi marios,

Hi marios,

当设备处于睡眠模式时,实现〜1.6UA功耗,根本没有任何活动。DSP示例不会陷入永久性睡眠,但根据其广告和连接间隔,继续醒来,因此无法看到〜1.6UA功耗。这意味着该设备在广告和连接间隔之间进入延长睡眠。此外,DSP示例使用UART接收和传输数据,因此功耗将相当增加。如果您使用外部SPI Flash,请澄清您是否可以澄清?如果是,请注意,如果您的电路板上的SPI闪光灯也在增加功耗,如果您没有向下电(通过闪存 - SPI_FLASH_POWER_DOWN()的电源掉电命令)。如果您有一个定制板,因为我能从PDF中看到,我强烈建议您检查您的电路板是否有任何组件,可以增加功耗。上传您的DSP项目是不需要的,因为功耗增加的最可能原因不会来自DSPS代码。另外,你能告诉我你什么时候获得600U的电流消耗?传输或接收数据时? Please, try to review your PCB first.

谢谢,PM_DIALOG.

玛罗斯
Offline
最后一次露面:3 months 1 week ago
加入:2017-05-09 20:27
你好PM_DIALOG!

你好PM_DIALOG!

感谢您的快速回复 !

1)是的,我们正在使用对话框推荐的外部SPI闪存(SmartBond W25X20CL)

我在我们的自定义板上附加了整个源代码配置和DA14580的功耗。

2)We have changed the UART TX GPIO from default PO_5 to p 1_3 because we have conflict during spi flash is that

隐窝?

有关这一点的任何建议吗?我们可以用来避免与SPI冲突?

The RX GPIO pin P0_4 remains as is by default.

We haven't connect the cts and rts pins is this pins neasessary to use HW flow control ?

正如您在上一篇文章上提到的那样“(通过闪存的电源下降命令 - SPI_FLASH_POWER_DOWN()”II WICH

我们添加或配置此参数的代码的一部分?

3) We have measured our board and has normal power consumption without the DA14580 chip 24 uA

提前致谢,
Marios

附件:
PM_DIALOG.
Offline
最后一次露面:3天16小时前
职员
加入:2018-02-08 11:03
Hi marios,

Hi marios,

  1. 你能澄清我吗f you want to boot from the SPI flash? If yes, be aware that the DA14580 boots from standard GPIOs. Please check the Table 1 of theAN-B-001:从串行接口启动DA14580 / 581/583来自我们的支持门户的文档。
  2. 您已正确配置UART TX GPI,您可以使用UART配置所需的任何PIN。如果您使用HW流量控制,则应连接CTS / RTS引脚。
  3. 功耗增加的最可能原因是您可能将电流泄漏到您的电路板中。由于您将设备配置为扩展睡眠模式,因此您不应该有600UA功耗,所以我想它是一个基于软件的问题。您衡量的消耗是您发送或接收数据的情况?正如我已经提到的那样,DSPS项目不会永久进入延长睡眠。如果您能够与DSP Android应用程序连接,请告诉我,如果您能够发送/接收数据,请您知道吗?我强烈建议您使用SDK的BLE_APP_SLEEPMODE示例并测量由于设备进入睡眠模式的功耗。哪个是使用此示例的SDK的功耗?
  4. 如果拒绝cfg_development_debug,请注意您将无法热连接调试器。

谢谢,PM_DIALOG.

玛罗斯
Offline
最后一次露面:3 months 1 week ago
加入:2017-05-09 20:27
你好PM_DIALOG!

你好PM_DIALOG!

感谢您的快速回复!we have finally archived low power consumption as expected with the above configuration as you can see on the attached image. but we can't receive any data to the other side when we are on extended sleep mode . When we are in active mode everything works as expected.

系统广播,我们能够连接并尝试发送数据但没有成功。

1)我们使用HW流量控制。如何设置CTS和RTS引脚?
2)This pins needs to be connected on our Atmel processor and if yes need to be high or low ?
3) Can we use the HW flow control without these pins ? and if yes how ?

提前致谢,
Marios

PM_DIALOG.
Offline
最后一次露面:3天16小时前
职员
加入:2018-02-08 11:03
Hi marios,

Hi marios,

请在user_periph_setup.c文件中查看gpio_reservations()和set_pad_functions()函数,您将找到UART GPIOS的设置。如果您决定使用硬件流控制,则应使用CTS / RTS引脚。请检查user_periph_setup.h标题文件中是否定义了cfg_uart_hw_flow_ctrl?此定义启用/禁用硬件流控制。此外,我强烈建议您检查DSP是否正在使用DSP移动应用程序正常工作,并尝试向设备发送一些字节。你能看到你的设备是广告吗?

谢谢,PM_DIALOG.

玛罗斯
Offline
最后一次露面:3 months 1 week ago
加入:2017-05-09 20:27
你好PM_DIALOG!

你好PM_DIALOG!

感谢您的快速回复!

1)是的DA14580广告,我们可以与之连接。
2)我们将数据与DSP应用程序发送,另一边没有任何东西。

如何使用CTS和RTS PINS到我们的Atmel处理器的正确连接是什么?

我们已阅读UM-B-038:对话框串口配置文件(DA14580),但尚不清楚。
你能给我们更多信息吗?

CTS / RTS握手的时序图是什么时候确定何时需要高或低,以从DSPS复制从DS14580开始和停止读取数据?

/ **
****************************************************************************************
*
* @file user_periph_setup.h.
*
*@brief Peripherals setup header file.
*
*版权所有(c)2012。Dialog Se雷竞技电竞平台miconductum Ltd,未发表的工作。这台电脑
*program includes Confidential, Proprietary Information and is a Trade Secret of
*Dialog Semiconductor Ltd. All use, disclosure, and/or reproduction is prohibited
*除非书面授权。版权所有。
*
*和贡献者。
*
****************************************************************************************
* /

#ifndef _user_periph_setup_h_
#define _user_periph_setup_h_

/ *
*包括文件
****************************************************************************************
* /

#include "rwip_config.h"
#include“global_io.h”
#include“arch.h”
#include“da1458x_periph_setup.h”
# include“i2c_eeprom.h”
/ *
*定义
****************************************************************************************
* /

#undef CFG_UART_SW_FLOW_CTRL
#define cfg_uart_hw_flow_ctrl.

///可用波特率115200,57600,38400,19200,9600
#define cfg_uart_sps_baudrate uart_baudrate_9k6
/ *启用wkupct。wkupct_quadec驱动程序要求。* /
#define WKUP_ENABLED

/ **************************************************************************************** /
/ *UART configuration */
/ **************************************************************************************** /

#define GPIO_UART1_TX_PORT GPIO_PORT_0
#define GPIO_UART1_TX_PIN GPIO_PIN_4
#define gpio_uart1_rx_port gpio_port_1.
#define gpio_uart1_rx_pin gpio_pin_3.
#define gpio_uart1_rts_port gpio_port_0.
#define GPIO_UART1_RTS_PIN GPIO_PIN_3
#define gpio_uart1_cts_port gpio_port_0.
#define gpio_uart1_cts_pin gpio_pin_2.

/ **************************************************************************************** /
/ * UART2 GPIO配置* /
/ **************************************************************************************** /

#ifdef CFG_PRINTF_UART2
#define GPIO_UART2_TX_PORT GPIO_PORT_1
#define gpio_uart2_tx_pin gpio_pin_2.

#define gpio_uart2_rx_port gpio_port_1.
#define GPIO_UART2_RX_PIN GPIO_PIN_3
#万一
/ *
*功能声明
****************************************************************************************
* /

void periph_init(空白);

void gpio_reservations(无效);

#万一// _USER_PERIPH_SETUP_H_

提前致谢,
Marios

mt_dialog.
Offline
最后一次露面:2个月1周前
职员
加入:2015-06-08 11:34
嗨玛丽奥斯,

嗨玛丽奥斯,

The RTS/CTS that the reference design uses is standard UART with H/W flow control, the RTS of the ATMEL goes to the CTS of the 580 and the corresponding connection
对于Atmel的580和CTS的RTS。只要外部处理器FW或任何控制Atmel上的UART使用HW流控制符合UART协议,那么您就可以进行通信。我建议首次尝试使用FTDI电缆并将DSP设备与PC连接,因为用户手册(UM-B-038)建议或尝试追踪580的UART行并检查580是否实际发送数据但是某种原因你不能在另一边收到它。同样在文件中还提出了适当的连接(第8段)。

谢谢mt_dialog.

玛罗斯
Offline
最后一次露面:3 months 1 week ago
加入:2017-05-09 20:27
你好PM_DIALOG!

你好PM_DIALOG!

感谢您的快速回复!

Thanks for the usefull informatition!

1)可以使用S / W流量控制并具有
低功耗?如果是的话怎么样?

2)还可以使用HW流量控制而没有这些引脚?CTS / RTS是我们可以做的事情,因为我们仅用于来自DA14580的接收数据而不传输。

Thanks you !!!
很高兴听到你的声音!
Marios

mt_dialog.
Offline
最后一次露面:2个月1周前
职员
加入:2015-06-08 11:34
Hi marios,

Hi marios,

  1. SW流控制中存在缺点,并且在仅使用扩展睡眠时进行操作时,可以控制其可以控制DA14580,在休眠时间内将忽略任何传入的XON / Xoff(这也在UM-B-038中提到)。在活动模式下完全支持软件流量控制。
  2. HW流量控制是CTS / RTS引脚,没有CTS / RTS引脚,您只有UART,根本没有流量控制。

谢谢mt_dialog.

玛罗斯
Offline
最后一次露面:3 months 1 week ago
加入:2017-05-09 20:27
你好PM_DIALOG!

你好PM_DIALOG!

感谢您的快速回复!

Our processor is in sleep and waits for DA14580 to wake it when data is available from the dsps app how we set up this ?

我们已经为HW流量控制配置了CTS / RTS引脚。

we want the RTS signal from the DA14580 to be constant high when DA14580 has not data for transmition and when DA14580 has data to transmit the RTS signal should go low.
。我们已经观察到,当BA14580之前的DA14580在配对之前,每个1秒钟都低于广告时段。这会导致许多问题醒来
我们的控制器无缘无故。与DA14580配对时,我们观察RTS信号的快速变化。这会导致唤醒处理器的问题。只有在DA14580时
receives data to transmit RTS signal goes stabily constant low. Therefore we have to change the DA14580 software in order to have stable high level signal at RTS during advertising and pairring periods.

PLEASE reply how we affect the DA14580 software to have RTS signal stale bahavior.

我已经上面测量了RTS。

非常感谢您对我们的要求感兴趣
很高兴引导我们实现这一目标
提前致谢 ,
Marios

附件:
mt_dialog.
Offline
最后一次露面:2个月1周前
职员
加入:2015-06-08 11:34
Hi marios,

Hi marios,

嗯,580当使用DSP固件操作时设备醒来时它会将RTS线路切换到低,以便指示他准备就绪(设备将拉动
RTS low whenever it wakes up, in every connection interval or advertising interval, also be aware that when the device is receiving, when the data transmited reach the internal FIFO
阈值RTS将返回高电平,以通知它应该停止发送数据的另一侧)。在DSP中,RTS信号由HW和软件控制(只要RX FIFO进入特定阈值,HW将自动地拉高RT,以便向另一侧指示不发送任何数据)。如果您想更改此,则可以在UART_SPS_INIT()中更改UART配置,或从PIN中删除CTS功能。

谢谢mt_dialog.