SPI haut nicht immer hin

Gast #2121008
Lesenswert?

Moin!
Ich habe draussen eine Schaltung, auf der ein SPI Bus drauf ist.
Das ist so eine Art Temperatur-usw.Messung.
Die Daten werden nach Hause per Can-Bus übertragen.

Bis jetzt hat alles prima funktioniert (seit November).

Seit dem es draussen warm geworden ist, läuft die Schaltung nicht 
stabil.
Die SPI Kommunikation zwischen Atmega8 und dem MCP2515 schein nicht ganz 
ok zu sein.
Die Daten kommen MANCHMAL an MCP fehlerhaft an, so dass der MCP2515 
nicht darauf reagiert.
Wenn ich das Gehäuse abkühle läuft alles wieder.

Der MCP läuft mit 16Mhz (can-Geschwindigkeit ist 100kb/s), Atmega8 läuft 
mit 8Mhz.
SPI bus ist als Hardware SPI konfiguriert. Clockrate = 16. Das heisst 
die SPI-Bus-Geschwindigkeit 8Mhz / 16.
Habe es schon langsamer probiert (Clockrate = 32 usw.) bringt aber 
nichts.

Kann das sein, dass die Quarzfrequenz von 4,8,16 usw. Mhz für den 
SPI-Bus nicht so optimal ist?
Wie zum Beispiel beim RS232. Da gibt es auch Quarzfrequenzen, die für 
die saubere Übertragung besser passen als die anderen.

Danke schön

Marc
Gast #2121290
Lesenswert?

Hi, SPI ist synchron, wie spess53 schon sagt. Gute oder schlechte 
Frequenzen gibt es nicht, nur zu hohe oder zu niedrige. Der 16MHz-Quarz 
am MCP2515 hat nichts mit dem SPI zu tun, sondern nur mit dem CAN.
Signalstärke ( Pegel ) könnte noch ein Grund sein bzw. 
Signalanstiegszeiten. Zudem kann es zu Signallaufzeitverzögerungen 
kommen, die bei bestimmten Temperaturen gerade noch passen, bei anderen 
nicht mehr. Oszi dran und das SPI-Protokoll anschauen. Auf richtige 
Programmierung der steigenden und fallenden Flanke der Daten zu Clock 
achten.

Gruß

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