I`m considering a uC
dsPIC33EP128GP502 with internal canbus and FRC oscillator. The FRC oscillator is specified with +- 1% tolerance (2% absolute tolerance). Reading various papers and website, I can't figure out if the this will work out well with canbus. I read that canbus works up to 1.5% tolerance, but don't know if these written values are absolute errors or +- errors.
My requirements;50 kbaud bus speed will be more than suffice. Cable length will be 100 meters at maximum.
Normally I always use an crystal oscillator for can bus, but due space constrains I have no other choice than go with canbus or change to another protocol e.g. rs485 and built a rs485->can gateway that can be placed elsewhere where the space is not so limited.
[edit]
I think I've found the answerFrom the microchip AppNote]: DS00754A-page 7:
The oscillator tolerance between the slowest node and the fastest node can be used to determine the minimum SJW.
From this, I make up that it is the absolute error they are talking about. Meaning that the uC I mentioned is not within spec to use for CAN bus comm. This because there is a chance that node A is running at -1% of the oscillator speed, and another node at +1% of the oscillator speed.
Also on: DS00754A-page 4:
The CAN specification indicates that the worst case
oscillator tolerance is 1.58% and is only suitable for low
bit rates (125 kb/s or less). This application note does
not cover oscillator tolerances in detail, however, the
references at the end of this application note provide
more information on the subject.