we are using s32k148 Nxp controller . we have a requirement in which CAN baud rate should change on the fly without reset or power cycle.
Once baud rate is set then we are not able to change the baud rate again without reboot.
We are able to set baud rate only once in a power cycle.
But currently if we have set 500kb baud rate then we are not allowed to set 250 kb baud rate without reset or power cycle.
Could anyone help us to handle this situation... or is this s32k148 limitation??
if the FlexCAN module is in Freeze mode, then you can reconfigure bit timing register normally.
Unless you have CBT[BTF] bit set, and you are trying to modify CTRL1 register. In this case PRESDIV, PROPSEG, PSEG1, PSEG2, and RJW fields of CTRL1 become read only.
The CAN bit timing variables (PRESDIV, PROPSEG, PSEG1, PSEG2, and RJW) can also be configured using the CBT register, which extends the range of all these variables. And the CBT should be used for PRESDIV, RJW, PSEG1, PSEG2, and PROPSEG fields setting if CAN FD is enabled.