dsPIC33EV64GM102 with IFX1050G VIO XCVR, ECAN
Host is a BESRAM CAN to USB virtual COM port, which i am not at all hesitant to blame (cheap). I can try a grid connect this weekend.
Baud is 250K and it is using a 20MHz xtal. Bit timing calculated in MPLab
Individually, all units all communicate with the host. Devices are set to emit bursts of three messages once per second.
Cable length between units is about 1 meter, good quality STP. Terminated at both ends.
// Phase Segment 1 time is 8 TQ
// Phase Segment 2 time is set to be programmable
C1CFG2bits.SEG2PHTS = 0x1;
// Phase Segment 2 time is 8 TQ
C1CFG2bits.SEG2PH = 0x7;
// Propagation Segment time is 3 TQ
C1CFG2bits.PRSEG = 0x2;
// Bus line is sampled three times at the sample point
C1CFG2bits.SAM = 0x1;
When I tested two units on a host there were no problems, but the person it was designed for is seeing strange behavior. They have a different host adapter and different devices, which may have been mistreated electrically. I'll have all the hardware this weekend so i can look at waveforms on a scope. But, for them:
1) Either device by itself emits messages that the host sees and responds to commands.
2) With two devices, neither responds to commands and the host only sees messages from the first.
The nodes have wide open filters.
I was not seeing bus errors (but maybe they are).
I am using 5V in the devices and am assuming the BESRAM part is compatible.
I am open to any ideas to look into this.