mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik externer EEPROM an AVR atmega32


Autor: Franz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich möchte mit einem atmega32 einen externet EEPROM beschreiben/ lesen.
Das ganze soll in Assembler geschehen.

Leider kenne ich mit dem I2C-Bus noch nicht richtig gut aus.

1. Gibt es irgendwo Tutorials, wie man sowas macht?
2. Was für einen EEPROM soll ich verwenden?

Franz

Autor: Peter Diener (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

in den 51er Anwendungsbuch, das eine Zeit lang hier verschenkt wurde, 
steht dazu was drin. Du brauchst dazu ein serielles I2C EEPROM in der 
gewünschten Größe. Im Prinzip läuft der Zugriff etwa so ab:

Startcondition;
writeByte(0b01010010);  // schreibt auf Geräteadresse 1
writeByte(AdressHigh);  // schreibt ersten Teil der Daten-Adresse
writeByte(AdressLow);   // schreibt zweiten Teil der Daten-Adresse

jetzt Fallunterscheidung:
Fall 1 - wir schreiben Daten ab der vorher gesendete Daten-Adresse in 
den Speicher:

writeByte(Datenbyte);
writeByte(nächstesDatenbyte);
usw...
Stopcondition;

Fall 2 - wir lesen Daten ab der vorher gesendeten Daten-Adresse aus dem 
Speicher:

writeByte(0b01010011);  // Zielgerät auf Lesebetrieb stellen
Daten1 = readByte();
Daten2 = readByte();
usw...
readByte(noAck);
Stopcondition;

In etwa so läuft de Kommunikation ab. Wie man das in Assember auf deiner 
CPU umsetzt, so dass der Hardware-I2C verwendet wird, weiß ich leider 
nicht.

Grüße,

Peter

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  Franz (Gast)

>Leider kenne ich mit dem I2C-Bus noch nicht richtig gut aus.

>1. Gibt es irgendwo Tutorials, wie man sowas macht?

Siehe I2C und die Datenblätter der ICs, dort steht es nochmal 
ausführlich drin.

>2. Was für einen EEPROM soll ich verwenden?

Wieviel willst du denn speichern? Such dir einen aus, von 2401 bis 
24C512.

MFG
Falk

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.