5
\$\begingroup\$

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?

\$\endgroup\$
3
  • \$\begingroup\$ 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). \$\endgroup\$
    – Martin
    May 5, 2011 at 12:11
  • \$\begingroup\$ 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). \$\endgroup\$
    – Erik
    May 5, 2011 at 16:28
  • \$\begingroup\$ 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. \$\endgroup\$
    – Kortuk
    May 10, 2011 at 7:08

1 Answer 1

5
\$\begingroup\$

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.

\$\endgroup\$
1
  • \$\begingroup\$ Would it be possible (and/or unwise) to jumper +5 across from the other side of the board? \$\endgroup\$
    – Krista K
    Jan 30, 2015 at 7:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.