Bus v/s Daisy Chain

Each controller is based upon a PIC chip, the 16C84 in fact. The chip has 13 pins that can be configured as inputs or outputs. Some of the pins can be used to communicate with the host. The remaining pins can be used for other inputs or outputs.

Daisy Chained Link

The PICs can be connected to the host in a daisy chain configuration. Two of the pins of the PIC can be used to interface to a PC. Two more can be used to cascade to more PIC cards. The remaining 9 lines can be used as required.

The PC sends a command out to the first PIC. The PIC checks if this command is meant for it. If not, it passes it on to the next PIC in line.

Bus Configuration

The host uses a common bus to communicate with the PICs. Two of the pins of the PIC are used to connect to the bus. The remaining 11 lines can be used as required.

The PC serial port is connected to a 2 line bus. Any PIC on this bus reads the PC Tx line but keeps the PC Rx line floating. The PC sends out a command on this bus. All PICs receive it but only the PIC with the correct address responds to the command. If the command is a poll command, that PIC drives the PC Rx line, sends data back to the host and goes back to the floating state after transmission.

Daisy Chain v/s Bus Configuration

Bus                               Daisy Chain
------------------------------    -------------------------------
Pro  Only 2 I/O lines used        Con  4 I/O lines used
Pro  Handle 1 serial port         Con  Handle 2 serial ports
Con  Pre-assigned addresses       Pro  Dynamic address setting
Pro  In high traffic, active      Con  In high traffic, all
     units lose data                   units downstream lose data
Pro  No transmission delay        Con  1 char delay per unit
Con  Polled Input                 Pro  Vectored input
Pro  Bus simpler to wire          Con  Chain harder to wire
Pro  One bad unit may just        Con  One bad unit will cut
     leave the bus alone               off all units downstream
Con  With large no. of units      Pro  Time and traffic kept
     lot of time and bandwidth         to minimum
     is spent polling
The polling approach was adopted. The simpler wiring can allow controllers to be scattered around the layout. Adding and removing controllers will not disturb the wiring. I/O pins on a PIC are a scarce resource and the bus uses only 2 instead of 4 I/O pins. The system will be a little less responsive to controllers sending information back to the host but output functions seem to predominate in a layout. Most controllers don't have much to say.
Home Back Next
Updated on 2 Nov 95. Feedback to