mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Eprom Auslesen mit AVR


Autor: Thomas Leitner (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> #WE - low (active high)

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

Autor: Thomas Leitner (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Im Datenblatt steht das aber so.

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

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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 /.

Autor: Thomas Leitner (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Thomas Leitner (Gast)
Datum:

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

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Thomas Leitner (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.