5

The LPC11C24 has a on-chip CAN transceiver and a section of ROM with CAN driver software. I am trying to run the can_onchip sample project on the LPCXpresso board. The CAN-High and CAN-Low lines are connected to an MCP2551 (because you need at least two nodes to test a CAN bus). I don't see any change on the CAN-High and CAN-Low lines and the CAN error callback function is called with error code 0x82, which is a BIT_0 error, meaning the bus is always in the HIGH state and it could not be pulled LOW/dominant. This makes me think there is a problem with the on-chip transceiver because any CAN node should be able to pull the bus LOW for a dominant bit.

The linker files used are the CAN version provided that reserve the ROM memory mapping for the CAN driver. The init and callback functions are being called, so I am relatively certain the drivers are working correctly.

Are there any other settings that need to be used to enable the on-chip transceiver?

Peter Mortensen
  • 1,676
  • 3
  • 17
  • 23
Erik
  • 511
  • 4
  • 14
  • The MCP2551 isn't another complete CAN node that can acknowledge packets, it is just a transceiver. Do you have another complete CAN node connected, that is known to work, eg a CAN USB sniffer? Also ensure to have the CAN line termination resistors fitted (even on a very short line). – Martin May 05 '11 at 12:11
  • I do have the Microchip CAN analyzer - but it doesn't work correctly with x64. You are right the transceiver won't ACK the message, but I should still be able to see the message repeatedly sent on my logic analyzer, but the RX line is always HIGH (idle). – Erik May 05 '11 at 16:28
  • you are on the right path then, nothing is sending. The lack of an ack node always makes my tx repeat till time ends, which I believe is per spec. – Kortuk May 10 '11 at 07:08

1 Answers1

5

The LPC11C24 requires an additional 5V supply to operate the on-chip CAN transceiver. When powering the LPCXpresso board through the USB debug port only, the transceiver does not receive the full 5V. The +5VIN pin only reads 1.3V, so the transceiver does not operate correctly. I have found 2 ways to resolve this:

  1. Use an external 5V regulated supply, connected through the +5VIN pin.
  2. Connect the LPCXpresso to the Embedded Artists LPCXpresso Base Board.

The Base Board requires that the +5V is supplied through the USB-to-UART main power source port in addition to the debug port.

Erik
  • 511
  • 4
  • 14