W27C512 programmer - Page 1
Forum section: electronics / beginners

author: bitman
author_rank: Unknown
timestamp: May 11, 2017, 07:10:40 pm
content: Hello - I'm posting in beginners because that's what I am and since I found a few other posts here around the same type of topic, I figured it was the better option than bugging those who know better than I.I got a few W27C512 very cheap and figured I would give it a whirl to limit the number of chips needed for some of my plans. Reading the datasheet (https://media.digikey.com/pdf/Data%20Sheets/Winbond%20PDFs/W27C512.pdf) gave me more gray hair than it should though. I had not realized I needed different voltages to overwrite data. So my first step is to create a reader and then add a writer component to it. I don't think spending $300+ to do that is worth it, and I think this will be plenty of a challenge to help me grow a bit more into this. But I have a few questions.I have an arduino mini lined up and ready to do this.1) How do I protect the 5v circuits connected to A9/OE when I apply 12 or 14 volts? Not sure how to design a "buffer" around this.2) I plan on using two simple 74HC595's for addresses since well the arduino doesn't have enough data lines to do both data and addresses. I don't see anything preventing this from happening. Most of the time limits are minimum, and the max limits seems to all be around erasing which isn't using addressing.3) Typical newbie question: Is it best to step up voltage or step down? Should I look for a 14 volt supply voltage and step everything down, or step up from 5v? I think stepping up is best as that's the typical operation voltage. Only during erase/write is higher voltages needed.4) I'm totally lost on section 10 AC Characteristics. What is this telling me? What's the diagram supposed to do - is that what's in the chip, or something that's expected to be in the circuit using the chip?

author: james_s
author_rank: Super Contributor
timestamp: May 11, 2017, 07:26:55 pm
content: Would something like a TL866 do it? I don't have mine handy at the moment so I can't check but it handles most of the devices I've tried it on. Cost me less than 40 bucks.

author: bitman
author_rank: Unknown
timestamp: May 11, 2017, 07:40:36 pm
content: Quote from: james_s on May 11, 2017, 07:26:55 pmHmmm - that seems to be software control only - and Windows only too, so that's a no go out of the door, even if the chip was supported. It's a dirt old chip so I would recon basic old stuff would support it. However, I would lose out on a learning opportunity

author: edavid
author_rank: Super Contributor
timestamp: May 11, 2017, 08:09:55 pm
content: Quote from: bitman on May 11, 2017, 07:10:40 pmYou would really be better off forgetting the W27C512s and buying some 5V flash chips instead, e.g. 29F001.Or if you really want to use the W27C512s, find a friend with a programmer.Quote74LS07 or CD4504, or discrete equivalent(but you don't care about A9 since you don't need to read the ID)QuoteEither way is fine.QuoteThey show the test conditions you need to reproduce the values in e.g. section 12.

author: james_s
author_rank: Super Contributor
timestamp: May 11, 2017, 08:16:11 pm
content: I don't see Windows only being all that much of a problem. My last device programmer required a real parallel port, I just kept an ancient laptop with Win98 on it around just for using that programmer. Eventually switched to a slightly newer but still ancient XP laptop. You don't have to use your primary PC.

author: David Hess
author_rank: Super Contributor
timestamp: May 11, 2017, 10:11:08 pm
content: Besides using an open collector driver or a discrete solution, some TTL logic families have gates with a diode in series with the emitter of the upper transistor which allows the output to be pulled above the positive supply assuming that the gate output is not low.The 7400, 74L00, 7402, 7404, and 74L04 are examples of gates like this however it is not guaranteed that they will work this way in their specifications so they need to be qualified by the user.

author: bson
author_rank: Unknown
timestamp: May 12, 2017, 12:22:37 am
content: The TL866 programs W27C512's just fine. I used those EEPROMs and a TL866 to upgrade the firmware in my Keithley 2001.

author: bitman
author_rank: Unknown
timestamp: May 12, 2017, 12:34:50 am
content: Quote from: edavid on May 11, 2017, 08:09:55 pmHmmm - since I already got these I'm going to give it a whirl.QuoteI have a PIC programmer but it only has 10 pins or so. Clearly it's meant for serial communication and not this.QuoteHmmm - seems like a 74640 or similar would be better, since they're bi-directional? One more chip to control. Definitely running out of digital pins on my NanoThanks for your reply.

author: karoru
author_rank: Regular Contributor
timestamp: May 12, 2017, 12:39:53 am
content: Quote from: james_s on May 11, 2017, 08:16:11 pmUnless I'm getting paid for it I'm not going to keep computing museum at hand, despite the fact I started at DOS era. I've been hearing that "you don't have to use your primary PC" about 15 years ago when ugly "system("@ECHO sth > lpt1");" hack applications started to become a problem. Windows NT is a thing since nearly 20 years. Accessing ports via x86 Assembly was terrible even in Windows 95 era. Visual Basic 6 apps that use DOS commands to write to printer port instead of some sensible API were a poor hack even in Windows 95 era. These applications for device programmers were terrible even when they were "modern". If we assume that desktop software written by EE's is 10 years behind general-purpose software, then we should be using Windows 7. Probably on 64bit machine;)

author: edavid
author_rank: Super Contributor
timestamp: May 12, 2017, 01:02:28 am
content: Quote from: bitman on May 12, 2017, 12:34:50 amYou don't need a bidirectional buffer for the unidirectional OE line, and the 74640 doesn't help you since it's not HV tolerant.

author: james_s
author_rank: Super Contributor
timestamp: May 12, 2017, 02:56:41 am
content: Well I do use Win7x64 now, that's what I use for my TL866. I've still got plenty of old PCs around because old computers are another of my hobbies but that's beside the point. Win7 is the last viable version of Windows IMO. It's really quite good.

author: daybyter
author_rank: Frequent Contributor
timestamp: May 12, 2017, 03:08:37 am
content: I am working on a similar project at the moment. Arduino programmer for old eproms. I use a cheap nano clone, so I get data and power via the USB connection. I use 2 74hc595 for the address, although some 16 bit counter might be faster. I use a 5v => 35v step up to create the 25v programming voltage, that I need.

author: CJay
author_rank: Super Contributor
timestamp: May 12, 2017, 10:27:08 am
content: Given that programming times are in the mS per address the 74HC595 should be more than fast enough.I built a reader with an arduino, a TTL buffer and a binary counter a few weeks ago to examine some old EPROMs (simpler than digging out the PC based programmer I have), I don't think it'd take much to turn it into a programmer, as a base for controlling the high voltages there are chunks of circuitry you could lift from the Willem (I *think* it's still open hardware?) which was IIRC derived from earlier work on PIC programmers, the David Tait one being one of the very first hobbyist ones?

author: daybyter
author_rank: Frequent Contributor
timestamp: May 12, 2017, 11:06:58 am
content: I used 4 normal transistors bc547 and 1 bc337, that I had here. No mosfets in my box... :-(But it took me a couple of days and some help from the owner of ltspiceusers.ch to get to those 2us risetime.I'm more of a software guy and electronics was more digital to me until this project.

author: bitman
author_rank: Unknown
timestamp: May 12, 2017, 12:51:55 pm
content: Quote from: daybyter on May 12, 2017, 11:06:58 amHah! That is probably the problem I have run into right now. Unless I do a frequency on OE I cannot get even a read to work.