Translate this page
Controlling The Real World With Computers
::. Control And Embedded Systems .::

Hardware Description
Home                                                        Order Let me know what you think

Previous: How To Read A Schematic
Next: Putting It All Together - Controlling The Hardware With The Software

The hardware is shown in the picture (might take a little while to load). Don't be the least bit concerned if you don't understand everything in the first few paragraphs below. Their purpose is to provide a brief description of the hardware to those who understand the terminology. The terms will be second-nature by the time you finish the tutorial. Just skim the information, make a note of the ordering information and Super Start, then move on to the circuit description below. Larger Picture -- 388K

The hardware is a tinned, masked PC-based ISA data acquisition and control board that

Note that the board does not have DMA or interrupt capability. I plan on showing how to add interrupt capability in a section dealing with the Analog to Digital.

With so much capability, the board can provide almost infinite possibilities for experimentation, and can serve as a base to protype control and embedded systems. See the technology education sites for inspiration. You can order bare boards, kits and assembled boards here. A bare board is only $20, with quantity discounts available for volume users such as technology education classes. You can also get a kit of a board with parts as well as assembled boards. The boards are easy to build with the step-by-step instructions. They even include a soldering tutorial and the color code. Download buildit.doc to take a look. It's in Word 97 format. If you don't have Word 97, you can download a free reader from Microsoft's web site by clicking on the following icon.
MS Word 97 Reader

The board was originally designed for The Super Start Project as well as the hands-on portion of this tutorial and as a development tool. Read the Super Start article to find out about the very important use of the hardware in early childhood education. You can download free educational software for very young children at the Super Start site. There are several programs available there that use the board, including some tests which might come in handy after you assemble a kit. All will provide some insight into using the hardware. There are also some handy routines for placing information on the screen, such as character-based windows.

More importantly, I hope you will do more than just download the free stuff. I hope you will read the article and pass the information on to others. I figure people who read this site have the knowledge and experience to help others set up Super Start Projects. You can make a huge difference for our kids. I hope you do. It can turn out to be the toughest job you'll ever love, and a lot of kids will thank you someday.

That's my sermon for today.

NOTE: Please be sure to read the Warranty And Disclaimer before ordering a board!

THE CIRCUIT

You will see references to PDF data sheets in the following descriptions. The data sheets might show parts with variations on the part number, but they will have the same functionality. You can download a PDF reader here.

This section will cover parts of the circuit not covered in other parts of the tutorial. The board can be blocked into a few simplified sections. Again, don't be concerned if you don't understand everything in the blocks. All will become clear as you progress through the tutorial:

The section that selects the board's port address is outlined below. It and a buffer the only parts that will not be covered in other parts of the tutorial:

Port addresses on a typical PC Industry Standard Architecture (ISA) bus are derived from the ten address lines A0 through A9, with A9 always high. Note that all buffered lines in the schematics are prefixed with the letter B. Half of IC7, a 74LS244 buffer, is used to buffer the first three address lines and the RESET line. 74LS244.PDF

Base address selection is made by three DIP switch (see How To Read A Schematic) sections connected to IC11, a 74LS688 8-bit magnitude comparator, chosen because it offers a simple, straight-forward way of decoding the DIP switches:

The main logic elements in the 74LS688 are the NXOR gates. Recall from the Boolean Logic section that an XOR gate will produce a high output if the inputs are different. The NXOR does the same thing but inverts the output. The output of one of the NXOR gates above will be low if its inputs are different. Its output will be high if its inputs are the same. The logic is not changed even though pairs of inputs go through inverting buffers. The 9-input NAND gate output will go low when all of the NXOR outputs go high if the enable input on pin 1 is also low. 74LS688.PDF

