⚠️
大家好. .感谢来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台的过程中,它将提供更好的功能,并包含在主对话网站。所有的帖子和账号已经迁移。我们现在只接受新论坛的流量-请发布任何新的帖子在//www.wsdof.com/support. 我们将在未来几天内修复bug/优化搜索和标记。
16个员额/ 0个新员额
最后一篇文章
马里奥斯
离线
最后一次见到:8个月4天前
加入:2017-05-09 20:27
延长深度睡眠DSPS

你好对话!

我们希望为DSP启用深度睡眠模式,我们已将kel项目中用户_config.h上的配置值更改为

const static sleep\u state\u t app\u default\u sleep\u mode=ARCH\u EXT\u sleep\u ON;

我们还在config_basic.h中禁用了调试模式

# undef CFG_DEVELOPMENT_DEBUG

在keil上的user_periph_setup.h,我们已更改为:

#定义CFG\u UART\u HW\u FLOW\u CTRL
# undef CFG_UART_HW_FLOW_CTRL

当我们打开divice时,我们有一个电池驱动的设备,我们有一个10秒的广播,可能会进入睡眠状态,但当我们使用dsps应用程序发现时,再也不会醒来。

任何进一步的帮助非常感谢我有阿塔奇图像。

提前感谢,,
腻过

关键词:
设备:
PM_对话框
离线
最后一次见到:3天3小时前
工作人员
加入:2018-02-08 11:03
嗨腻过,

嗨腻过,

DSPS引用应用程序代码不支持深度睡眠配置。除此之外,深度睡眠模式需要燃烧到OTP。请查看介绍部分UM-B-038:对话框串行端口配置文件用户手册(DA14580)来自我们的支持页面的用户手册。中央和外围设备都可以在活动模式或扩展睡眠模式下运行,而不是在深度睡眠模式下运行。通过取消定义CFG_DEVELOPMENT_DEBUG,您将禁用调试模式,因此您将无法热连接调试器并获取调试信息。例如,如果发生硬故障或NMI,您将此外,如果启用了CFG_DEVELOPMENT_DEBUG,您可以在不编程OTP内存的情况下模拟深度睡眠模式,但正如我已经提到的,ni DSPS应用程序不支持深度睡眠。关于CFG_UART_HW_FLOW_CTRL定义,请阅读用户手册的5.1.3部分。DSPS提供了软件(XON/XOFF)和硬件(RTS/CTS)流量控制方案,分别由user_periph_setup.h配置文件中的CFG_UART_SW_flow_CTRL和CFG_UART_HW_flow_CTRL定义选择。请在开发模式下运行代码,热连接调试器,并查找设备进入睡眠模式时代码崩溃的原因>最可能的原因由于硬件故障或NMI导致代码停止后,设备将永远不会唤醒,因此它将停止播发,并且您无法使用DSPS移动应用程序发现它。请先将您的设备配置为扩展睡眠模式,然后定义CFG_DEVELOPMENT_DEBUG。

谢谢,下午好

马里奥斯
离线
最后一次见到:8个月4天前
加入:2017-05-09 20:27
你好,谢谢你的快速

您好,谢谢您的快速回复!!
是的,你有权利,我的意思是延长睡眠模式!

我们希望Da14580进入扩展睡眠模式,我们知道该模式在DSP中受支持,
优化电力消耗。

我们在定制板上使用外部atmel处理器,在活动模式下一切正常。

如何让DA14580进入睡眠?

1) 当没有从电话中进行descover处理时,DA14580进入睡眠状态
2)
如果我们从电话中发现,然后醒来联系
并传输数据

现在我们有600个uA

提前感谢,,
腻过

PM_对话框
离线
最后一次见到:3天3小时前
工作人员
加入:2018-02-08 11:03
嗨腻过,

嗨腻过,

为了使DA14580进入扩展睡眠模式,您应该在user_config.h头文件中配置app_default_sleep_mode值,并使用正确的定义。请检查下面的代码片段:

  • 扩展睡眠模式配置const static sleep\u state\u t app\u default\u sleep\u mode=ARCH\u EXT\u sleep\u ON;
  • 活动模式配置常量静态睡眠状态应用默认睡眠模式=拱睡眠关闭;

