CAN API vs. MCAN drivers

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

CAN API vs. MCAN drivers

2,192 Views
skyguy
Contributor III

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?

0 Kudos
4 Replies

1,660 Views
danielchen
NXP TechSupport
NXP TechSupport

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

0 Kudos

1,660 Views
skyguy
Contributor III

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

0 Kudos

1,660 Views
danielchen
NXP TechSupport
NXP TechSupport

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

1,660 Views
skyguy
Contributor III

Thanks!