Friday, March 4, 2011

Why? He asked...

Would Don want to change the heavily discussed and argued OpenLCB physical layer standard (already voted and accepted within the OpenLCB community) and modify it?

Several of my colleagues at work and elsewhere have been heavily involved with CAN bus for some little time now. So over the last few days a couple of us have used our break time to kick around some ideas in an attempt to figure out why Don was so insistent that these changes be included. All of the comments that I recall related to increasing the number of nodes allowable on a given length network.

Three factors influence the length of the network.

  • The round trip propagation delay between the two most remote nodes.
  • Voltage changes due to the intrinsic resistance of the cable and the Rdiff of the individual receivers
  • Waveform distortion or signal level attenuation due to the effective distributed capacitance of the transmission line.
Cable: The specification as we established it calls for the use of CAT 5e cable, which according to the ISO11801 standard should have nominally 5.7ns/m delay. But this is purely for the cable, it does not include connectors, PCB's with their own intrinsic capacitance and the effects of any common mode chokes or ESD protection devices. Prudent manufacturers may choose to include common mode chokes, ESD clamping diodes or varistors for protection. All of these add capacitance which will increase Vp and reduce the maximum cable length as well as add waveform distortion as alluded to above.

Resistance: We are assuming, that despite their being no explanation of the derivation of the constant in the numerator of the equation, that the VossBros equation assumes a 90 ohm/kilometre resistance. And thats fine, but our concern here is that not only does the VossBros change actually not specify what Ri is, nor does it spell out how that constant was derived. That equation does not appear to take into account any parasitic or stray capacitance introduced by PCBs, connectors, ESD protection or whatever.

Waveforms: Anybody who knows anything about transmission lines knows that rise and fall times are a function of bandwidth. Compromising bandwidth with capacitance means that to get the performance we have to reduce capacitance, which means reducing cable length. If you are to allow users to calculate the maximum network length, or max number of nodes for a given length, then capacitive effects must be taken into account, but in the VossBros documents they are not.

The OpenLCB standard offered to the NMRA (but butchered by VossBros) specified the important maxima, length and number of nodes. Why was that so hard to understand? I have one possible hypothesis. At one point the concept of gateways and bridges was discussed with the S9.5/Voss group. It seems that in their own opinion bridges don't play well with their protocol. Of course we can't offer much more of an opinion because no details of their protocol have ever been published. But that could explain the obsession with maximising the number of nodes. So an S9.5/Voss based LCB could be limited to the 111 or 112 or whatever number of nodes. OpenLCB/S9.6 on the other hand can use bridges and gateways to create much larger LCB's.

No comments: