从深睡眠中预先定义的默认引脚状态

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
20个帖子/ 0新
最后一篇
Rajucoolsuraj.
离线
最后一次露面:5个月3周前
加入:2018-12-12 16:09
从深睡眠中预先定义的默认引脚状态

你好对话框,

我有一个硬件配置,需要将端口引脚设置为醒来的唤醒或从深睡眠中设置/高。

由于重置始终将GPIO设置为“0”状态,因此有没有办法使用将被执行的装配指令作为引导的第一条指令从深睡眠唤醒时被执行?

谢谢

raju.

设备:
PM_DIALOG.
离线
最后一次露面:2天8小时前
职员
加入:2018-02-08 11:03
嗨rajucoolsuraj,

嗨rajucoolsuraj,

您能否澄清并为我提供更多的投入,以便您想要完成的内容?如果我理解正确,你想在设备醒来时进入睡眠状态,请将PIN设置为高电平>或者您希望在芯片处于睡眠模式时保持高引脚状态?

谢谢,PM_DIALOG.

Rajucoolsuraj.
离线
最后一次露面:5个月3周前
加入:2018-12-12 16:09
你好对话框,

你好对话框,

睡眠是深入睡眠。

在睡眠中,PIN状态定义高/低。

在深度睡眠后唤醒,应保留销状态。

如何实现上述要求?

问候

raju.

PM_DIALOG.
离线
最后一次露面:2天8小时前
职员
加入:2018-02-08 11:03
嗨rajucoolsuraj,

嗨rajucoolsuraj,

在睡眠前的销的状态,保留但不是PIN的配置或功能。当设备唤醒即将调用PeripH_Init()函数时,以便在每个唤醒中重新配置引脚,引脚返回其默认应用程序状态。因此,如果任何GPIO在睡眠前高,它会在睡眠期间保持高,并且将通过PERIPH_INIT()函数唤醒重新配置。

谢谢,PM_DIALOG.

Rajucoolsuraj.
离线
最后一次露面:5个月3周前
加入:2018-12-12 16:09
你好对话框,

你好对话框,

我具体提到了睡眠模式 - 深睡眠。

对于深度睡眠,代码始终在外部中断唤醒时执行HW复位。

我有一个要求 - 继续/恢复从深睡眠时唤醒的代码执行。

我可以知道这种需求促进是否可行在深度睡眠模式中?

谢谢

问候

raju.

PM_DIALOG.
离线
最后一次露面:2天8小时前
职员
加入:2018-02-08 11:03
嗨rajucoolsuraj,

嗨rajucoolsuraj,

你提到了深度睡眠模式,所以让我响起你的东西,以便理解你的要求。你烧了OTP吗?

谢谢,PM_DIALOG.

Rajucoolsuraj.
离线
最后一次露面:5个月3周前
加入:2018-12-12 16:09
你好对话框,

你好对话框,

我在闪存中有我的fw。(DA14586)。

谢谢

raju.

PM_DIALOG.
离线
最后一次露面:2天8小时前
职员
加入:2018-02-08 11:03
嗨rajucoolsuraj,

嗨rajucoolsuraj,

通常,当设备处于深度睡眠模式时,OTP应燃烧。但是,通过定义cfg_development_debug宏DA1458x_config_basic.h,您可以模拟深度睡眠模式和OTP镜像到系统RAM。同样,别名之前的销钉是保留的,但不是PIN的配置或功能。

谢谢,PM_DIALOG.

Rajucoolsuraj.
离线
最后一次露面:5个月3周前
加入:2018-12-12 16:09
你好对话框,

你好对话框,

我可以知道如何恢复代码执行,同时启用深度睡眠模式以及Flash的代码执行?

如果不可能,那么可行的替代方案是什么?

谢谢

问候

raju.

PM_DIALOG.
离线
最后一次露面:2天8小时前
职员
加入:2018-02-08 11:03
嗨rajucoolsuraj,

嗨rajucoolsuraj,

你能澄清你的问题吗?您的意思是“恢复代码执行,同时启用深度睡眠模式”?

DA14585 / 6有3种睡眠模式:

  • 没有OTP副本的延长睡眠
  • DA14585 / 6:仅对应于图像尺寸保持的SystemRAM关闭

  • 使用OTP副本延长睡眠:有OTP副本(如果从OTP引导)。
  • DA14585 / 6:仅32KB的SystemRAM保持接通。OTP必须被烧焦,以便能够测量深度睡眠电流。

  • 深度睡眠模式:有OTP副本(如果从OTP引导)
  • DA14585 / 6:仅取决于所选选项,仅唤醒控制器或POR电路仍然接通。
  • 此模式可用于运输或休眠模式。无法维护BLE连接。

