|
|
|
DT209 SimmStick I/O ExpanderThe DT209 I/O expansion board utilizes three I2C bus expansion integrated circuits to provide a total of 24 expansion lines. DT209 Schematic Each of the three port chips provides 8 I/O lines. These 24 I/O lines allow for input and output expansion without sacrificing any of the general control lines on the SimmBus, i.e. the lines labeled D0 - D15.
Each PCF8574 bus expansion device operates by presenting a command byte on the I2C bus and either following the command with data (for output) or reading the data returned by the device (for input). The command byte consists of four bits of device selection (unique to the 8574) followed by three bits that select the address of the individual component. The 8574 has three address lines, and therefore each can be configured with an address that distinguishes the device from others like it sharing the I2C bus. If the three device selection bits in the command byte match the state of the three address lines then the device is selected. The remaining bit in the command byte determines if the command is intended to be a read or write of the eight data pins. Each of the eight data lines can be independently used as an input of an output. The output lines of the 8574 can even directly drive an LED. At power-up all lines of the 8574 are high. The part may be used to read from its port pins with a read command and write to the pins with, naturally, a write command. The device may have mixed inputs and outputs, but the pins that are inputs must have previously had a "1" written to them.
The 8574 has an open-collector interrupt pin that may be used to interrupt a processor. On the DT209 this pin is connected to a wire point and may be left unconnected or routed as desired with a small gauge wire.
The design of the DT209 has, if you reference the
schematic, a ULN2803 open collector driver associated
with each of the three 8574 packages. There is some
flexibility associated with the use of this device. Like
some of the other SimmSticks, the ULN2803 provides for a
high sinking current for driving devices that may need
this current capability. Using the DT209 populated with
one or more ULN2803s is a good way to interface with
relays, small motors, and small lamps.
Resistor SIP pullups will likely be needed for proper operation with the 8574 and ULN2803 combination. Adding pullups to the output of the 8574 will ensure that the minimum specification is met for the ULN2803s.
The 8574 does have reasonable current sink capability, and by removing the ULN2803 and replacing the circuit with shunts or wires, the 8574 can directly drive LEDs. Input can also be applied directly to the 8574 this way. The 2803 can also be replaced with a resistor DIP package. In this device eight resistors are independent and are connected internally across the package. Use of the resistor DIP package would allow the port lines of the 8574 to be used as inputs, and provide some protection to the device.
The DT209 has three address
selection headers for each 8574
device. This lets the user
select the address of each 8574
to make sure that they are each
at a unique address. The headers
may be populated for testing or
easy address changes, or
permanantly wired to a
particular address. Pin 1 on the
left (square pad) connects to
VDD and makes the address a
"1", while the other
jumper position is ground:
"0".
If needed, the PCB traces that tie all three of the 8574 devices to the I2C bus can be cut. This would allow other choices of SimmBus pins to drive the I2C components on the DT209. The I/O headers that run across the top of the DT209 are a group of two rows of thirty pins above another identical group. These headers provide not only the 24 expansion lines of the three 8574 bus expansion devices, but also the SimmBus signals D0-D15. Each sixty pin header is grouped into five sub-groups of twelve pins (two by six). Each sub-group has eight port lines and four spare lines. The spare lines run to the other header. This grouping design
was done to facilitate
connection of the I/O
header to external
devices. The group of
twelve pins allows for a
10 pin ribbon cable header
to be connected to each
group with provision for
two extra signals (such as
power and ground). Using
10 pin ribbon headers
leaves space between
ribbon cable connections.
These are the remaining
spare pins.
A single 40 or 50
position cable can
also be used for
capture of three of
the i/o ports. Even
a 34 position ribbon
cable could be used
with the signals
that are
"missed"
being routed back to
some of the
"spares"
by connecting wires
on the underside of
the DT209
Pins can be crimped directly to wires and inserted into a connector housing such as an AMP 9852 or similar and attached to one of the i/o expansion groups. Parts List
Acknowledgement & ThanksThis project was presented free of charge to the SimmStick Community to encourage the development of the SimmStick platform. DonTronics has taken the artwork and manufactured the boards so that they are available at the same cost effective price as all other SimmSticks. This generous work was carried out by the staff of:
And was due mainly to the input and motivation of:
Subject:Re: dt-209 Date: Thu, 14 Sep 2000 10:31:41 +1000 From: Andrew Riddett <riddy@
Hi Don,
Hi
Andrew
|
|||||||||||||||||||||||||||||||||||||||||||