SPI eeprom, fout in datasheet?

Hallo allen,

Voor een applicatie heb ik een SPI eeprom nodig. Omdat ik redelijk veel informatie op moet slaan, heb ik besloten om voor een 25c256 te gaan. Vandaag hem ik hem werkende gekregen, gelukkig geen problemen :). Het gekke is nu dat ik zojuist de datasheet nogmaals zat te lezen, en dit tegenkwam:

Byte Write
Once the device is in a Write Enable state, the user may
proceed with a write sequence by setting the CS low,
issuing a write instruction via the SI line, followed by the
16-bit address (the three Most Significant Bits are don't
care for 25C256
and four most significant bits are don't
care for 25C128), and then the data to be written.

Het gaat dus om het dik gedrukte stuk. Hieruit maak ik op dat een 16-3=13 bits addres is. Het gekke is dat je dan niet op 32KB uit komt, maar slecht op 8KB!

Omdat de interface toch al mooi werkt, heb eens een test gedaan
Mijn beredenatie:

code:


address 2^15 -1 = 32767  = 111111111111111 = 0x7FFF
address 2^13 -1 = 8191   = 001111111111111 = 0x1FFF

Omdat de laatse volgens de datasheet don't care bits zijn, zou de data die ik naar addres 0x7FFF zou sturen eigenlijk op address 0x1FFF komen te staan, als de datsheet zou kloppen.
Vervolgens heb ik dus 0xAA naar addres 0x7FFF gestuurd, en zowel address 0x7FFF als addres 0x1FFF uitgelezen. Op addres 0x7FFF stond wel 0xAA, maar op 0x1FFF niet. Klopt het dat dit gewoon een fout(je?) in de datsheet is, of klopt er ergens in mijn beredenatie niet?

Benieuwd wie hier wat meer over kan zeggen :)
Wouter

Het lijkt erop, dat iemand de datasheet iets te haastig heeft vertaald vanuit de 25C32/64 situatie. Kijk maar eens onder Pin description/Serial input. Dat spreekt ook van 25C32/64 en dit hoort hier duidelijk niet thuis. (CATALYST datasheet pag 5)
Slordig...

Op 31 juli 2005 18:35:58 schreef oorpijn:
Het lijkt erop, dat iemand de datasheet iets te haastig heeft vertaald vanuit de 25C32/64 situatie. Kijk maar eens onder Pin description/Serial input. Dat spreekt ook van 25C32/64 en dit hoort hier duidelijk niet thuis. (CATALYST datasheet pag 5)
Slordig...

Je hebt gelijk, die had ik niet eens gezien... Bij het stukje wat in mijn startpost staat hebben ze waarschijnlijk dan wel 25cxx aangepast, maar niet de lengte van het adres, klopt voor een c32 en c64 wel. Wilde het voor de zekerheid even weten, bedankt voor het antwoord :)