512 kb EEprom adress table

Hi

I have searched near and far but no luck

all examples only show the adress when all 3 pin used to select address are tied to GND

are there such a table? ie a table that list all possible address options

i'm going to use it with a DUE

Did you open the datasheet? And did you read "Device Address-ing section" as they tell you? And after that looked at figure 7?

---Did you open the datasheet?

Yes, was the first thing i did

---And did you read "Device Address-ing section" as they tell you?

Yes

---And after that looked at figure 7?

Yes

It's ok to call me stupid because i did not understand or was able to make an address table from that

the only thing i can kind of figure is that there must be 8 addresses

222=8

but then again i could be wrong on that

Alright, just checking. Most people who post a question like that (aka, without taking the time to actually tell what they did) didn't do a thing :wink:

But figure 7 shows 0b10100A1A0R/W, do you see any similarities between that and the default address in sketches with A1 = 0/GND and A0 = 0/GND (0x50 aka 0b1010000)? :wink:

Uhm, 8?

The 512K uses the two device address bits A1, A0 to allow as many as four devices on the same bus.

2 (A1) x 2 (A0) = 4 :wink:

what about A2 ?

Which A2? The AT24C512 has non...

0b1010000

hmm, i'm only guessing that the 2nd and 3rd last is the ones to look at

0b1010000 0x50
0b1010010
0b1010100
0b1010110

but how i turn that on to eg. 0x50, that is still an big mystery to me

this assumes i guessed correct above

https://www.mouser.dk/datasheet/2/389/m24512-r-954989.pdf

table for figure 1.... says E0-E2

but here: http://ww1.microchip.com/downloads/en/DeviceDoc/doc1116.pdf

you are right... same pin says NC

maybe my fault and i should have included what eeprom is was i itend to use :frowning:

title on first post changed so new people at least know it not the at24c512

found where i got the 24c512 from, the kicad schematic i'm doing, since the pinout is the same i just picked the 24c512 and never came to change the value to what i use

boelle:
title on first post changed so new people at least know it not the at24c512

No you did not.... Now you don't specify at all what you're using...

If it's the M24512

First, do a little reading about hex and binary. But Google can help you as well :wink: Both ways.

Now a little I2C basics, I2c has a 7-bit address. The LSB of the 8-bit used by I2C indicates Read or write but is just chopped off if we talk about address.

Now apparently the M24512 is also different as it uses two address "Device select code when addressing the memory array" and "Device select code when accessing the Identification page" which are 0b1010E2E1E0 and 0b1011E2E1E0 respectively. With (as from the datasheet) "E0, E1 and E2 are compared with the value read on input pins E0, E1 and E2". Aka, if all three are low you have 0b1010000 aka 0x50 and 0b1011000 aka 0x58. Now you should be able to figure out what all addresses are :slight_smile:

thanks for that, an 40 year old with learning dificulties just might start to get it

0b1010000 0x50 E2=0 E1=0 E0=0
0b1010010 0x52 E2=0 E1=0 E0=1
0b1010100 0x54 E2=0 E1=1 E0=0
0b1011000 0x58 E2=1 E1=0 E0=0
0b1010110 0x56 E2=0 E1=1 E0=1
0b1011110 0x5E E2=1 E1=1 E0=1
0b1011100 0x5C E2=1 E1=1 E0=0
0b1011010 0x5A E2=1 E1=0 E0=1

did i get it right this time?

i'm doing a shield for a 3d printer and it uses the due, i want to make a small table in the schematic so others can pick another address if they need to

No, not really... It's wayyy simpler :wink:

0b1010E2E1E0


<br>0b1010000<br>



<br>0b1010001<br>



<br>0b1010010<br>



<br>0b1010011<br>



<br>0b1010100<br>



<br>0b1010101<br>



<br>0b1010110<br>



<br>0b1010111<br>

And 0x58 to 0x5F for the "Device select code when accessing the Identification page".

dang it.... but then again the old saying that the simple fix is mostly the right one :smiley:

thanks anyway

The normal part is the 24LC512 (3 address pins), not the 24C512 (2 address pins) which is obsolete.