When a switch is closed, its input to the 74LS688 is taken low. When the switch is open, the input is pulled up by a resistor in an array. Corresponding inputs to the comparator are connected to address lines A6, A7 and A8. If a switch is open, its corresponding address line must be high to make the output of its NXOR high. If a switch is closed, its corresponding address line must be low. Notice how this inverts the logic; on requires an address line to be low and off requires it to be high. A9 is also connected, with its corresponding input taken high. Similarly, the AEN (address enable) line is connected to the comparator with its corresponding input connected to ground since AEN is low with a valid port address. The three other pairs are taken high. Finally, either the I/O Read (IOR) or the I/O Write (IOW) line must be low for there to be a valid port address. The bars over IOR and IOW in the schematic mean they are active low. IOR and IOW are first buffered by using two AND gates with one side tied high in IC8, a 74LS08, then ANDed using a third. The result is a signal that will go low if either IOW or IOR goes low. This is tied to the pin 1 enable input of the 74LS688. An AND gate was selected for the same reason as the '688: it's a straight-forward means to meet the requirement. When all conditions are satisfied, pin 19 of the 74LS688 will go low. 74LS08.PDF

Following are the HEX addresses that can be selected by setting the DIP switches on (1) and off (0), and the possible conflicts that might arise (~ means "through"). If you decide to write down the bit patterns (a very good idea), remember that on requires an address line to be low, off requires an address line to be high and A9 is always high:

DIP SWITCH SECTION
1 2 3 ADDRESS
POSSIBLE CONFLICTS
1 1 1200 ~ 23F200 ~ 20F = game port
0 1 1240 ~ 27F278 ~ 27F = LPT2 (OK with no spares used -- see below)
1 0 1280 ~ 2BF2B0 ~ 2DF = Alternate EGA
0 0 12C0 ~ 2FF2B0 ~ 2DF = Alternate EGA
1 1 0300 ~ 33F300 ~ 31F = Some Sound Cards and The Prototype Card
0 1 0340 ~ 37F378 ~ 37F = LPT1 (OK with no spares used)
1 0 0380 ~ 3BF380 ~ 38F = bisynchronous 2
390 ~ 393 = cluster
3A0 ~ 3AF = bisynchronous 1
3B0 ~ 3BF = mono adapter and printer adapter
0 0 03C0 ~ 3FF3C0 ~ 3CF = EGA

Address Line Assignment
A9 Always HighDIP Switch Decode'138 Decode8 Bytes Available To devices
A9A8 A7 A6 A6A5 A4 A3A2 A1 A0

The best selections would probably be HEX 200 or 300. If the board is used on a dedicated computer however, any conflicting devices not used could be removed from the computer.

Pin 19 on the 74LS688 enables IC12, a 74LS138 3-to-8 line decoder/multiplexer. It uses address lines A3 through A5 to break the above up into eight-byte chunks used by devices on the board. Providing it is enabled, the 138's select lines are activated in the following manner:

A5A4A3Output Pin Active Low
00015
00114
01013
01112
10011
10110
1109
1117

There is a reason for eight-byte chunks. The ADC0809 has eight channels and uses the first 8 bytes of a port address location to select them. That's also why it uses A0 through A2. Since the '138 selects 8 devices and each is 8 bytes wide, the board needs a total of 64 bytes port address space. 74LS138.PDF

The device selections for all possible switch settings are shown below. The first entry for each corresponds to the base address in the table above. Don't be concerned if you don't know what some of the items in the tables mean. They will be covered in the experiments. Notice that each of the 8 devices on the board is 8 bytes from a device next to it:

200 ~ 207Eight Channel Analog to Digital Converter
208 ~ 20FDigital to Analog Converter 1
210 ~ 217Digital to Analog Converter 2
218 ~ 21FAnalog to Digital Converter Ready Line And 3 Digital Inputs
220 ~ 227Programmable Peripheral Interface
228 ~ 22FSpare Select Line
230 ~ 237Spare Select Line
238 ~ 23FSpare Select Line

240 ~ 247Eight Channel Analog to Digital Converter
248 ~ 24FDigital to Analog Converter 1
250 ~ 257Digital to Analog Converter 2 (optional)
258 ~ 25FAnalog to Digital Converter Ready Line And 3 Digital Inputs
260 ~ 267Programmable Peripheral Interface
268 ~ 26FSpare Select Line
270 ~ 277Spare Select Line
278 ~ 27FSpare Select Line

