26. Lektion: SPI: Difference between revisions
| Line 46: | Line 46: | ||
|} | |} | ||
=== SPI | === 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> | |||
Die default Einstellungen für Hardware SPI findet man so: | Die default Einstellungen für Hardware SPI findet man so: | ||
Revision as of 19:40, 14 December 2023
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.
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 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)
