A CAN interface must be clocked from a accurate source, so 'crystal based', and at a rate AT LEAST 8x bit-rate for 8 quanta (Tq), preferably 16, to place an accurate sample-point 'late' in the bit-cell. In my systems I start with an 8MHz crystal, and I let the CAN clock run directly from /2 of that to make 250kbit/s J1939.
You seem to have a LOT of questions about how to make CAN work. I suggest you look at many of the other recent posts about getting CAN to pass full messages,like this one:
https://community.nxp.com/thread/394516
CAN peripherals are very sophisticated standalone communication links, but the downside is that everything has to work 'perfectly' about the interchange to get ANY indication of 'communication' to the CPU.