SPI slave selection

#4612235
Lesenswert?

@ Harry (Gast)


>meine Frage ist : ich benutze ATmega32u4 und ich will das Chip mit 3
>Slaves verbinden aber auf das Datasheet ich finde nur ein Pin für Slave
>Select . Ich will wissen ob man andere Pin als SS benutzen kann

Ja. Aber SS MUSS als Ausgang geschaltet werden. Siehe Datenblatt, ""SS 
pin functionality".
Gast #4612266
Lesenswert?

Falk B. schrieb:
> Ja. Aber SS MUSS als Ausgang geschaltet werden. Siehe
> Datenblatt, "SS pin functionality".

Aus dem Text im Datenblatt des Mega32U4 kann ich diesen
Sachverhalt nicht erkennen:

-----------------------------------------------------
SS: Slave Port Select input. When the SPI is enabled
as a slave, this pin is configured as an input
regardless of the setting of DDB0. As a slave, the SPI
is activated when this pin is driven low. When the SPI
is enabled as a master, the data direction of this pin
is controlled by DDB0. When the pin is forced to be an
input, the pull-up can still be controlled by the
PORTB0 bit.
-----------------------------------------------------

Auch die Tabelle der SPI Pin Overrides sagt nichts dazu
dass der SS Pin ein Output im Master Mode sein müsste
(Siehe Bild).
Angehängte Dateien:
#4612301
Lesenswert?

Man muss ihn nicht als Ausgang schalten, aber das ist das einzige was 
Sinn macht.
Kein Mensch braucht einen Eingang, der nur H sein darf. Und falls er 
doch mal L wird, funktioniert die SPI nicht mehr so wie geplant.
Ist SS Ausgang, ist er ganz normal nutzbar.
Also die einzig logische Betriebsart. Kostet doch nichts als Asgang zu 
schalten, selbst wenn er nicht gebraucht wird.
Gast #4612322
Lesenswert?

H.Joachim S. schrieb:

> Man muss ihn nicht als Ausgang schalten, aber das ist das einzige was
> Sinn macht.
> Kein Mensch braucht einen Eingang, der nur H sein darf.

Für den Normalfall würde ich dir natürlich vollkommen Recht geben.

Aber im Fall akuter Pin-Knappheit kann es durchaus einen Sinn ergeben. 
Z.B. wenn es in einer Anwendung überhaupt keine GPIO-Ausgabepins geben 
muss (nur Ausgaben via overrides durch nicht remappable alternate port 
functions) und zusätzlich ein Fehlerstatus überwacht werden soll, bei 
dessen Eintreten klar ist, dass die SPI-Kommunikation in der 
Fehlersituation für die Anwendung sowieso keine Rolle (mehr) spielt. 
Dann kann man diesen Eingang durchaus sinnvoll benutzen.

Wie gesagt: das ist sicher nicht der Normalfall. Aber ich habe zumindest 
ein Projekt, in dem ich das tatsächlich benutze.

Also wie immer: man sollte sich vor unzulässigen Verallgemeinerungen 
hüten. Jedenfalls so lange man die Sache nicht wirklich vollständig bis 
zur letzten Konsequenz durchdacht hat.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren