Forum: Mikrocontroller und Digitale Elektronik SSI Schnittstelle mit SPI realisieren?


von Peter S. (Gast)


Angehängte Dateien:

Lesenswert?

Guten Tag

Ich habe eine Frage, ob das so überhaupt möglich ist.
Also ob ich eine SSI Schnittstelle realisieren kann mit Hilfe der SPI 
Funktionen meines MSP.

Der SPI Mode wäre dann ja Slave.
Das heisst es kommt zuerst eine negative Flanke, bei der der MSP 
eigentlich noch nichts machen muss, sondern ja typisch SSI halt erst bei 
der positiven Flanke das Bit an den Datenausgang legen.

Der Wert wäre 20-32 Bit.
Der SPI Mode hat ja eigentlich 3 oder 4 Pins, aber beim SSI braucht es 
ja nur 2.

Im Anhang noch das SSI Protokoll.

Denkt ihr das da was zu machen wäre oder muss ich es mit Port.Interrupt 
realisieren?

von Peter S. (Gast)


Lesenswert?


von Matthias L. (Gast)


Lesenswert?

Sagen wir es mal so: Ich glaube es nicht. Zumindest nur durch 
Mehraufwand.

von Ralph (Gast)


Lesenswert?

Technisch gesehen ist es einfach mit SPI eine SSI zu betreiben.

Du musst nur beim Slave den Chipselect fest auf Aktiv setzen, duch 
pullup oder pulldown. siehe Datenblatt ob high oder low aktiv.

Als Master ist es noch einfacher, einfach den takt rausgeben.

Problematisch wird nur das Protokoll.

Durch den Chipselect wird dem Slave ja "mitgeteilt" das eine Übertragung 
erfolgen soll, und das er die Daten im Puffer bereitlegen soll.
Das fehlt hier, du musst also selbst sicherstellen das zum 
Übertragungszeitpunkt die richtigen Daten im Puffer des Slave liegen.

von Peter S. (Gast)


Lesenswert?

Also denkst du, dass mit der SPI Schnittstelle es besser geht, als wenn 
ich immer einen Interrupt auslöse und dann jeweils die Variable shifte?

Und eben mit dem Protokoll ist SSI ja ziemlich unterschiedlich zu SPI.

Man kann ja auch nur zwischen 3- und 4-pin SPI auswählen, aber ich 
benötige beim MSP nur 2 Leitungen (CLK in, Data out).

von Ralph (Gast)


Lesenswert?

Um den Interrupt oder Polling zwischen den einzelnene Bytes wirst du 
nicht rumkommen, es sei denn das du die SPI im DMA modus betreiben 
kannst.
Bevor jetzt wieder einige Meckern, Es gibt µC die können das, auch wenn 
es keine AVR sind.


Wenn du eine Datenrichtung nicht benötigst, dann verbinde die Pins eben 
nicht und leg an beiden Controllern den Pin auf definierte Pegel. Achte 
aber am Ausgang darauf das der Strom nicht zu hoch für den Porttreiber 
ist.

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.