From 23454b9dad655405a9667d1933386f3708ac5941 Mon Sep 17 00:00:00 2001 From: Tom Nisbet Date: Sat, 15 Jun 2019 22:20:02 -0400 Subject: [PATCH] Optimize Address Register code for 28C timing requirements Also remove slower generic Arduino code so that the project is now tied to specific Arduino versions. Add readme for 28C chips. --- .gitignore | 1 + README-28C.md | 25 +++ README.md | 13 +- TommyPROM/Configure.h | 8 - TommyPROM/PromAddressDriver.cpp | 19 ++- TommyPROM/PromDevice.cpp | 264 +++++++++++++------------------- TommyPROM/README.md | 2 +- TommyPROM/TommyPROM.ino | 24 ++- docs/Unlock-Timing.png | Bin 0 -> 69819 bytes 9 files changed, 173 insertions(+), 183 deletions(-) create mode 100644 .gitignore create mode 100644 README-28C.md create mode 100644 docs/Unlock-Timing.png diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..dbe9c82 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.vscode/ \ No newline at end of file diff --git a/README-28C.md b/README-28C.md new file mode 100644 index 0000000..028df4e --- /dev/null +++ b/README-28C.md @@ -0,0 +1,25 @@ +# Notes on 28C EEPROMs +The 28C series parallel EEPROMS, like the 28C256, support fast block writes and algorithms to implement Software Data Protection (SDP). The SDP feature seems to be a leading cause of problems for people trying to program these chips with Arduino or other homebrew hardware. + +The first problem many people encounter is that new chips are often locked, even though the datasheet states that they should ship unlocked. It isn't clear if the manufacturing practices have changed or if this might be due to used or conterfeit chips. In any case, the chips may need to be unlocked before they can be programmed for the first time. + +The unlock is accomplished by sending a sequence of bytes to specific addresses. Many people have reported problems with this step when using DIY programmers. Some programmers may not be writing the SDP sequences quickly enough to successfully unlock the chips and yet others will report that the same hardware works correctly. This may be due to variences in the behavior of chips from different manufacturers. + +When writing SDP lock/unlock sequences, the datasheets note that the timing between bytes must follow the same restrictions as page writes. In particular, the bytes must be written within the tBLC (Byte Load Cycle time). On Atmel parts, this is specified as 150us max, so each write pulse must occur within 150us of the previous write. The tBLC value is even shorter on the Xicor and ON Semi datasheets, stating that the writes must occur within 100us of each other. + +In practice, the Xicor chips seem very forgiving of the timing, doing successful SDP and page write operations even when the tBLC is close to 200us. Atmel chips, on the other hand, will refuse to unlock when the timing is outside the acceptable maximum. + +# Solution + +The TommyProm programmer uses direct port access to control the data bus and addressing shift register. This is much faster than doing individual DigitalWrite calls and allows the unlock and page write code to run comfortably with the tBLC constraints. It has been tested with Atmel chips and multiple batches of Xicor 28C256 chips with success. + +The capture below shows an unlock command sequence where the tBLC us within 80us for each byte. + +![Unlock Timing](docs/Unlock-Timing.png) + +# References + +1. [Atmel AT28C256 Data Sheet, 0006M–PEEPR–12/09](http://ww1.microchip.com/downloads/en/DeviceDoc/doc0006.pdf) +1. [Xicor, Intersil, Renesas X28C256 Data Sheet, 3855-1.9 8/1/97 T1/C0/D8 EW](https://www.renesas.com/us/en/www/doc/datasheet/x28hc256.pdf) +1. [ON Semiconductor CAT28C256 Data Sheet, CAT28C256/D, December, 2009 − Rev. 6](https://www.onsemi.com/pub/Collateral/CAT28C256-D.PDF) +1. [Parallel EEPROM Data Protection Application Note, Atmel, Rev. 0543C–10/98](http://ww1.microchip.com/downloads/en/AppNotes/DOC0543.PDF) \ No newline at end of file diff --git a/README.md b/README.md index d0b1404..bb7dced 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # TommyPROM - An Arduino-based EEPROM programmer -This is a simple EEPROM programmer and reader that can be assembled using an Arduino and a few additional parts. It has been sucessfully built using the Arduino UNO, Micro, and Nano models. +This is a simple EEPROM programmer and reader that can be assembled using an Arduino and a few additional parts. It has been sucessfully built using the Arduino UNO, Nano and Boarduino models. The original code was specific to the 28C256 32Kx8 EEPROM, but it has been extended to also support Intel 8755A EPROMS. @@ -11,6 +11,7 @@ Features include: * Simple hardware design that can be assembled on a breadboard. * 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. +* Optimized code that supports the timing requirements needed to unlock the 28C series Software Protection Algorithm. * Modular software design to easily support other EEPROM and EPROM families. The [hardware readme](hardware/README.md) has schematics and more information on the hardware design. The [software readme](TommyPROM/README.md) has class definitions and more information on the software design. @@ -24,9 +25,9 @@ The project was inspired by the [MEEPROMMER programmer](http://www.ichbinzustaen Open the TommyPROM.ino file in the Arduino IDE. It should automatically open the cpp and h files as well. The default code programs 28C series chips using Arduino Nano hardware. To use this version, just compile and upload it to the Arduino. -For different Arduino hardware, like UNO or Micro, edit the Configure.h file and uncomment the appropriate ARDUINO_IS_xx line. Only one of these lines should be uncommented. If all of these lines are commented out, the generic bit-at-a-time code is used to write to the data bus. This will work on all Arduinos, but it is slower that the model-specific code. +**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 reqirements for SDP unlocking. To use different Arduino hardware, like the Micro, the board-specific code in PromDevice.cpp and PromAddressDriver.cpp must be change to match the port mappings between the ATmega chip and the Arduino I/O pins. -To use the 8755A version of the code and matching hardware, uncomment PROM_IS_8755A and comment out the other PROM_IS_xx choices. +To use the 8755A version of the code and matching hardware, uncomment PROM_IS_8755A and comment out the other PROM_IS_xx choices in Configure.h. ## Operation ![TommyPROM Screenshot](docs/tp05.png) @@ -48,11 +49,11 @@ The READ and WRITE command both use XMODEM CRC to complete the file transfers. The files used for READ and WRITE are simple binary images. This can be created directly by [asm85](http://github.com/TomNisbet/asm85) or can be converted from S-record or Intel HEX using an external utility. ## Troubleshooting +* Verify that the Arduino type you are using is a supported board or that its I/O port definitions match one of the supported boards. Some other Arduino boards, like the Duemilanove, appear to be compatible but have not been tested. Others, like the Micro, have different port mappings and definitely will not work without software changes. * If the code doesn't appear to be working, concentrate on the read operations first to verify that the data and address paths are good. +* 28C series EEPROMS, like the X28C256, sometimes ship from the factory with Data Protection enabled. Use the UNLOCK command to disable this. See the [28C Readme](README-28C.md) for more information. * Re-check all hardware connections and verify the the control pins are going to the Arduino pins that match the definitions in the code. -* Verify that the ARDUINO_IS_xxx line in Configure.h matches the Arduino type you are using. Many Arduino boards other than those listed in -the file may work as well by commenting out all of the ARDUINO_IS_xxx lines. This will use the slower bit-at-a-time code for that data bus instead of the board-specific code. -* 28C series EEPROMS, like the 28C256, sometimes ship from the factory with Data Protection enabled. Use the UNLOCK command to disable this. +* This repo contains a standalone program called HardwareVerify that allows low-level access to the address, data, and control lines through a menu-driven interface. See the [readme](HardwareVerify/README.md) for that code for more tips. ## Further Work * Add a new PromDevice class for 27 series EPROMS. diff --git a/TommyPROM/Configure.h b/TommyPROM/Configure.h index 6b86665..f0a43a1 100644 --- a/TommyPROM/Configure.h +++ b/TommyPROM/Configure.h @@ -1,11 +1,3 @@ -// Uncomment only one of the ARDUINO_IS_ lines to use the fast I/O code for -// the data bus, or comment them all out to use the slower bit-at-a-time code. - -//#define ARDUINO_IS_MICRO -#define ARDUINO_IS_UNO -//#define ARDUINO_IS_NANO - - // Comment this out to remove extra debugging commands and code #define ENABLE_DEBUG_COMMANDS diff --git a/TommyPROM/PromAddressDriver.cpp b/TommyPROM/PromAddressDriver.cpp index ded82a4..fea020d 100644 --- a/TommyPROM/PromAddressDriver.cpp +++ b/TommyPROM/PromAddressDriver.cpp @@ -45,8 +45,14 @@ void PromAddressDriver::setAddress(word address) // is a matter of using the correct clock pin to shift the data in. void PromAddressDriver::setAddressRegister(uint8_t clkPin, byte addr) { + byte mask = 0; + if (clkPin == ADDR_CLK_HI) + mask = 0x08; + else if (clkPin == ADDR_CLK_LO) + mask = 0x10; + // Make sure the clock is low to start. - digitalWrite(clkPin, LOW); + PORTC &= ~mask; // Shift 8 bits in, starting with the MSB. for (int ix = 0; (ix < 8); ix++) @@ -54,17 +60,18 @@ void PromAddressDriver::setAddressRegister(uint8_t clkPin, byte addr) // Set the data bit if (addr & 0x80) { - digitalWrite(ADDR_DATA, HIGH); + PORTC |= 0x20; } else { - digitalWrite(ADDR_DATA, LOW); + PORTC &= 0xdf; } - digitalWrite(clkPin, HIGH); // Clock in a bit - digitalWrite(clkPin, LOW); // Reset the clock pin + // Toggle the clock high then low + PORTC |= mask; + delayMicroseconds(3); + PORTC &= ~mask; addr <<= 1; } } - diff --git a/TommyPROM/PromDevice.cpp b/TommyPROM/PromDevice.cpp index e85ae31..f85d68c 100644 --- a/TommyPROM/PromDevice.cpp +++ b/TommyPROM/PromDevice.cpp @@ -1,155 +1,109 @@ -#include "Configure.h" -#include "PromDevice.h" - - -PromDevice::PromDevice(unsigned long size, word blockSize, unsigned maxWriteTime, bool polling) - : mSize(size), - mBlockSize(blockSize), - mMaxWriteTime(maxWriteTime), - mSupportsDataPoll(polling) -{ -} - - -// Write a block of data to the device. If the device supports block writes, -// the data will be broken into chunks and written using the block mode. -// Otherwise, each byte will be individually written and verified. -bool PromDevice::writeData(byte data[], word len, word address) -{ - bool status = true; - - if (mBlockSize == 0) - { - // Device does not support block writes. - for (word ix = 0; (ix < len); ix++) - { - if (burnByte(data[ix], address + ix) == false) - { - status = false; - break; - } - } - } - else - { - word offset = 0; - word chunkSize; - if (address & (mBlockSize - 1)) - { - // Address does not start on a block boundary. Adjust the size of - // the first block to fit within a single block. - chunkSize = mBlockSize - (address & (mBlockSize - 1)); - chunkSize = (chunkSize > len) ? len : chunkSize; - if (burnBlock(data, chunkSize, address) == false) - { - return false; - } - offset += chunkSize; - len -= chunkSize; - } - - // All writes are now aligned to block boundaries, so write full blocks - // or remaining length, whichever is smaller. - while (len > 0) - { - chunkSize = (len > mBlockSize) ? mBlockSize : len; - if (burnBlock(data + offset, chunkSize, address + offset) == false) - { - status = false; - break; - } - offset += chunkSize; - len -= chunkSize; - } - } - - return status; -} - - -// BEGIN PRIVATE METHODS -// - -// Set the I/O state of the data bus. -// The first two bits of port D are used for serial, so the 8 bits data bus are -// on pins D2..D9. -void PromDevice::setDataBusMode(uint8_t mode) -{ -#if defined(ARDUINO_IS_UNO) || defined(ARDUINO_IS_NANO) - // On the Uno and Nano, D2..D9 maps to the upper 6 bits of port D and the - // lower 2 bits of port B. - if (mode == OUTPUT) - { - DDRB |= 0x03; - DDRD |= 0xfc; - } - else - { - DDRB &= 0xfc; - DDRD &= 0x03; - } -#elif defined(ARDUINO_IS_MICRO) - // On the Micro, D2..D9 maps to the upper 7 bits of port B and the - // lower bit of port D. - if (mode == OUTPUT) - { - DDRB |= 0xfe; - DDRD |= 0x01; - } - else - { - DDRB &= 0x01; - DDRD &= 0xfe; - } -#else - byte bit = 0x01; - for (int pin = 2; (pin <= 9); pin++) { - pinMode(pin, mode); - bit <<= 1; - } -#endif -} - - -// Read a byte from the data bus. The caller must set the bus to input_mode -// before calling this or no useful data will be returned. -byte PromDevice::readDataBus() -{ -#if defined(ARDUINO_IS_UNO) || defined(ARDUINO_IS_NANO) - return (PINB << 6) | (PIND >> 2); -#elif defined(ARDUINO_IS_MICRO) - return (PINB & 0xfe) | (PIND & 0x01); -#else - byte data = 0; - byte bit = 0x01; - for (int pin = 2; (pin <= 9); pin++) { - if (digitalRead(pin) == HIGH) { - data |= bit; - } - bit <<= 1; - } - return data; -#endif -} - - -// Write a byte to the data bus. The caller must set the bus to output_mode -// before calling this or no data will be written. -void PromDevice::writeDataBus(byte data) -{ -#if defined(ARDUINO_IS_UNO) || defined(ARDUINO_IS_NANO) - PORTB = (PORTB & 0xfc) | (data >> 6); - PORTD = (PORTD & 0x03) | (data << 2); -#elif defined(ARDUINO_IS_MICRO) - PORTB = (PORTB & 0x01) | (data & 0xfe); - PORTD = (PORTD & 0xfe) | (data & 0x01); -#else - byte bit = 0x01; - for (int pin = 2; (pin <= 9); pin++) { - digitalWrite(pin, (data & bit) ? HIGH : LOW); - bit <<= 1; - } -#endif -} - - +#include "Configure.h" +#include "PromDevice.h" + + +PromDevice::PromDevice(unsigned long size, word blockSize, unsigned maxWriteTime, bool polling) + : mSize(size), + mBlockSize(blockSize), + mMaxWriteTime(maxWriteTime), + mSupportsDataPoll(polling) +{ +} + + +// Write a block of data to the device. If the device supports block writes, +// the data will be broken into chunks and written using the block mode. +// Otherwise, each byte will be individually written and verified. +bool PromDevice::writeData(byte data[], word len, word address) +{ + bool status = true; + + if (mBlockSize == 0) + { + // Device does not support block writes. + for (word ix = 0; (ix < len); ix++) + { + if (burnByte(data[ix], address + ix) == false) + { + status = false; + break; + } + } + } + else + { + word offset = 0; + word chunkSize; + if (address & (mBlockSize - 1)) + { + // Address does not start on a block boundary. Adjust the size of + // the first block to fit within a single block. + chunkSize = mBlockSize - (address & (mBlockSize - 1)); + chunkSize = (chunkSize > len) ? len : chunkSize; + if (burnBlock(data, chunkSize, address) == false) + { + return false; + } + offset += chunkSize; + len -= chunkSize; + } + + // All writes are now aligned to block boundaries, so write full blocks + // or remaining length, whichever is smaller. + while (len > 0) + { + chunkSize = (len > mBlockSize) ? mBlockSize : len; + if (burnBlock(data + offset, chunkSize, address + offset) == false) + { + status = false; + break; + } + offset += chunkSize; + len -= chunkSize; + } + } + + return status; +} + + +// BEGIN PRIVATE METHODS +// + +// Set the I/O state of the data bus. +// The first two bits of port D are used for serial, so the 8 bits data bus are +// on pins D2..D9. +void PromDevice::setDataBusMode(uint8_t mode) +{ + // On the Uno and Nano, D2..D9 maps to the upper 6 bits of port D and the + // lower 2 bits of port B. + if (mode == OUTPUT) + { + DDRB |= 0x03; + DDRD |= 0xfc; + } + else + { + DDRB &= 0xfc; + DDRD &= 0x03; + } +} + + +// Read a byte from the data bus. The caller must set the bus to input_mode +// before calling this or no useful data will be returned. +byte PromDevice::readDataBus() +{ + return (PINB << 6) | (PIND >> 2); +} + + +// Write a byte to the data bus. The caller must set the bus to output_mode +// before calling this or no data will be written. +void PromDevice::writeDataBus(byte data) +{ + PORTB = (PORTB & 0xfc) | (data >> 6); + PORTD = (PORTD & 0x03) | (data << 2); +} + + diff --git a/TommyPROM/README.md b/TommyPROM/README.md index 6fb8cea..cff6028 100644 --- a/TommyPROM/README.md +++ b/TommyPROM/README.md @@ -16,7 +16,7 @@ A compile-time switch in Configure.h enables additional debug commands that are ## PromDevice class The PromDevice class and its subclasses encapsulate all of the communication between the Arduino and the target PROM device. -The PromDevice class can access the data bus using direct port writes instead of 8 individual pin accesses. This greatly increases performance, but it makes the code dependent on the particular flavor of Arduino being used. The code can currently be compiled for Uno, Nano, or Micro versions of Arduino hardware or in a slower hardware-indpendent mode. +To meet the timing requirements for block writes and 28C chip unlocking, the PromDevice class accesses the shift registers and data bus using direct port writes instead of 8 individual pin accesses. This greatly increases performance, but it makes the code dependent on the particular flavor of Arduino being used. The code supports the Uno, Nano, and Boarduino versions of Arduino hardware or any other variant that uses that same mapping of ATMega ports to I/O pins. To support a different Arduino board, either change the pins used to match the mapping in the software, or change the hardware-specific code in PromDevice.cpp and PromAddressDriver.cpp. The PromDevice class contains common code used by all devices, including the block write code that will break a large write request into a set of properly-aligned smaller blocks for devices that support block writing, or a sequence of infividual byte writes for devices that do not. diff --git a/TommyPROM/TommyPROM.ino b/TommyPROM/TommyPROM.ino index dce2598..824fe02 100644 --- a/TommyPROM/TommyPROM.ino +++ b/TommyPROM/TommyPROM.ino @@ -1,12 +1,16 @@ /** -* Read and write ATMEL 28C series EEPROMs. Support block writes for better -* performance. Read-only is supported for most parallel EPROM/EEPROMs. +* Read and write parallel EEPROMS with an interctive command-line interface. +* Modules are available for ATMEL 28C series EEPROMs and Intel 8755A EPROMS. +* Many other parallel EPROM/EEPROMs can be read, but not written, using the +* 28C code. * -* ROM images are moved to and from a host computer using XMODEM. -* This is available in a number of terminal programs, such as -* TeraTerm and Minicom. +* The 28C module supports block writes for better performance and +* Software Data Protection (SDP) unlocking. * -* The hardware uses two 74LS164 shift registers as the low and +* ROM images are moved to and from a host computer using XMODEM. This is +* available in a number of terminal programs, such as TeraTerm and Minicom. +* +* The default hardware uses two 74LS164 shift registers as the low and * high address registers. **/ @@ -15,6 +19,9 @@ #include "XModem.h" +static const char * MY_VERSION = "1.8"; + + // Global status CmdStatus cmdStatus; @@ -574,6 +581,7 @@ void loop() Serial.print("\n>"); Serial.flush(); readLine(line, sizeof(line)); + Serial.println(); byte cmd = parseCommand(line[0]); if (hexDigit(line[1]) <= 15) start = hexWord(line + 1); @@ -664,7 +672,9 @@ void loop() break; default: - Serial.print(F("TommyPROM 1.7 - ")); + Serial.print(F("TommyPROM ")); + Serial.print(MY_VERSION); + Serial.print(F(" - ")); Serial.println(prom.getName()); Serial.println(); Serial.println(F("Valid commands are:")); diff --git a/docs/Unlock-Timing.png b/docs/Unlock-Timing.png new file mode 100644 index 0000000000000000000000000000000000000000..97394644267786bc8aabc7ae434ac0907ec3c5d9 GIT binary patch literal 69819 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
;6#0C!~$EXuq#&>qQ=+lLrUcdy1 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