reading an old EPROM with an UNO? - Page 1
Forum section: electronics / beginners

author: dentaku
author_rank: Frequent Contributor
timestamp: May 02, 2016, 01:26:18 am
content: I was looking at the EPROM from an old Mitsubishi F-20MS Programmable Controller which is a 24pin MB8516 (NTE Equivalent NTE2716). I have no use for it but just for educational purposes I wondered about how you can dump the data from one of these chips without a special reader.I was looking at this articlehttp://www.nycresistor.com/2012/07/07/stick-a-straw-in-its-brain-and-suck-how-to-read-a-rom/and see how using a plain old Arduino UNO you would run out of IOs considering this chip has 11 address pins and 8 data pins.If you simply wanted to dump everything from a chip like this, couldn't you just connect something like a 4020B or 4040B counter to the address pins and save lots of pins on the Arduino? I'm assuming if you actually wanted to read just certain addresses you could use shift registers instead to save pins on the UNO.I guess I could also go as far as then using a 74165 PISO shift register to read the 8 data pins if I wanted but an UNO has more than 8 digital IO pins anyway.

author: helius
author_rank: Super Contributor
timestamp: May 02, 2016, 01:36:11 am
content: There are many EPROM programmers that can read a device like that.The chips that are really difficult to read/program are the bipolar proms like 82Sxxx and first-generation eproms like intel 2704. They need both positive and negative 12V rails, which are not found in that many modern programmers.

author: Ian.M
author_rank: Super Contributor
timestamp: May 02, 2016, 01:47:27 am
content: The easy way to interface byte wide memory to a microcontroller is to use two 74HC373 octal latch chips to latch the address off an 8 bit data bus. You need two additional MCU pins to control the latches. You simply output the two address bytes on the data bus from your MCU port, and latch each of them in turn. Finally you put the MCU port in input mode, enable the EPROM and read back the latched location. You therefore need 11 I/O pins, one for each latch + the EPROM OE and eight for the data bus.

author: SL4P
author_rank: Super Contributor
timestamp: May 02, 2016, 02:03:54 am
content: Yes. you could do it with the address counters - then wait a moment for it all to settle, then read the data byte.This solution is sequential only, but for your EPROM exploration - is good enough.(Note only one 'E' !)Using address latches etc, is really only needed of you need to access the memory locations randomly (as used during program operation).The voltages needed for your particular chip need to be determined from the datasheet - it may be 5V only (for read operations), or a mix of 5 & 12V for other operations, or older chips.

author: dentaku
author_rank: Frequent Contributor
timestamp: May 02, 2016, 09:57:41 pm
content: Quote from: SL4P on May 02, 2016, 02:03:54 amLuckily it seems to be a 5V part if I'm reading the datasheet correctly (VCC, VPPL Typ. 5.0V). Programming seems to require 25V (VPPH Typ. 25V) but I'm not looking to program it.http://www.nteinc.com/specs/2700to2799/pdf/nte2716.pdfwhich seems to be the same as my MB8516.

author: retrolefty
author_rank: Super Contributor
timestamp: May 03, 2016, 12:05:09 am
content: With Asian mega2560 boards available for under $10 I would use a no (or very little) external parts required approach.

author: dentaku
author_rank: Frequent Contributor
timestamp: May 03, 2016, 11:01:50 pm
content: Quote from: retrolefty on May 03, 2016, 12:05:09 amYup, I've kind of wanted one for a while now because it could come in handy.