Forum: Mikrocontroller und Digitale Elektronik Eprom Auslesen mit AVR


von Thomas Leitner (Gast)


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

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

> #WE - low (active high)

Das geht schief. /WE ist wie die beiden anderen Signale auch ein 
Active-Low-Signal.

von Thomas Leitner (Gast)


Lesenswert?

Im Datenblatt steht das aber so... und außerdem wird darauf hingewiesen, 
dass ein high auf WE kürzer als x noch keinen Schreibvorgang startet...

von Michael U. (amiga)


Lesenswert?

Hallo,

keine Ahnung, was für ein Datenblatt Du hast, aber /WE ist L-aktiv wie 
üblich bei allen Speichern dieser Art.
ich habe sowas hoer als Seiten-/Fontspeicher einer Grafikdisplaysache am 
Mega8515 am Laufen.

Gruß aus Berlin
Michael

von holger (Gast)


Lesenswert?

>Im Datenblatt steht das aber so.

Im Datenblatt steht das WE Write Enable bedeutet.
Was hat das mit auslesen zu tun? Also high?

von Rufus Τ. F. (rufus) Benutzerseite


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 /.

von Thomas Leitner (Gast)


Angehängte Dateien:

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

von Michael U. (amiga)


Lesenswert?

Hallo,

das ist kein Ram... ;-)

Die Dinger zu Beschreiben ist relaiv aufwändig, schau Dir den 
Kommandokram im Datenblatt an.

Gruß aus Berlin
Michael

von Thomas Leitner (Gast)


Lesenswert?

never mind, vor dem Beschreiben des Eproms müsste man ihn natürlich 
zuerst löschen...

von Rufus Τ. F. (rufus) Benutzerseite


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?

von Thomas Leitner (Gast)


Lesenswert?

@Rufus

habs nun selbst gesehen, keine Ahnung weshalb ich das gedacht hab. Der 
Tag war wohl zu lang heute.

Danke euch nochmal...



Gruß
Thomas

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.