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