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.

[参考译文] TMS570LS3137:降低功耗

Guru**** 1821780 points
Other Parts Discussed in Thread: TMS570LS3137, HALCOGEN, RM48L540
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1222296/tms570ls3137-reduce-power-consumption

器件型号:TMS570LS3137
主题中讨论的其他器件: HALCOGENRM48L540

您好! 我叫 Carlos

我无法降低 TMS570LS3137微控制器的功耗。 我的全部工作都源于 TI 应用报告中关于这个名为"TMS570LS3137的降低功耗 "的特定主题。 (https://www.ti.com/lit/an/spna173/spna173.pdf?ts=1681316353136&ref_url=https%253A%252F%252Fwww.google.com%252F) 

我对某些外设的时钟断电的能力感兴趣。 以 DCAN1模块为例。 为此、应用报告 方法建议 使用 外设断电 设置寄存器1 (PSPWRDWNSET1)、特别是设置位0和1。 实际上、该报告说外设选择编号为 PS8 (在表5中)、其中的相关位为 Q[0、1]、 但是、如果我们    在参考手册中搜索外设断电设置寄存器1 (PSPWRDWNSET1)、我们可以确认需要设置此寄存器的位0和位1。

我遇到的问题是、当我尝试从 PSPWRDWNSET1寄存器设置这些位(0和1)时、只有位0进行响应并被设置。 位1没有。 事实上、我还尝试了从该寄存器中设置所有的32个位、再说一次、只有少数几个进行了响应。 在尝试设置所有32位后读取该寄存器将得到以下答案:

01010000000100010000000100000101b

我知道应用报告说那些未被执行的位将一直读取为0、但是对于 DCAN1外设、我知道位1应该做出响应。  此外、当我尝试设置这些位时、我会在特权模式下运行。

您能帮助我意识到我做错了什么吗?

提前感谢!

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

    尊敬的 Carlos:

    我们已着手解决您的问题、并将很快提供更新。

    --

    谢谢。此致、
    Jagadish。

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

    尊敬的 Carlos:

    阅读下面的线程后、我发现 一些 有用的信息、

    (+) TMS570LC4357:PCR 导致 DCAN 关断的问题-基于 Arm 的微控制器论坛-基于 Arm 的微控制器- TI E2E 支持论坛

    如果 CAN 总线处于活动状态(一个节点正在发送或刚刚完成发送)、将不会产生掉电请求、并且 CAN 控制寄存器的 INIT 位也不会被置位。

    那么、您是否确定在设置断电位时 CAN 总线处于空闲状态?

    --

    谢谢。此致、
    Jagadish。

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

    你好,Jagadish!

    我明白了。 在设置断电位时、我可以非常确信我的 CAN 总线处于空闲状态。 但该问题不仅会发生在 CAN 上、而且还会发生在其他外设上。
    我忘了提及我使用免费 RTOS、因此我认为 FreeRTOS 可能配置了我不完全了解的东西。

    为了确保情况不是这样,这里是我做了什么:

    1)以 TMS570LS3137为目标、创建了一个新的 Compose Studio Code 项目。
    2)创建了一个新的 HalCoGen 项目(与 CSS 项目相关联) 无 RTOS 已禁用所有可用驱动程序 外设。 我使用这些设置生成了代码。
    3) 3)我唯一添加到主函数中的是设置 外设断电设置寄存器 1 (PSPWRDWNSET1)和 外设断电设置寄存器 0 (PSPWRDWNSET0)中的所有位

    之后、在调试期间读取这些寄存器 会得到以下结果:

    PSPWRDWNSET1: 01010000000100010000000100000101b

    PSPWRDWNSET0: 0001001100000000010101010001b

    我附加一个我正在使用的简单代码的图像。

    所以,即使到最基本的配置,问题仍然存在(很多位没有被设置):( 肯定有什么我丢失了!  
    我认为、如果我们在这样的基本配置中解决这个问题、那么更复杂代码中的解决方案将是相同的。 您能否复制此基本场景、看看您是否能为我提供帮助?

    非常感谢!
    卡洛斯

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

    你好,Jagadish!

    只想给您评论一下、我们最近与我的合作伙伴一起尝试了 RM48L540微控制器、但我们也遇到了同样的问题

    当然我们缺少一些东西。


    我们将等待您的帮助,只要你可以,非常感谢!

    此致。

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

    尊敬的 Carlos:

    感谢您提供更多详细信息、

    我挂了其他问题、因此没有机会查看此问题、现在我正在处理此问题、我将尽快提供更新。

    --

    谢谢。此致、
    Jagadish。

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

    尊敬的 Carlos:

    刚才、我创建了具有您提到的问题的项目。 让我进行进一步调试、以便提供最新情况。

    --

    谢谢。此致、
    Jagadish。

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

    你好,Jagadish!
    还不错!! 非常感谢!

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

    你好,Jagadish!

    有新消息? 我是如此地讨厌我的项目的这个部分哈哈。 请告诉我您可以弄清楚的一切、

    谢谢!!

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

    以下是在 PS 帧内使用象限的方式:
    答:从机使用全部四个象限。
    仅实现了与 PSN 的象限0相对应的位。 它保护整个 1K 字节  中的调节器。 其余3位未实现。
    B.从器件使用两个象限。
    每个象限必须属于以下组之一:(四路0和四路1)或(四路2和四路3)。
    对于组合 Quad0/Quad1、位象限0可同时保护象限0和1。 位象限1未实现。
    对于组合 Quad2/Quad3、位象限2同时保护象限2和4。 位象限3未实现。

    DCAN1采用   PSPWRDWNSET1的位[1]:0 (四路0和四路1)、 DCAN2采用 PSPWRDWNSET1   的位[3](四路2和四路3) 。 帧大小为512kB、使用2个象限、因此只有位0和位2被设定为 DCAN1和 DCAN2断电。

    位1和位3未执行。  对未实现位的写入无效、读取值为0。