Diskussion:Serial Peripheral Interface

aus Wikipedia, der freien Enzyklopädie

Bedeutung

Laut dem im Artikel verlinkten SPI Block Guide V03.06 von Freescale Semiconductor bedeutet SPI = Serial Parallel Interface (siehe Seite 11 des Block Guide). In anderen Dokumenten(AN991.pdf) von Freescale heisst SPI dann wieder Serial Periphal Interface. Nicht eindeutig scheint mir.

--91.64.144.161 17:13, 23. Mai 2007 (CEST)

Serial Parallel Interface gibt doch irgendwie keinen Sinn. Klar, man könnte eine Umsetzung von Seriell auf Parallel unterstellen. Aber "Serielle Schnittstelle zur Peripherie" erscheint plausibler. Auch Texas Instruments löst in der Anleitung zum SPI-Gerät CC2500 diese Abkürzung so auf. --92.193.92.3 17:07, 24. Feb. 2010 (CET)
Ebenso meine Meinun. 88.217.227.129 18:31, 20. Apr. 2010 (CEST)


Bildskalierung

Macht das MediaWiki solchen Murks bei der Konvertierung von SVG nach PNG (svg2png)? Die Bilder in der kleinen Version und der Originalversion unterscheiden sich doch erheblich. --Traut 14:17, 20. Feb. 2008 (CET)

Das Konvertierungs-Tool der Wikipedia, das PNG Thumbnails aus SVG Dateien erstellt, scheint keine Pfeile als End-/Anfangsform von Linien zu unterstützen. Habe jetzt aus den Pfeilen Dreiecke gemacht. Übrigens war das Kaskadierungsbild in der Vorversion des Artikels falsch. Nur eine Slave Leitung für alle in dem Szenario wäre richtig und so zeigen es die aktuellen Bildchen. --Backsideficker 01:42, 12. Juli 2008 (CET)

Master als Slave betreiben

Ich habe mit 2x PICKit2's (v. Microchip, PIC 16F887) festgestellt, daß die SPI Übertragung nur dann funktioniert, wenn die beiden Leitungen SDO und SDI gekreuzt werden. So müssen der Ausgang des Masters SDO mit dem Eingang des Slaves SDI verbunden werden. Ebenso wird der Eingang des Masters SDI mit dem Ausgang des Slaves SDO verbunden. Eine Verbindung von Ausgang mit Ausgang und Eingang mit Eingang hat bei mir unter keinen Umständen funktioniert. Die gleichlautende Beschriftung (MOSI-MOSI, MISO-MISO) des Bildes: SPI Kaskadierung.svg hat bei mir leider dazu geführt, daß ich auf die oben genannte falsche Idee gekommen bin.

Du wolltest offenbar zwei Geräte am SPI Bus betreiben, die sowohl als Master als auch als Slave konfiguriert werden können. Für eine erfolgreiche Kommunikation hast du dann wohl ein Gerät als Master und das andere als Slave konfiguriert. Die mir bekannten reinen Slave Geräte verhalten sich bezüglich der Verkabelung nach der Beschreibung im Artikel. Dein Gerät müsste eigentlich, wenn es als Slave konfiguriert wird, die Richtung der IO-Pins entsprechend anpassen, so dass aus dem MOSI Ausgang im Master Mode ein MOSI Eingang im Slave Mode wird. Bei MISO entsprechend umgekehrt. Scheinbar war dieser schaltungstechnische Aufwand dem Hersteller deines Gerätes zu viel und deshalb nötigt er den Benutzer, die Kabel manuell umzustellen. Näheres wird sicher aus dem Manual/Spezifikation deines Gerätes hervorgehen. Inwieweit dieses Verhalten im Einklang mit dem SPI Standard ist, kann ich leider nicht sagen, aber zumindest verhindert so ein Verhalten, dass du den Mode (Master oder Slave) während des Betriebes nicht ohne Eingriff in die Verkabelung wechseln kannst. --Backsideficker 02:32, 13. Dez. 2008 (CET)

Logischer Fehler bei den Eigenschaften??

Bei den Begriffserklärungen SDO und SDI werden die Begriffe MOSI und MISO meines erachtesns falsch herum angewendet. Im Artikel steht für SDO auch MISO und SOMI drin. Für die betrachtung des Slaves ist SOMI und SDO korrekt verknüpft. Bei der Betrachtung des Masters sollte dann aber MOSI stehen, oder ist da jemand schlauer als ich und kann mich aufklären? genau das gleich dann auch bei SDI. dies sollte aus sicht des Masters MISO sein. aus Slavesicht ist SIMO ok. --Raphael (nicht signierter Beitrag von 109.192.61.56 (Diskussion) 10:48, 24. Aug. 2010 (CEST))

Also wie man SDO und SDI zu MOSI und MISO kann ich aus dem Kopf nicht sagen, steht aber bestimmt in den Datenblättern der unzähligen Mikrocontrollern, die eine SPI-Schnittstelle haben. So wie es hier steht, scheinen die SDI und SDO wohl aus Perspektive der Slaves definiert zu sein. Allerdings die Idee MISO von SOMI bzw. MOSI von SIMO zu trennen ist völlig absurd. Ob nun "Master-Ausgang - Slave-Eingang" (MOSI) oder "Slave-Eingang - Master-Ausgang" (SIMO) ändern nichts an der Situation, dass das Kabel auf der einen Seite den Ausgang des Masters mit den Eingängen des(r) Slave(s) auf der anderen Seite verbindet. --Backsideficker 20:31, 24. Aug. 2010 (CEST)

