Tool/software:
Hi Team,
I have configured the selective wake registers to wakeup the transceiver from sleep mode when the CAN ID :0x123, DLC = 8, Data byte 7 mask = 0x01 standard CAN is received. This is working as expected. However, below observation is made during the testing.
1. Configure all the selective wake related registers as per the above configurations and baudrate etc.
2. Set DATA_MASK_EN
3. Set SWCFG
4. Enable SW_EN bit
5. Change to NORMAL mode via SPI
6. Change to STANDBY mode via SPI
7. Change to SLEEP mode immediately via SPI
8. Send the invalid WUF -> device doesn't wakeup
9. Send valid WUF once -> device doesn't wakeup
10. Send valid WUF twice with a gap of around 1 sec between them -> device doesn't wakeup
11. Send valid WUF twice with a gap of around 800ms between them -> device wakes up.
Even when I send the invalid WUF followed by valid WUF within 800ms gap between them, the device wakes up. However, if the delay between these 2 frames are more, the device doesn't wakeup with the valid WUF as well. This observation leads to the below queries.
As per the manual, for the selective wakeup, we need to send WUP followed by WUF to completely transitions to STANDBY mode. Otherwise, if the tSILENCE (around 1.2s) expires the device switch back to low power mode.
1. Does that mean in our testing, the 1st CAN frame sent is considered as a WUP and the transceiver expects the next valid WUF within tSILENCE? Is that the reason, the test works for step 11 but not for step 10?
2. tSILENCE is between 0.6 to 1.2s. What I observed is if I send the WUF within 840ms, the device wakes up else it doesn't. Is this the expected behavior considering the tSILENCE value is till 1.2sec?
3. The INT_1 register bits CANINT, CANSLNT, CANTO are set when I read after the wakeup (even when I send consecutive WUF frames without making the tSILENCE expiry after sending 1st WUP). CANINT is expected. However, why does the bits CANSLNT and CNTO are set? After the device enters sleep, the wakeup frame is continuously sent every 100ms from test environment.
Regards,
Punith Chandra