5

I am building a breadboard/Arduino reader to dump the data on a very old Intel 1702A EPROM chip. (data sheet) When doing some basic testing by tying all the address pins to ground, I am seeing unexpected negative voltages (between -5V and about -7V) on all of the output pins.

The data pins should be TTL logic level producing around 0V low and 5V high, right? The data sheet seems to suggest that a low output level could actually be -3V, but -5 and -6V outputs seem too negative to me. I tried another unknown-contents 1702A chip in the same circuit with the same results. I've also tried randomly moving some address pins to logic high to try different addresses but I never see any output values near or above 0V.

Before I hook up the Arduino and go bit-banging all the address range, I want to make sure I'm not damaging something.

Can someone enlighten me as to whether:

  1. This seems like it's just a bunch of valid zero data values and I haven't found any nonzero ones yet?
  2. These chips are busted and untrustworthy somehow?
  3. The chips are probably fine but I've got something misconfigured or misunderstood somewhere.

Thanks for any insight.

FWIW The 1702A requires +5 V and -9 V inputs, which I now have thanks to a voltage inverter and the Arduino's 5V regulator. My primary supply is a 9V DC wall wart (Arduino is not currently attached to any other power source) putting out solid 9V and inverted to -8.55V under load which is right at the edge of the operating range but seems like it should work. All the connections marked Vcc are tied to +5V, and Vgg/Vdd to -9V. (bar-CS is tied to GND as noted in the data sheet). Input addresses are tied to GND or sometimes +5V to try different addresses.

Pinout copied from data sheet, read mode voltage specs in the data sheet.

enter image description here

BZo
  • 1,575
  • 1
  • 11
  • 22
  • 1
    @KyleB, that wouldn't answer the question and, even worse, nobody would learn anything. Understanding these oddities is part of the evolution, development and plain solid satisfaction of electronic engineering. – TonyM Aug 17 '21 at 18:45
  • @KyleB and TonyM: :-) Both are fair points! I do very much want to be learning but I would in fact be happy with a trivial reader device if one existed. But I think frankly they don't? This is the first ever ancient EPROM device, not an EEPROM, and I've not found anything modern that will read it, let alone program it. If anyone knows of such a device I'm all ears! – BZo Aug 17 '21 at 19:02
  • @KyleB, spot on, looks like you've caught on. That's exactly what happens. They get a full description of the PSU design and readers can learn loads and gain valuable understanding by exploring the subject. They have that knowledge ready for when they go into a future project. Then they go and buy the off-the-shelf PSU for this. I learned mountains that way from a young age and have been ready for real design projects. Learning and understanding through examples is considered a very valuable thing. – TonyM Aug 17 '21 at 19:19
  • @BenZotto If you're willing to mail this chip to me, I might be able to read it and send you the HEX file. We keep one of these readers on a very old Windows machine specifically for this purpose. Lemme check the supported IC list and see if the 1702A is on there..... – Kyle B Aug 18 '21 at 16:30
  • @KyleB I greatly appreciate the offer, but I've had some apparent success when loading with the Arduino, and anyway I would honestly be amazed if you had a reader that could dump a 1702A-- people are out there needing to build complex home-brew programmers for these things it seems. Anyway thank you! – BZo Aug 26 '21 at 17:14

3 Answers3

7

There are two items in the datasheet that could help here:

This seems like it's just a bunch of valid zero data values and I haven't found any nonzero ones yet?

The datasheet claims that zero is the default non-programmed state, so this doesn't seem unlikely.

The chips are probably fine but I've got something misconfigured or misunderstood somewhere

The output low voltage is given as -3 volts, at a load of 1.6 mA. This indicates to me that a completely unloaded output would possibly read even lower.

There is a graph called "Output Sink Current vs. Output Voltage" which shows this relationship.

pipe
  • 13,748
  • 5
  • 42
  • 72
  • It does appear that when loaded with the Arduino at the output pins, the output voltage is still negative but closer to zero, which seems to be by design. Thanks! – BZo Aug 26 '21 at 17:15
5

For read, Vbb (you didn't mention that one) and Vcc need to be +5V.

Vdd and Vgg need to be -9V.

The output voltage should be about +Vcc = 5V for high and Vgg + 0.64*(+Vdd- Vgg)= -0.4V for low, in your case.

This very old chip is rather unusual by modern standards in that it lacks a GND pin entirely.

Spehro Pefhany
  • 376,485
  • 21
  • 320
  • 842
  • 1
    Thanks. Yes, I was unintentionally conflating the pin names with the voltage names required for the read operation-- good point. But yep, I have the Vbb pin at +5V too. Based on your math (where do you get the 0.64 from?) the signals I'm seeing are way out of range implying something's wrong with the chips or my circuit. – BZo Aug 17 '21 at 19:05
  • 1
    The 0.64 is the way the chip synthesizes something like 0V according to [this](http://www.tronola.com/html/1702a_prom_programmer.html) web page from someone who made a 1702A programmer. – Spehro Pefhany Aug 17 '21 at 19:07
  • 6
    The 1702 is a PMOS device. As such, Vcc actually is its internal "ground", and all other voltages are specified relative to that. – Dave Tweed Aug 17 '21 at 21:05
2

From the Output Sink Current vs. Output Voltage plot it requires 3 to 4 mA sink current with a pullup to 5V of 1k2 to generate a TTL like Vol. if using Vgg=-9V

a valid Read Vol was -1.0 to +0.65V on my link.

But Intel had a far different algorithm of pulsing it very oddly.

http://www.tronola.com/Programming_the_1702A_EPROM.pdf

Looks like you got a blank chip. No old secrets ;)

Good Ruck. -48V 200 mA repeated 32 times. A blank chip is all 0’s. 20% duty cycle max on programming.

These were 1st generation PMOS PROMs and not very reliable. Data I/O were changing programming versions frequently, which was a large annual fee.

Tony Stewart EE75
  • 1
  • 3
  • 54
  • 182