2 PIC18F4620 über SPI verbunden, Probleme

Gast #2202874
Lesenswert?

Hi,
ich habe 2 PIC18F4620 per SPI mit 100 KHz verbunden, ein Master, einen 
Slave.
Daten vom Master zum Slave funktioniert.
Aber die Daten vom Slave zum Master sind immer um 1 Bit verschoben !
Beider PICs laufen im gleichen SPI Modus, Clock Polarity und Clock Edge 
= 0.
Slave sendet z.B. Zahl 4, empfangen wird vom Master aber Zahl 2.
Also 1 Bit immer geht verloren.

Gruß Dirk
Gast #2208446
Lesenswert?

Hallo, wahrscheinlich habe ich die Ursache für das Problem gefunden, 
habe aber dafür ein noch größeres an der Backe…..

In meinem System sitzen mehrere verschiedene SPI slaves an dem Master.
Leider arbeiten die Slaves in verschiedenen Modi, es muss also die Clock 
Polatität und der Clock Ruhezustandspegel für jeden Slave angepasst 
werden.
Wenn ich jetzt zyklisch die Slaves anspreche, und jedes Mal vorher den 
SPI disable, CKE und CPE anpasse, dann wieder SPI enable, passiert 
folgender Efekt:
Habe ein Oszi an die Clock Leitung angeschlossen.
Der erste der 8 Clock Impulse ist deutlich kürzer (Zeit) als die anderen 
7.
Er verändert auch ständig seine Impulszeit, manchmal ist es nur ein 
Nadelimpuls. ?????
Deshalb wird das Datenbyte um 1 Bit verschoben, weil der erste Clock 
Impuls vom Slave nicht erkannt wird.

Wenn ich nur einen Slave anspreche, ohne den SPI umzukonfigurieren, ist 
der Fehler weg.
Hat jemand einen Erklärung hierfür ?
Gruß Dirk
Gast #2882116
Lesenswert?

Hallo,
also die Probleme sind mittlerweile behoben.
Es lag an einer zu langen verzweigten SPI Clock Leitung.
Wahrscheinlcih traten Reflektionen auf.
Habe die Flankenseilheit durch einen Kondensator am Master reduziert.
LG Dirk

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