请注意,设备在广告/连接间隔之间进入睡眠状态。请你澄清一下:如果我们从电话中发现,然后醒来并连接? 有关DSPS参考应用程序代码的更多信息,请阅读UM-B-038:对话框串行端口配置文件用户手册(DA14580)用户手册从我们的支持页。在本文档中,您将能够了解DSPS的架构和软件实现细节。如果你发现上面的任何一个答案有用,请标记其中一个为接受。

谢谢,下午好

马里奥斯
离线
最后一次见到:8个月4天前
加入:2017-05-09 20:27
你好,PM_对话!

你好,PM_对话!

谢谢你的快速回复!

你能从你那边检查密码吗?

请帮助我们解决600 uA的巨大电流消耗

我如何能发送你的dsps项目测试在你的一边,因为我不能上传超过10 Mb的论坛。

我们希望达到1.6 uA或类似的水平就可以了。

在活动和延长睡眠模式下,我们的当前消耗量相同。

我有一些照片。

提前感谢您宝贵的帮助!

很高兴很快听到你的声音!

提前
腻过

附件:
PM_对话框
离线
最后一次见到:3天3小时前
工作人员
加入:2018-02-08 11:03
嗨腻过,

嗨腻过,

大约1.6uA的功耗是在设备处于完全没有活动的休眠模式时实现的。DSPS的例子并没有进入永久的睡眠状态,而是根据其广告和连接间隔不断地醒来和进入睡眠状态,所以没有办法看到~1.6uA的功耗。这意味着该设备在广告和连接间隔之间进入了长时间的休眠。另外,DSPS示例使用UART来接收和发送数据,因此功耗会大大增加。请问您是否使用外部SPI闪光灯?如果是,请注意,如果您不将其下电(通过flash的下电命令- spi_flash_power_down()),则单板上的SPI flash也会增加功耗。如果你有一个自定义板,因为我可以看到从pdf,我强烈建议你检查你的板是否有任何组件增加功耗。不需要上传您的DSPS项目,因为增加功耗的最可能的原因不是来自DSPS代码。另外,您能告诉我600uA的current consumption是什么时候收到的吗?当你发送或接收数据时? Please, try to review your PCB first.

谢谢,下午好

马里奥斯
离线
最后一次见到:8个月4天前
加入:2017-05-09 20:27
你好,PM_对话!

你好,PM_对话!

谢谢你的快速回复!

1) 是的,我们正在使用dialog(Smartbond w25x20CL)推荐的外部spi闪存

我已经在我们的定制板上附上了da14580的总体源代码配置和功耗。

2)我们已经改变了UART TX GPIO从默认PO_5到p1_3,因为我们有冲突spi flash是

正确吗?

有什么建议吗?为了避免与spi冲突,我们可以使用哪个pin?

RX GPIO管脚P0_4保持默认状态。

我们还没有连接cts和rts引脚,这些引脚使用HW流量控制是必要的吗?

正如你在上一篇文章中提到的“(通过flash-spi_flash_power_down())的掉电命令

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

3)我们测量了我们的板,在没有DA14580芯片24ua的情况下,它的功耗正常

提前感谢,,
腻过

附件:
PM_对话框
离线
最后一次见到:3天3小时前
工作人员
加入:2018-02-08 11:03
嗨腻过,

嗨腻过,

  1. 你能澄清如果你想从SPI flash启动吗?如果是,请注意DA14580是从标准gpio启动的。请查看表1AN-B-001: DA14580/581/583从串行接口启动来自我们的支持门户的文档。
  2. 您已经正确配置了UART TX GPI,您可以为UART配置使用任何pin。如果你正在使用HW流量控制,你应该连接CTS/RTS引脚。
  3. 增加功耗的最可能的原因是,您可能有电流泄漏到您的板。由于您将设备配置为扩展睡眠模式,您不应该有600uA的功耗,所以我认为这是一个基于软件的问题。你测量的消耗是在发送或接收数据时吗?正如我已经提到的,DSPS项目不会永久进入延长睡眠。请让我知道你是否能够连接到DSPS android应用程序,你是否能够发送/接收数据?我强烈建议您使用SDK的ble_app_sleepmode示例,并测量设备进入睡眠模式后的功耗。在这个SDK示例中,哪个是功耗?
  4. 如果取消定义CFG_DEVELOPMENT_DEBUG,请注意您将无法热附加调试器。

