Forum: Mikrocontroller und Digitale Elektronik Duko zum SPI Bus


von Siegfried S. (dieleena)


Lesenswert?

Hallo guten morgen,
such Duko für den SPI Bus
Gruß Siegfried

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Was ist los?

von Michael W. (michelw)


Lesenswert?

Er meint wohl Doku.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Ach sooo - die Datenblätter aller AVRs enthalten eine Doku zum SPI-Bus. 
SPI ist aber ein oft verwendetes Format aller möglichen Bausteine 
(SD-Karten, Neztwerk-Controller, Sensoren, Audio-ICs) und daher alles 
andere, als direkt zu erklären, zumindest vom Protokoll her nicht. 
Elektrisch gesehen werden im Grunde Daten über ein 8-Bit Schieberegister 
ausgetauscht, uns zwar dann, wenn der betreffende Chip selektiert ist. 
Der Bus besteht aus 4 Leitungen pro Chip: Data In (SDI / MOSI), Data Out 
(SDO / MISO), Serial Clock (SCLK / SCK) und ChipSelect (CS), wobei diese 
Leitung High- oder Low-aktiv sein kann. Der Bus erlaubt mehrere 
sogenannte Slaves, die an einem Mastercontroller hängen. Mit erhöhtem 
Schaltungs- und Programmaufwand ist Multimasterbetrieb möglich. Es gibt 
Varianten bezüglich der Polarität der Datensignale und deren Übernahme 
relativ zu den Flanken des SCK-Signals. Näheres ist in den Datenblättern 
der jeweiligen Chips nachzulesen.

von Siegfried S. (dieleena)


Lesenswert?

Hallo,
Ups...  Schreibfehler

@Travel Rec.
In dieser Richtung möchte ich arbeiten. Benutze PIC's von Microchip.

Gibt es bezüglich auch ein Buch, in dem
-> "Der Bus erlaubt mehrere sogenannte Slaves, die an einem 
Mastercontroller hängen. Mit erhöhtem Schaltungs- und Programmaufwand 
ist Multimasterbetrieb möglich." <-
das beschrieben ist ?

Gruß Siegfried

von Der S. (schubi)


Lesenswert?

Was ist daran so schwierig?
Jeder Slave bekommt eine Leitung (CS == Cable Select) extra und weiß 
dann, dass die Daten für Ihn sind.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Für Multimaster braucht man noch ein wenig Logik, die die CS-Signale 
umschalten kann. Wenn beispielsweise ein Slave plötzlich zum Master 
wird, wird sein CS-Eingang ein Ausgang, der widerum auf andere Eingänge 
anderer Slaves geroutet wird. Dies könnte man mit Multiplexern lösen - 
ist aber nicht ganz so trivial, wie bei I2C oder RS485. Daß ein Slave 
Master sein darf, wird ihm über Befehle inerhalb des Datenprotokolls 
mitgeteilt. Dort darf dann nichts ohne Anfrage laufen, sonst gibt es 
einen Crash.

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.