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.

[参考译文] 唤醒后无法将 TCAN1145DYY-Q1收发器置于睡眠模式

Guru**** 2470720 points


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

https://e2e.ti.com/support/switches-multiplexers-group/switches-multiplexers/f/switches-multiplexers-forum/1260096/not-able-to-put-tcan1145dyy-q1-transceiver-in-sleep-mode-after-wakeup

我正在使用唤醒帧(ID:0x1CFB7C27)将 TCAN1145收发器从睡眠状态唤醒。  

根据我的理解、我对所有 TCAN1145寄存器进行了如下配置:

MODE_CNTRL:0x87;

WAKE_PIN_CONFIG:0x44;

PIN_CONFIG:0x00;

WD_CONFIG_1、WD_CONFIG_2、WD_INPUT_TRIG 和 WD_RST_PULSE 所有寄存器都设置为0x00;

FSM_CONFIG:0xF0;

FSM_CNTR:0x10;

DEVICE_RST:0x00;

DEVICE_CONFIG1:0x10;

DEVICE_CONFIG2:0x00;

SWE_DIS:0x00;

SDO_CONFIG:0x00;

WD_QA_CONFIG:0x00;

WD_QA_ANSWER:0x00;

WD_QA_QUESTION:0x00;

SW_ID1:0xDF;

SW_ID2:0x09;

SW_ID3:0xFC;

SW_ID4:0xF8;

SW_ID_MASK1至 SW_ID_MASK4:0x00;

SW_ID_MASK_DLC:0x02;

SW_CONFIG_1:0x30;

SW_CONFIG_2:0x00;

SW_CONFIG_3:0xFE;

SW_CONFIG_4:0x80;

INT_GLOBAL_ENABLE:0x00;

INT_ENABLE_1:0xFF;

INT_ENABLE_2:0x1f;

INT_ENABLE_3:0xE0;

INT_ENABLE_CANBUS:0x7f;

在上电后使用此配置、我可以将收发器传输到睡眠状态、也可以使用所需的唤醒帧将其唤醒。

但在我的情况下、睡眠和唤醒只发生一次。 唤醒后我无法再次将收发器置于睡眠状态。 我需要将收发器转换到正常模式、然后在本例中可以从正常模式转换到睡眠模式。 此外、我观察到、当 INT_1寄存器的 CANSLNT 位变为1时、仅发生转换至睡眠状态。

请提供有关该问题的建议、这样从 SLEEP 状态唤醒后、我将再次将收发器置于 SLEEP 状态。

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

    Smita,

    感谢您向 E2E 介绍本视频。 在 CST 业务结束前、我们将进行研究并为您提供应对措施。

    此致、

    埃里克·哈克特  

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

    您好、Smita:

    我知道您在第一次从睡眠中唤醒事件后无法将收发器置于睡眠模式。 您是否能够检查所有中断状态、以避免除了 CANSLNT 之外没有挂起的中断? 在尝试进入睡眠模式之前、请确保对所有中断值进行寻址和清除。  

    当您第二次将收发器写入睡眠模式时、如何验证器件是否未进入睡眠模式? 您是否能够读回模式控制寄存器的状态? INH 引脚是否保持高电平(在 Vsup 电平)? 其他器件寄存器是否具有响应性-确保您可以从诸如暂存区寄存器等其他寄存器正确读取/写入。  

    此致、  
    埃里克·肖特  

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

    当我在唤醒后第二次将收发器写入睡眠模式时、我会定期读取 MODE_CTRL 寄存器以检查收发器的当前模式。 我还检查了 INH 的电压、它大约为10.34V。  这两个因素都向我确认收发器保持在待机模式 而不会进入睡眠模式。

    发送唤醒帧时、我 检查了所有中断寄存器的状态、并观察到在接收唤醒帧后 CANINT 和 CANSLNT 位都设置为1。 我尝试了清除中断、但不幸的是、我无法清除 CANINT 中断、并且我观察到、只有当我关闭测试工具(例如、独木舟或 CANalyzer)时、我才能清除 它。

    此外、我已验证我能够写入和读取所有其他寄存器。

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

    您好、Smita:

    当收发器处于待机模式时、唤醒识别处于活动状态。 这意味着如果 CANINT 标志被清除、任何接收到的 CAN 帧(WUP)都将再次设置 CANINT 标志并防止器件进入睡眠模式。 当您将收发器移动到正常模式时、唤醒识别被禁用、这样可以正确清除 CANINT 标志。 如果您希望在正常模式下避免无意中在 CAN 总线上传输信号的情况下进行此转换、您可以改用静音模式来禁用唤醒识别并清除 CANINT 标志。

    请告诉我,如果这是清楚的,如果有任何其他东西,我可以帮助你。  

    此致、  
    埃里克·肖特