Each detector module may optionally communicate with a host computer using a shared bus RS232 interface. The shared bus is implemented using wire OR-ing. To make this safe, appropriate interface chips are used. The communications hub is a dumb unit which contains a MAX232 equivalent circuit for level translation to the host computer. The host computer runs the controller protocol and polls each detector module for the current race stats.

interface connections

downstream: communications hub --> DB9 male --> (standard DB9 extension cable) --> DB9 female --> control unit

upstream: communications hub --> DB9 female --> (standard DB9 extension cable) --> DB9 male --> host computer

downstream to control unit

DB9 male

  1. +5V
  2. RXD (to DS8838)
  3. TXD (from MAX232)
  4. NC
  5. GND
  6. NC
  7. NC
  8. NC
  9. NC

upstream to host computer

DB9 female

  1. NC
  2. RXD (to MAX232)
  3. TXD (from MAX232)
  4. to (6)
  5. GND
  6. to (4)
  7. to (8)
  8. to (7)
  9. NC

theory of operation

The communications hub may not be necessary if only one control unit is used. In that case, a simple level translator may be all that is necessary.

If more than one control unit is used, all the serial TX lines should be tied to the controller host's RX line, and all the RX lines should be tied to the controller host's TX line. This may be done in any way. I have a bunch of National Semiconductor DS8838 quad unified bus transceivers around. I use those.

The following schematic has 3 sections: power supply, RS232 level translator, and shared bus. The power supply is an LM7805 linear regulator that is also made available to the control units downstream from it. The RS232 level translator (MAX232) is connected to the output of the shared bus section based on the DS8838.

The level-shifted TX from the controller host is made available to all the control units from a common point. No buffering should be necessary. Any of the DS8838's output pins may be tied to the MAX232 because they should all have the same signal because the bus pins are all tied together.

Note that the DS8838 to MAX232 output is inverted by the 2N3904 transistor. This is to un-invert the inversion done at the control unit. The inversion is necessary because the DS8838 is expects non-signaling ports to be low, but the AT90s2313's TXD line is high when it is not signaling (which is consistent with the RS232 spec where the space [0] is positive, and the mark [1] is negative).