www.mikrocontroller.net

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


Autor: Peter S. (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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?

Autor: Peter S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Matthias Lipinsky (lippy)
Datum:

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

Autor: Ralph (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Peter S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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).

Autor: Ralph (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.