26. Lektion: SPI: Unterschied zwischen den Versionen

Aus Attraktor Wiki

Wechseln zu: Navigation, Suche
(Hardware SPI)
(SPI des Pico)
Zeile 46: Zeile 46:
 
|}
 
|}
  
=== SPI des Pico===
+
=== SPI Objekt erzeugen===
 
+
Wie üblich in Micropython muss zuerst eine Instanz der Klasse SPI erzeugt werden.
 
==== Hardware SPI====
 
==== Hardware SPI====
 +
Der Pico hat 2 Hardware SPI Schnittstellen (ID = 0, 1)<br>
 +
Die Klasse SPI unterstützt nur diese drei Leitungen: SCK, MOSI, MISO.<br>
 +
Die D/C und CE Sifnale mus der Programmierer selbst steuern.<br>
  
Der Pico hat 2 Hardware SPI Schnittstellen (ID = 0, 1)
 
  
 
Die default Einstellungen für Hardware SPI findet man so:
 
Die default Einstellungen für Hardware SPI findet man so:

Version vom 14. Dezember 2023, 18:40 Uhr

Das Serielle Periphere Interface

Dem Seriellen Peripheren Interface (SPI) liegt ein sehr einfaches Konzept zu Grunde. Dafür benötigt es mehr Leitungen als die I2C Schnittstelle:

MOSI
Master Out Slave In
MISO
Master In Slave Out
SCK
Clock
D/C
Data/Control
CS / SS
Chip Select

Das SPI Konzept

SPI arbeitet nach dem Master / Slave Konzept. Der Master kontrolliert die Kommuniktion.
Die Hardware besteht im Prinzip aus einen 8-Bit Schieberegister.

SPI_Konzept_1
Quelle: https://www-user.tu-chemnitz.de/~heha/hsn/ATmegaX8.chm/19.htm
Die SPI Geräte können auf 2 Arten miteinander verbunden werden. Sie können parallel oder hintereinander (Dasy Chain) verbunden werden.
SPI_konzept_2
Daisychain

SPI Modes

SPI_Modeses

SPI Modes
SPI Mode CPOL CPHA
0 0 0
1 0 1
2 1 0
3 1 1

SPI Objekt erzeugen

Wie üblich in Micropython muss zuerst eine Instanz der Klasse SPI erzeugt werden.

Hardware SPI

Der Pico hat 2 Hardware SPI Schnittstellen (ID = 0, 1)
Die Klasse SPI unterstützt nur diese drei Leitungen: SCK, MOSI, MISO.
Die D/C und CE Sifnale mus der Programmierer selbst steuern.


Die default Einstellungen für Hardware SPI findet man so:

from machine import SPI
print(SPI(0))
print(SPI(1))

SPI(0, baudrate=992063, polarity=0, phase=0, bits=8, sck=18, mosi=19, miso=16)
SPI(1, baudrate=992063, polarity=0, phase=0, bits=8, sck=10, mosi=11, miso=8)

Software SPI