I am trying to use the FlexCAN module at 500 KBps on a Kinetis MK20DX256ZVLK10. At this time, we do not have an external oscillator connected to the EXTAL/XTAL pins, so I am running the system clock in FEI mode at ~ 20 MHz.
My MQX test application toggles a GPIO pin and repeatedly sends a CAN message once per second. On the K20, I see the GPIO pin toggle (so the app is alive,) but CAN bus spits out only garbage. The same application works fine (both GPIO and CAN) on the TWR-K60N512 dev board. The TWR-K60N512 has an external resonator on the EXTAL/XTAL K60 pins.
I saw the following comment in the "K20 Sub-Family Reference Manual" (document number K20P81M100SF2RM):
p.1136: CANx_CTRL1[CLKSRC] - This bit selects the clock source to the CAN Protocol Engine (PE) to be either the peripheral clock (driven
by the PLL) or the crystal oscillator clock.
Does this mean the _only_ way to use the FlexCAN module is if you have an external oscillator on the K20 EXTAL/XTAL pins?
Thanks for any help.