CAN bus - capstonealex/Embedded GitHub Wiki
Beaglebone CAN protocol: 2.0(A and B)
- Total message length 44 bits + up to 64 bits
- Message Breakdown:
- 1 bit Start
- 11 bit identifier - sets priority
- 1 bit RTR
- 1 bit identifier extension bit (value 0 to denote 11bit identifier length)
- 1 bit reserved bit
- 4 bit data length (0 - 8)
- 0 - 64 bits data
- 15 bits cyclic redundancy check
- 1 bit CRC delimiter
- 1 bit Acknowledge slot
- 1 bit Acknowledge delimiter
- 7 bit End
Will we need to manually construct the entire message?
Bit stuffing: add a bit of opposite polarity after any consecutive 5 bits of the same polarity (even if there is no 6th bit of that polarity). These are automatically removed by the receiver.