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.

[参考译文] TCAN1145-Q1:设置睡眠模式后、MCU 未通过控制立即断电

Guru**** 2556970 points


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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1566517/tcan1145-q1-after-setting-the-sleep-mode-the-mcu-was-not-immediately-powered-off-by-the-control

器件型号:TCAN1145-Q1


工具/软件:

您好支持团队:

收发器 tcan1145 出现问题。 当唤醒消息 WUF 周期设置为 1ms 时、在 MCU 的睡眠模式期间、收发器的 PN 相关功能会首先启用、并且待机和睡眠设置都成功。 可能“INH"没有“没有立即控制 MCU 断电、大约 400ms 后 MCU 成功进入睡眠和断电状态。 在睡眠过程中、会持续发送 WUF。

同时、确认睡眠模式状态标志为 0。


您能告诉我原因是什么吗?

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

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

    尊敬的 Chengyu:

    您能否在上面的波形上标记信号名称? 您说收发器进入睡眠模式、但 INH 仍在导通约 400ms 吗?  

    同时确认睡眠模式状态标志为 0。

    这里的睡眠模式状态标志是什么?  您是指 0x10 寄存器中的 MODE_SEL 位吗? 在睡眠模式下、这些位应为 001。

    此致、

    Sean

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

    您好 Sean、

    感谢您的答复。

    对不起,我没有在图片上清楚地标记它。

    图中的粉色波形表示从断电功能开始(此时我提高了 IO 电平)到 MCU 完全进入断电模式且 IO 变为低电平的过程。 此过程包括 PN 相关选项的设置、待机设置和睡眠设置。

    从屏幕截图中可以看出:通常情况下、当收发器设置为睡眠模式时、MCU 会立即断电、并且 IO 引脚被拉至低电平。 发生问题时、收发器也会设置为睡眠模式。 但此时 MCU 不会立即断电。 在我看来、INH 并未立即被拉低、因为 MCU 的电源由 INH 控制。 程序仍执行约 400 毫秒。

    我们进行了另一个实验:设置睡眠后、在随后的 while 循环中、我们不断切换另一个 IO。

    结果表明、 在程序运行约 400ms 后、MCU 最终断电。

    此处的睡眠模式状态标志是什么?

    我们咨询了 FAE 和 FAE、要求我们确认寄存器 52h 中的 SMS 位置位是否已设置。 我们确认没有激活。

     您是否指的是 0x10 寄存器中的 MODE_SEL 位? 在 SLEEP 模式下、这些位应为 001。

    我将以同样的方式读取 0x10 寄存器、并在今天提供一些反馈。

    此致、

    吴成宇

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

    您好 Sean、

    我 在 (SLEEP 后读取 0x10 寄存器、然后发现在正常情况下、该寄存器设置为 001)SLEEP。 但 当它是异常的,它没有被设置成 001(睡眠)。

    那么、 为什么当唤醒消息 WUF 周期设置为 1ms 时、收发器在成功通过 SPI 设置后未立即进入睡眠模式、大约 400 毫秒后、它进入睡眠模式并控制 INH 以进行断电?您能告诉我们您的看法如何?

    此致、

    吴成宇

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

    尊敬的 Chengyu:

    但 当它异常时、它没有立即设置为 001(睡眠)。

    在这种情况下、MODE_SEL 读取是多少?

    此外、在睡眠过程中发送 WUF 周期的目的是什么? 启用选择性唤醒后、器件将开始监测总线、如果有有效的 WUF、它将设置 CANINT 标志。 这可能在正常模式和待机模式下发生、具体取决于 MCU 对从 CAN 唤醒的反应、可能会阻止收发器进入睡眠模式。 我建议 在进入睡眠模式的同一 SPI 写入中设置 SW_EN =1、因为这些位在同一寄存器中。 在进入睡眠模式之前、添加清除所有中断寄存器的步骤。

    请告诉我这是否可以解决问题。

    此致、

    Sean

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

    您好 Sean、

    很抱歉这么长时间没有回复您。

    在本例中 mode_sel 的读取结果是什么?

    我读取了模式并处于待机状态

    如果有有效的 WUF、它将设置 CANINT 标志。 这可能在正常模式和待机模式下发生、具体取决于 MCU 对从 CAN 唤醒的反应、可能会阻止收发器进入睡眠模式。 [/报价]

    为什么接收到的 WUF 会影响从待机到睡眠的收发器? MCU 中的软件不处理这个逻辑,它  的特点是 TCAN1145?

    [报价 userid=“552124" url="“ url="~“~/support/interface-group/interface/f/interface-forum/1566517/tcan1145-q1-after-setting-the-sleep-mode-the-mcu-was-not-immediately-powered-off-by-the-control/6035324 ]我建议 在进入睡眠模式的同一 SPI 写入中设置 SW_EN =1、因为这些位在同一个寄存器中。 [/报价]

    我会考虑你的建议。 谢谢你。

    此致、

    Wuchengyu

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

    尊敬的 Chengyu:

    在待机模式下是有意义的。 由于您在睡眠过程中持续发送 WUF、因此 将器件从睡眠模式唤醒是有效的唤醒事件。 在待机模式下、您还可以启用选择性唤醒功能、并且在将 SW_EN 设置为 1 后它将开始监测 WUF。 待机模式和睡眠模式之间有一个模式转换时间、因此、如果在模式转换期间发生任何唤醒事件、它可以立即再次唤醒器件。

    此致、

    Sean