Forum: Mikrocontroller und Digitale Elektronik ATmega128 SPI nach einigerzeit auf 2.2V?


von rubbellos (Gast)


Angehängte Dateien:

Lesenswert?

Hi,

ich hab einen Atmega128A über SPI an einen AD9954 DDS angeschlossen.
Anscheinend hab ich auch richtig programmiert, denn direkt nachdem ich 
die Schaltung anschmeisse und einen Befehl sende kommt ein Signal aus 
dem DDS.

Allerdings hab ich jetzt das Problem, dass nach einigen 100ms nichts 
mehr geht. MOSI und SCK sind auf 2.19V und mein Programm hängt sich in 
der Warteschleife, die wartet, dass das SPI Datenregister geleert wird 
auf. Ich kann also nichts mehr über SPI senden, aber ich verstehe nicht 
warum.

Wie kann es sein, dass MOSI und SCK nach einiger Zeit 2.19V sind und 
nicht die ganze Zeit?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

/SS nicht beschaltet ... dein SPI wird irgendwann in den Slave-Mode
gezogen.

Das sinnvollste ist es allemal, /SS für das chip select deines Slaves
gleich zu nutzen.  Damit ist es zwangsweise ein  Ausgang, und obiges
kann dir nicht passieren.

Du musst aber die Schaltung nicht unbedingt ändern; es genügt völlig,
wenn du PB0 zum Ausgang machst und dann nie wieder anfasst.

Es ist übrigens sinnvoll, unbenutzte Pins bei der Initialisierung
entweder als Ausgang festzulegen oder aber deren Pullups zu aktivieren,
damit sie nicht floaten können. Ein Eingang, der in der Nähe seiner
Schaltschwelle floatet, kann u. U. laufend hin und her schalten, wobei
er einiges an Strom zieht (durch das interne Umladen der Kapazitäten,
die dahinter dranhängen).

von rubbellos (Gast)


Lesenswert?

Mein Atmega kann in den Slave Mode gezogen werden, obwohl ich definiere, 
dass er im Mastermode arbeiten soll? Das ist mal krass find ich...

von rubbellos (Gast)


Lesenswert?

Grad getestet das wars! Wie soll man da von alleine drauf kommen! 
Danke!!!

von Falk B. (falk)


Lesenswert?

@Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite

>damit sie nicht floaten können. Ein Eingang, der in der Nähe seiner
>Schaltschwelle floatet, kann u. U. laufend hin und her schalten, wobei
>er einiges an Strom zieht (durch das interne Umladen der Kapazitäten,
>die dahinter dranhängen).

Wenn es mal nur das wäre. Viel stromhungriger ist der Querstrom, den die 
Gatter nahe der Schaltschwelle ziehen. Auch wenn CMOS hier eher gutmütig 
ist.

@  rubbellos (Gast)

>Grad getestet das wars! Wie soll man da von alleine drauf kommen!

Das Datenblatt GENAU lesen und auch einhalten.

MfG
Falk

von spess53 (Gast)


Lesenswert?

Hi

>Das Datenblatt GENAU lesen und auch einhalten.

Gibt es sogar einen extra Abschnitt: SS Pin Functionality.

MfG spess

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.