26. Lektion: SPI: Difference between revisions

From Attraktor Wiki
Jump to navigation Jump to search
Line 31: Line 31:


[[file:SPI_modes.svg.png|SPI_Modeses]]
[[file:SPI_modes.svg.png|SPI_Modeses]]
{| class="wikitable" style="margin:left"
|+ SPI Modes
|-
! SPI Mode !! CPOL !! CPHA
|-
| 0|| 0 || 0
|-
| 1|| 0|| 1
|-
| 2|| 1|| 0
|-
| 3 || 1|| 1
|}


=== SPI des Pico===
=== SPI des Pico===

Revision as of 19:30, 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.

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 des Pico

Hardware SPI

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