6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Thu Sep 19, 2024 10:26 pm

All times are UTC




Post new topic Reply to topic  [ 2 posts ] 
Author Message
PostPosted: Fri Feb 04, 2022 8:04 am 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8509
Location: Southern California
We've had quite a few topics on programmers for EPROM and EEPROM, and a few of the posts have touched on flash as well.  I've just re-read through a couple of the topics, one of 10 pages and one of 18 (!).

With computer problems that have potentially several non-optimal solutions I need to choose from, I may be at a point where it makes sense to make my own programmer for EPROMs and maybe flash.  I'd probably only need to do two or three densities, making it simple.  Wow, the EPROMs are getting rare and expensive, like $8 for a 32Kx8 (which is what my workbench computer uses)!  I thought about the fact that EEPROMs are probably easier to program, so I started looking at them on Mouser, and they're even more expensive, and slow!!  But then I found that apparently the "in" thing now is NOR flash, and it's very cheap by comparison—less than 1/4 of the price.  They're still not very fast, still mostly at 70ns and slower, but that's better than the EEPROMs generally are, which are at 100-300ns.  Alliance and Microchip do have 55ns flash ROMs, but not in DIP.

My Needham's programmer which needs an ISA slot in the PC seems to use only two programming algorithms for all the CMOS EPROMs: "Quick Pulse," and "1ms 3x."  I think, but I don't know for sure, that they can all handle the latter, and a few can use the Quick Pulse to go faster, and that all the CMOS ones program at 12.5V, not 21V or 25V.  (The various voltages are not a problem for me, but I'd prefer to keep it simple.)  I have not found what the "Quick Pulse" entails; but about the "1ms 3x," the manual says:

    "...is accomplished by a 1ms cycle and a test to see if data is correct.  During the 1ms pulse, the higher voltage is put into a saturated transistor.  [...]  Depending on the transistor determines how many 1ms pulses are needed to move the transistor halfway [which I take to mean where a readback starts looking right].  [...] Then it applies 3 times the number of 1ms pulses required to move the transistor halfway.  The program repeats this for all memory locations until programming is completed."

I believe the Vcc for that is 6.25V, but I'm not sure.  Again, the voltage is not really a problem for me, as the workbench computer can set the programmer's voltages under software control, like I do for my production-worthy PIC programmer which can verify at Vcc's of anywhere from 2V to 7V.  If anyone has any more details, I'd appreciate hearing them.  I know some manufacturers didn't want to give the programming info unless you were a programmer manufacturer and you give them royalties or something.  When I first started in this stuff in 1985, the only programming method given in the data sheet for my 8Kx8 involved 50ms pulses, which would be prohibitively slow for large EPROMs.

I looked at Jameco's offerings for 32Kx8 70ns EPROM, and they post the data sheet for what they apparently have in stock at the moment (if it's up to date), which is AMD.  The data sheet says it uses their "Flashrite" programming algorithm, so I searched and found that on the web (and I'm attaching it here), and then I saw Jameco's "MFG may vary" notice.  I guess I'll have to call them up during the day and ask them to make sure of the brand, make sure I can make a programmer for it, and the make sure the same brand goes in the box.  (I do have some 32Kx8 EPROMs, but they're probably getting worn out from programming so many times, and I should get more anyway while they're available at all.)  I have probably 250 8Kx8's.

I'm attaching AMD's Flashrite" algorithm here, and I hope others will pitch in with more information on (E)EPROM & flash programming algorithms that may be elusive.  My next workbench computer won't use any EPROM at all; but I and others still have other applications for EPROMs.


Attachments:
AMD_FlashritePgmAlg.pdf [502.77 KiB]
Downloaded 63 times

_________________
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?
Top
 Profile  
Reply with quote  
PostPosted: Tue Feb 22, 2022 7:42 pm 
Offline
User avatar

Joined: Tue Aug 11, 2020 3:45 am
Posts: 311
Location: A magnetic field
I presume that smaller cells hold less electrons and require less time to program. If the details for programming are vague and experimental then everything should mostly work after a process shrink. I suspect that 50ms pulse is a historical requirement, like 16ms DRAM refresh. Don't use a 50ms pulse unless you want to destroy the oxide layer which keeps the electrons trapped.

If your EEPROM programmer is fancy enough to read back data, I'd recommend brief pulses shorter than 1ms and then a final pulse of 2ms or so to add some medium-term stability. This final step would be a case of "Don't force it. Get a bigger hammer."

To maximize write cycles, it may be possible to program bits individually. Due to historical compatibility with UV EPROM, this may require writing seven high bits and one low bit.

_________________
Modules | Processors | Boards | Boxes | Beep, Beep! I'm a sheep!


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 2 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 16 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: