mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AVR Tiny26 - internes EEPROM per I2C?


Autor: Manfred Constapel (whoopsie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi liebe Experten,

kurz vorweg... möglicherweise ist diese Frage aufgrund mangelnden 
Verständnisses absurd, aber ich versuchs trotzdem. ;-)

Ich habe eine Schaltung mit einem I2C-EEPROM und dem besagten myC. Beide 
sind parallel mit einer Schnittstelle verbunden, welche an einen 
Lancos-ähnlichen bzw. Si Prog-kompatiblen Adapter für serielle 
Schnittstelle geht. Ich habe eine Bibiliothek zum Umgang mit EEPROMs 
über I2C geschrieben, welche ich erfolgreich mit dem EEPROM nutzen kann. 
Die Speicher des myC sind natürlich mit PonyProg oder avrdude ausles- 
und beschreibbbar. Soweit, so gut...

Die Daten für das I2C-Protokoll des EEPROM konnte ich dem Datenblatt 
entnehmen, d. h. Zugriffsadresse, Adresslänge etc... gleiches kann ich 
in dem Datenblatt für das Tiny26 nicht finden.

Ist das interne 128 Byte EEPROM des Tiny26 also nicht per I2C auslesbar? 
Wenn doch, wie gehts? ;-) Wenn nicht, welche Alternativen gibt es, die 
sich "relativ" einfach implementieren lassen bzw. wie machen es avrdude, 
PonyProg und Konsorten?

Autor: Peter Roth (gelb)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Tiny26 kann nur Software-I2C (Bei Atmel TWI genannt). Es wäre also 
ein Programm für den Tiny26 zu schreiben, welches das interne EEPROM 
über TWI zur Verfügung stellt. Machbar ist das.

Die 'Konsorten' sprechen den Tiny26 über die Programmierschnittstelle 
an, also nicht I2C.

Grüße, Peter

Autor: Nico Erfurth (masta79)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Datenblatt Seite 19, da findest du eigentlich alles was du zum Thema 
EEPROM brauchst. Ansonsten, gibt es AVR-Tutorial: Speicher: EEPROM 2 
und AVR-GCC-Tutorial: EEPROM im wiki.

Autor: Manfred Constapel (whoopsie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
danke für die schnellen Antworten...
Grundsätzlich geht also der I2C-/TWI-Zugriff auf das EEPROM des Tiny...
Seite 19 habe ich gar nicht im Datenblatt, das hört bei Seite 18 auf... 
;-)
Ich guck mal, ob ich noch ein ausführlicheres Datenblatt finde.

Nachtrag: Habe gerade den 185-seitigen Schinken gefunden... ;-)=

Autor: Kachel - Heinz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das AVR-interne EEPROM wird direkt, also über AVR-interne I/O-Register 
(eearl, eearh, eedr, eecr) angesprochen. Es ist also kein Umweg über 
eine bitserielle Kommunikation (I²C, SPI, 1wire) erforderlich.

KH

Autor: Manfred Constapel (whoopsie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

soweit verstanden... ich lese das EEPROM vom myC im myC auch ohne Umwege 
aus, um z. B. Kalibrierungsparameter dem Programm im myC bekannt zu 
machen.

Ich möchte aber diese Kalibrierungsparameter in dem internen EEPROM am 
liebsten unter Verwendung meiner I2C-/TWI-Bibliothek, welche ich u. a. 
zum Auslesen der Daten aus dem externen EEPROM auf der Platine benutze, 
aus einem externen Programm, welches also nicht das im myC ist, 
verändern können. Dies soll zu Folge haben, dass die 
Kalibirierungsparameter für den myC "einfach" über z. B. ein grafisches 
Frontend auf einem PC geändert werden können. Ich als 
Nicht-Elektronikingenieur habe halt problemorientierte Sichtweisen und 
möchte am liebsten alles mit dem kleinsten gemeinsamen Nenner "I2C/TWI" 
machen, um mich nicht in etwas anderes einarbeiten zu müssen und dieses 
dann auch noch testen zu müssen... :-)

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist durchaus machbar und klingt sinnvoll. In der Codesammlung lassen 
sich ein paar Implementierungen für einen I2C-Slave finden, siehe 
beispielsweise Beitrag "attiny USI Slave Implementierung".

Autor: Manfred Constapel (whoopsie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ahhhh... super, danke!
Auf die Idee die Suchfunktion mit "attiny USI slave" zu füttern wäre ich 
nie gekommen... ;-)=
Ich werd das mal versuchen zu adaptieren, vielen Dank nochmal.

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.