mirror of
https://github.com/TomNisbet/TommyPROM.git
synced 2024-12-30 13:29:46 +00:00
Add detailed troubleshooting commands
This commit is contained in:
parent
d9eb7ae29d
commit
8ddae82395
@ -77,3 +77,90 @@ Writing the unlock code to disable Software Write Protect mode.
|
|||||||
#cd
|
#cd
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Troubleshooting
|
||||||
|
|
||||||
|
If the programmer seems to be working, but 28C256 EEPROMs cannot be written, the problem
|
||||||
|
may simply be a locked chip. Some chips have been received with the Software Data
|
||||||
|
Protection (SDP) enabled, even though the data sheet states that it should be disabled
|
||||||
|
from the factory. If the chip does not write (try the Zap command in the TommyPROM code),
|
||||||
|
then try an Unlock command and then retry the write.
|
||||||
|
|
||||||
|
If the programmer is not working, the most common problem is a simple wiring error. The
|
||||||
|
hardware verify sketch can help to find missing or crossed connections.
|
||||||
|
|
||||||
|
The hardware has three sections: an 8-bit read-write data bus connected to the target
|
||||||
|
PROM's data line, a set of write-only address lines generated by shift registers and
|
||||||
|
connected to the target PROM's address lines, and a set of write-only control lines from
|
||||||
|
the Arduino that toggle the PROM's output enable and write lines.
|
||||||
|
|
||||||
|
The first step in general testing it to remove the target chip and then toggle single
|
||||||
|
lines from the Arduino. The result should be measured at the target PROM footprint, not
|
||||||
|
at the Arduino. To fully test, use a multimeter to verify that the lines that should be
|
||||||
|
active are active and that any other lines are not.
|
||||||
|
|
||||||
|
### Testing the data bus
|
||||||
|
|
||||||
|
Issue a set of Data commands from the Hardware Verify sketch and measure EACH data line at
|
||||||
|
the PROM footprint. **If the expected result is "D0 HIGH", verify not only that D0 reads
|
||||||
|
HIGH, but that all of the other lines read LOW.**
|
||||||
|
|
||||||
|
Data test commands
|
||||||
|
|
||||||
|
|Command|Result|
|
||||||
|
|:--- |:--- |
|
||||||
|
|D0 |All data lines LOW|
|
||||||
|
|D1 |D0 HIGH|
|
||||||
|
|D2 |D1 HIGH|
|
||||||
|
|D4 |D2 HIGH|
|
||||||
|
|D8 |D3 HIGH|
|
||||||
|
|D10 |D4 HIGH|
|
||||||
|
|D20 |D5 HIGH|
|
||||||
|
|D40 |D6 HIGH|
|
||||||
|
|D80 |D7 HIGH|
|
||||||
|
|Dff |all data lines HIGH|
|
||||||
|
|
||||||
|
### Testing the address lines
|
||||||
|
|
||||||
|
As with the data tests above, verify not only the line with the expected result, but all
|
||||||
|
other address lines as well.
|
||||||
|
|
||||||
|
|Command|Result|
|
||||||
|
|:--- |:--- |
|
||||||
|
|A0 |All address lines LOW|
|
||||||
|
|A1 |A0 HIGH|
|
||||||
|
|A2 |A1 HIGH|
|
||||||
|
|A4 |A2 HIGH|
|
||||||
|
|A8 |A3 HIGH|
|
||||||
|
|A10 |A4 HIGH|
|
||||||
|
|A20 |A5 HIGH|
|
||||||
|
|A40 |A6 HIGH|
|
||||||
|
|A80 |A7 HIGH|
|
||||||
|
|A100 |A8 HIGH|
|
||||||
|
|A200 |A9 HIGH|
|
||||||
|
|A400 |A10 HIGH|
|
||||||
|
|A800 |A11 HIGH|
|
||||||
|
|A1000 |A12 HIGH|
|
||||||
|
|A2000 |A13 HIGH|
|
||||||
|
|A4000 |A14 HIGH|
|
||||||
|
|A7fff |all address lines HIGH|
|
||||||
|
|
||||||
|
### Testing the control lines
|
||||||
|
|
||||||
|
The PROM control lines are active LOW, so an enable command will set the corresponding
|
||||||
|
control line LOW and a disable will set it HIGH. Try the commands in the following table.
|
||||||
|
Note that they should be done in the order listed, because a test command on one control
|
||||||
|
line will not change the state of any of the other lines.
|
||||||
|
|
||||||
|
To begin, issue the following commands: D0, A0, Cd, Od, Wd. Note that the Od command is
|
||||||
|
the letter 'O', not the number zero. All three control lines should read HIGH after these
|
||||||
|
commands are complete.
|
||||||
|
|
||||||
|
|Command|Result|
|
||||||
|
|:--- |:--- |
|
||||||
|
|Ce | Chip Enable (CE) LOW, others HIGH|
|
||||||
|
|Cd | CE, OE, WE all HIGH|
|
||||||
|
|Oe | Output Enable (OE) LOW, others HIGH|
|
||||||
|
|Cd | CE, OE, WE all HIGH|
|
||||||
|
|We | Write Enable (WE) LOW, others HIGH|
|
||||||
|
|Wd | CE, OE, WE all HIGH|
|
||||||
|
Loading…
Reference in New Issue
Block a user