mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik EEProm als zwischenspeicher.???


Autor: Fichte (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hay Leute

Ich möchte gerne 3 Atmel Verbinden bzw. daten senden geht sowas auch
über einen EEPROM bzw. wenn ich beide IC´s an eine I2C Leitung hänge
und dazwischen einen EEProm kann den ein IC reinschreiben und der
andere Lesen oder würde das nicht Funktionieren.?

Oder hat jemand eine andere Idee wie man 3-4 IC´s an eine Leitung
Hängt.


MFG: Fichte

Autor: Andi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das könnte funktionieren.... allerdings nicht besonders lange. Ein
EEPROM hat meistens ca. 100000 Schreibzyklen. Ich weis zwar nicht was
du übertragen willst und wieoft, aber die 100000 Schreibzyklen sind
unter Umständen schnell erreicht und das EEPROM unbrauchbar.

Mein Vorschlag mehrere Controller miteinander zu Verbinden wär eine
Übertragung über die RS232-Schnittstelle. Du verbindest einfach die
TX-Ausgänge eines µC's mit den RX-Eingängen aller anderen µC's.
(Auf diese Art haben wir in der Ausbildung mal ein komplettes Netzwerk
aus 12 MFA-Systemen gebaut)

viel Erfolg beim Basteln!

Andi

Autor: Florian Pfanner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

für so ein Projekt wäre ein Bussystem besser geeignet. Denn der RS232
ist eigentlich nur zur Kommunikation zwischen 2 Geräten gedacht, bei
mehr muss mann Trixen. Ich würde entweder Direkt den I2C-Bus nehmen.
Also in jedem Controller eine I2C-Slave Routine einbauen, mit eigenem
Adressbyte und diesen dann per Protokoll daten übermitteln. Oder den
RS485- bzw. RS422-Bus. Dieser ist vom Prinziep her dem RS232 ähnlich,
nur dass er für mehrere Controller gedacht ist, und eine längere
Leitungslänge erlaubt. Zuletzt währe noch den CAN-Bus zu nennen. Dieser
ist zwar sicher und schnell, aber nicht ganz einfach zu Implementieren.

Gruß, Florian

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Florian,

"bei mehr muss mann Trixen"

Besser ist daher die Reihenschaltung: TXD an RXD des nächsten usw.
Dann ist nichts mit Trixen, das geht sogar sehr gut.

Man arbeitet dann am besten im 9Bit-Modus (Adrese/Daten) und jeder, der
ein Byte empfängt, was nicht für ihn bestimmt ist, reicht es einfach
weiter.

Im ungünstigsten Fall hat man gerade angefangen zu senden und empfängt
nicht für einen selber bestimmte Daten. Dann muß man diese Nachricht
komplett zwischenspeichern, d.h. die Nachrichtenlänge sollte begrenzt
sein. 8 Byte (wie bei CAN) ist ein guter Wert.

Ein weiterer Vorteil ist auch, daß es keine Prioritäten gibt, jeder
darf zu jeder Zeit senden.


Peter

Autor: Fichte (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@peter dannegger


Hast du mal ein Schalplan beispiel und in was für eim Compiler
schreibst du das.???


MFG: Fichte

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.