EE 308 -- LAB 08
Test of Memory and Port Expansion
Now that you have completed your wiring, you will test your work.
- Before adding chips to your board, check (and record) the
resistance between VCC and GND. It should be at least several
kOhms. If it is not this high, you have a mistake in your wiring.
- Before adding chips to your board, use a logic probe to
check for power and ground. Connect you board to a 5 V supply. With a
logic probe, check for a logic high at every pin which is supposed to be wired
to VCC, and for a logic low at every pin which is supposed to be
wired to GND. This will insure that you did not wire your power
supplies backwards; such backwards wiring would destroy all your ICs.
- Turn off power, put in your four ICs and you resistor network,
and turn power back on. Use a voltmeter to check your power supply
voltage. If it is not 5 V, turn power off immediately -- you have a
problem in your wiring.
- Turn off power. Cut the trace on jumper J4 on the back of your
board, and put your spare jumper on the two-pin header in the wire-wrap
area. Connect the serial port to your computer, get into the Windows Terminal
program, and turn on power. You should get the BUFFALO
prompt. If you do, proceed.
- Fill all of the expanded memory with 0xAAs, then with 0x55s.
(Use the BF command of BUFFALO.) If this works, then your memory is
wired correctly.
- Connect wires from Port A of your 6821 to LEDs on your breadboard. Set
up Port A for output. Do the following in BUFFALO: Change the value of 0x8001
to 0x00, change the value of 0x8000 to 0xFF, change the value of 0x8001 to
0x04. Then use Port A to turn on and off the LEDs on the breadboard. Do this
in BUFFALO by changing the value of 0x8000. It this works, your board is
wired correctly, and you now have 32 kbytes of RAM and two new ports.
Congratulations!!!
- Connect the logic analyzer to the address, data and control lines of your
system. Run the following program:
.area CODE (ABS)
.org 0x6000
ldaa #0xaa
loop: staa 0x2c
bra loop
You should be able to group things together so you get a timing
diagram similar to that handed out and discussed in class. Measure the
following times, and compare them (where appropriate) to the times in the Motorola M68HC11
E Series Technical Data Manual:
- The length of time the E clock is high.
- The length of time the E clock is low.
- The length of time AS is high.
- The time delay from E going low to AS going high.
- The length of time *OE, *WE and *CS are low.
- The length of time from E going high to *CS going low.
- The low-order address hold time -- the time from AS going low to
Port C changing from address mode to data mode.
- The high-order address hold time -- the time from the E clock
going low until Port B puts out a new address.
- The 68HC11 data hold time -- the time from E going low to Port C
changing from data to address mode during a write cycle.
- The memory data hold time -- the time from *OE going high to the
RAM chip releasing the data bus.
- Modify your program of Lab 4 to increment the LEDs on your
breadboard so that your program will use Port A of the 6821 instead of
Port B of the 68HC11.
Bill Rison,
<rison@ee.nmt.edu >
Wed Mar 6 1996
© 1996, New Mexico Tech