Forum: Mikrocontroller und Digitale Elektronik Mehrere Protokolle gleichzeitig


von Paul (Gast)


Lesenswert?

Hallo Gemeinde
Ist es möglich mehrere Protokolle gleicheitig auf einem Prozessor zu 
betreiben?
Bisher kannte ich es so, das entweder SPI oder I2C.
Kann man z.B. SPI, I2C und USB gleichzeitig auf modernen Prozessoren 
betreiben? Wer hat dabei Vorrang oder sind alle gleichberechtigt? 
Welchen Eingang wird zuerst bearbeitet? Wie erfolgt die Reaktion wenn 
zufällig mehrere Infos kommen?
Paul

von mh (Gast)


Lesenswert?

Ja.

Je nachdem, was Du dem Prozessor sagst, welche Ereignisse er wann 
abarbeiten soll. Das nennt sich dann Software.

von Peter II (Gast)


Lesenswert?

Paul schrieb:
> Ist es möglich mehrere Protokolle gleicheitig auf einem Prozessor zu
> betreiben?

was steht denn im Datenblatt? Wenn die IO-Pins sich nicht überschneiden, 
gibt es meist keine Probleme sie gleichzeitig zu nutzen. Man muss dann 
nur passend programmieren.

von Cyblord -. (cyblord)


Lesenswert?

mh schrieb:
> Ja.
>
> Je nachdem, was Du dem Prozessor sagst, welche Ereignisse er wann
> abarbeiten soll. Das nennt sich dann Software.

Ja aber dann muss man ja ein SPI Shield und ein I2C Shield so 
übereinander hintüddeln. Wie soll das gehen? Und was meinst du mit 
Software? Einen Sketch? Den lädt man doch runter. Wo kann man einen 
I2C/SPI Sketch runterladen? Bin verwirrt.

: Bearbeitet durch User
von Draco (Gast)


Lesenswert?

Wo steht denn das er mit Arduinos und Shields arbeitet?! Hier ist man ja 
bei jeder Frage gleich unter Generalverdacht :-D

von Cyblord -. (cyblord)


Lesenswert?

Draco schrieb:
> Wo steht denn das er mit Arduinos und Shields arbeitet?! Hier ist man ja
> bei jeder Frage gleich unter Generalverdacht :-D

Naja, in der Regel kommen halt solch selten dämliche Fragen immer aus 
derselben Ecke. Manche nenne es Vorurteil, andere Erfahrung.

von Jim M. (turboj)


Lesenswert?

Paul schrieb:
> Wer hat dabei Vorrang oder sind alle gleichberechtigt?

Auf modernen µCs (z.B. Cortex-M) kann man das selber einstellen. Olle 
Atmegas haben z.T. kein DMA oder einstellbare Interrupt Prioritäten, da 
ist die Frage dann tatsächlich berechtigt und wird dann im Manual 
beantwortet.

von Horst (Gast)


Lesenswert?

Jim M. schrieb:
> Olle Atmegas

Na also echt, AVRs sind in diesem Forum doch heilig. Lass das mal besser 
nicht moby-project oder so hören..

von Peter Lustig (Gast)


Lesenswert?

Moin,

definiere Gleichzeitig. Die Physiker werden dann sagen, Gleichzeitigkeit 
gibt es nicht.

- Auf einem Prozessor kann z.B. im Zeitscheibenverfahren etwas hier und 
später etwas da gemacht werden.
- Zwei Prozessoren können verschiedene Dinge zur selben Zeit bearbeiten, 
wenn sie das gleiche Ding bearbeiten wird es schon schwieriger.
- Du kannst eventuell über UARTs etwas zwischenspeichern.
- Du kannst auch relativ schnell zwischen z.B. I2C und SPI hin und her 
schalten.

Servus

von Paul (Gast)


Lesenswert?

Wenn ich das richtig verstanden habe, dürfen sich I/O für verschiedene 
Protokolle nicht gegenseitig beeinflussen oder gar doppelt vergeben 
worden. Wer Vorrang hat wird durch die Software festgelegt. Dabei ist 
der verwendete Prozessot erst einmal egal. Je grösser die Prozessoren 
sind, je höher die Taktfrequenz ist, je mehr kann machen. Das können 
verschiedene Prz von ATmel oder Pic oder Cortes usw. sein. Bei den 
derzeitigeb Preisen von Prz dürfte noch viel neues kommen. Da lasse ich 
mich überraschen.
Danke für eure Antworten
Paul

von Johnny B. (johnnyb)


Lesenswert?

Also so generell würde ich sagen, kann man soviele Schnittstellen 
gleichzeitig bedienen, wie auch Hardwaremässig auf dem Chip die 
entsprechenden Peripherieblöcke vorhanden sind.
Meist sind das mindestens zwei unabhängig voneinander operierende, als 
UART, I2C, SPI oder sonstwas konfigurierbare 
Universal-Kommunikationsblöcke.

Aber man kommt nicht darum herum, das Hardwaremanual zu konsultieren, da 
steht drin, was im entsprechenden Mikrocontroller genau verbaut ist.

Das ist aber nur die halbe Wahrheit, denn einfachere "Protokolle" lassen 
sich auch softwaremässig und mit normalen I/O's implementieren, wie z.B. 
I2C oder SPI (wenn man nicht gerade im MHz Bereich kommunizieren muss).

: Bearbeitet durch User
von Cyblord -. (cyblord)


Lesenswert?

Paul schrieb:
> Wenn ich das richtig verstanden habe, dürfen sich I/O für verschiedene
> Protokolle nicht gegenseitig beeinflussen oder gar doppelt vergeben
> worden. Wer Vorrang hat wird durch die Software festgelegt. Dabei ist
> der verwendete Prozessot erst einmal egal. Je grösser die Prozessoren
> sind, je höher die Taktfrequenz ist, je mehr kann machen. Das können
> verschiedene Prz von ATmel oder Pic oder Cortes usw. sein. Bei den
> derzeitigeb Preisen von Prz dürfte noch viel neues kommen. Da lasse ich
> mich überraschen.

Das hört sich so an, als bereite ein BWL'ler eine 
PowerPoint-Präsentation zum Thema Microcontroller vor.

von Peter D. (peda)


Lesenswert?

Paul schrieb:
> Kann man z.B. SPI, I2C und USB gleichzeitig auf modernen Prozessoren
> betreiben?

Das ist sogar die Regel.
Über USB kommt ein Kommando rein, über 1-Wire wird die Temperatur 
ausgelesen (DS18B20), über I2C ein Portexpander PCF8574 angesteuert, 
über SPI ADCs gelesen und DACs gesetzt usw.
1-Wire, SPI, I2C brauchen als Master auch kein HW-Interface, sondern 
können mit beliebigen IO-Pins in SW realisiert werden.

Alte MCs (80C51) konnten das aber auch schon (außer USB).

von Draco (Gast)


Lesenswert?

Cyblord -. schrieb:
> Das hört sich so an, als bereite ein BWL'ler eine
> PowerPoint-Präsentation zum Thema Microcontroller vor.

Ich denke, das die BWL'ler wenigstens der deutschen Sprache in Wort und 
Bild mächtig seien dürften. So hört es sich für mich vielmehr nach einer 
PowerPoint-Präsentation für die Hauptschule 7. Klasse an. ;-)

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.