Results 1 to 12 of 12

Thread: 24C164 - safe to read / program as 24C16?

  1. #1
    Senior Member

    Join Date
    Jan 2008
    Location
    A rock in the ocean
    Posts
    730
    Thanks
    95
    Thanked 128 Times in 76 Posts
    Rep Power
    268
    Reputation
    3216

    Default 24C164 - safe to read / program as 24C16?

    I'm repairing a device that is showing an error pointing to corrupt data or checksum in EEPROM memory. The EEPROM is a 24C164, and I'm having trouble finding support for this exact device in the multitude of programmers I have on hand.
    The 24C164 appears to be very similar to a regular 24C16, except pins 1-3 are address pins A0-A2 so the device can share a common address bus with other such devices.

    Atmel's datasheet says this regarding the 24C164: "The AT24C164 can be made compatible with the AT24C16 by tying A2, A1 and A0 to VSS."

    And so to the question: could the contents of the 24C164 be safely read out, by using a 24C16 profile in my programmer, so long as A0-A2 are grounded (which by default my programmer does for the 24C16)
    What about writing the 24C164 as if it were a 24C16 without the address being set? Has anyone crossed these bridges before?



Look Here ->
  • #2
    Senior Member
    Johnno's Avatar
    Join Date
    Jan 2008
    Location
    The Dark Side of the Moon
    Posts
    1,132
    Thanks
    1,435
    Thanked 2,067 Times in 535 Posts
    Rep Power
    1044
    Reputation
    41351

    Default

    Try EE-Prog - Supports all 24c EEPROM (24c01 - 24c1024) It's free.. it's best to set the correct profile for the 64-Kbit serial I2C bus EEPROM.

  • #3
    Senior Member

    Join Date
    Jan 2008
    Location
    A rock in the ocean
    Posts
    730
    Thanks
    95
    Thanked 128 Times in 76 Posts
    Rep Power
    268
    Reputation
    3216

    Default

    Quote Originally Posted by Johnno View Post
    Try EE-Prog - Supports all 24c EEPROM
    Not sure if I have the same EE-Prog you're referring to, but the one by Amir Khorsandi does not support 24C164.

  • #4
    Senior Member

    Join Date
    Jan 2008
    Location
    A rock in the ocean
    Posts
    730
    Thanks
    95
    Thanked 128 Times in 76 Posts
    Rep Power
    268
    Reputation
    3216

    Default

    OK, this is interesting. A0-A2 are permanently tied high to Vcc on the circuit, so they're not trying to use the addressability of the IC in any way. Perhaps the manufacturer has intentionally chosen an obtuse EEPROM type to prevent the very sort of thing I'm trying to do?

  • #5
    Premium Member
    wotnot's Avatar
    Join Date
    Nov 2019
    Location
    Scenic Rim, SE Qld
    Posts
    2,525
    Thanks
    1,213
    Thanked 2,280 Times in 1,197 Posts
    Rep Power
    1032
    Reputation
    45610

    Default

    I think he's referring to this -->>

    ...and not this of the same name -->

  • #6
    Senior Member

    Join Date
    Jan 2008
    Location
    A rock in the ocean
    Posts
    730
    Thanks
    95
    Thanked 128 Times in 76 Posts
    Rep Power
    268
    Reputation
    3216

    Default

    Unfortunately neither of those packages support the 24C164. Proving to be quite elusive!

  • #7
    Premium Member
    wotnot's Avatar
    Join Date
    Nov 2019
    Location
    Scenic Rim, SE Qld
    Posts
    2,525
    Thanks
    1,213
    Thanked 2,280 Times in 1,197 Posts
    Rep Power
    1032
    Reputation
    45610

    Default

    Silly question...but if the existing eeprom has a checksum/corruption issue, how do you plan to validate the dump from the rom?

    Also...

  • #8
    Senior Member

    Join Date
    Jan 2008
    Location
    A rock in the ocean
    Posts
    730
    Thanks
    95
    Thanked 128 Times in 76 Posts
    Rep Power
    268
    Reputation
    3216

    Default

    Quote Originally Posted by wotnot View Post
    Silly question...but if the existing eeprom has a checksum/corruption issue, how do you plan to validate the dump from the rom?
    Another user of the same device I'm in contact with on another forum (which is more of a consumer electronics forum) says he's fixed the same error code, and that the contents of the EEPROM are easy to work out, and so is the checksum. He's too busy to offer more than that at this stage.
    But if I get really stuck, I can suck out & reverse engineer the EEPROM contents of another two identical & working devices I have

    May have solved the ability to safely read & write to this esoteric EEPROM: and old & discontinued device SEEprog programmer supports the 24C164. It's successor needs nearly a grand of cash to purchase. But AliExpress has clones of the original SEEprog hardware for a shade under $25 delivered to my door. Legacy software still available at the OEM's website too, which is nice.

  • #9
    Premium Member
    wotnot's Avatar
    Join Date
    Nov 2019
    Location
    Scenic Rim, SE Qld
    Posts
    2,525
    Thanks
    1,213
    Thanked 2,280 Times in 1,197 Posts
    Rep Power
    1032
    Reputation
    45610

    Default

    All good -- you know I had to ask =)

    "The AT24C164 can be made compatible with the AT24C16 by tying A2, A1 and A0 to VSS."
    I think this is where the programming software has to account for the different chips going by what I've read --- have a read of the 'device addressing' section of both chip's datasheets ; 24c164 handles this differently wrt 24c16 ; elsewise they appear the same.


    silly question 2 : why consider this when you can still buy AT24C164 ?
    Last edited by wotnot; 12-07-22 at 02:12 PM.

  • #10
    Senior Member

    Join Date
    Jan 2008
    Location
    A rock in the ocean
    Posts
    730
    Thanks
    95
    Thanked 128 Times in 76 Posts
    Rep Power
    268
    Reputation
    3216

    Default

    Quote Originally Posted by wotnot View Post
    silly question 2 : why consider this when you can still buy AT24C164 ?
    It was due to lack of support in all my other programmers for the 164 specifically, but did have support for the 16. Was hoping I could pop the 164 in and at least read it using 24C16 settings in the programmer software, if A0-A2 were hard set to low. But that doesn't appear to be the case, the 16 doesn't need soft addressing sent as part of the read/write protocols, but the 164 does require it. Anyhow, that no-support issue will be fixed in a few weeks time when the clone SEEprog and a PCIe LPT port card arrive.

    I'll probably order a few spare 24C164s anyway, just to make sure I have some on hand in case of any failures - hardware or PEBCAK user error failures!

  • #11
    Premium Member
    wotnot's Avatar
    Join Date
    Nov 2019
    Location
    Scenic Rim, SE Qld
    Posts
    2,525
    Thanks
    1,213
    Thanked 2,280 Times in 1,197 Posts
    Rep Power
    1032
    Reputation
    45610

    Default

    Ahh...I'm with you now....I suppose the only thing to be mindful of is that the 24c164 comes in different voltage flavours, else should be straightforward ; at least they're cheap enough for a PICNIC or two =)

    This is all from the same hissy-fit Philips have had with various and sundry OEMs using 'their' patented, proprietary I2C comms protocol ...versus the TWI (two wire interface that can aka three wire interface 8) BS that's been going on for yonks...in a way, you can view the 24c164 as being a 'true' TWI device just because it lacks the 3 device address pins (A0/1/2 in I2C speak, CS0/1/2 in TWI parlance), even though it still uses the I2C protocol/timings to get the job done....the 'soft addressing' as you say, is a super-set of I2C as it were...

  • #12
    Senior Member

    Join Date
    Jan 2008
    Location
    A rock in the ocean
    Posts
    730
    Thanks
    95
    Thanked 128 Times in 76 Posts
    Rep Power
    268
    Reputation
    3216

    Default

    Found out that the common & cheap USB CH341A EEPROM programmer will work, quite by accident, definitely not by design, with the 24C164 EEPROMs if Atmel AT24C16 profile is manually selected in the programming software. I used v1.13 software with my CH341A programmer to do this, and verified with a SEEprog that properly supports the 24C164 to verify that it wrote to the chip OK. The CH341A also reads from the 24C164 OK in the same way too.
    I also tried the EZIPROG 2019+ and Willem 5.0e programmers, no joy there.

  • Bookmarks

    Posting Permissions

    • You may not post new threads
    • You may not post replies
    • You may not post attachments
    • You may not edit your posts
    •