Forum: Mikrocontroller und Digitale Elektronik SPI-Verhalten


von hORST (Gast)


Lesenswert?

Hallo,
Um die Funktion meines AVR-SPI mal sichtbar zu machen, habe ich an die
Pins /SS, MOSI, MISO, SCK  LEDs rangehangen.

Der AVR ist als Master konfiguriert:
Output = SCK & MOSI & /SS

Beim Senden an eine Slave ist nun folgendes zu beobachten:
/SS leuchtet immer, halbe Leuchtkraft
MISO leuchtet nicht
MOSI leuchtet immer, sehr hell
SCK blinkt intervallmäßig kurz auf

/SS ist klar: Halbe Leuchtkraft, wegen der gleichmäßigen Frequenz
MISO ist klar da nur MA->SL
MOSI aber sehr hell und vor allem: dauerhaft! Warum?
SCK ist klar, da bestimmtes Sendeintervall

Warum das Verhalten von MOSI?

von Thomas F. (thomas-hn) Benutzerseite


Lesenswert?

Hallo,

also erstmal: Wie hast Du die LEDs denn angeschlossen? Vom AVR-Pin nach
GND oder zur Versorgungsspannung?
/SS ist die Leitung mit welcher der Master einen Slave selektieren
kann.  Standardmäßig sollte der Pin beim Master auf Ausgang stehen, da
es sonst (AFAIK bei Low-Pegel) vorkommt, dass der Master nicht mehr
sendet, da er denkt es sendet ein anderer Master.
Du solltest /SS also auf Ausgang schalten und dann eine "0"
herausschicken. Eine "0" selektiert später den Slave.
MISO hängt ja an einem Eingang, da dort wohl kein Pullup aktiv ist,
wird  sollte die LED aus sein.
MOSI leuchtet immer? MOSI enthält ja die seriellen Daten die Du ins
SPDR geschrieben hast...es kommt also drauf an was Du für eine
Bitkombination sendest. Bei genug Nullen oder Einsen im Datenstrom
(abhängig wie die LED angeschlossen ist) kann die LED auch blinken oder
aus sein.
SCK enthält den Sendetakt vom Master zum Slave. Die LED sollte also
blinken oder zumindest dunkler erscheinen, je nachdem wie hoch der
Sendetakt ist.

Gruss,

Thomas

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.