Dear NXP Engineer
When i use S12ZVL , I found the S12ZVL MSCAN CANCTL1 didn't contain BORM bit (which can select Bus-Off Recovery Mode) ,different with S12ZVC or S12G MSCAN .
So i want to know how does S12ZVL recovery from bus-off ? Is it automatically without need any configured in software? Can it recovery by customer request ?
And i want to konw ,what's recovery time ? My one customer need recovery time nearly 500ms ,the other custoemr need 100ms in quick or 1000ms slow,is the recovery time can be adapted by software ?
the device has MSCANV2 implemented. This version does not contain BORM bit and the only automatic bus-off recovery is possible. (MSCANV3 contains bus-off user request recovery option - BORM bit)
The MSCANV2 has automatic recovery option only. In this case, the MSCAN will become error active again after counting 128 occurrences of 11 consecutive recessive bits on the CAN bus (See the Bosch CAN specification for details).
So, the recovery time is a variable of CAN bit rate and activity on the bus.
Thanks a lot for your answer. We found re-enable CAN(reset) module can recovery by myself , but we don't konw whether it is certain operation ? Could we recovery bus-off by re-enable CAN module so that we can control the recovery time by ourselves?
CAN module is not able to be switched off and back on because of one possible write to CANE which is write once in normal mode. The only possibility to reset entire CAN module (together with error counters) is to reset the MCU.
Manually you can start it with INITRQ (clearing). When this bit is cleared by the CPU, the MSCAN restarts and then tries to synchronize to the CAN bus. If the MSCAN is not in bus-off state, it synchronizes after 11 consecutive recessive bits on the CAN bus; if the MSCAN is in bus-off state, it continues to wait for 128 occurrences of 11 consecutive recessive bits.
…..And we are back on the start line in the same conditions…..