CAN001 example code on Hexagon not working

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Not applicable
We are trying to get the CAN001_Example2 project working with two XMC4500 Hexagon boards and are having some trouble seeing CAN traffic on the bus.

We have created two copies of the CAN001_Example2, CAN_A (requester) and CAN_B (responder) where CAN_A is set to send a transfer request for LMO1 and CAN_B is set to respond with LMO1.

We have reconfigured both CAN001_Example2 projects to turn off loopback mode, and to assign pins for the CAN Rx (P1.4) and CAN Tx (P1.5) per the XMC4500 Hexagon board.

We have a modified RS-232 cable to connect the CAN_A and CAN_B ports together to ensure that CAN-hi and CAN-lo are connected.

We have CAN_A set to issue the LMO1 request every second, but we do not see any activity at all on either CAN-hi/CAN-lo or CAN TxD/CAN RxD
on either board. CAN_B obviously does not register any interrupts from CAN activity from CAN_A. Both the CAN-hi and CAN-lo pins are stuck high for the duration of things being on.

Is there anything else we might be missing getting the CAN001 example apps up and running for real on an XMC4500 Hexagon board?

Thanks in advance,
Joe Shidle
0 Likes
7 Replies
Not applicable
Hi Joe,

Did you connect CAN Rx (P1.4) and CAN Tx (P1.5) to a CAN transceiver which is available on Ethernet/CAN/RS485 Interface Card (COM_ETH-V1)?

BR,
Zain
0 Likes
Not applicable
Thanks for the response, Zain.

Yes, I'm sorry I neglected to explicitly mention that we are using the COM_ETH-V1 add-on boards. So the HW setup is:

Hexagon "CAN_A" <-> COM_ETH-V1 "CAN_A" <-> modified RS-232* <-> COM_ETH-V1 "CAN_B" <-> Hexagon "CAN_B"

*: Where pins 2 and 7 are connected for CAN-hi and CAN-lo coming out of the RS-232 header on each of the COM_ETH-V1 boards, connecting the CAN RS-232 headers of the two COM_ETH-V1 boards together.
0 Likes
Not applicable
Hi Joe,

According to the hardware connection setup you described, there is only one signal either CAN_RxD (P1.4) or CAN_TxD (P1.5) being connected to one transceiver. Can the communication be established with this setup? I doubt on his usage...

BR,
Zain
0 Likes
Not applicable
Thanks for the response, Zain.

I have both signals connected, both CAN_RxD and CAN_TxD are connected, configured, and in use by the setup. I have attached a diagram of our setup to clarify.

I cannot see any serial signal on either CAN_RxD or CAN_TxD, and I see no differential activity on either CANH or CANL, on either board. All lines are quiet.

443.attach
0 Likes
User5581
Level 3
Level 3
Are you missing the CAN termination resistor?
0 Likes
Not applicable
Hi Joe,

Just realized that on COM_ETH-V1 board the CAN_RxD & CAN_TxD are connected to P1.8 & P1.9 respectively. P1.4 & P1.5 are assigned to ASC_RxD & ASC_TxD. Details are documented in "Board_Users_Manual_CPU_Board_XMC4500_General_Purpose_R1+1" Figure 23 Satellite Connector Type COM.

BR,
Zain
0 Likes
Not applicable
Thanks for the responses, Zain.

After re-examining the schematic for the XMC4500 board, you are correct. CAN_RxD / CAN_TxD from the COM_ETH-V1 board are on pins 28 and 30 which are sent to P1.8 and P1.9 on the XMC4500. I was going by the rest of the documentation that has CAN_RxD / TxD listed as the aforementioned P1.4 and P1.5.

After configuring the two projects to use P1.8 and P1.9 I see serial data on CAN_RxD and CAN_TxD and differential signalling on CANL and CANH. Connecting the two boards together again, it appears that they are talking properly with each other.

Thanks for the help!
Joe Shidle
0 Likes