Begriffe FS, NSS und QSPI könnten noch ergänzt werden

Definition CPol und CPha

Die Definition von CPol und CPha entspricht der, die von Freescale/Motorola verwendet wird. Die Beschreibung von Frescale findet man z.B. unter

http://cache.freescale.com/files/dsp/doc/user_guide/MC56F8300UM.pdf (S. 14-11)

Die Definition von CPol und CPha entspricht allerdings nicht der, die von TI verwendet wird. Die Beschreibung von TI findet man z.B. unter

http://www.ti.com/lit/ug/sprueu3a/sprueu3a.pdf (Seite 19)

--77.182.17.114 17:27, 29. Aug. 2011 (CEST)

Kaskadierung nicht immer möglich

Die serielle Verkettung von SPI-Slaves (Bild 1) ist nur dann möglich, wenn alle Slaves die überschüssigen Bits ignorieren und durchreichen. Zudem müssen sie die gleiche CPOL- und CPHA-Einstellung haben.

Dies ist nicht anwendbar für den Fall, wenn diese die Ergebnisbits insgesamt oder bitweise verändern, etwa beim Funktransceiver RFM12.

Die Sternform (Bild 2) stellt den allgemeinen Fall dar. Hier ist man üblicherweise auch bei der Wahl der Taktfrequenz frei und kann diese je nach angesprochenem Slave einstellen.

Typischerweise verwendet man serielle Verkettung bei A/D- und D/A-Wandlern, die man ohnehin synchron betreiben möchte. Durch die gemeinsame Auswahlleitung erscheinen aktualisierte D/A-Werte exakt zeitgleich, und A/D-Wandler können ebenfalls zeitgleich abtasten.

Bemerkenswert ist außerdem, dass SPI nicht unbedingt spezielle Chips erfordert, sondern (als Port-Extender) auch mit gewöhnlichen MSI-Chips der 74er Serie machbar ist, namentlich 74HC595 zur Ausgabe und 74HC165 zur Eingabe. SPI ist extrem einfach in Hardware zu gießen (etwa in einem FPGA), was zu seiner enormen Verbreitung verhilft. --Henrik Haftmann (Diskussion) 12:30, 2. Apr. 2012 (CEST)

Das mag ja alles korrekt sein, doch die Kaskadierung ist, wenn nicht immer, doch häufig möglich. Vor allem wenn man alle Teilnehmer des Kommunikationsverbundes unter Kontrolle hat, z.B. Schaltung oder Software selbst entworfen. In einem heterogen Verbund aus proprietären Chips würde ich natürlich nicht wetten, dass dies funktioniert. --Backsideficker (Diskussion) 21:16, 2. Apr. 2012 (CEST)
Was mich noch interessiert hätte: Ob für die Kaskatierung nun Voll- oder Halbduplex notwendig ist. (nicht signierter Beitrag von 212.121.145.4 (Diskussion) 10:45, 29. Okt. 2014 (CET))

Ist das Pegelbild falsch?

In den ersten beiden Zeilen also bei (CPHA = 0 und CPOL =1 und CPHA = 0 und CPOL = 0) wird das Signal angezeigt...Allerdings endet ein Bit doch erst immer nach dem 2ten Flankenwechsel und CPHA beudetet doch dass es nach dem ersten Flankenwechsel die Daten anliegen.. oder sehe ich da was falsch?

Habe im Artikel bessere/deutlichere Grafik dazu eingebunden, wo die Zeitpunkte der Datenänderung bzw. Abtastung farblich besser erkenntlich sind.--wdwd (Diskussion) 00:30, 3. Mai 2012 (CEST)

hardware-Realisierung

schade, dass über die hardware so gar nix drinsteht. Ich meine z.B. dass es sich generell um Verbindungen innerhalb Platine oder Gerät handelt, dass aufgrund hoher Geschwindigkeit und asymm. Übertragung störanfällig und nur kurz realisierbar. Taktfrequenzbereich (obere Grenze viele MHz) wäre auch interessant zu wissen. Es gibt auch Terminierungen und Entstör- bzw. Dämpfungsglieder sowie teilweise nötige pullup-R, die das Leben erleichtern. --Ulf 01:34, 7. Dez. 2018 (CET)

Einzelnachweis "Taschenbuch Mikroprozessortechnik"

Bei der Berabeitung vom 12. September 2019 12:00 Uhr wurde unter "Einzelnachweise" ein Buch aufgeführt, aber nirgendwo im Text referenziert. Sollte das wahrscheinlich zum Rest der Bearbeitung weiter oben gehören und dort per Referenz eingefügt werden? Wenn das jemand auch so sieht gerne einpflegen, habe das Buch nicht und kann es daher nicht definitiv überprüfen ob es als Quelle für die sonstige Änderung taugt. --Nomisn98 (Diskussion) 14:40, 27. Jan. 2020 (CET)