Forum: Mikrocontroller und Digitale Elektronik SPI Slave zieht Datenleitung nicht richtig auf LOW/GND


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Bruce (Gast)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Freunde,
ich habe versucht eine Verbindung über SPI von Atmega1284P zu MAX31865 
(Temperatursensor) herzustellen. Ist mir auch soweit gelungen. Jedoch 
zieht der Slave die Datenleitung nicht richtig auf LOW/GND. In einigen 
wenigen Fällen schafft er es jedoch. Das finde ich sehr ungewöhnlich, 
dass es manchmal funktioniert, meistens aber nicht. Dadurch kommt 
natürlich nur Murks bei dem µC an.

Im Bild gelb = SCK, blau = MOSI, lila = MISO, grün = CS/SS

von Peter D. (peda)


Bewertung
0 lesenswert
nicht lesenswert
Irgendwas in Deiner Schaltung zieht MISO auf high (Kurzschluß, anderer 
SPI-IC).

von Schaltplanlesa (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Bruce schrieb:
> Das finde ich sehr ungewöhnlich,
> dass es manchmal funktioniert, meistens aber nicht.

Vielleicht hast du den Datenausgang deines MAX31865
versehentlich an einen Pin des Atmega1284P angeschlossen
der auf Output programmiert ist. Dadurch kommen solche
"Buskämpfe" zustande.

von cappelone (Gast)


Bewertung
0 lesenswert
nicht lesenswert
oder wahrscheinlicher keine Masseverbindung am MAX31865.

von Bruce (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Ich habe alles durchgecheckt. Konnte nichts an der Hardware finden. 
Nachdem ich dann nochmal in die Software geschaut habe, ist mir 
aufgefallen, dass ich von den anderen 3 Slave's (ebenfalls MAX31865) 
noch gar nicht die SS/CS Leitungen initialisiert hatte. Dummer Fehler. 
Aber zum Glück noch gefunden.

Ich hoffe das dieser Thread dennoch anderen behilflich sein kann, die 
ebenfall dieses Problem haben :-D

von Lothar M. (lkmiller) (Moderator) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Bruce schrieb:
> Jedoch zieht der Slave die Datenleitung nicht richtig auf LOW/GND.
Klassische Buskollision.

Bruce schrieb:
> dass ich von den anderen 3 Slave's (ebenfalls MAX31865) noch gar nicht
> die SS/CS Leitungen initialisiert hatte.
Und das Problem dabei war dann, dass dann einer oder alle anderen 3 
Slaves ebenfalls aktiv auf den Bus (hier die MISO-Leitung) getrieben 
haben. Merk dir das Bild, es hat meist immer die selbe Ursache.
Alternativ könnte ein Kurzschluss zu einem anderen Ausgangs-Pin 
ebenfalls ein solches Oszi-Bild bringen...

von Arduino Fanboy D. (ufuf)


Bewertung
0 lesenswert
nicht lesenswert
Bruce schrieb:
> ist mir
> aufgefallen, dass ich von den anderen 3 Slave's (ebenfalls MAX31865)
> noch gar nicht die SS/CS Leitungen initialisiert hatte. Dummer Fehler.

Mit Hardware-Pullups auf den CS Leitungen hätte das Bild anders 
ausgesehen...

Diese Pullups habe ich mir angewöhnt. Dann machts auch keine Probleme 
beim Flashen(AVR ISP)

von Bruce (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Lothar M. schrieb:
> Und das Problem dabei war dann, dass dann einer oder alle anderen 3
> Slaves ebenfalls aktiv auf den Bus (hier die MISO-Leitung) getrieben
> haben.

Genau das war das Problem.

von Bruce (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank für die Tipps! :-)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.