Hello Sir,
During testing STOP mode entry/exit on MPC5746C(Maskset : 1N06M), I found that device can't enter to STOP mode when a SPI channel is configured as slave.
===> Here is failure mode...
DSPI_2.MCR.R = 0x00010001;
DSPI_2.MODE.CTAR_SLAVE[0].R = 0x38000000;
MC_ME.MCTL.R = 0xA0005AF0; /* Enter STOP mode and key */
MC_ME.MCTL.R = 0xA000A50F; /* Enter STOP mode and inverted key */
while (MC_ME.GS.B.S_MTRANS) {} /* Wait for STOP mode transition to complete */ ==> stuck at here
===> I found a workaround...
DSPI_2.MCR.R = 0x00010001;
DSPI_2.MODE.CTAR_SLAVE[0].R = 0x38000000;
DSPI_2.MCR.R = 0x80010001; /////////////////////////////////////////////////////////workaround
MC_ME.MCTL.R = 0xA0005AF0; /* Enter STOP mode and key */
MC_ME.MCTL.R = 0xA000A50F; /* Enter STOP mode and inverted key */
while (MC_ME.GS.B.S_MTRANS) {} /* Wait for STOP mode transition to complete */
Anyway, I found a workaround and it was reconfigure it's mode as SPI master.
Is this phenomenon is expected working?
Hope to receive any feedback!
Best regards,
Neo
Hi Neo,
I tested this use case with MPC5775K and the behavior is the same. I had searched reference manual, but I did not find any notice about switching (D)SPI to master mode when you want to switch micro to stop mode.
When I have more time, I will try to investigate this behavior deeper and eventually contact application engineers and them about this point.
Regards,
Martin