Forum: Mikrocontroller und Digitale Elektronik I2C oder UART verwenden?


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Alexander I. (daedalus)


Bewertung
0 lesenswert
nicht lesenswert
Hallo,

folgende Aufgabenstellung: Es gibt eine Platine mit 24 Kleincontrollern 
(Cortex M0). Einer der Controller (immer der Gleiche) übernimmt die 
Masterrolle und stimmt die Aufgaben mit den anderen 23 Kollegen ab. Die 
können also z.B. nach einem Status gefragt werden oder eine kleine 
Aufgabe bekommen (z.B. messe mit ADC und schicke mir bei der nächsten 
Anfrage das Ergebnis zu). Hierfür kämen jetzt I2C oder UART infrage. 
Beim UART könnte man auf "Single-Wire"-Betrieb umstellen und in Hardware 
wird auch eine Adress-Erkennung angeboten.

Zusätzlich soll dieser Bus diagnosefähig sein. Das sieht dann so aus, 
dass man den Master durch eine Steckbrücke zum Slave macht und ein 
angeschlossener PC die Master-Rolle übernimmt. Darüber können dann z.B. 
Parameter konfiguriert oder Statistikinformationen der einzelnen 
Controller abgefragt werden. Da die meisten PCs heute eh keinen UART 
mehr haben, ist es mir in dieser Hinsicht egal ob ich nun USB-I2C oder 
USB-UART-Adapter verwenden müsste ...

Ich habe sowas ähnliches schonmal gemacht. Damals haben wir das per 
quasi-UART (andere Pegel, etc. aber logisch identisch) gelöst und ein 
kleines Protokoll gefahren. I2C war damals nicht im Controller verfügbar 
und deshalb keine Option.

Ich habe also schon ein wenig Erfahrungen gesammelt bei selbstgebauten 
UART-Bussystemen. I2C ist für mich dagegen Neuland. Das Layout sollte 
diese Woche fertig werden, d.h. sollte ich mich zügig für UART oder I2C 
entscheiden.

Als Baudrate würde ich 57,6k oder 115,2k fahren. Die Antwort-Zeitfenster 
für die Slaves sollen eher kurz sein, damit jeder Mal die Chance hat 
zeitnah (wenige ms) dranzukommen, falls ein anderer seinen Slot 
"verschläft". Die Datenpakete sind eher kurz, 8-10 Bytes an Nutzdaten.

Was ist eure Empfehlung? Es bleibt nur die Wahl zwischen I2C und UART...

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.