Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
11/14/06 07:24
Modified:
  11/14/06 07:31

Read: times


 
#127933 - EPROMs, EEPROMs, etc.
Responding to: ???'s previous message
Andy Neil said:
Christoph Franck said:
serial EEPROMs ... cannot be used as ... data memory.

Of course they can!

You just can't access them with MOVX

If not relying on an overly strict definition of "data memory", Andy's statement is in fact completely true. Keil's XDATA banking feature can be exploited to provide a relatively nice abstraction that an I2C-attached serial EEPROM is actually ordinary read/write memory from the perspective of a C application. Details may be found here:

http://www.8052.com/forum/read.phtml?id=24473

Of course, no amount of clever abstraction changes the fact that a serial EEPROM is not a suitable substitute for a general purpose data memory: although the serial EEPROM carries the benefit of nonvolatility, the I2C interface of the serial interface will make it slow compared to parallel devices, and the fact that it is an EEPROM fundamentally limits its write performance and maximum write cycle count. An SRAM device, on the other hand, would not be subject to these limitations.

Roberto Muñoz said:
The 24C64 is a IIC eeprom normaly used to store non volatile data. The 27C64 is a 8K x 8bits paralel eprom and it can be connected to a '51 by the data bus, address bus and some control lines. The 27C64 can be used as program memory.

Regards

Roberto Muñoz

Outside of being correct, Roberto alludes to an important subtlety here: EEPROM devices, in most cases, can be conveniently written/rewritten in the target without specialized hardware. EPROM devices, on the other hand, typically require sepcialized hardware to write (e.g., hardware not normally present in an embedded target), and if they can be erased at all, typically require exposure to a UV light source. Despite seemingly similar part numbers, the '24C64 and '27C64 are in fact radically different devices.

Note that the '28C64, an EEPROM version of the '27C64, can readily be von Neumann wired (e.g., mapped into both CODE and XDATA address spaces) to serve as a bootable program device while being simultaneously in-application readable and writable. The main motivations for such a configuration would typically be in-application code updating or persistent parameter storage.

--Sasha Jevtic

List of 14 messages in thread
TopicAuthorDate
simple question about memory            01/01/70 00:00      
   Device types            01/01/70 00:00      
      Be careful            01/01/70 00:00      
         More careful            01/01/70 00:00      
      Not exactly            01/01/70 00:00      
         Exactly!            01/01/70 00:00      
            Really?            01/01/70 00:00      
         EPROMs, EEPROMs, etc.            01/01/70 00:00      
            overly strict definition            01/01/70 00:00      
   Read more carefully            01/01/70 00:00      
      waitaminute!            01/01/70 00:00      
         Bit slipping            01/01/70 00:00      
   all experts            01/01/70 00:00      
      Meaningless title            01/01/70 00:00      

Back to Subject List