mirror of
https://github.com/TomNisbet/TommyPROM.git
synced 2024-12-22 09:29:38 +00:00
update chip driver docs
This commit is contained in:
parent
d8baefaaf4
commit
dbaef539b0
@ -27,19 +27,21 @@ enable and disable Software Data Protection, but uses a direct write for program
|
|||||||
TommyPROM has a variety of PromDevice Modules that can be compiled in to support these
|
TommyPROM has a variety of PromDevice Modules that can be compiled in to support these
|
||||||
different chip technologies.
|
different chip technologies.
|
||||||
|
|
||||||
|
|
||||||
# Verified Chips
|
# Verified Chips
|
||||||
|
|
||||||
|Model |Manufacturer |Type |Module |Notes|
|
|Model |Manufacturer |Type |Module |Notes|
|
||||||
|:--- |:--- |:--- |:--- |:--- |
|
|:--- |:--- |:--- |:--- |:--- |
|
||||||
|AT28C256 |Atmel, others|EEPROM |28C |Fully supported|
|
|AT28C256 |Atmel, others|EEPROM |28C |Fully supported|
|
||||||
|AT28C64 |Atmel, others|EEPROM |28C |Fully supported|
|
|AT28C64 |Atmel, others|EEPROM |28C |Fully supported|
|
||||||
|
|AT29C010 |Atmel |Flash |28C |Only with 128 byte or less sector size|
|
||||||
|SST39SF040|Microchip |Flash |SST39SF|All SST39SF0x0 supported|
|
|SST39SF040|Microchip |Flash |SST39SF|All SST39SF0x0 supported|
|
||||||
|SST28SF040|SST |Flash |SST28SF|All SST28SF0x0 supported|
|
|SST28SF040|SST |Flash |SST28SF|All SST28SF0x0 supported|
|
||||||
|SST27SF020|SST |Flash |27 |12V continuous for pgm/erase|
|
|SST27SF020|SST |Flash |27 |12V continuous for pgm/erase|
|
||||||
|W27C257 |Winbond |EEPROM |27 |Continual 12V or 14V for program/erase|
|
|W27C257 |Winbond |EEPROM |27 |Continuous 12V or 14V for program/erase|
|
||||||
|AT29C010 |Atmel |Flash |28C |Only with 128 byte or less sector size|
|
|
||||||
|8755A |Intel |EPROM |8755A |Requires 25V pulses to program|
|
|8755A |Intel |EPROM |8755A |Requires 25V pulses to program|
|
||||||
|
|
||||||
|
|
||||||
# PromDevice Modules
|
# PromDevice Modules
|
||||||
|
|
||||||
This PromDevice28C module is enabled by default to program 28C256 EEPROMS. To use a
|
This PromDevice28C module is enabled by default to program 28C256 EEPROMS. To use a
|
||||||
@ -57,27 +59,15 @@ commands to enable and disable the [Software Data protection (SDP)](28C256-notes
|
|||||||
features of 28C chips. There is also support for the fast block write mode of these
|
features of 28C chips. There is also support for the fast block write mode of these
|
||||||
chips, allowing a 32KB chip to be programmed in just a few seconds.
|
chips, allowing a 32KB chip to be programmed in just a few seconds.
|
||||||
|
|
||||||
## PromDevice27
|
|
||||||
|
|
||||||
The 27C EPROMs use a variety of programming algorithms. Code exists for some of these,
|
|
||||||
but very few of the chips have been tested.
|
|
||||||
|
|
||||||
Most, if not all, 27C series chips are not 5V only and require a higher voltage to program
|
|
||||||
them. Some need the voltage constantly applied while programming and others use high
|
|
||||||
voltage pulses for each byte. For constant voltage chips, it is probably easiest to just
|
|
||||||
add an external power supply and manually assert the voltage before starting a write. For
|
|
||||||
those with switched voltages, some elements of the 8755 hardware may be leveraged to build
|
|
||||||
a version of the programmer that supports these chips.
|
|
||||||
|
|
||||||
## PromDeviceSST39SF
|
## PromDeviceSST39SF
|
||||||
|
|
||||||
The SST39SF0x0 NOR Flash chips use fixed 4KB sectors that must be manually erased before a new program
|
The SST39SF0x0 NOR Flash chips use fixed 4KB sectors that must be manually erased before a
|
||||||
operation, but the code manages this transparently. Whenever a write is started to a new
|
new program operation, but the code manages this transparently. Whenever a write is
|
||||||
segment, the driver first initiates an erase of that sector. A second write to the same
|
started to a new segment, the driver first initiates an erase of that sector. A second
|
||||||
sector will not cause an erase, so it is possible to write to a segment multiple times
|
write to the same sector will not cause an erase, so it is possible to write to a segment
|
||||||
with no additional steps as long as the writes are to different parts of the sector. For
|
multiple times with no additional steps as long as the writes are to different parts of
|
||||||
example, 256 bytes could be written to the start of a sector from one file and then 512
|
the sector. For example, 256 bytes could be written to the start of a sector from one
|
||||||
bytes could be written to the end of the sector from another file.
|
file and then 512 bytes could be written to the end of the sector from another file.
|
||||||
|
|
||||||
Writing data that spans multiple sectors also works with no additional steps. When
|
Writing data that spans multiple sectors also works with no additional steps. When
|
||||||
a sector boundary is crossed, the new sector is erased and set as the current sector.
|
a sector boundary is crossed, the new sector is erased and set as the current sector.
|
||||||
@ -97,6 +87,24 @@ the 28SF are slower.
|
|||||||
|
|
||||||
All programming and erase operations for the 28SF chips require only a single 5V power supply.
|
All programming and erase operations for the 28SF chips require only a single 5V power supply.
|
||||||
|
|
||||||
|
## PromDevice27
|
||||||
|
|
||||||
|
The 27C supports Flash, EEPROM, and EPROM chips that use a variety of programming algorithms.
|
||||||
|
|
||||||
|
Most, if not all, 27C series chips are not 5V-only and require a higher voltage to program
|
||||||
|
or erase. This driver supports chips that need the voltage constantly applied while
|
||||||
|
programming or erasing. The programming voltages are provided by an external power supply
|
||||||
|
and manually switched before starting a write or erase operation. See the [TommyPROM32
|
||||||
|
hardware](pcb#TommyPROM32) for a diode circuit that allows the programming voltage to be
|
||||||
|
switched between Vcc and a higher voltage.
|
||||||
|
|
||||||
|
Check the [Chip Details](#27c-and-27e-series-eproms-and-flash) for the high voltage
|
||||||
|
connections for a particular chip or consult your data sheet.
|
||||||
|
|
||||||
|
Chips that use high voltage pulses for each byte are not supported. For those chips, some
|
||||||
|
elements of the [8755A hardware](8755A-hardware) may be leveraged to build a version of
|
||||||
|
the programmer that is able to provide high voltage pulses.
|
||||||
|
|
||||||
## PromDevice8755
|
## PromDevice8755
|
||||||
|
|
||||||
TommyPROM has a driver for Intel 8755 EPROMs. This driver replaces the 28C driver at
|
TommyPROM has a driver for Intel 8755 EPROMs. This driver replaces the 28C driver at
|
||||||
@ -117,7 +125,6 @@ need for shift registers to create address lines.
|
|||||||
The 8755 build of TommyPROM also has a circuit to control the 25V programming pulses.
|
The 8755 build of TommyPROM also has a circuit to control the 25V programming pulses.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Chip Details
|
# Chip Details
|
||||||
|
|
||||||
## 28C Series 28C256
|
## 28C Series 28C256
|
||||||
@ -149,6 +156,32 @@ This is an earlier version of the SST39SF series chips. They are pin compatible
|
|||||||
flash chips support software data protection. The _Lock_ and _Unlock_ commands can be
|
flash chips support software data protection. The _Lock_ and _Unlock_ commands can be
|
||||||
used to enable and disable SDP from the command line.
|
used to enable and disable SDP from the command line.
|
||||||
|
|
||||||
|
## 27C and 27E Series EPROMs and Flash
|
||||||
|
|
||||||
|
### W27C257 and W27C512
|
||||||
|
|
||||||
|
The Winbond W27C257 and W27E257 appear to be identical 32Kx8 EEPROMs. The 27C version
|
||||||
|
has been tested. The Winbond W27C512 is a 64Kx8 EEPROM with no dedicated _VPP_ pin.
|
||||||
|
|
||||||
|
The 257 EEPROMs have a _VPP_ pin that needs a constant 12V during programming. Unlike the
|
||||||
|
newer 28C EEPROMs, these chips do not automatically erase before writing to a location.
|
||||||
|
Instead, the entire chip is erased by applying 14V to _VPP_ and _A9_ and then pulsing
|
||||||
|
_CE_.
|
||||||
|
|
||||||
|
Unlike the 257 chips, the W27C512 does not have a dedicated pin for the programming
|
||||||
|
voltage and instead uses the OE pin to place the chip in programming mode. The verify
|
||||||
|
operation requires that the OE pin be switched to _LOW_ and there is no hardware support
|
||||||
|
for this, so the current code supports the 512 chip by doing a single write cycle with no
|
||||||
|
verify.
|
||||||
|
|
||||||
|
Because the chips use a constant high voltage for programming instead of a pulse, an
|
||||||
|
external power supply and two diodes can be used to supply either 5V or 12V to the
|
||||||
|
pins for programming and erasing.
|
||||||
|
|
||||||
|
Note that the W27x257 chip are almost a drop-in replacement for the 28C256. The _WE_,
|
||||||
|
_VPP_, and _A14_ pins are the only differences. For reading, the _VPP_ pin should be
|
||||||
|
connected to 5V.
|
||||||
|
|
||||||
## 29C Series
|
## 29C Series
|
||||||
|
|
||||||
The 29C0x0 chips are 5V sectored flash chips. They are similar to the 28C EEPROMs,
|
The 29C0x0 chips are 5V sectored flash chips. They are similar to the 28C EEPROMs,
|
||||||
@ -187,7 +220,6 @@ data. Data is written a byte at a time using a command register to control the
|
|||||||
programming. TommyPROM does not currently support 29F chips, but it would not be
|
programming. TommyPROM does not currently support 29F chips, but it would not be
|
||||||
difficult to write a driver. The default 28C driver will read 29F chips.
|
difficult to write a driver. The default 28C driver will read 29F chips.
|
||||||
|
|
||||||
|
|
||||||
## SST27SF020
|
## SST27SF020
|
||||||
|
|
||||||
The Silicon Storage SST27SF0x0 are programmed similarly to the 27C257 in that a constant
|
The Silicon Storage SST27SF0x0 are programmed similarly to the 27C257 in that a constant
|
||||||
@ -200,31 +232,6 @@ the newer 28C EEPROMs, these chips do not automatically erase before writing to
|
|||||||
location. Instead, the entire chip is erased by applying 12V to _VPP_ and _A9_ and then
|
location. Instead, the entire chip is erased by applying 12V to _VPP_ and _A9_ and then
|
||||||
pulsing _WE_.
|
pulsing _WE_.
|
||||||
|
|
||||||
## 27C and 27E Series EPROMs and flash
|
|
||||||
|
|
||||||
#### W27C257 and W27C512
|
|
||||||
|
|
||||||
The Winbond W27C257 and W27E257 appear to be identical 32Kx8 EEPROMs. The 27C version
|
|
||||||
has been tested. The Winbond W27C512 is a 64Kx8 EEPROM with no dedicated _VPP_ pin.
|
|
||||||
|
|
||||||
The 257 EEPROMs have a _VPP_ pin that needs a constant 12V during programming. Unlike the
|
|
||||||
newer 28C EEPROMs, these chips do not automatically erase before writing to a location.
|
|
||||||
Instead, the entire chip is erased by applying 14V to _VPP_ and _A9_ and then pulsing
|
|
||||||
_CE_.
|
|
||||||
|
|
||||||
Unlike the 257 chips, the W27C512 does not have a dedicated pin for the programming
|
|
||||||
voltage and instead uses the OE pin to place the chip in programming mode. The verify
|
|
||||||
operation requires that the OE pin be switched to _LOW_ and there is no hardware support
|
|
||||||
for this, so the current code supports the 512 chip by doing a single write cycle with no
|
|
||||||
verify.
|
|
||||||
|
|
||||||
Because the chips use a constant high voltage for programming instead of a pulse, an
|
|
||||||
external power supply and two diodes can be used to supply either 5V or 12V to the
|
|
||||||
pins for programming and erasing.
|
|
||||||
|
|
||||||
Note that the W27x257 chip are almost a drop-in replacement for the 28C256. The _WE_,
|
|
||||||
_VPP_, and _A14_ pins are the only differences. For reading, the _VPP_ pin should be
|
|
||||||
connected to 5V.
|
|
||||||
|
|
||||||
# Chips to be Tested
|
# Chips to be Tested
|
||||||
|
|
||||||
@ -234,7 +241,8 @@ connected to 5V.
|
|||||||
|W27C512 |Winbond |EEPROM |27 |Continual 12V or 14V for program/erase,VPP on OE|
|
|W27C512 |Winbond |EEPROM |27 |Continual 12V or 14V for program/erase,VPP on OE|
|
||||||
|AM28F512 |AMD |EEPROM | ||
|
|AM28F512 |AMD |EEPROM | ||
|
||||||
|AM29F040 |AMD |EEPROM | ||
|
|AM29F040 |AMD |EEPROM | ||
|
||||||
|AMS29AF010| | | ||
|
|AMS29AF010|AMS | | ||
|
||||||
|
|
||||||
|
|
||||||
# Chip Manufacturers
|
# Chip Manufacturers
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user