S32K144 CAN bus - Bus Off state can not be reached

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

S32K144 CAN bus - Bus Off state can not be reached

ソリューションへジャンプ
533件の閲覧回数
szblaci
Contributor III

Hi!

I am using S32K144 MCU for a CAN application. Basically it is working fine but the the bus off state is not activated. 

The application is sending some CAN frames to the bus when I disconnet one of the CAN lines. The Transmit Error Counter (ECR[TXERRCNT]) is increased by 8 till 128. The FLTCONF in the ESR1 register is set to 01 (error passive state) This is correct. But after this the counter remians 128 and does not count furher (over 255 to reach the bus off state). 

Do you have any idea what can be the problem?

Thanks in advance!

regards

Laszlo

 

タグ(3)
0 件の賞賛
1 解決策
498件の閲覧回数
PetrS
NXP TechSupport
NXP TechSupport

Hi,

this is behavior as per CAN standard, when transmitting node is the only one on the bus and so does not get ACK from other nodes, that is the situation you got probably. For ACK error detected, if node is in error passive state, the TXERRCNT is not incremented. During startup, if node is in error active state, TXERRCNT is incrementing for ACK error detected and stops at value 128. 
You should get Bus Off when transmitting message and detecting bit error, try one of next shorts; CANH-CANL, CANH-GND, CANL-Vbat

BR, Petr

元の投稿で解決策を見る

0 件の賞賛
2 返答(返信)
499件の閲覧回数
PetrS
NXP TechSupport
NXP TechSupport

Hi,

this is behavior as per CAN standard, when transmitting node is the only one on the bus and so does not get ACK from other nodes, that is the situation you got probably. For ACK error detected, if node is in error passive state, the TXERRCNT is not incremented. During startup, if node is in error active state, TXERRCNT is incrementing for ACK error detected and stops at value 128. 
You should get Bus Off when transmitting message and detecting bit error, try one of next shorts; CANH-CANL, CANH-GND, CANL-Vbat

BR, Petr

0 件の賞賛
474件の閲覧回数
szblaci
Contributor III

Hello Petr,

Sorry for the late replay. You are right , this is a CAN issue not MCU. I chekced again the CAN specification and I found what you have mentioned. In error passive mode the counter is not increased in case of ACK error. 

Thanks a lot!

best regards

Laszlo

 

0 件の賞賛