This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC2340R5:ADC_Close 之后、ADC 引脚电流消耗过高

Guru**** 2595210 points
Other Parts Discussed in Thread: CC2340R5, SYSCONFIG, CC2640

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1366018/cc2340r5-adc-pin-current-consumption-too-high-after-adc_close

器件型号:CC2340R5
主题中讨论的其他器件: SysConfigCC2640

我的客户发现、在 ADC_Close 之后、CC2340的电流消耗出乎意料地高。 通过执行以下步骤、可以使用 CC2340R5 LaunchPad 和最新的 SDK8.10重现该问题:

1.从 simplelink_lowpower_f3_sdk_8_10_00_55修改 adcsinglechchannel 示例、以每4秒调用 ADC_open、ADC_convert 和 ADC_close。

2.禁用 Display 驱动程序以确保设备在每次 ADC 采样之间进入睡眠状态。

3.将 ADC 引脚连接到 AAA 电池(输入电压1.5V - 1.7V)。

4.输入电压约为1.5V 时、平均电流消耗大于100uA、但如果输入电压为0或3.3V、平均电流小于10uA。

输入电压电平是否对电流消耗有影响、ADC 驱动器是否未正确设置 GPIO?

请按如下所示找到修改后的 adcsinglechannel.c 和 syscfg 文件、以重现此问题:

e2e.ti.com/.../adcsinglechannel.c

e2e.ti.com/.../adcsinglechannel.syscfg

此致、

沭阳

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    "如果 I/O 引脚处于 tri 状态并且已连接
    连接到具有不同电压电位的节点时、会有较小的漏电流穿过引脚。 同样适用于
    一个配置为输入的 I/O 引脚、其中该引脚连接到电压源(例如 VDD /2)。 输入为
    则未定义的值0或1。" (由技术人员提供。 参考)

    当 ADC 关闭时、IO 设置为输入并变为未定义、因为引脚上的电压约为 VDD/2

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Marten:

    如何避免电流泄漏? 或者、我应该使用 BATMON 模块对电池电压进行采样来降低电流消耗?

    此致、

    沭阳

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是否要使用同一节电池为系统供电? 如果是、这应该不是问题、因为引脚上的电压不是 VDD/2但等于 VDD。 我没有使用过 f3 SDK、但在 f2 SDK 中有一个下拉列表、用于在 SysConfig ADC 驱动程序中对内部信号进行采样。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Martin:

    您是对的、可以在 SysConfig 中将供电方设置为电池通道:

    节省引脚以及外部布线。

    或者、如果您只想监视将电池电压降至特定水平、则可以使用 BATMON 并设置阈值水平来触发中断。

    Br、

    杰克

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Jake、

    该引脚未连接到 MCU 的电源、因此在这种情况下、ADC 输入不能设置为电池通道。

    经过一些实验、客户发现、在调用 ADC_Close 时、将引脚设置为 tri 状态可以降低电流消耗:

            ADC_close(adc);
            GPIO_setConfig(CONFIG_GPIO_ADC_1_AIN, GPIO_CFG_NO_DIR);

    显然、在连接到中轨电压(如 GPIO/2)时、将 VDD 置于输入模式所消耗的电流比 tri 状态所消耗的电流更大。

    我还发现了之前的一篇 文章 、指出 CC2640的泄漏电流约为90nA、但在输入模式下、泄漏电流可以达到几百 uA:

    "当禁用所有输入缓冲器时、整个器件、包括引脚消耗的电流通常为90nA 左右。 (室温)。
    所有模拟模块在不使用时都会从引脚上断开、因此不会消耗任何电流。
    如果启用了数字输入、则泄漏电流将取决于输入电压。 中轨通常可以看到2-400uA 的泄漏电流。 但是、应避免这种情况、因为数字输入应该是 VDDS 或 GND。"

    考虑将中轨电压作为 ADC 输入实际上是实际应用中的一种常见情况、我们是否应该考虑将此代码添加到 ADC 驱动器中以将引脚置于 ADC_CLOSE 中的 tri 状态? 客户可接受90nA 的泄漏电流比输入模式下的泄漏电流要高得多。

    此致、

    沭阳

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的沭阳:

    公平一点、我已经开了一个 TT 来跟踪该请求。

    此致、