Hello community,
I am currently debugging what appears to be a FlexCAN1 clocking issue on an MPC5748G (Z4_0 core, S32 Design Studio for Power Architecture, SDK 3.0.0) and would appreciate guidance on getting FlexCAN1 operational.
FlexCAN0 is working, FlexCAN1 is not
In ClockMan / Component Inspector, FlexCAN1 shows:
Interface clock = FS80
Clock source = “-”
Frequency = 0 Hz
Bus, transceiver, pinmux, bit timing, and FlexCAN configuration are confirmed correct
FXOSC is enabled and stable
Erratum ERR010595 requirements are fulfilled
FXOSCON = 1 in the active mode
According to my understanding, FlexCAN must be supplied via MC_CGM auxiliary clock AC9_SC
The following excerpt is generated by ClockMan in clockMan1.c:
Clock initialization in main.c is done as follows:
When debugging after the clock configuration update, I observe:
This suggests that AC9 is never actually configured or selected, despite the ClockMan configuration indicating that FlexCAN should be clocked from FS80.
For comparison, ADC0/ADC1 clocks work correctly and show:
Interface clock = FS80
Clock source = FS80
Frequency = 80 MHz
This indicates that:
FS80 is valid and running
ClockMan is able to route FS80 correctly for other peripherals
I hope the provided information is sufficient. If additional details are required, please let me know.
Any guidance or clarification would be greatly appreciated.
Thanks in advance.
Best regards,
Alex
Hi,
the FlexCAN1 module clock is fed from FS80 directly, there is no mux to be configured as it is on FlexCAN0.
If FlexCAN1 is not working check the module state in debugger, see MCR, ECR, ESR1 registers.
Even if you wrote bus, transceiver, pinmux, bit timing, and FlexCAN configuration are confirmed correct, check again the bus is terminated, transceiver active and pins properly set.
BR, Petr