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.

[参考译文] MSPM0G3507:对于 TIMG12和 TIMA0 RUN->standby1->在芯片的工作方式与文档说明之间运行断开连接

Guru**** 2455560 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1483787/mspm0g3507-for-timg12-and-tima0-run--standby1--run-disconnect-between-how-chip-works-and-what-documentation-says

器件型号:MSPM0G3507

工具与软件:

对于 TIMG12和 TIMA0、运行->standby1->在芯片工作方式和文档说明之间运行断开连接。  退出 STANDBY1文档后、人们认为:
slau846a_MSPM0_technical_reference.pdf
第98页-图表状态 PD1外设在 STANDBY1中是"DIS"
第97页-"DIS:此功能在指定的模式中被禁用(时钟或电源选通)、 但该功能的配置将保留 "
因此、这两页的结论是、在退出 STANDBY1时、计时器应该会恢复计数
但这里也重申了这一点:
第1404页-"电源域 PD1中的计时器模块只能在运行和睡眠模式下处于活动状态。 当系统进入停止或待机模式时、计时器模块将被强制进入禁用状态 并在系统返回至运行或睡眠模式时恢复 "
但在实践中、以下代码:
  DL_SYSCTL_setPowerPolicySTANDBY1()
  
  while (d > 0){
    Timer_1_cC0_init(d&0x7FFF)
    d -=0x8000
    while (timer_1_cC0_expired == false)__ WFI ();
  }
  SYSCFG_DL_TIMER_0_INIT (); <<<< 除非我添加这些、否则计时器不会启动
  SYSCFG_DL_TIMER_2_INIT (); <<<< 除非我添加这些、否则计时器不会启动
  DL_SYSCTL_setPowerPolicyRUN2SLEEP2()
是芯片有错误、还是文档不正确?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    另见第95页:

    "PD1域包括 CPU 子系统、SRAM 存储器、PD1外设和 PD1外设总线、该总线通过 MCLK (包括 DMA、最高频率为80 MHz)运行。 在 STOP 和 STANDBY 模式下禁用 PD1时、CPU 寄存器、SRAM 和 外设 MMR 配置寄存器将保持不变、以便在退出 STOP 或 STANDBY 模式时可立即使用这些寄存器恢复运行 "

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

    您好!

    我将在下周早些时候进行一些测试。 您能否在此处提供您的测试项目? 这里只是为了检查你为什么调用计时 器初始化函数而不是计时器启动计数器函数。 根据说明、我期望在其中调用启动计数器函数。  

    此致、

    Cash Hao

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

    虽然计时器启动可能工作、但我确定如果至少一些寄存器值不能存活 standby1、则不信任任何寄存器的状态、并将所有计数器寄存器重新初始化。

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

    代码如上所示。  创建具有自由运行计数器的 TIMG12、TIMG0项目、您应该会看到 TIMG0在待机期间保持计数、但 TIMG12在待机之前计数、在待机期间(这是预期结果)停止、但在返回运行时不会恢复。  在计数器寄存器上添加手表即可看到它、单步执行代码。  确保在调试器设置中启用"Allow enter low power "。

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

    您好!

    无法找到该项目。 您是否可以在帖子中附加您的项目? 谢谢!

    此致、

    Cash Hao

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

    您好!

    这已经两周没有消息了。 这里还有其他需要帮助的地方吗?

    此致、

    Cash Hao