Eprom Auslesen mit AVR

Gast #1357555
Lesenswert?

Hallo

Ich versuche gerade einen EProm Winbond W49F002 mit einem AVR 
auszulesen.
Die Konfiguration des Eprom ist folgende:

#CE - low (activ low)
#OE - low (active low)
#WE - low (active high)
#Reset - high

Die Adress Pins sind am AVR an 2 Ports angeschlossen (die 2 höchsten A16 
und A17 auf Masse). Die 2 Ports werden durch das Programm hochgezählt; 
an den Datenausgängen des Eprom tut sich allerdings nichts. Die Ausgänge 
bleiben immer auf low. Wenn ich die PullUps beim AVR aktiviere, werden 
die Ausgänge des Eproms auf high gehalten, was darauf schließen lässt, 
dass die Ausgänge im High Impedance Status sind bzw. der Eprom nicht 
arbeitet. Hat jemand vielleicht einen Tipp?

Gruß
Thomas
Persönliche Seite #1357606
Lesenswert?

> Im Datenblatt steht das aber so...

Das tut es unter Garantie nicht.

> und außerdem wird darauf hingewiesen, dass ein high auf WE
> kürzer als x noch keinen Schreibvorgang startet...

Da liegt ein Interpretationsproblem Deinerseits vor.
Das steht im Datenblatt:

> Noise pulses of less than 10 nS (typical) on #OE, #OE, or
> #WE will not initiate a write cycle.


Die Notation mit dem vorangestellten Doppelkreuz bedeutet, daß es sich 
um ein Active-Low-Signal handelt. Alternative Schreibweisen verwenden 
einen vorangestellten /.
Gast #1357610
Lesenswert?

Danke Michael, hast den Tag gerettet. WE auf high gesetzt und jetzt 
spuckt er haufenweise Daten...
Allerdings wundert mich das nun, wenn davor der Write Status aktiviert 
war, müsste doch nun der ganze Eprom ff oder 00 sein oder?

Gruß
Thomas
Angehängte Dateien:
Persönliche Seite #1357619
Lesenswert?

Das ist kein EPROM, sondern ein Flash-ROM. Und das Beschreiben ist etwas 
aufwendiger als nur /WE zu aktivieren:

> Device erase and program are accomplished via the command
> register. The content of the register serves as inputs to
> the internal state machine. The state machine outputs
> dictate the function of the device.
> The command register itself does not occupy any addressable
> memory location. The register is a latch used to store the
> commands, along with the address and data information needed
> to execute the command. The command register is written to
> bring #WE to logic low state when #CE is at logic low state
> and #OE is at logic high state. Addresses are latched on the
> falling edge of #WE or #CE, whichever happens later; while
> data is latched on the rising edge of #WE or #CE, whichever
> happens first.

Die restliche Prozedur ist ebenfalls im Datenblatt beschrieben.

Hast Du da überhaupt reingesehen?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren