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.

[参考译文] MSPM0L1106:无法在待机模式下实现 1uA - SysConfig 具有计时器、I2C、ADC、UART 和 GPIO

Guru**** 2858300 points

Other Parts Discussed in Thread: SYSCONFIG, TPS8804

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1633497/mspm0l1106-not-able-to-achieve-1ua-on-standby-mode---sysconfig-having-timer-i2c-adc-uart-and-gpio

器件型号: MSPM0L1106
主题中讨论的其他器件: SYSCONFIGTPS8804

尊敬的 TI 团队:

摘要:  
请建议在待机模式下实现 1uA 功耗的条件。

详细信息:

电路:  
  电路输入电压:24V
  电路包含:DC-DC 转换器、AFE TPS8804-TI IC、MCU
  直流 — 直流转换器消耗:60uA
  基于数据表 AFE、禁用输入放大器、预热增益放大器、LED LDO SLC Tx 和 SLC   RX AFE 消耗 15uA 电流 (启用 MCU LDO 以提供 MCU 电压)

我们试过 MCU 1uA 较为准确的估值 1 毫安 编译器配置模式。
main()

在 SysConfig 中、启用了 UART、I2C、GPIO 和 ADC、计时器和 STANDBY 0
2. MCU 与 AFE IC 相连 — TI TPS8804
3.代码:
  a. Power Init(初始化所有外设)
  b.禁用 AFE 块 — 输入放大器,光增益放大器,LED LDO SLC Tx 和 SLC RX
  c.调用 DL_SYSCTL_enableSleepOnExit ();
  D.禁用 I2C、ADC 和 UART 的电源
  f. STANDBY 的启动计时器
  g. while (1){
      WFI();
   }  
}

如果是 1  
void TIMER_0_INST_IRQHandler (void)

   
  switch (DL_TimerG_getPendingInterrupt (TIMER_0_INST)){
    用例 DL_TIMER_IIDX_ZERO:
      
      DL_TimerG_STOPCounter (TIMER_0_INST);


      DL_GPIO_togglePins (GPIO_LEDS_PORT、GPIO_LEDS_LD1_LED1_PIN);
       
       
      DL_Timer_setLoadValue (TIMER_0_INST、TIMER_VALUE_5000_MIERS);
      
      DL_TimerG_startCounter (TIMER_0_INST);
      休息;
    默认值:
      休息;
  }
}
#endif
附上代码: StandbyCode.c 


在此基础上、
预期电流为:60+15+1 = 76uA
我们得到的实际电流:120uA。

请指导我们在待机模式下实现 1uA(总共 76uA)。

谢谢
Selvam

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

    尊敬的 Selvam:
    我想您可以尝试使用 STANDBY1、而不是使用 STANDBY0。 这是器件仍正常工作时的最低功耗模式之一。

    此致、

    Diego Abad

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

    尊敬的 Diego:

    我们也尝试了 STANDBY1、但我们仍然得到了  120 μ A 的电流。

    请建议在进入待机模式之前、我们是否需要禁用任何其他驱动程序?

    谢谢

    Selvam

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

    尊敬的 Selvam:
    您能否提供在应用程序中使用的.sysconfig 文件? 我应该能够在工作台上重现这个问题、并找到降低功耗的建议。
    此致、
    Diego Abad

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

    尊敬的 Diego:

    请 在应用程序中使用.sysconfig 文件(保存为文本)、感谢您的帮助。

    .e2e.ti.com/.../sysconfig.txt

    谢谢

    Selvam

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

    尊敬的 Selvam:
    我确认您提供的示例消耗的不仅仅是一个空工程。 我认为这可能是由于应用中驱动了 GPIO。 如技术参考手册中所述、我建议缩小系统中哪些模块消耗的功率最多、并禁用模块的功能和功耗、从而了解应用中电流的减小情况。  
    此致、
    Diego Abad

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

    Diego 美好的一天

    感谢您的确认。

    到目前为止、我们使用以下函数禁用模块的电源

    DL_GPIO_disablePower (GPIOA);
    DL_I2C_disablePower (I2C_0_INST);
    DL_ADC12_disablePower (ADC12_0_INST);
    DL_UART_disablePower (UART_0_INST);

    除此之外、
    我们是否需要如下所示禁用模块的功能
    DL_I2C_disableController (I2C_0_INST);
    DL_UART_Main_DISABLE (UART_0_INST);
    DL_ADC12_disableConversions (ADC12_0_INST);

    或者我们有任何函数像 I2C_DeInit 或 I2C_Close ();

    请提出建议。

    谢谢
    Selvam

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

    尊敬的 Selvam:
    我认为、先禁用模块、然后再禁用电源将是一种很好的方法。 对于 I2C、我建议 重置外设、禁用模块和禁用电源。  

    此致、

    Diego Abad