KEAZ128 CAN BUS OFF

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

KEAZ128 CAN BUS OFF

320 Views
chenhuang
Contributor II

Dear all

 

The customer is EPS controller manufacturer. At present, the main chip is S9KEAZ128AMLH of nxp, which is your agent.

 

At present, a batch project, the host side feedback a problem:

 

When there is an error frame on the vehicle bus, our EPS detects CAN busoff, and the program sets the status bit BOHOLD to 1 by querying the MSCAN_CANMISC register of the main chip.

 

Because it is judged that the CAN Busoff is entered, the program enters the fast or slow recovery, resulting in no EPS message sent for a period of time.

 

According to this situation, EPS program is modified, CAN ID is filtered, and CAN extension frame is not received. Test with the modified program, when there is another error frame on the vehicle bus,

 

EPS will not detect CAN busoff, the program by querying the main chip register MSCAN_CANMISC status bit, BOHOLD bit is 0.

 

 

The current problem:

 

1. The CAN ID is not filtered before the program is modified, and only one error frame is received. The status bit of MSCAN_CANMISC is set to 1, and BOHOLD is set to 1.

 

After the program is modified, only one error frame is received. The status bit of MSCAN_CANMISC, BOHOLD, is 0, and CAN Busoff is not entered.

 

What is the mechanism of the chip? How to communicate with the host side to explain?

0 Kudos
5 Replies

273 Views
chenhuang
Contributor II

When CAN ID filtering is not enabled, can bus off will be reported if only one error frame is received. Is this normal? Is there an error accumulation counter inside the chip? The manual suggests that it is > 127. At present, we have turned on CAN ID filtering to solve the problem of the car factory.

The car factory needs us to explain why one wrong frame can bus off. Thank you

0 Kudos

246 Views
xiangjun_rong
NXP TechSupport
NXP TechSupport

Hi, Tim,

I have asked AE team, I will reply you after I get response.

BR

XiangJun Rong

0 Kudos

284 Views
xiangjun_rong
NXP TechSupport
NXP TechSupport

Hi,

when  error is detected in the transmitter packet or whatever, the bus off error may happens.

When the bus-off error happens, user can recover from the CAN bus off state using two mechanisms.

1)automatic recovery from bus-off

xiangjun_rong_0-1716799614052.png

 

You can clear the MSCAN_CANCTL1[BORM].

2)when the bus off error happens, user can send command to recover from bus-off state.

set the MSCAN_CANCTL1[BORM]

clear MSCAN_CANMISC[BOHOLD]

when the current state is bus-off state, clear the MSCAN_CANMISC[BOHOLD] will start bus-off recovery process.

Hope it can help you

BR

XiuangJun Rong

 

0 Kudos

272 Views
chenhuang
Contributor II

Hi Xiang Jun,

When CAN ID filtering is not enabled, can bus off will be reported when only one error frame is received. Is this normal? Is there an error frame accumulation counter inside the chip? The manual indicates that the bus of the bus is larger than 127 frames. At present, we have handled the problem of the depot after enabling the CAN ID filtering to you.

The car factory needs us to explain why we can bus off after one wrong frame, thank you.

0 Kudos

131 Views
xiangjun_rong
NXP TechSupport
NXP TechSupport

Hi,

Below information comes from KAE128 RM.

xiangjun_rong_0-1718084268811.png

 

So CAN bus off will not be reported when one error frame is received. CAN bus off is generated by the transmitter end and has nothing to do with the receiver end.

Let the customer check MSCAN_CANRFLG.RSTAT which indicates the appropriate receiver-related CAN bus status of the MSCAN.

Customer config CAN ID filtering in the receiver, which just avoids receiver bus-off, but cannot avoid the transmitter bus-off.

BR

XiangJun Rong

0 Kudos