Shop OBEX P1 Docs P2 Docs Learn Events
Large EPROMs — Parallax Forums

Large EPROMs

richaj45richaj45 Posts: 179
edited 2014-09-27 04:03 in Propeller 1
Hello:

Has anyone used a 1 meg bit EEPROM to replace the 32k byte boot EPROM?
If so which part number?

Thanks
rich

Comments

  • LeonLeon Posts: 7,620
    edited 2014-09-26 09:59
    It's not an EPROM!
  • richaj45richaj45 Posts: 179
    edited 2014-09-26 10:08
    @Leon
    Well thanks for correcting me.
    Now do you know if there is a compatible one that is 1024k bytes in size?

    cheers,
    rich
  • Bill HenningBill Henning Posts: 6,445
    edited 2014-09-26 10:10
    I've been using 512Mbit 24LC512's on my products, latest is http://www.mikronauts.com/raspberry-pi/robopi/

    The 1Mbit 24LC1025 *SHOULD* work, and I bought some to test... now I just need time to test them :)

    http://ww1.microchip.com/downloads/en/DeviceDoc/20001941L.pdf

    It appears like two 512Mbit devices. Normally, there are 8 EEPROM address select lines on the chips up to 512Mbit in size, A2-A1-A0

    The 24LC1025 only has A1 and A0 externally, what is normally "A2" becomes "B0" and selects between the upper and lower 512Mbits of the chip.

    Summary: it should work.
    richaj45 wrote: »
    Hello:

    Has anyone used a 1 meg bit EEPROM to replace the 32k byte boot EPROM?
    If so which part number?

    Thanks
    rich
  • richaj45richaj45 Posts: 179
    edited 2014-09-26 10:13
    @Bill

    Thanks for the info.
    Just what i wanted, a little help.

    cheers,
    rich
  • Tracy AllenTracy Allen Posts: 6,664
    edited 2014-09-26 10:56
    Be careful. There is less standardization with the 1M parts, both in terms of where the address pins are arranged on the chip and the way that the extended address is handled within the control byte.

    For example, the 24LC1025 has pins 1 to 3 configured as a0 to a2. The a0 and a1 are configurable as chip selects, but a2 is non-configurable and has to be tied high. The control byte is arranged like this, %1010baaw
    where b is bit 17 of the address within the chip (two 64kbyte blocks) and aa are the a1 and a0 device select bits.

    The 24LC1026 or AT24CM01 have pins 1 to 3 configured as nc, a1 and a2, The a1 and a2 are chip selects. The control byte is, %1010aabw
    where b selects the internal block of 64kbytes, and aa are the a2 ans a1 device select bits.

    Bottom line, not interchangeable.
  • r.daneelr.daneel Posts: 96
    edited 2014-09-26 19:10
    I've been using Atmel's AT24C1024B 1M EEPROMs successfully. They come in two voltages: 1.8v and 2.5v. I've only got the 2.5v version and they work fine - I've never been able to source the 1.8v version. I think they've been replaced by a different part number now.
  • Mike GreenMike Green Posts: 23,101
    edited 2014-09-26 19:47
    Do keep in mind that the part number indicates the number of bits, not the number of bytes. An AT24C1024B stores 1024K (1M) bits or 128K bytes as two 64K byte sections addressed using the device select code.
  • jonesjones Posts: 281
    edited 2014-09-26 20:27
    r.daneel wrote: »
    I've been using Atmel's AT24C1024B 1M EEPROMs successfully. They come in two voltages: 1.8v and 2.5v. I've only got the 2.5v version and they work fine - I've never been able to source the 1.8v version. I think they've been replaced by a different part number now.
    I've used the 1.8V (1.8 - 3.6V) version AT24C1024B-TH-B and it works OK too.
  • r.daneelr.daneel Posts: 96
    edited 2014-09-26 21:44
    Mike Green wrote: »
    Do keep in mind that the part number indicates the number of bits, not the number of bytes. An AT24C1024B stores 1024K (1M) bits or 128K bytes as two 64K byte sections addressed using the device select code.

    Yes, that's right 1M bits - that's what the OP asked about I thought. The AT24C1024B is addressable as 128k bytes on pages of 256 bytes. One of the bits in the device address is a page address bit - 17 bits are required to address the 128k bytes. Is that what you mean by the device select code?
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2014-09-26 22:50
    richaj45 wrote: »
    Hello:

    Has anyone used a 1 meg bit EEPROM to replace the 32k byte boot EPROM?
    If so which part number?

    Thanks
    rich

    Yes, but the part numbers are also written as 24M01 for instance, which is one type I use that has 256 byte page size with some and 1MHz I2C operation and around $1.40. Since the memory address sent to the device (after it has been selected using the device address) is set at 16-bits that means you can only access 64K per logical device. However the 1Mbit devices (128Kbytes) are accessed as two logical devices in the same chip so therefore pin 1 which is normally A0 device address modifier is not used. Your I2C software must break up the 17-bit address into a device address, and then the memory address.

    My EEPROM routines in Tachyon refer to this bit of code which selects the correct device depending upon address bits b16 onwards.

    pub @EE ( addr -- flg ) --- use full 32-bit address to select a device and issue the lower 16-bit address to it
        I2CSTOP
        L>W 2* $A0 + DUP eeadr C!                --- calculate the device address with base $A0 (8-bits)        
        I2CSTART I2C!?                           --- send the device address 
        OVER 8 SHR I2C!?                         --- send the 16-bit memory address (msb)
        OR SWAP I2C!? OR                         --- send the lsb and return with a combined ack flag.
        ;
    
  • ozpropdevozpropdev Posts: 2,792
    edited 2014-09-27 04:03
    I've been using 24LC1025 EEPROMS on all my propeller projects for years. :)
    As pointed out above, be aware of the pin difference on A2 and the internal address select bits.
    No problems using these devices at all :)
Sign In or Register to comment.