I got confused in CAN 11 bit and 29 bit protocol(RTR in 11 bit and SRR in 29 bit frame). can anyone please explain why we use SRR bit in 29 bit can protocol instead of RTR bit...
This message explains why: http://www.microchip.com/forums/m376934.aspx
CAN bus considers the 11 bit indentifiers to have a higher priority than the 29 bit identifiers
(because the two types of "protocol", "11" and "29", can coexist in the same bus). Hence:
In the case of a 29 bit extended frame, the RTR bit has been moved to the end of the message so it doesn't play in the priority bitwise arbitration of the 29 bit IDs. That's why the Standard frame RTR now defined as SRR is transmitted as recessive. It prevents a 29 bit RTR message from having a higher priority than a non RTR message.
...and so does this page: http://hem.bredband.net/stafni/developer/CAN.htm
A Substitute Remote Request (SRR) bit is included in the Arbitration Field. The SRR bit is always transmitted as a recessive bit to ensure that, in the case of arbitration between a Standard Data Frame and an Extended Data Frame, the Standard Data Frame will always have priority if both messages have the same base (11 bit) identifier.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With