The LPC54618 SDK includes drivers for CAN called fsl_mcan. There is also a separately available CAN API download. They look similar internally. Is there a reason to prefer one over the other?
Hi Rick:
'Flexcan' and 'MSCAN' are the only name of the IP module. We have several CAN controllers in different MCU famililies, MSCAN, FLEXCAN,... Every can controller have different features in terms of buffers, FIFO's, mailboxes, etc...
From reference manual:
The Flexcan module is a communication controller implementing the CAN protocol according to the CAN 2.0 B protocol specification.
MSCAN is a communication controller implementing the CAN 2.0 A/B protocol as defined in the Bosch specification dated Sept 1991.
Regards
Daniel
Thanks, Daniel. I think I didn't make my question clear. The LPC54618 datasheet calls the internal controller hardware the "MCAN" controller. That was why I referred to "MCAN" (not "MSCAN"). The SDK example code for LPC54618 adds driver files named "fsl_mcan" when you include the CAN features in the driver package. Separately, on the OM13094 product support page, there is a download for CAN/CAN-FD drivers for the LPC5461x parts. I'm trying to figure out why there are two sets of drivers and why I should choose one over the other.
Regards,
Rick
Hi Rick:
They are two different implementations of CAN. Both are right. fsl_mcan is compatible with MCUXpresso SDK. CAN/CAN-FD is a stand alone project. You need to choose fsl_mcan if you use MCUXpresso SDK.
Regards
Daniel
Thanks!