280 ~ 287Eight Channel Analog to Digital Converter
288 ~ 28FDigital to Analog Converter 1
290 ~ 297Digital to Analog Converter 2 (optional)
298 ~ 29FAnalog to Digital Converter Ready Line And 3 Digital Inputs
2A0 ~ 2A7Programmable Peripheral Interface
2A8 ~ 2AFSpare Select Line
2B0 ~ 2B7Spare Select Line
2B8 ~ 2BFSpare Select Line

2C0 ~ 2C7Eight Channel Analog to Digital Converter
2C8 ~ 2CFDigital to Analog Converter 1
2D0 ~ 2D7Digital to Analog Converter 2 (optional)
2D8 ~ 2DFAnalog to Digital Converter Ready Line And 3 Digital Inputs
2E0 ~ 2E7Programmable Peripheral Interface
2E8 ~ 2EFSpare Select Line
2F0 ~ 2F7Spare Select Line
2F8 ~ 2FFSpare Select Line

300 ~ 307Eight Channel Analog to Digital Converter
308 ~ 30FDigital to Analog Converter 1
310 ~ 317Digital to Analog Converter 2 (optional)
318 ~ 31FAnalog to Digital Converter Ready Line And 3 Digital Inputs
320 ~ 327Programmable Peripheral Interface
328 ~ 32FSpare Select Line
330 ~ 337Spare Select Line
338 ~ 33FSpare Select Line

340 ~ 347Eight Channel Analog to Digital Converter
348 ~ 34FDigital to Analog Converter 1
350 ~ 357Digital to Analog Converter 2 (optional)
358 ~ 35FAnalog to Digital Converter Ready Line And 3 Digital Inputs
360 ~ 367Programmable Peripheral Interface
368 ~ 36FSpare Select Line
370 ~ 377Spare Select Line
378 ~ 37FSpare Select Line

380 ~ 387Eight Channel Analog to Digital Converter
388 ~ 38FDigital to Analog Converter 1
390 ~ 397Digital to Analog Converter 2 (optional)
398 ~ 39FAnalog to Digital Converter Ready Line And 3 Digital Inputs
3A0 ~ 3A7Programmable Peripheral Interface
3A8 ~ 3AFSpare Select Line
3B0 ~ 3B7Spare Select Line
3B8 ~ 3BFSpare Select Line

3C0 ~ 3C7Eight Channel Analog to Digital Converter
3C8 ~ 3CFDigital to Analog Converter 1
3D0 ~ 3D7Digital to Analog Converter 2 (optional)
3D8 ~ 3DFAnalog to Digital Converter Ready Line And 3 Digital Inputs
3E0 ~ 3E7Programmable Peripheral Interface
3E8 ~ 3EFSpare Select Line
3F0 ~ 3F7Spare Select Line
3F8 ~ 3FFSpare Select Line

The schematic for the board is shown in figures 1 and 2 below. Please see How To Read A Schematic if you don't understand what you see.


Figure 1: Circuit, Part 1


IC12 is a 74LS245 bidirectional buffer. It's used to buffer the data going to and from the board. Pin 1 is the line that determines the direction of the data flow. If the buffered read line BIOR is low and therefore active, data will flow from the board to the ISA data bus. If it is high, data can flow from the bus to a device selected on the board.

Figure 2: Circuit, Part 2


Figure 3 shows the silk screen printing found on the top of the board.

Figure 3: Board Layout Silk Screen Print


The following are provided on the headers:

Header 1:
A. 3 basic switch inputs
B. 8 8-bit Analog To Digital inputs (0 through 5 volts)
C. 2 8-bit Digital To Analog outputs (0 through 5 volts)
D. Pre-amp Output
E. 2 grounds

Header 2:
A. 2 Spare NOR gates (the spare AND is brought out to pads)
B. 2 +5V and 2 grounds