谢谢,下午好

马里奥斯
离线
最后一次见到:8个月4天前
加入:2017-05-09 20:27
你好,PM_对话!

你好,PM_对话!

谢谢您的快速回复!我们最终存档了低功耗的预期与上述配置,如您所见的附件图像。但是当我们处于长时间睡眠模式时,我们无法接收到任何数据到对方。当我们处于活动模式时,一切都按预期工作。

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

1) 我们使用硬件流控制。如何设置CTS和RTS引脚?
2)这个引脚需要连接到我们的Atmel处理器上,如果是,需要高或低?
3)没有这些引脚我们可以使用HW流量控制吗?如果有,怎么做?

提前感谢,,
腻过

附件:
PM_对话框
离线
最后一次见到:3天3小时前
工作人员
加入:2018-02-08 11:03
嗨腻过,

嗨腻过,

请检查user_periphu_setup .c文件中的GPIO_reservations()和set_pad_functions()函数,您将发现UART gpio的设置。如果你决定使用硬件流控制,你应该使用CTS/RTS引脚。请检查user_peripher_setup .h头文件中是否定义了CFG_UART_HW_FLOW_CTRL ?这个定义启用/禁用硬件流控制。另外,我强烈建议您使用我们的DSPS移动应用程序检查DSPS是否正常工作,并尝试发送一些字节到您的设备。你能看到你的设备在做广告吗?

谢谢,下午好

马里奥斯
离线
最后一次见到:8个月4天前
加入:2017-05-09 20:27
你好,PM_对话!

你好,PM_对话!

谢谢您的快速回复!

1) 是的,DA14580广告,我们可以与之联系。
2) 我们使用dsps应用程序发送数据,但另一端没有任何数据。

如何使用CTS和RTS引脚与atmel处理器的正确连接是什么?

我们已经阅读了UM-B-038:Dialog串行端口配置文件(DA14580)的用户手册,但不清楚。
你能给我们更多的信息吗?

CTS/RTS握手的时序图是什么,以确定何时需要高或低,以启动和停止从DSPS应用程序接收DA14580数据?

/**
****************************************************************************************
*
*@file user\u periph\u setup.h
*
* @brief外设安装头文件。
*
*版权所有(C)2012。Dialog半导体雷竞技电竞平台有限公司,未出版作品。此计算机
*程序包括机密、专有信息,是商业秘密
* 雷竞技电竞平台Dialog半导体有限公司禁止使用、披露和/或复制
*除非得到书面授权。保留所有权利。
*
*和贡献者。
*
****************************************************************************************
*/

#ifndef\u用户\u外围\u设置\u_
#定义(用户)(外围)(设置)_

/*
*包含文件
****************************************************************************************
*/

# include“rwip_config.h”
#包括“全球io.h”
# include“arch.h”
# include“da1458x_periph_setup.h”
#包括“i2c_eeprom.h”
/*
*定义
****************************************************************************************
*/

# undef CFG_UART_SW_FLOW_CTRL
#定义CFG\u UART\u HW\u FLOW\u CTRL

///可用波特率1152005760038400192009600
#定义CFG_UART_SPS_波特率UART_波特率_9K6
/ *启用WKUPCT。wkupct_quadec驱动程序需要。*/
#定义WKUP_ENABLED

/****************************************************************************************/
/* UART配置*/
/****************************************************************************************/

#定义GPIO_UART1_TX_PORT GPIO_PORT_0
#定义GPIO_UART1_TX_PIN GPIO_PIN_4
#定义GPIO\U UART1\U RX\U端口GPIO\U端口\U 1
#定义GPIO_UART1_RX_引脚GPIO_引脚3
#定义GPIO\U UART1\U RTS\U端口GPIO\U端口\U 0
#定义GPIO_UART1_RTS_PIN GPIO_PIN_3
#定义GPIO\U UART1\U CTS\U端口GPIO\U端口\U 0
#定义GPIO\U UART1\U CTS\U引脚GPIO\U引脚2

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