但是,通过定义cfg_development_debug宏DA1458x_config_basic.h,您可以模拟深度睡眠模式和OTP镜像到系统RAM。

在延长的睡眠模式中,可以在2种方式中唤醒Theda14585 / 6

  • 同步,通过BLE定时器可以被编程为唤醒系统,
  • 异步,通过外部中断(输入)。

选择深度睡眠模式时,可以在1way中唤醒Theda14585 / 6:

  • 异步,通过从唤醒控制器的上电复位(POR)电路的外部中断(输入)

谢谢,PM_DIALOG.

Rajucoolsuraj.
离线
最后一次露面:5个月3周前
加入:2018-12-12 16:09
谢谢对话框,

谢谢对话框,

我想拥有一个Systemram状态保留,以便在需要唤醒时,系统恢复其主循环执行而不是在深睡眠中进行系统复位。

我在闪存中有应用程序代码。因此,基于上述选项,没有OTP副本的扩展睡眠模式是唯一可以在不活动期间节省电量的选项。

是否有任何额外的省电设置可以包含在没有OTP复制配置的扩展睡眠模式中?

谢谢

问候

raju.

PM_DIALOG.
离线
最后一次露面:2天8小时前
职员
加入:2018-02-08 11:03
嗨rajucoolsuraj,

嗨rajucoolsuraj,

您可以将数据存储到保留RAM中,以便在睡觉时保留它们。请检查一下SW示例:DA14585 / 586检测重置源示例,演示您如何做到这一点。关于您的最后一个问题,您不需要任何其他额外的配置。

谢谢,PM_DIALOG.

Rajucoolsuraj.
离线
最后一次露面:5个月3周前
加入:2018-12-12 16:09
谢谢你的优秀

谢谢你的优秀之例,

基于该示例,代码再次启动任何重置条件的原因。(nmi / hardfault / sw);

要求是不仅知道重置的原因,还要在重置之前保持GPIO的状态。

问候

raju.

PM_DIALOG.
离线
最后一次露面:2天8小时前
职员
加入:2018-02-08 11:03
嗨rajucoolsuraj,

嗨rajucoolsuraj,

正如在先前的评论中提到的那样,设备在睡眠前保持引脚的状态,但不是PIN的配置或功能。当设备唤醒时,执行PERIPH_INIT()函数,以便在每个唤醒中重新配置引脚,并且引脚返回其默认应用程序状态。如果要睡觉,如果GPIO很高,它会在睡眠期间保持高,并且将通过PERIPH_INIT()函数唤醒重新配置。您必须在您的应用程序中知道您的PIN的最后状态,以便在唤醒时重新应用该值。

谢谢,PM_DIALOG.

Rajucoolsuraj.
离线
最后一次露面:5个月3周前
加入:2018-12-12 16:09
但是,示例代码

但是,示例代码经历重置,GPIO状态也将被重置为零。

谢谢

问候

raju.

PM_DIALOG.
离线
最后一次露面:2天8小时前
职员
加入:2018-02-08 11:03
嗨rajucoolsuraj,

嗨rajucoolsuraj,

据我所知,你想在睡觉时保持GPIO状态,不是吗?

谢谢,PM_DIALOG.

Rajucoolsuraj.
离线
最后一次露面:5个月3周前
加入:2018-12-12 16:09
是的,

是的,

睡眠模式深入睡眠,外部醒来。

因此,在唤醒时,系统将经历复位,从而将GPIO设置为零(复位状态)。

PM_DIALOG.
离线
最后一次露面:2天8小时前
职员
加入:2018-02-08 11:03
嗨rajucoolsuraj,

嗨rajucoolsuraj,

据我所知,保留睡眠前的销的状态。因此,如果我理解正确,您想在SW重置后保留PIN的状态?

谢谢,PM_DIALOG.

Rajucoolsuraj.
离线
最后一次露面:5个月3周前
加入:2018-12-12 16:09
是,对的。我想要

是,对的。SW重置后,我想保留PIN的状态。

谢谢

raju.

PM_DIALOG.
离线
最后一次露面:2天8小时前
职员
加入:2018-02-08 11:03
嗨rajucoolsuraj,

嗨rajucoolsuraj,

您能否从设备启动的地方注明?来自SPI Flash的系统RAM ORE?如果它从System-RAM启动,重置后,固件将会丢失,以便您必须再次下载,可能的解决方案是将PIN的状态存储到保留RAM的未初始化区域中,并通过配置GPIO时,Periph_int中的此值。

谢谢,PM_DIALOG.