Dear all,
Initialization Mode Acknowledge — This flag indicates whether the MSCAN module is in initialization mode. It is used as a handshake flag for the INITRQ initialization mode request. Initialization mode is active when INITRQ = 1 and INITAK = 1. The registers CANCTL1, CANBTR0, CANBTR1, CANIDAC, CANIDAR0–CANIDAR7, and CANIDMR0–CANIDMR7 can be written only by the CPU when the MSCAN is in initialization mode. 0 Running — The MSCAN operates normally 1 Initialization mode active — The MSCAN has entered initialization mode |
question:1) INITAK——This flag indicates is not 0 after INITRQ=0.But all other register values are normal. 2)What causes MSCAN0 initialization to fail? |
Hi Katherine,
1. After exit initialization mode by writing INITRQ=0 we should wait for
INITAK = 0: while (CAN0CTL1_INITAK){};
and Synchronized Status flag where SYNCH = 1 when MSCAN is synchronized to the CAN bus.
2. The MSCAN should not be active when initialization mode is entered.
More information can be found in the section "13.4.4.5 MSCAN Initialization Mode" in the RM rev.2.11
Also, I would like to recommend you the AN4975 Using MSCAN on the MagniV Family
http://www.nxp.com/files/microcontrollers/doc/app_note/AN4975.pdf
AN4975SW:
http://www.nxp.com/files/microcontrollers/doc/app_note/AN4975SW.zip
I hope it helps you.
Best Regards,
Diana
Diana Batrlova,
The above information is very helpful to me.
Thank you .