UART,SPI,I2C: Sind das Datenbusse oder Schnittstellen?

Gast #4850947
Hallo allerseits,

zu welchem Überbegriff gehören UART, SPI, I2C. Beim Wikipedia Eintrag 
steht bei SPI und I2C, dass es sich um Datenbusse handelt und bei UART 
um eine Schnittstelle. Im Wikipedia Eintrag zu seriellen Schnittstellen 
sind allerdings alle drei genannten Begriffe aufgehführt.
Was ist nun richtig? Sind UART, SPI, I2C Datenbusse oder Schnittstellen?


Und wie bezeichnet man deren Vorschriften für die Abfolge der einzelnen 
Bits?
Z.B. bei I2C das am Anfang ein Startbit kommt, dann die Adressbits, usw. 
Ist das ein Protokoll?
Dann haben aber nur UART und I2C ein Protokoll? Weil bei SPI gibt es 
keine Vorschriften über die Abfolge der einzelnen Bits.
#4850963
zigner schrieb:
> Was ist nun richtig? Sind UART, SPI, I2C Datenbusse oder Schnittstellen?

SPI und I²C sind sowohl Datenbusse als auch Schnittstellen.

Normaler UART ist eine Schnittstelle aber kein Datenbus (nur 
Punkt-zu-Punkt), kann allerdings mit Hardwaretricks in einen Bus 
umgewandelt werden.


> Und wie bezeichnet man deren Vorschriften für die Abfolge der einzelnen
Bits?

Ja: Protokoll.

zigner schrieb:
> Weil bei SPI gibt es
> keine Vorschriften über die Abfolge der einzelnen Bits.

Es gibt kein allgemein gültiges Protokoll.
Bei SPI wird das Protokoll im Datenblatt des jeweiligen SPI Slave 
definiert.
#4850964
zigner schrieb:
> Was ist nun richtig? Sind UART, SPI, I2C Datenbusse oder Schnittstellen?

Diese beiden Begriffe schliessen sich nicht aus.

UART direkt ist Punkt-zu-Punkt und damit kein Bus. Zum Bus wird es 
beispielsweise mit einem RS485 Transceiver, nicht aber mit einem RS232 
Transceiver.

Die Sache wird aber nicht sonderlich präzise gesehen. USB heisst sogar 
Bus, obwohl es topologisch keiner ist, sondern ein Stern.

> Z.B. bei I2C das am Anfang ein Startbit kommt, dann die Adressbits, usw.
> Ist das ein Protokoll?

Ja.

> Dann haben aber nur UART und I2C ein Protokoll? Weil bei SPI gibt es
> keine Vorschriften über die Abfolge der einzelnen Bits.

Bei SPI gibt es mehrere Alternativen, aber das sind trotzdem 
Vorschriften. Und nicht alles geht. Oder hast du schon mal ein SPI 
gesehen, bei dem erst die geraden und dann die ungeraden Bits übertragen 
werden?
#4851068
Schnittstellen sind alle drei. Ein richtiger Datenbus ist davon nur I2C, 
es ermöglicht viele Busteilnehmer und hat ein allgemeines Protokoll.

SPI ist ein unvollständiger Bus. An die Daten- und Clockleitungen können 
zwar mehrere Teilnehmer angeschlossen werden, aber es müssen noch 
zusätzliche CE-Signale generiert werden. Es hat kein allgemeines 
Protokoll, sonder nur bausteinspezifische Protokolle.

UART kann mit RS485-Adaptern für einen Bus verwendet werden, ist selbst 
aber kein Bus.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 9 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.