Hiii,
>I was just interfacing my ATmega128 uc with FM24C256 EEPROM on i2c
>bus. The datasheet of the eeprom mentions a Page Write mode, where it
>says that the memory is devided into pages of 64byte each, starting at
>addresses 0x0040, 0x0080..and so on.
>the datasheet says that in page write mode we can continuously write
>max of 64bytes and if more byte are sent to the eeprom, they will roll-
>over to the starting address of the page, rather than getting written
>into the next page.
>So, i wrote a code to write n read the eeprom. It works fine.
>now, the doubt is, when i sent more than 64bytes continuously, the
>excess bytes are getting written into the next page rather than
>rolling-over and getting written to the same page beginning, which i
>confirmed by reading the pages one by one.
>well, this doesn't do any harm, but i'm just curious, how come
>datasheet is wrong?? or did i misunderstand something??
>
>Thanx.
There are subtle differences between manufacturers of eeproms, and page-write behaviour can be different. If you have the correct datasheet for the maker of your eeprom, it is also possible the that datasheet has been copy-and-pasted from previous versions and they didn't update it properly. Or they did a die rev.
The wrap-to-start behaviour is rarely useful, so people would be unlikely to notice as it;s unlikely to have been used. However anyone designing around a chip that does cross boundaries 'properly', and then encountering one that same-page-wrapped would quickly see problems. (e.g. when production changes supplier...)