cctalk at randy482.com
Sun Jun 26 21:01:21 CDT 2005
From: "Tony Duell" <ard at p850ug1.demon.co.uk>
Sent: Sunday, June 26, 2005 5:26 PM
>> > Not just that, the programming algorithm is different to most
>> > other EPROMs. IIRC you have to program all locations in sequence,
>> > giving each one a 1ms (IIRC) programming pulse, and repeat that
>> > 50 times.
>> Any bit in any byte can be individually programmed from 1 to 0.
>> There are no sequence requirements, the programming pulse is one
>> pulse of 50ms per location programmed.
> Well, I'll admit that I was working from memory last night, but I've just
> checked the Intel 1977 Data Catalog :
> Under '2708/2704 family programming it says :
> 'The circuit is set up for programming operation by raising the CS/WE
> input (pin 20) to +12V. The word address is selected in the same manner
> as in read mode. Data to be programmed are presented, 8 bits in parallel,
> to the data output lines (O1--O8). Logic Levels for address and data
> lines and the supply voltages are the same as for the read mode. After
> address and data set up, one program pulse per address is applied to the
> program input (pin 18). One pass through all addresses is defined as a
> rpgoram loop. The number of loops (N) requirded is a function of the
> program pulse width (t_PW) addording to N * t_PW >= 100ms.
> The width of the program pulse is from 0.1 to 1 ms. The number of loops
> (N) is from a minimum of 100 (t_PW = 1ms) to greater than 1000 (t_PW =
> 0.1ms). There must be N successive loops through all 1024 addresses. It
> is not pwemitted to apply N program pulses to an address and then chenage
> to the next address to be programmed.
>> > You can't program odd locations like you can in later EPROMs.
>> You can, it's EPROM microcontrollers like the 68705 that need to
>> be programmed in sequence.
> Maybe other manufactures had simpler algorithms for their 2708s, but the
> Intel data book makes it very clear you do have to program all locations.
> (It gives examples where only some locations are to be changed. The
> unchanged ones have to be reprogrammed with their existing contents, you
> can't skip over them.
Intel changed the specifications of the 2708 a couple of times, later docs
state it does not require programming from address 0.
I have changed individual bits (only from a high to low, to go from low to
high the entire chip must be erased).
The later docs still state sequential writing but no longer require starting
at 0 but I have written non sequentially and can swear by that. I wrote a
program that verified before writing to speed up programming, this skipped
many bytes and I used it to modify previously written EPROM's. The buffer
in RAM was sequentially read but the writing was NOT sequential it would
skip bytes when a write was not needed.
Any byte can have high bits changed to low even if they were previously
More information about the cctalk