TC297 Use multiple CAN nodes

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

cross mob
User13649
Level 1
Level 1
Hello, I would like to use multiple (2) CAN nodes in my application. I have TC297 B-step TFT board, which has only 1 default CAN transceiver soldered to 20.7 and 20.8 pins, so I plan to use external transceiver and map it to other pins (e.g. 02.0, 02.1 on X103 pin array). My iLLD driver version is 1.0.1.4.0.

I can sucessfully send messages from CAN0 node and default transceiver, and can verify signal on 20.7 and 20.8 pins using osciloscope, but if I change default pins to other CAN0 pins (02.1 and 02.0 as defined in IfxMultican_PinMap.c) I get no signal on this pins (I get constant value, which suggests pins are initialized). I have looked into iLLD code and CAN drivers do initialize assigned pins, so I don't think initialization is a problem.
Of course, I don't need to change pins on CAN0 node for my application, just on CAN1 node, but CAN0 is easier to verify.

Also I don't understand "How to use MULTICAN" tutorial in iLLD 1.0.1.4.0 documentation which uses multiple CAN nodes. Tutorial uses 2 CAN nodes (CAN0 mapped to 20.7,20.8 pins and CAN1 mapped to 14.0,14.1), however pins 14.0 and 14.1 are assigned to ASCLIN interface, and I am not sure where to locate them on board. But more importantly is that both node's initialization differ only by rxPin and txPin so I assumed mapping CAN nodes to other pins is as simple as that (as long as it does not go against IfxMultican_PinMap.c).

Also I have tried using multiple CAN nodes in TC234 board, but with same results.

So my questions are:

  • Is it possible to use multiple CAN nodes on TC297 TFT B-step board?
  • Which pins should I use for CAN1 node and whether it is possible to reassign CAN0 node to different pins?
  • Why does tutorial uses 14.0 and 14.1 pins if they are already soldered to ASCLIN, why not use different pins as an example?
0 Likes
3 Replies
NeMa_4793301
Level 6
Level 6
10 likes received 10 solutions authored 5 solutions authored
The TFT board aka "Application Kit" isn't the only development board - the TriBoard has a second CAN node on P14.0 and P14.1. So, that's why it's in the tutorial.

You need to shop around to find unused pins on the Application Kit for CAN1. Working backwards from the TC297 datasheet:
- CAN1 TX on P00.0, P01.3, P02.9, P14.0, P15.2
- CAN1 RX on P00.1, P01.4, P02.10, P14.1, P15.3

P00.0 and P00.1 aren't connected to anything else on the Application Kit, and are brought out to pins 22 and 23 on X103.
0 Likes
User13649
Level 1
Level 1
Thanks, got it working. Turns out Aurix does not modulate CAN signal on TX and RX pins if they are not connected to transceiver, probably some safety feature. Not that I did not try with connected trainsceiver before, but without osciloscope and it was improperly soldered, otherwise should have worked on first try.
0 Likes
NeMa_4793301
Level 6
Level 6
10 likes received 10 solutions authored 5 solutions authored
It's not a safety feature - it's just the difference between the physical and logical layers of CAN.

When a transceiver is present, and no nodes are transmitting, CAN RX will be high (recessive).

With no transceiver present, CAN RX is low / open - the MultiCAN peripheral in the AURIX interprets that as a dominant edge from another node, and you won't see anything on CAN TX. You might be able to fake it better by activating the internal pullups for the CAN RX pin.
0 Likes