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.

https://www.kvaser.com/wp-content/uploads/2014/02/ck301p.pdf

Copley doc information

Copley documentation