S32K144 can FD bus off issues

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

S32K144 can FD bus off issues

1,468 次查看
bbssuiji
Contributor I

Hi,

I have some questions about can bus-off.

1、The customer specification requires normal communication when CAN_H and Battery are short-circuited.

2、The test shows that when configured as CAN FD, a bus-off occurs when CAN_H and Battery are shorted, and when configured as Classic CAN, Communicate normally when CAN_H and Battery shorted.
The test environment is that both the VSPY3 and the MCU send messages cyclically, Transceiver:TCAN1043,  CAN FD baudrate : 500Kbps+2Mbps.

3、Test CAN FD, configure MCU not to send telegrams, VSPY3 cycle to send CAN FD telegrams, at this time CAN_H and Battery short circuit, MCU will not generate bus-off, VSPY3 no TX error count.

4、Test CAN FD, configure MCU cycle to send telegrams, VSPY3 does not send telegrams, at this time CAN_H and Battery short circuit, the MCU will generate bus-off, VSPY3 can not receive the telegrams sent by the MCU, because the MCU entered the bus-off state, must be recovery operation (set to manual recovery).

Are there some other settings that need to be taken into account when configuring for CAN FD mode?

0 项奖励
回复
4 回复数

1,416 次查看
PetrS
NXP TechSupport
NXP TechSupport

Hi,

bus-off happens only during transmission if node detect bit errors. Bus-off does not happen during frame reception. 
With shorts between CAN_H and Battery a transmission can work; there will be disturbed voltage levels on the bus and bit timing violation is possible.
So you can measure CANH/CANL/TXD/RXD signals with scope to see real behavior. Consider your CAN bit timing setting if transmitted bits on TXD can be properly sampled back on RXD also for higher rate due to disturbed bus signal.

BR, Petr  

0 项奖励
回复

1,407 次查看
bbssuiji
Contributor I

Hi, Petr

As shown in the following figure,

0x340082 is the value of ESR1 during normal transmission and reception, 

0x84308636 is the value of ESR1 when busoff happen(shorts between CAN_H and Battery).

before_errbit.png

errbit.png

 

 

Emmmm,,

As shown in the following figure,

It is the waveform of CANH and CANL before and after the short connection between the CANH and the battery,

and the waveform of the CAN TX and RX before and after the short connection between the CANH and the battery.

Is it because the CANH and CAHL waveforms are distorted, causing TX and RX to be inconsistent, and then the MCU enters the busoff state?

1.png

2.png

  

0 项奖励
回复

1,363 次查看
PetrS
NXP TechSupport
NXP TechSupport

Hi,

waveforms do not look normal at all, I think. Thus detecting errors can be expected. And you wrote 0x340082 is the value of ESR1 during normal transmission and reception. So even for your normal condition, module detect errors, but it is not clear which one as flags bit are cleared in your log.
Do you have nodes properly terminated?

BR, Petr

0 项奖励
回复

1,355 次查看
bbssuiji
Contributor I

Do you have nodes properly terminated?   No termination resistors。

 

Hi, Petr

I found the reason, As shown in the following figure。

TX != RX, Padding bit error, There is a problem with the transceiver.

 

1676512772971.png

0 项奖励
回复