Forum: Mikrocontroller und Digitale Elektronik MISO trotz SPI als IO Pin ?


von Benedikt (Gast)


Lesenswert?

Der Betreff sagt eigentlich alles:
Ich verwende SPI nur zum Daten empfangen, benötige MISO nicht.

Das einzige was ich laut Datenblatt schalten kann ist der Pullup, wenn
ich das richtig verstanden habe.
Gibt es irgendeinen Trick, MISO trotzdem als IO zu verwenden ?

von Jörg (Gast)


Lesenswert?

Also wenn Du als Slave nur Daten empfangen willst, sollte der MISO-Pin
eigentlich frei verfügbar sein. So steht es zumindest in Tabelle 55 auf
Seite 126 im Datenblatt des ATMega8515 (und sicherlich auch bei den
anderen Prozessoren mit HW-SPI). MISO ist dort mit "user defined"
angegeben. Wie man dann allerdings einstellen kann, dass MISO doch als
Ausgang des SPI fungieren soll, habe ich auf die Schnelle auch nicht
gefunden. Am besten mal in einem etwas neueren Datenblatt zu SPI
nachlesen.

Jörg

von Jörg (Gast)


Lesenswert?

Sorry, aber das passiert, wenn man nur flüchtig liest. Die angegebene
Tabelle besagt ja nur, dass die DATENRICHTUNG "user defined" ist. Und
das interpretiere ich dann so:
MISO als Ausgang = MISO ist Ausgang des SPI
MISO als Eingang = MISO-Pin lässt sich als universeller Eingang
verwenden

Damit hat sich meine o.a. Unklarheit auch erledigt.

Also bei SPI als Slave kann MISO als universeller EINGANG genutzt
werden oder als Ausgang des SPI.

Jörg

von Benedikt (Gast)


Lesenswert?

Wenn ich MOSI als Eingang definiere, ist es dann wirklich absolut
sicher, dass das SPI Interface den Pin nicht verändert ?

Was passiert, wenn ich MOSI auf Eingang schalte, und Daten ins SPDR
schreibe ?

von Jörg (Gast)


Lesenswert?

Solange das SPI-Interface nicht Master wird sollte sich an der
Einstellung MISO als Eingang nichts ändern. Das Byte, das Du ins SPDR
schreibst sollte im NUL landen. Aber selbst ausprobiert hebe ich diese
Konstellation bisher noch nicht.

Jörg

von Hagen (Gast)


Lesenswert?

Ahnliche Probleme tauchten bei der Benutzung von MISO auf wenn der AVR
der Master ist (Nokia LCD). Auch da kann man den MISO freischalten und
als zusätzlichen Ausgang benutzen. Denoch habe ich immer wieder
Meldungen von Nachbauern bekommen das dies nicht so richtig
funktioniert. Denn 1.) darf sich NICHT der Status vom Pin ~SS
verändern, 2.) wurde berichtet das Aktivitäten des SPI's auf dem
eigentlich freien MISO Pin Störungen verurachten, je nach typ des
AVR's, und 3.) gibt's zwar Datenblätter aber einige Detailfragen
bleiben ungeklärt.

Falls du einen normalen IO Pin frei hast dann würde ich den nehmen.

Gruß Hagen

von Benedikt (Gast)


Lesenswert?

>Falls du einen normalen IO Pin frei hast dann würde ich den nehmen.

Leider benötige ich 32 IOs, habe aber nur 31 (3x8bit -4 für SPI) + 3x
PORT E beim mega8515

Die Problme mit SS beim SPI Master sind mir bekannt:
mega8 als SPI Master, SS als Ausgang (laut Datenblatt dann ein normaler
IO), den an den SS des Slave.
Nix geht. Also anderen Pin genommen, Schaltung geht.

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.