s88 - Principle and Problems

The s88 bus is established as cheap feedback bus for model railway layouts. The principle is simple: the s88 bus is just a serial shift register with a parallel load input.

Additional modules are added to this bus by simple cascading, creating a long shift register with all bits in one long chain. The advantage of simple topology comes with a drawback: the address of each module is defined by its position in the chain and is unchangable. The transmission of data is made unprotected: there is no parity, no checksum nor CRC.

Data Transfer

The LOAD line goes to 1, then a shift clock is applied. All registers in the chain take over the information at their parallel inputs. The next step is a RESET pulse (also active high), this clears the parallel input upstream latches. These latches are ready again to capture new feedback events. Even very short signals are latched until the next query.
Now, the shift occurs (with LOAD = 0). Because each s88 data output of a module is connected to data input of the next module, all information stored in the shift register is shifted step-by-step towards the command station.

Unfortunately, this relatively trivial technique is often described as unreliable. This is caused by an electric inadequate realisation. Unshielded ribbon cables are used and these cables are operated without line termination and with weak drivers (high impedances). No wonder, that crosstalk and reflections can sometimes be observed.

The solution:

Improve the electrical side of this transmission by termination, separation and shielded cables.
Termination depends on the output power of the used command station. In OpenDCC TTL bus driver chips are used, which can supply up to 24mA. Here it is possible to achieve a significant reduction of clock overshot by terminating with 220 ohms against 5V at the end (!) of the line.
Crosstalk is easily reduced by separation. Do not route s88 bus lines along track signals or dimmed power supplies. Additionally, the track wiring should always be done with twisted wires, this reduces emission fields.
Besides mechanical separation a proper electrical isolation must be done. No currents from the layout are allowed to run along the feedback bus (intentionally or not).
A good protection against crosstalk is achieved with shielded cables, which are available very cheap as a patch cables (CAT5) for computers. Inside a CAT5 cable there are 4 pairs, each pair is twisted. Using the s88-N pin allocation, both shielding and twisting is used to achieve optimal conditions.