你好所有的,
我在我的设计中根据数据表(图21)在电阻分配器配置中使用NTC。似乎SDK通过给P1_4加电源来实现电阻分频,hw_usb_charger.h中的代码如下:
if (dg_configBATTERY_CHARGE_NTC == 0) {
/*设置P14输出高(3.3V)。*/
Gpio -> p1_padpwr_ctrl_reg &= ~(1 << 4);
Gpio -> p1_set_data_reg = (1 << 4);
GPIO - > P14_MODE_REG = 0×;/* P16设置为输入,无上拉或下拉。*/
GPIO - > P16_MODE_REG = 0 x0;
}
然而,我没有发现任何代码再次禁用此功能。这让我想知道,如果我的设计将耗尽大约160uA的电流,只是为了这个20k电阻分压器永久?这很难让人接受……
我是不是漏掉了什么?或者这款NTC产品仅仅是为“足够大,160uA不重要”的电池设计的?
问候,
罗兰
设备:
嗨roland237,
不需要重新配置P1_4/P1_6以避免漏电。请下载以下文件并参阅6.1睡眠模式下电流消耗大在使用NTC段落时。在本文档中,您将找到一个解决方案,以避免在睡眠模式下使用NTC泄漏电流。
https://support.dialog-semiconductor.com/resource/known-sdk-tools-issues
解决方法是修改apply_wfi如下:
/*
*标记唤醒中断将被这样处理,而不是作为
*典型的中断。
*/
pm_system_sleeping = sys_powered_down;
//如果ntc已启用,请重新配置P1_4/P1_6以避免漏电
如果0 = = dg_configBATTERY_CHARGE_NTC #
hw_gpio_set_pin_function(HW_GPIO_PORT_1, HW_GPIO_PIN_4, HW_GPIO_MODE_INPUT_PULLDOWN, HW_GPIO_FUNC_GPIO);
hw_gpio_set_pin_function(HW_GPIO_PORT_1, HW_GPIO_PIN_6, HW_GPIO_MODE_INPUT_PULLDOWN, HW_GPIO_FUNC_GPIO);
# endif
谢谢,PM_Dialog
你好PM_Dialog,
好的,谢谢,这正是我要找的。
事实上,我在前一段时间读过“问题”文档,但当我偶然发现NTC的事情时就不记得这个了。
似乎这个问题已经被很好地记录下来了(如果有人知道在哪里),所以我建议您在下一个SDK发行版中加入这个修复?因为解决方案基本上意味着本地补丁SDK。如果你发布了一个新的SDK,其中又有bug的话,像这样的更改很可能会引入一个回归。
问候,
罗兰
嗨roland237,
很高兴你想通了。我会建议SDK团队在下一个SDK发行版中合并修复。
谢谢,PM_Dialog