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!
-----------------------------------------------------------------------------------------------------------------------