Welche Kommunikationsschnittstelle bei Mikrocontrollern ist besser und einfach in der Handhabung?

4 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Das kommt immer auch auf die Anwendung an...

  • Geschwindigkeit (in der Regel): I2C < UART < SPI
  • Multi-Master: I2C. Mit viel Aufwand auch UART
  • Mehrere Slaves: I2C, SPI (wobei jeder Slave eigene Leitung braucht), UART mit Protokollstruktur und Adressierung
  • Anzahl Leitungen: UART (2), I2C (2), SPI (4)

Für UART braucht der Mikrocontroller in der Regel einen Quarz für Genauigkeit. Die meisten Boards haben das aber.

Ich habe mich noch nie freiwillig für SPI entschieden, wobei das nicht viel heißen muss.


ThomasM1982X 
Fragesteller
 21.09.2023, 08:51

Also eher I²C ?

0

Je nachdem, was du anschliessen möchtest. Ein Terminal? UART. SD-Karte oder kleinen TFT? SPI. I²C kompatible Peripherie? I²C.

Wenn Sende- und Empfangsroutinen vorhanden sind, unterscheidet sich die "Handhabung" nicht groß voneinander. Bei I²C und SPI wirst du noch zusätzlich angeben wollen, mit welchem Gerät du kommunizierst, dafür entfällt Notwendigkeit der Angabe diverser Kommunikationsparameter.

Du nimmst also die, welche am besten zum beabsichtigten Einsatzzweck passt.

Woher ich das weiß:Berufserfahrung – 68xx, H8, Renesas, Novix, STM32, J1, PIC/AVR, RISC-V u.a.

ThomasM1982X 
Fragesteller
 21.09.2023, 10:47
0
Bushmills145  21.09.2023, 12:33
@ThomasM1982X

Schreibst du die I/O Routinen selbst, bist du mit UART vermutlich am schnellsten am Ziel. Stehen bereits I/O Routinen zur Verfügung, dann mit denen. Diagnostizieren dürfte auch am einfachsten mit UART gehen - du kannst das Modul, aber auch den AVR, an einen USB nach serial Adapter am PC anschließen, und mit dem verifizieren, dass sowohl Kommunikationsparameter als auch Inhalt des Datenaustausches stimmen.

1

Vorteile von SPI ggü. I²C:

  • Wirkungsgrad, Geschwindigkeit, primitiveres Protokoll, theoretisch unbegrenzte Slaves, vollduplex

Nachteile:

  • Leitungsaufwand

UART, weil es von allen 3 die einfachste Schnittstelle ist.

Nach der einfachsten Auswahl zu suchen ist ein Anfängerfehler.

Ein Anfänger ist in der Lage, jedes der 3 zu erlernen.

Deine Kriterien sind im 1. Schnitt:

  • wie viele Kommunikatoren: RX, TX
  • welche Kanäle
  • welche Bandbreite