william@ucl-cs.UUCP (12/13/88)
From: Bill Witts <william@uk.ac.ucl.cs> I am designing an EPROM programmer. It should deal with 27C64/128/256, and any other devices that are easily accommodated. I have figured out the following algorithm, based on knowledge and intuition in roughly equal portions: 1. Apply Address,Data, /OE = /CS = 5v, Vpp = 0v, Vcc = 5v, (/PGM = 0v) 2. Apply Vpp = 12.5 and wait 1ms 3. Apply Vpp = 0v, remove Data, and set /OE=/CS=0v. 4. If Data is not correct, then go to 2 until fed up - error! 5. If data OK, then goto 1 until ROM is finished. Questions: a) Do you need to select the chip before it will program? Eg. Should /CS=0v in step 1? Are there any glaring errors in the alg? b) I have always strapped Vpp to 5v in the past during normal operation due to ancient advice. Is this necessary, or will a ROM work normally with Vpp = 0v? c) Other EPROM programmers seem to protect themselves against ROMs being put in upsidedown, and to detect bad ROMS. How do you detect the former, and can the latter be detected before putting Vpp = 12.5v? I hate the idea of all the sensitive electronics being fried! I plan to put a crowbar diode protection on all the signal lines on the ROM to prevent overvoltage >5.6V - is this necessary/sufficient? d) I also have 21v available. Would this algorithm work OK on ROMs accepting this voltage, in general? e) What is the maximum operating current drawn by the Vpp pin during programming? I have a few ideas on these points, but info seems scarce hereabouts, and nobody I know seems to really know anything about the details. If I had a ROM programmer to hand I would like to experiment, but I haven't - that's why I am building one! Many thanks in advance, e-mail replies, I will summarize if this seems to catch the public imagination! ... Bill ************************************************************************ Bill Witts, CS Dept. * Nel Mezzo del cammin di nostra vita UCL, London, Errrp * mi ritrovai per una selva oscura william@cs.ucl.ac.uk * che la diritta via era smarrita. ************************************************************************