EEPROM: 256-byte pages? 128 bytes?
Dreamwriter
Posts: 22
Hey,
I been having a heck of time programming the darned EEPROM within SPIN. I FINALLY got it all working (hooray!), but one last mystery: the Atmel 24c1024 documentation says pages are 256 bytes large (which would make sense, 2 banks of 256 pages, 256 bytes each page). But it seems that if I write more than 128 bytes to a page, it wraps and starts overwriting the beginning again, as if they were only 128 bytes each. Any ideas?
Here's what the docs say:
AT24C1024, 1024K SERIAL EEPROM: The 1024K is internally organized as 512 pages of
256 bytes each. Random word addressing requires a 17-bit data word address.
Thanks,
- Josh
I been having a heck of time programming the darned EEPROM within SPIN. I FINALLY got it all working (hooray!), but one last mystery: the Atmel 24c1024 documentation says pages are 256 bytes large (which would make sense, 2 banks of 256 pages, 256 bytes each page). But it seems that if I write more than 128 bytes to a page, it wraps and starts overwriting the beginning again, as if they were only 128 bytes each. Any ideas?
Here's what the docs say:
AT24C1024, 1024K SERIAL EEPROM: The 1024K is internally organized as 512 pages of
256 bytes each. Random word addressing requires a 17-bit data word address.
Thanks,
- Josh
Comments
it's like you say. p0 is the most significant bit of the 17-bit address. When doing a sequential read the AT24C1024 will only increment the lowest 8-bit of the 17 bit address, and will wrap around at 256 Byte intervals.
Can you access the "missing" bytes using random access?
Are you sure you are really using an AT24C1024, because the behaviour you are describing exactly fits an AT24C512 !
Mahjongg
Andre'
Andre'