MSCAN SRR bit question

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

MSCAN SRR bit question

681 Views
gator
Contributor I

According to the MSCAN datasheet, the SRR bit must be set to recessive when using an extended 29 bit identifier. However, I ran some tests with two interconnected MSCAN equipped devices using extended 29 bit identifiers and was able to send a message from one MSCAN device to another using 29 bit identifiers without the SRR bit being set. How is this possible if the SRR bit must be set recessive when using 29 bit identifiers?

 

The reason why I performed this test is because I noticed that a vehicle I was trying to request a VIN from was responding with the VIN in a message (with 29 bit identifier) that did not have the SRR bit set recessive - the SRR bit was set dominant. Since my MSCAN filter was set up to pass messages with the SRR bit set recessive, a filter hit was not generated and the MSCAN was not able to receive the VIN response.

 

Any ideas as to what is going on here?

Labels (1)
Tags (1)
0 Kudos
1 Reply

485 Views
RadekS
NXP Employee
NXP Employee

Hi Gator,

In fact, the MSCAN module cannot check whether received SRR bit is set correctly according to specification or not. This bit is received/transmitted prior IDE bit.

I suppose that the CAN specification defined SRR bit as 1 for extended frame mainly due to possible arbitration issues at systems with combined standard and extended frame formats.

The frames with standard format should have higher priority than the frames with the extended format.

When we do not keep this rule, the CAN data frame with the extended format and SRR=1 will win arbitration against CAN remote frame with the standard format.

 

If all nodes use only frames with the extended format, the dominant SRR may be used for increase frame priority. Unfortunately, I am not sure what the real purpose of such CAN specification violation is.

 

Anyway, the MSCAN module does not check whether sending bits in frame ID are valid according to specification or nor. It just moves buffer on the bus if possible …

I hope it helps you.

Have a great day,
Radek

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos