mirror of
https://github.com/TomNisbet/TommyPROM.git
synced 2025-01-14 07:29:51 +00:00
Split Intel 8755 documentation out
This commit is contained in:
parent
3e808ce860
commit
03fb322c0d
19
README.md
19
README.md
@ -2,23 +2,18 @@
|
|||||||
|
|
||||||
This is a simple EEPROM programmer and reader that can be assembled using an Arduino and a
|
This is a simple EEPROM programmer and reader that can be assembled using an Arduino and a
|
||||||
few additional parts. The original code was specific to the 28C256 32Kx8 EEPROM, but it
|
few additional parts. The original code was specific to the 28C256 32Kx8 EEPROM, but it
|
||||||
has been extended to also support Intel 8755A EPROMS and some 29C010 Flash.
|
has been extended to also support SST39SF040 Flash, many other EEPROMs and flash, and even
|
||||||
|
Intel 8755A EPROMS.
|
||||||
|
|
||||||
|
See the [documentation pages](https://tomnisbet.github.io/TommyPROM/) for the full
|
||||||
|
documentation with software, schematics, and troubleshooting tips.
|
||||||
|
|
||||||
Features include:
|
Features include:
|
||||||
* Simple hardware design that can be assembled on a breadboard.
|
* Simple hardware design that can be assembled on a breadboard.
|
||||||
* ROM images transfers using XMODEM - no special host client needed.
|
* ROM images transfers using XMODEM - no special host client needed.
|
||||||
* Support for fast block EEPROM writes - a 32K EEPROM will program in just a few seconds.
|
* Support for fast block EEPROM writes - a 32K EEPROM will program in just a few seconds.
|
||||||
* Optimized code that supports the timing requirements needed to unlock the 28C series
|
* Optimized code that supports the timing requirements needed to unlock the 28C series
|
||||||
Software Protection Algorithm.
|
[Software Protection Algorithm](docs/28C256-notes).
|
||||||
* Modular software design to easily support other EEPROM and EPROM families.
|
* Modular software design to easily support other EEPROM and EPROM families.
|
||||||
|
|
||||||
![TommyPROM Nano Hardware](docs/images/TommyPROM-nano.jpg)
|
![TommyPROM Nano Hardware](docs/_docs/images/TommyPROM-nano.jpg)
|
||||||
|
|
||||||
|
|
||||||
See the [documentation pages](https://tomnisbet.github.io/TommyPROM/) for the full documentation
|
|
||||||
with hardware, software, and troubleshooting tips.
|
|
||||||
|
|
||||||
## Further Work
|
|
||||||
|
|
||||||
* [ ] Add a new PromDevice class for 27 series EPROMS.
|
|
||||||
* [x] Additional error checking in the CmdLine code.
|
|
||||||
|
@ -20,6 +20,8 @@ docs:
|
|||||||
url: /docs/pcb
|
url: /docs/pcb
|
||||||
- title: "Adding Chip Families"
|
- title: "Adding Chip Families"
|
||||||
url: /docs/extending
|
url: /docs/extending
|
||||||
|
- title: "8755A Hardware"
|
||||||
|
url: /docs/8755A-hardware
|
||||||
- title: "References"
|
- title: "References"
|
||||||
children:
|
children:
|
||||||
- title: "28C256 and SDP"
|
- title: "28C256 and SDP"
|
||||||
|
@ -63,10 +63,10 @@ files as well. The default code programs 28C series chips using Arduino Nano har
|
|||||||
use this version, just compile and upload it to the Arduino.
|
use this version, just compile and upload it to the Arduino.
|
||||||
|
|
||||||
**Note well** that this code has been optimized for the Aduino UNO and Nano hardware so
|
**Note well** that this code has been optimized for the Aduino UNO and Nano hardware so
|
||||||
*that it can run quickly enough to meet 28C series chip timing requirements for SDP
|
that it can run quickly enough to meet 28C series chip timing requirements for SDP
|
||||||
*unlocking. To use different Arduino hardware, like the Micro, the board-specific code in
|
unlocking. To use different Arduino hardware, like the Micro, the board-specific code in
|
||||||
*PromDevice.cpp and PromAddressDriver.cpp must be changed to match the port mappings
|
PromDevice.cpp and PromAddressDriver.cpp must be changed to match the port mappings
|
||||||
*between the ATmega chip and the Arduino I/O pins.
|
between the ATmega chip and the Arduino I/O pins.
|
||||||
|
|
||||||
Because the Arduino has limited code and RAM space available, only one PROM driver is
|
Because the Arduino has limited code and RAM space available, only one PROM driver is
|
||||||
compiled in at a time. To change drivers, uncomment the desired PROM_IS_xx line in
|
compiled in at a time. To change drivers, uncomment the desired PROM_IS_xx line in
|
||||||
|
@ -1,13 +1,11 @@
|
|||||||
---
|
---
|
||||||
title: "Hardware Design"
|
title: "Hardware Design"
|
||||||
permalink: /docs/hardware
|
permalink: /docs/hardware
|
||||||
exerpt: "TommyPROM Arduino EEPROM programmer software design"
|
exerpt: "TommyPROM Arduino EEPROM programmer hardware design"
|
||||||
---
|
---
|
||||||
|
|
||||||
## Basic Hardware Version
|
|
||||||
|
|
||||||
The hardware uses an Arduino to write data and to toggle control lines with the
|
The hardware uses an Arduino to write data and to toggle control lines with the
|
||||||
appropriate timing to access the PROM. A pair of 74LS164 serial to parallel shift
|
appropriate timing to access the PROM. A pair of 74LS164 serial-to-parallel shift
|
||||||
registers latch the address lines. Use of the shift registers allows the Arduino to
|
registers latch the address lines. Use of the shift registers allows the Arduino to
|
||||||
control up to 16 address lines using only 3 output ports. This design will read and
|
control up to 16 address lines using only 3 output ports. This design will read and
|
||||||
program the 28C series chips and can read most other parallel ROM chip families.
|
program the 28C series chips and can read most other parallel ROM chip families.
|
||||||
@ -100,20 +98,3 @@ down to D2..D9. Most of the ROM and shift register control lines move over to t
|
|||||||
pins. The upper shift register is controlled directly from the Arduino instead of being
|
pins. The upper shift register is controlled directly from the Arduino instead of being
|
||||||
connected to the overflow of the lower shift register. All of the connections are in the
|
connected to the overflow of the lower shift register. All of the connections are in the
|
||||||
chart in the section above.
|
chart in the section above.
|
||||||
|
|
||||||
## Intel 8755A Hardware Version
|
|
||||||
|
|
||||||
The Intel 8755A uses a multiplexed data and address bus, plus 3 additional address lines.
|
|
||||||
Most Arduino hardware has enough pins to support this directly, so no additional hardware
|
|
||||||
is needed for addressing. An Arduino pin is also used to drive the ALE latch pin.
|
|
||||||
|
|
||||||
The 8755A requires the Vdd pin to be be switched between 5V and 25V during the programming
|
|
||||||
of each byte. A simple transistor circuit is used for this. No voltage regulator circuit
|
|
||||||
is present here for the programming voltage. Because this is designed as a quickly
|
|
||||||
assembled hardware design, a triple output bench supply was used to provide the 25.5V,
|
|
||||||
5.5V and 5V outputs.
|
|
||||||
|
|
||||||
[![TommyPROM Nano Schematic](images/TommyPROM-8755A-sch.png)](images/TommyPROM-8755A-sch.png)
|
|
||||||
|
|
||||||
Eagle-format schematics can be downloaded from the
|
|
||||||
[hardware project page](https://github.com/TomNisbet/TommyPROM/tree/master/hardware).
|
|
||||||
|
26
docs/_docs/design-700-8755A-hardware.md
Normal file
26
docs/_docs/design-700-8755A-hardware.md
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
---
|
||||||
|
title: "8755A Hardware Design"
|
||||||
|
permalink: /docs/8755A-hardware
|
||||||
|
exerpt: "TommyPROM Arduino programmer for the Intel 8755A"
|
||||||
|
---
|
||||||
|
|
||||||
|
A special version of the TommyPROM hardware was developed to support the Intel 8755A
|
||||||
|
EPROM with IO chip. This is a 2Kx8 UV EPROM with additional I/O ports.
|
||||||
|
|
||||||
|
The Intel 8355 is a one-time programmable version of the 8755A. This design can be used
|
||||||
|
to read the 8355.
|
||||||
|
|
||||||
|
The Intel 8755A uses a multiplexed data and address bus, plus 3 additional address lines.
|
||||||
|
Most Arduino hardware has enough pins to support this directly, so no shift register
|
||||||
|
hardware is needed for addressing. An Arduino pin is also used to drive the ALE latch pin.
|
||||||
|
|
||||||
|
The 8755A requires the Vdd pin to be be switched between 5V and 25V during the programming
|
||||||
|
of each byte. A simple transistor circuit is used for this. No voltage regulator circuit
|
||||||
|
is present here for the programming voltage. Because this is designed as a quickly
|
||||||
|
assembled hardware design, a triple output bench supply was used to provide the 25.5V,
|
||||||
|
5.5V and 5V outputs.
|
||||||
|
|
||||||
|
[![TommyPROM Nano Schematic](images/TommyPROM-8755A-sch.png)](images/TommyPROM-8755A-sch.png)
|
||||||
|
|
||||||
|
Eagle-format schematics can be downloaded from the
|
||||||
|
[hardware project page](https://github.com/TomNisbet/TommyPROM/tree/master/hardware).
|
Loading…
x
Reference in New Issue
Block a user