我是使用DA14580和外部MCU管理传感器的自定义板的字段。连接(在我的情况下的Android平板电脑)时,外部MCU通过UART每秒向DA14580发送一次传感器数据。断开连接后,我正在调用延长的睡眠模式,在外部MCU上切换GPIO引脚上唤醒。在功能上,这是很好的,但我们当我们应该处于睡眠模式时,我们不会看到预期的低功耗。当平板电脑断开没有阻止延长睡眠时,我想确保在接收模式下坐在那里的UART。
我看过UART驱动程序,我没有看到取消接收或转动UART的功能。有关如何正确处理这项的任何建议将非常感谢。
谢谢,最大
设备:
嗨max44,
您能否让我知道从设备进入扩展睡眠模式以来,您可以了解您获得的功耗需要多少?此外,如果设备进入延长睡眠,您是否可以澄清?如果DA14580进入睡眠,那么您获得意外功耗的最可能原因就是为什么您可能在您的自定义板中泄漏。我无法理解你的意思:“当平板电脑断开没有阻止延长睡眠时,我想确保将UART坐在接收模式下。“你能试着解释你的问题吗?请注意,由于设备进入扩展睡眠,因此所有包括UART的外围设备块都会关闭。
谢谢,PM_DIALOG.
下午,
谢谢回复。对不起,我试图保持简单,不要在系统操作中留下无关的细节。我确实意识到功耗可能来自定制板上的其他地方。我只是想消除可能性。当DA14580和外部MCU应该处于低功率状态时,我们会看到1.5 mA的东西。我们预计电流较低,遗憾的是,我没有连接器可以隔离定制板上的电源分析模块。
当平板电脑断开连接时,In user_app_disconnect i调用arch_set_extendend_sleep()和app_easy_wakeup_set。但是,此时,UART2_READ(UINT8_T * BUFPTR,UINT32_T大小,void(*回调)(UINT8_T))正在进行中等待外部微控制器的数据包。
从你上面说的话,听起来像设置延长睡眠会关闭UART。那是对的吗?无论UART2_READ状态如何,都会发生?
谢谢,最大
嗨max44,
请尝试查看您的自定义PCB,并检查您的电路板是否增加的功耗。最可能的原因是为什么您泄漏到您的董事会中。正如我可以从帖子中看到的那样,设备进入延长睡眠。如果我能够正确理解,因为设备断开连接,你将它放在延长的睡眠中,然后通过UART发送数据来试图唤醒它?我明白了吗?
谢谢,PM_DIALOG.
不,我正在唤醒DA14580,并从外部MCU中切换,这就像按钮推动一样。然后,UART2被初始化为唤醒期间调用的Periph_init()例程的一部分。正如我所说,在功能上,这是良好的。
从我们的讨论中,我将假设设置延长睡眠使UART关闭,并且如您建议,在电路板上的其他地方检查。
谢谢,最大
嗨max44,
由于您的设备进入扩展睡眠模式,因此所有外围设备都已关闭。关于DA14580数据表,除了PD_AON,编程的PD_RRX和PD_SR之外,所有电源域都已关闭。请检查数据表以获取有关睡眠模式的更多信息。
谢谢,PM_DIALOG.