Header 3:
A. 24 PPI I/O lines
B. 2 grounds

Header 4:
A. 1 ground
B. The 14.31818 MHz oscillator divided by 2, 4, 8, 16, 32, 64, 128 and 256
C. 3 Spare Select Lines
D. Buffered address lines BA0 through BA2
E. Buffered data lines BD0 through BD7
F. Buffered read, write and reset lines

Notice the inclusion of spare select lines and buffered data and address lines. They can be used to expand the capabilities. For example, you could add more PPIs to give you more digital I/O lines, or another digital to analog converter or two. There is also a small bread board area.

Figure 4 shows where the controls, mike input and speaker/headphone output are on the board.

Parts List

Parts Needed For Digital Experiments
(These will get you started. I priced them at $18.65, mostly from Jameco .)

Capacitors

C9, C10, C11, C12, C13, C14, C15, C16

.1µF; .2", or 5mm spacing, anything above 5 volts OK, ceramic OK

 

Resistor Arrays or Networks

ARRAY1

9 resistor, 10 pin 10K SIP with one end of each resistor commoned to pin 1

ARRAY2

7 resistor, 8 pin 10K SIP with one end of each resistor commoned to pin 1

 

DIP Switch

SW1

Three Position DIP Switch

Headers -- All have two rows .1" apart with pins .1" apart

HEADER 1

2 X 8 pin header

HEADER 2

2 X 5 pin header

HEADER 3 and 4

2 X 13 pin headers

Integrated Circuits -- 74, 74HCT, 74AHC, etc. prefixes may be substituted for 74LS

IC2

74LS02 quad NOR gate

74LS02.PDF

IC3

8C255 Programmable Peripheral Interface

8255.PDF

IC7

74LS244 octal buffer

74LS244.PDF

IC8

74LS08 quad AND gate

74LS08.PDF

IC9

74LS393 counter

74LS393.PDF

IC10

74LS138 1 of 8 decoder

74LS138.PDF

IC11

74LS688 digital comparator

74LS688.PDF

IC12

74LS245 octal transceiver

74LS245.PDF

Additional Parts Needed For Remaining Experiments
(I priced these parts at about $24.00, mostly from Jameco .)

Variable Resistors

VR1

10K TRIMMER (25 turn) used for offset -- equal to Bourns type 3296X

VR2 and VR3

100K TRIMMERS used for bass and treble -- equal to Bourns type 3386C

VR4

10K TRIMMER used for volume -- equal to Bourns type 3386C

Capacitors

C1, C3

.22µF; .2" or 5mm spacing film similar to Panasonic
ECQ-V1H224JL

C2

10µF; 25v axial electrolytic similar to Panasonic
ECE-B1EU100S

C4, C5, C6, C7

.01µF; .2" or 5mm spacing film similar to Panasonic
ECQ-V1H103JL

C8

At least 220µF;, at least 6.3v axial electrolytic similar to Panasonic
ECE-B0JU331

Jumper

JP1

.1" Header Type Jumper

Integrated Circuits

 

IC1

TL074 or LF347A quad op amp

TL074.PDF

IC4

ADC0809 8 input, 8-bit AD converter

ADC0809.PDF

IC5, IC6

DAC0832 8-bit DA converter

DAC0832.PDF

IC13

LM380N-8 power amp (8 pin DIP version)

LM380N-8.PDF

Diodes

D1, D2

1N4148 switching diode

IN/OUT CONNECTORS

J1, J2

Switchraft 1/8" phone jack -- Mouser Electronics # 16PJ528

Resistors -- All Are 1/8 Watt

R1

3.9K

R2

4.7M

R3, R4

15K

R5,R6

470

R7,R8,R9

10K

R10

3.3K

R11

150K

 

 

See the electronic parts links for parts to build a board.

Previous: How To Read A Schematic
Next: Putting It All Together - Controlling The Hardware With The Software

Problems, comments, ideas? Please Let me know what you think.
Copyright © 2000, Joe D. Reeder. All Rights Reserved.
Order Home