Forum: Mikrocontroller und Digitale Elektronik SPI haut nicht immer hin


von Brumme (Gast)


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

von spess53 (Gast)


Lesenswert?

Hi

>Kann das sein, dass die Quarzfrequenz von 4,8,16 usw. Mhz für den
>SPI-Bus nicht so optimal ist?

Nein. SPI ist ein synchroner Bus. Der Master gibt den Takt an.

MfG Spess

von Brumme (Gast)


Lesenswert?

ok.
Was kann dann das Problem sein?
Gruss

von Max (Gast)


Lesenswert?

Vielleicht verstimmt die Temperaturerhöhung den Oszillator vom mega 
(welche clocksource nimmst du jeweils ?)...

von Niemand (Gast)


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ß

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.