# ifdef CFG_PRINTF_UART2
#定义GPIO_UART2_TX_PORT GPIO_PORT_1
#定义GPIO_UART2_TX_PIN GPIO_PIN_2

#定义GPIO\U UART2\U RX\U端口GPIO\U端口\U 1
#定义GPIO_UART2_RX_PIN GPIO_PIN_3
#恩迪夫
/*
*函数声明
****************************************************************************************
*/

无效周界初始(无效);

作废GPIO_预订(作废);

# endif / / _USER_PERIPH_SETUP_H_

提前感谢,,
腻过

MT_对话框
离线
最后一次见到:7个月1周前
工作人员
加入:2015-06-08 11:34
你好,马里奥斯,

你好,马里奥斯,

参考设计使用的RTS/CTS是带有H/W流量控制的标准UART, ATMEL的RTS到580的CTS和相应的连接
用于580的RTS和ATMEL的CTS。只要外部处理器fw或控制ATMEL上UART的任何东西使用HW流量控制遵守UART协议,您就应该能够通信。我建议首先尝试使用FTDI电缆,并按照用户手册(UM-B-038)的建议将DSPS设备与PC连接,或者尝试跟踪580的UART线路,检查580是否确实发送数据,但由于某种原因,您无法在另一端接收数据。文件中还介绍了适当的连接(第8段)。

谢谢你的对话

马里奥斯
离线
最后一次见到:8个月4天前
加入:2017-05-09 20:27
你好,PM_对话!

你好,PM_对话!

谢谢您的快速回复!

谢谢你提供的有用信息!

1)是否有可能使用S/W流量控制
低功耗?如果是,怎么做?

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

谢谢你! !
很高兴很快听到你的声音!
腻过

MT_对话框
离线
最后一次见到:7个月1周前
工作人员
加入:2015-06-08 11:34
嗨腻过,

嗨腻过,

  1. 在sw流量控制中有缺点,当使用扩展睡眠时,它部分支持只有DA14580输入数据可以被控制,任何传入的XON/XOFF将在睡眠时间被忽略(这也在UM-B-038中提到)。在活动模式下完全支持软件流控制。
  2. HW流量控制是CTS/RTS引脚,没有CTS/RTS引脚,你只有没有流量控制的UART。

谢谢你的对话

马里奥斯
离线
最后一次见到:8个月4天前
加入:2017-05-09 20:27
你好,PM_对话!

你好,PM_对话!

谢谢您的快速回复!

我们的处理器处于睡眠状态,等待DA14580唤醒它,当数据可用时,从dsps应用程序,我们如何设置这?

我们已经为硬件流量控制配置了cts/rts引脚。

我们希望当DA14580没有数据传输时,来自DA14580的RTS信号是恒定的高,当DA14580有数据传输时,RTS信号应该是低的。
。我们观察到,当配对前的DA14580时,RTS信号为高电平,并且每1秒(广告时段)变低一次。这会在其唤醒时导致许多问题
我们的控制器没有任何原因。传统上,当与DA14580配对时,我们会观察到RTS信号的快速变化。这同样会导致外处理器出现唤醒问题。只有当DA14580
接收数据发送RTS信号稳定恒定低。因此,我们必须改变DA14580软件,以便在广告和配对期间在RTS有稳定的高电平信号。

请回复我们是如何影响DA14580软件使RTS信号失效的。

我已经获得了上述RTS测量值。

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

附件:
MT_对话框
离线
最后一次见到:7个月1周前
工作人员
加入:2015-06-08 11:34
嗨腻过,

嗨腻过,

好的,580在使用DSPS固件操作时,当设备唤醒时,它会将RTS线路切换到低位,以指示它已准备就绪(设备将拉动
当它醒来时,RTS低,在每个连接间隔或广告间隔,也要意识到当设备接收,当传输的数据到达内部FIFO
阈值RTS将返回高位,以通知另一方它应停止发送数据)。在DSP中,RTS信号由硬件和软件控制(每当Rx FIFO进入特定阈值时,硬件将自动拉高RTS,以指示另一方不发送任何数据)。如果您想更改此设置,则可以在UART_sps_init()中更改UART配置或从引脚中删除CTS功能。

谢谢你的对话