Kommunikationsprobleme ueber SPI

Gast #2271553
Lesenswert?

Hallo liebe Gemeinde,

ich betreibe gerade zwei Atmega32, welche ueber SPI miteinander 
verbunden sind. Einer fungiert als Master, der andere als Slave. 
Initialisiert gemaess Atmel-Datenblatt. Getaktet werden die Chips ueber 
einen (Parallelabgriff) Quarzoszillator mit 16 MHz.Die Kommunimation 
erfolgt nur vom Master zum Slave.

Ich habe nun das Problem, dass eine stabile Kommunikation einfach nicht 
zu Stande kommt. Offenbar geht ein guter Teil der Daten beim Transport 
verloren, resp. wird nicht ordnungsgemaess erkannt. Gesendet werden 
immer 2 Byte in Folge. Zur Zeit zum Test in einem Abstand von 500 ms.

Wenn ich Glueck habe, so kommt jede 4. Bytedoublette auch an. Das 
Erkennen der Daten erfolgt aber nicht zyklisch. Der Spi-Takt entspricht 
einem 128tel von FCPU. Eine saubere Erkennung sollte somit eigentlich 
moeglich sein. Die eingehenden Bytes werden nach ausgeloestem 
SPI-Interrupt sofort im Slave ausgelesen und in ein kurzes Array 
abgelegt. Timingprobleme sollten nicht bestehen.

Hat einer von Euch einen Tipp, wie dieses Problem zu loesen sein 
koennte? Uber den UART konnte ich eine solche Kommunikation bereits 
recht stabil realisieren. Dieser Weg steht aber im aktuellen Projekt 
nicht mehr zur Verfuegung.

Mit Gruss

Mike
#2271563
Lesenswert?

Ich muss Lars zustimmen, zeig mal her deinen Code, und am besten 
ungekürzt!
Und mach auch mal ein, zwei Fotos von deinem Aufbau, vllt stimmt ja da 
irgendwas nicht (Kabellänge, Störeinflüsse, Wackelkontakte). Wir können 
nur Tips geben wenn wir auch bescheid wissen!

Informier uns!

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