Forum: Mikrocontroller und Digitale Elektronik Kommunikationsprobleme ueber SPI


von Mike (Gast)


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

von Falk B. (falk)


Lesenswert?

Zwischen den zwei Bytes braucht man eine relativ lange Pause. Probier 
mal 1ms oder so.

MfG
Falk

von Lars (Gast)


Lesenswert?

Hallo Mike!

Jetzt haben wir das Glaskugelproblem. Wir brauchen schon den Quellcode.

Gruß,

Lars

von Leo B. (luigi)


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!

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.