Electronic – Will this selectable CAN BUS termination circuit work

cancommunicationresistorstermination

I'm trying to find a simple way of having software selectable termination on the CAN bus of a device I am making.
I think a Solid state relay is the best bet so I have come up with the following circuit.

The typical network this connects to will could have around 15 nodes and could have a bus load of upto 35%.

My device is solely 3v3 and I'm not sure if this panasonic relay will work with 3v3 or if this circuit will even work? The reason for the 90ohm rather than 120 is because the relay has a on resistance of 30ohms.

So my questions are:
Will this circuit work?
Is there any better alternatives?
Is the 10pf output capacitance of the SSR acceptable and what issues will the cause?

This is the relay I plan to use:
https://www.panasonic-electric-works.com/cps/rde/xbcr/pew_eu_en/ds_x615_en_aqw227ns.pdf

enter image description here

Best Answer

It looks like it should work if you're not pushing the CAN bus to the limit. You can definitely turn on the LED with 3.3 V since the maximum LED voltage is 1.5 V. It needs about 5 mA, so you can probably drive it directly from a digital output.

I don't like the sloppiness of the output resistance. It can be up to 50 Ω, but we don't know how low it could get. The datasheet only lists a "typical" of 30 Ω. The best you can do is put a 90 Ω resistor in series so that the center of the spread ends up at the desired 120 Ω. However, you don't know how close to 90 Ω the result is.

Without a minimum resistance spec, you have to make sure that the resulting resistance isn't too low for your driver chips to handle. I don't remember what the CAN spec says that a driver chip must be able to do. At the very least, check the specs of the driver chips you are using. However, you can only go with that if all the devices on the bus are known to use that driver chip.

Since you don't know how well the bus is terminated by 120 Ω at each end, keep it short. I would not use this termination method if you are pushing the limit of the bus length for whatever speed you are using.