Hardware Description
Home | Order | Let me know what you think |
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.
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 | |
1 1 1 | 200 ~ 23F | 200 ~ 20F = game port |
0 1 1 | 240 ~ 27F | 278 ~ 27F = LPT2 (OK with no spares used -- see below) |
1 0 1 | 280 ~ 2BF | 2B0 ~ 2DF = Alternate EGA |
0 0 1 | 2C0 ~ 2FF | 2B0 ~ 2DF = Alternate EGA |
1 1 0 | 300 ~ 33F | 300 ~ 31F = Some Sound Cards and The Prototype Card |
0 1 0 | 340 ~ 37F | 378 ~ 37F = LPT1 (OK with no spares used) |
1 0 0 | 380 ~ 3BF | 380 ~ 38F = bisynchronous 2 |
390 ~ 393 = cluster | ||
3A0 ~ 3AF = bisynchronous 1 | ||
3B0 ~ 3BF = mono adapter and printer adapter | ||
0 0 0 | 3C0 ~ 3FF | 3C0 ~ 3CF = EGA |
Address Line Assignment | |||
A9 Always High | DIP Switch Decode | '138 Decode | 8 Bytes Available To devices |
A9 | A8 A7 A6 A6 | A5 A4 A3 | A2 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:
A5 | A4 | A3 | Output Pin Active Low |
0 | 0 | 0 | 15 |
0 | 0 | 1 | 14 |
0 | 1 | 0 | 13 |
0 | 1 | 1 | 12 |
1 | 0 | 0 | 11 |
1 | 0 | 1 | 10 |
1 | 1 | 0 | 9 |
1 | 1 | 1 | 7 |
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 ~ 207 | Eight Channel Analog to Digital Converter |
208 ~ 20F | Digital to Analog Converter 1 |
210 ~ 217 | Digital to Analog Converter 2 |
218 ~ 21F | Analog to Digital Converter Ready Line And 3 Digital Inputs |
220 ~ 227 | Programmable Peripheral Interface |
228 ~ 22F | Spare Select Line |
230 ~ 237 | Spare Select Line |
238 ~ 23F | Spare Select Line |
240 ~ 247 | Eight Channel Analog to Digital Converter |
248 ~ 24F | Digital to Analog Converter 1 |
250 ~ 257 | Digital to Analog Converter 2 (optional) |
258 ~ 25F | Analog to Digital Converter Ready Line And 3 Digital Inputs |
260 ~ 267 | Programmable Peripheral Interface |
268 ~ 26F | Spare Select Line |
270 ~ 277 | Spare Select Line |
278 ~ 27F | Spare Select Line |
280 ~ 287 | Eight Channel Analog to Digital Converter |
288 ~ 28F | Digital to Analog Converter 1 |
290 ~ 297 | Digital to Analog Converter 2 (optional) |
298 ~ 29F | Analog to Digital Converter Ready Line And 3 Digital Inputs |
2A0 ~ 2A7 | Programmable Peripheral Interface |
2A8 ~ 2AF | Spare Select Line |
2B0 ~ 2B7 | Spare Select Line |
2B8 ~ 2BF | Spare Select Line |
2C0 ~ 2C7 | Eight Channel Analog to Digital Converter |
2C8 ~ 2CF | Digital to Analog Converter 1 |
2D0 ~ 2D7 | Digital to Analog Converter 2 (optional) |
2D8 ~ 2DF | Analog to Digital Converter Ready Line And 3 Digital Inputs |
2E0 ~ 2E7 | Programmable Peripheral Interface |
2E8 ~ 2EF | Spare Select Line |
2F0 ~ 2F7 | Spare Select Line |
2F8 ~ 2FF | Spare Select Line |
300 ~ 307 | Eight Channel Analog to Digital Converter |
308 ~ 30F | Digital to Analog Converter 1 |
310 ~ 317 | Digital to Analog Converter 2 (optional) |
318 ~ 31F | Analog to Digital Converter Ready Line And 3 Digital Inputs |
320 ~ 327 | Programmable Peripheral Interface |
328 ~ 32F | Spare Select Line |
330 ~ 337 | Spare Select Line |
338 ~ 33F | Spare Select Line |
340 ~ 347 | Eight Channel Analog to Digital Converter |
348 ~ 34F | Digital to Analog Converter 1 |
350 ~ 357 | Digital to Analog Converter 2 (optional) |
358 ~ 35F | Analog to Digital Converter Ready Line And 3 Digital Inputs |
360 ~ 367 | Programmable Peripheral Interface |
368 ~ 36F | Spare Select Line |
370 ~ 377 | Spare Select Line |
378 ~ 37F | Spare Select Line |
380 ~ 387 | Eight Channel Analog to Digital Converter |
388 ~ 38F | Digital to Analog Converter 1 |
390 ~ 397 | Digital to Analog Converter 2 (optional) |
398 ~ 39F | Analog to Digital Converter Ready Line And 3 Digital Inputs |
3A0 ~ 3A7 | Programmable Peripheral Interface |
3A8 ~ 3AF | Spare Select Line |
3B0 ~ 3B7 | Spare Select Line |
3B8 ~ 3BF | Spare Select Line |
3C0 ~ 3C7 | Eight Channel Analog to Digital Converter |
3C8 ~ 3CF | Digital to Analog Converter 1 |
3D0 ~ 3D7 | Digital to Analog Converter 2 (optional) |
3D8 ~ 3DF | Analog to Digital Converter Ready Line And 3 Digital Inputs |
3E0 ~ 3E7 | Programmable Peripheral Interface |
3E8 ~ 3EF | Spare Select Line |
3F0 ~ 3F7 | Spare Select Line |
3F8 ~ 3FF | Spare 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.
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 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 |
|
IC3 |
8C255 Programmable Peripheral Interface |
|
IC7 |
74LS244 octal buffer |
|
IC8 |
74LS08 quad AND gate |
|
IC9 |
74LS393 counter |
|
IC10 |
74LS138 1 of 8 decoder |
|
IC11 |
74LS688 digital comparator |
|
IC12 |
74LS245 octal transceiver |
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 |
C2 |
10µF; 25v axial electrolytic similar to Panasonic |
C4, C5, C6, C7 |
.01µF; .2" or 5mm spacing film similar to Panasonic |
C8 |
At least 220µF;, at least 6.3v axial electrolytic similar to Panasonic |
Jumper |
|
JP1 |
.1" Header Type Jumper |
Integrated
Circuits |
||
|
||
IC1 |
TL074 or LF347A quad op amp |
|
IC4 |
ADC0809 8 input, 8-bit AD converter |
|
IC5, IC6 |
DAC0832 8-bit DA converter |
|
IC13 |
LM380N-8 power amp (8 pin DIP version) |
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.
Order | Home |