ATmega128 SPI nach einigerzeit auf 2.2V?

Gast #2543209
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?
Angehängte Dateien:
Moderator Persönliche Seite #2543224
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).
#2543258
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

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.