Andreas V. schrieb:
> Hallo zusammen,
>
> ich greife auf ein AT24C256 EEPROM zu und schreibe auch darauf.
> Es funktioniert vom MSP430 und auch von meinem Terminal aus wunderbar.
>
> Im Datenblatt steht:
>
> 5.4 Standby Mode
> The AT24C256C features a low power Standby mode that is enabled when any
> one of the following occurs:
> 1.) A valid power-up sequence is performed (see 4.5.1 Power-up
> Requirements and Reset Behavior).
> 2.) A Stop condition is received by the device unless it initiates an
> internal write cycle (see 7. Write Operations).
> 3.) At the completion of an internal write cycle (see 7. Write
> Operations).
>
> Punkt 2 interpretiere ich so:
> int SetStandby(unsigned char txAdr, unsigned char byteCount, unsigned
> char *field)
> {
>
> TI_USCI_I2C_transmitinit(txAdr, 0x0c); // init I2C/USCI (transmit)
> TI_transmit_field = field;
> byteCtr = byteCount;
> UCB0CTL1 |= UCTR + UCTXSTT; // I2C TX, start condition
>
> UCB0CTL1 |= UCTXSTP; // I2C stop condition
> }
Hmm, start und direkt ein STOP? Ob das so OK ist?
> Das EEPROM zieht dann allerdings immer noch 1330µA. Das sagt mir dass
> das EEPROM immer noch aktiv ist. Laut Datenblatt sollte es im Standby
> Mode 2µA bei 3,6V ziehen.
>
> Was mache ich falsch?
Mißt du auch an der richtigen Stelle? Nicht daß dort noch andere ICs an
deinem VCC Netz dranhängen?
Eigentlich geht der EEPROM nach jeder Transaktion, welche keinen
Schreibvorgang startet, direkt in den Standby Mode, was aber keine Kunst
ist, das Ding ist rein aus CMOS aufgebaut. Man braucht kein explizites
Standby.