Forum: Mikrocontroller und Digitale Elektronik UART,SPI,I2C: Sind das Datenbusse oder Schnittstellen?


von zigner (Gast)


Lesenswert?

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.

von Jim M. (turboj)


Lesenswert?

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.

von (prx) A. K. (prx)


Lesenswert?

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?

von Christian M. (Gast)


Lesenswert?

zigner schrieb:
> UART

ist erst seit Arduino eine Schnittstelle. Vorher war das ein IC...

Gruss Chregu

von (prx) A. K. (prx)


Lesenswert?

Christian M. schrieb:
> ist erst seit Arduino eine Schnittstelle. Vorher war das ein IC...

Und noch vorher waren es mehrere. ;-)

UART ist i.d.R. ein Schnittstellenmodul in Controllern und SoCs. Mal mit 
S als USART, mal ohne.

von Jobst Q. (joquis)


Lesenswert?

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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.