+'' lead at pin
14 and the ``-'' lead at pin 7. Now apply power to the
miniboard and observe the voltage on the voltmeter. If it is 5V,
proceed to the next step.
If it is not 5V then you have a short on the board somewhere. The most likely place for this is dual headers around the miniboard that are connected to 5V and Gnd. Other possibilities are the pins of the voltage regulator.
To eliminate a solder bridge you can use a solder ``sucker'' or solder-wick type remover. Note that if you use a sucker type they can splash molten solder on other parts of the board. You can also hold the board over the tip of your soldering iron, then touch the solder bridge and the excess solder will flow off of the board and on to your iron.
If the RED LED lights up, or the motor LEDS flicker, then you are probably not in download mode. This can be caused by a defective run/download switch or an open connection (eg a bad solder joint) on the switch.
/home/CS273/pub/hexmon40clean.s19 to
the miniboard (you can drag-n-drop this filename into gdl).
Watching the LEDs, the PWR LED should remain off during the
initial Downloading Boot download and then turn on brightly when
GDL switches to Syncing With HC11 and Downloading
EEPROM.
Note that the Downloading Boot section will
always appear to work, even with the Miniboard powered off,
because the RS-232 stuff hardware echoes characters.
If the user code fails to load then the CPU is probably in the wrong mode or not running. There are several possible causes:
(The above three possibilities cover 99% of all the cases we've ever actually seen)
Testing for oscillation is difficult without an oscilloscope, however you can sometimes use the ``AC'' setting of a multimeter to detect a clock signal is present. (0V = no signal, ~2 V signal present)
Communicate window and check to see that the
miniboard prints a ``>'' character every time you press reset.
w00ff005d and the RED motor LEDs should all
light. In the Serial Comm window you should see
>w00ff005dw>. The miniboard echoed all characters and
added w> to the end.
w00f0005d and all of the Green Motor LEDs should light
up and the red ones will turn off. The emulator window will show
>w00ff005dw>w00f0005dw> (the >w00ff005dw> is
left over from the previous step).
Congratulations, your miniboard is successfully running Hexmon and is well on its way to being completely checked out. You can find information on the Hexmon monitor program, and what the commands you're using mean, in the lab manual starting on page 76.
r00001003. Hexmon should
print back ff (in the Serial Comm window it will look like
>r00001003rff>).
If you don't get 'ff' and get something else then convert that number to binary and for every 'bit' that is not '1' you have a short to ground or an open connection to the resistor pack.
r00001003 again
(this requires either some dexterity or a partner) and the resulting display should be
r00001003rfe>.
What's happening here is that each position along the header strip
corresponds to one bit when the digital input is read. When you push
the button on the least significant bit, the result is
11111110 in binary, so when Hexmon reports it in
hexadecimal you see fe.
If the answer comes back anything zero bits other than the least
significant bit fe (like fc for instance)
then it means you've got a short between the input you've plugging
into and an adjacent line. If you still get ff, either
you have an open connection on that input bit, or your test switch
setup is faulty.
| Position | Binary | Hexadecimal |
|---|---|---|
| 0 | 11111110 | fe |
| 1 | 11111101 | fd |
| 2 | 11111011 | fb |
| 3 | 11110111 | f7 |
| 4 | 11101111 | ef |
| 5 | 11011111 | df |
| 6 | 10111111 | bf |
| 7 | 01111111 | 7f |
For each channel you should type
| Command | Channel |
|---|---|
r00000054 | 0 |
r00000055 | 1 |
r00000056 | 2 |
r00000057 | 3 |
r00000058 | 4 |
r00000059 | 5 |
r0000005a | 6 |
r0000005b | 7 |
So to check out channel 1, you would type 'r00000055' to hexmon
which might yield >r00000055r03> or
>r00000055raf> or something, depending on the photocell
you used and the amount of light falling on it. The error condition
is that you get either 00 or
ff. 00 means you have a short to ground or
an open pullup and ff means you have a short to 5v. Some
fixed value like 33 means you probably have a resistive
short to ground (a cold blob of solder, a bit of lint, etc)
Once you've verified that the channel changes when you change how much light falls on the sensor, verify that the adjacent channels do not change when you vary the light.
Use the hexmon commands w0011005d and w0010005d
to verify the motor spins first one way then the other.
Similarly use:
| Direction 1 | Direction 0 | Motor |
|---|---|---|
w0022005d | w0020005d | 2 |
w0044005d | w0040005d | 3 |
w0088005d | w0080005d | 4 |
In this test you are looking for the motor either to not spin one direction or the other (indicating a short in the connector pins) or very slow in one direction or the other (indicating a cold solder joint on one of the pins) or multiple motor LEDs lighting (indicating a short between enable pins.
Thats it, you're done. Your miniboard is in peak operating condition!