My CAN bus is running at 125 kbit/s and is using extended frame format exclusively. I would like to know what's the maximum rate of CAN frame I can send out. Suppose the data length is always eight bytes.
According to this Wikipedia page, each frame has a maximum frame length of
(1+11+1+1+18+1+2+4+64+15+1+1+1+7) = 128 bits:
Taking into account of a minimum three bits interframe spacing, the maximum packet rate under 125 kbit/s should be:
125000 / ( 128 + 3) = 954 frames per second.
But in my test, I couldn't get that high. The maximum frame rate I can achieve (with all eight bytes data) is around 850 frames per second.
What's wrong here - my calculation, or my test method?