我正在使用唤醒帧(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 状态。