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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.