S32K COMBINING CAN MODULE INTO ONE

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

S32K COMBINING CAN MODULE INTO ONE

1,121 Views
hajianik
Senior Contributor I

Hi,

My target is S23K144, I was wondering if we could combine two CAN  controller to act as one controller using only one CAN transceiver. To that end I would think tie for example CAN0_RX and CAN1_RX together which I believe is quite safe however the CAN0_TX and CAN1_TX can't be tied together due to the issue of contention, the pin structure of this micro is not very clear to me, to be able to tie outputs such as CAN_TX ,together, they need to be configured as open drain/collector with a pull up resistor. in S32K , There is a MUX Alternative which configures the pin as CAN_TX however it is not clear to me  if it is push_pull or open drain or even the possibility to configure a pin as an open_drain. 

Any help is appreciated.

Regards,

Koorosh Hajiani

0 Kudos
2 Replies

915 Views
PetrS
NXP TechSupport
NXP TechSupport

Hi Koorosh,

The device does not support open drain on all the pins. Only pins that are configured for a protocol that requires open-drain (e.g;, LPI2C) will work in open-drain mode.

 

Moreover if you want to combine two FlexCAN modules to act as one controller using only one CAN transceiver the TX pins cannot be set to open-drain and connected together — the node might acknowledge itself.

 

Anyway it is common for two CAN modules to be connected to the same transceiver. This allows more RX buffers to be available for a node. But in this case, only one module is used for transmit and the other CAN module’s transmit is not connected. Just RX pins are connected.

The receiving module should be set in Listen-only mode (CTRL1[LOM] bit set). Transmission is disabled, all error counters are frozen and the module operates in a CAN Error Passive mode. Only messages acknowledged by another CAN station will be received. If FlexCAN detects a message that has not been acknowledged, it will flag a BIT0 error, as if it was trying to acknowledge the message. RX interrupt are functional in LOM mode normally.

BR, Petr

398 Views
CongDang
NXP Employee
NXP Employee

Hi PetrS,

I have a question relate "How to config FlexCAN when the MBs is smaller than the number of CAN messages". And their idea are like what you mentioned.

I'm confused on your reply.

As mentioned, The receiving module (which transmit is not connected, just RX pins are connected) should be set in Listen-only mode. In Listen-only mode, the CAN controller (CAN-A) can not work independently, it only can receive messages that acknowledged by another CAN controller (CAN-B). That mean a message is received on CAN-A, it is received on CAN-B also; and a message is not received on CAN-B, it is not received on CAN-A also. So I don't see the benefit of extending number of MBs here. can you help me to clarify?

0 Kudos