嗨,对话框中,
我们的芯片是14682。我们使用GPIO引脚将芯片从休眠状态唤醒。为了节省电力,我们将唤醒引脚设置为输入(不是像其他演示那样,而是设置为input_pullup)。
我们的设置:
在初始化期间:
hw_gpio_configure_pin(WKUP_PORT, WKUP_PIN, HW_GPIO_MODE_INPUT, HW_GPIO_FUNC_GPIO, 0);
hw_wkup_init(空);
hw_wkup_configure_pin(WKUP_PORT, WKUP_PIN, 1, HW_WKUP_PIN_STATE_HIGH);
hw_wkup_set_debounce_time (0);
睡觉前:
hw_wkup_register_interrupt (wake_up_cb 5);
pm_set_sleep_mode (pm_mode_hibernation);
我们可以在冬眠后1-2分钟内醒来,但如果超过5分钟或更长时间,就不能再次醒来。我们注意到V18和V18P在进入冬眠后逐渐下降。这是可能的原因吗?
我们使用的是LR44,一款不可充电的1.5V硬币电池,用于所有的电源供应(包括调节器转换为1.8V)。但是我们没有在config中设置电池类型(因此它应该是默认设置)。这是另一个可能的原因吗?如果是这样,我们应该如何确保它能在很长时间后醒来?
谢谢,
Yingfen
设备:

嗨Yingfen,
唤醒时的峰值电流可能会将您的电源电压拉低到Da1468x的最小工作电压以下。我建议您在升压转换器的输出上安装一个探头,以便在唤醒尝试期间监控电压。你睡得越久,从升压调节器拉出的电流就越多,因为DA1468x的输出轨完全放电了。
/ MHv
嗨MHv,
谢谢你的回复。我检查了VBAT,它在唤醒时看起来很好(当它能唤醒和不能唤醒时)。另外,如果我在休眠后取出电池重新放回,当GPIO输入无法唤醒时,仍然可以使用这种硬件复位唤醒。这是否表明不是电压的问题?
Yingfen
我使用peripherals_demo和开发板中的电源模式测试做了另一个测试。如果VBAT是3V,它将永远工作。如果我们拿走J13上的跳线,VBAT将是1.8V。此时,用户按键无法唤醒芯片,即使P1.6(用户按键的引脚)上的信号很低。如果我们缩短VBAT和V18或V18P,它还是可以工作的。原因是什么?
你还有其他建议吗?
嗨yingfen,
您是否开启按需播放功能?请检查dg_configUSE_BOD宏。DA14682包含一个BOD电路,该电路是基于对芯片中每个时钟周期所选电压的传感。如果发现其中一个电压低于预先配置的阈值,则发出HW复位。请参考数据表。
另外,你是如何测试芯片进入休眠状态的?您是否在衡量当前的消耗量?休眠时功耗约为7-9uA。请记住,您不应该附加调试器,因为休眠将被破坏,因此将发生冷启动。
谢谢,PM_Dialog