The LPC2109, LPC2119, LPC2129, LPC2194, LPC2290, LPC2292 and the LPC2294 share the identical CAN interface. There is a big difference between the LPC2xxx and the 2xxx/01 because the /01 series has seen a major makeover. Features have been added (see ApNote about /01) but very important for CAN users, the interface has been fixed for almost all problems. Unfortunately two little things, not considered Erratas but incompatibilities can cost us who switch from the old version to the new one a lot of time.

 

  1. The CAN interface on the LPC2xxx (old) came up enabled after reset. On the LPC2xxx/01 it comes up disabled. There are good reasons to save power and a peripheral that I want to use should always be enabled by my software but it was not required in the older versions. So, if your CAN communication does not come up at all, try to enable the CAN interface and you can see the activity you expect.
  2. Extracted from NXP Errata Sheet:
    The CAN controller on the LPC2129/01 is a new certified CAN controller. This controller has an improved interrupt behavior in Full-CAN mode. Care should be taken while using the global CAN filter look-up table (LUT). In the old CAN block (as found in the LPC2129 and LPC2129/00), the numbering of the CAN interfaces in the LUT is 1 to n.- In “the new CAN block, the numbering of the CAN interfaces in the LUT is 0 to n-1(n being the number of implemented CAN interfaces (2 or 4)).

 

CAN driver from ESA on the Yahoo forum can be found here: http://tech.groups.yahoo.com/group/lpc2000/files/
You need be be a member of the group to have access to the “files” are.  Look for “LPC2_CAN_Examples”

 

Back to LPC2000.com