Hallo, was haben die sich bei ST dabei gedacht? Irgendwie werde ich nicht schlau daraus. Sehe ich das richtig, dass man den CRC nicht nutzen kann und nur dann Sinn macht, wenn man große Datenmengen versendet? Der Master sendet permanent Daten raus und egal ob der Slave nun aktiv ist oder nicht rennt der CRC munter weiter. Das einzige um ihn zu deaktivieren ist den CRC Teil vom SPI aus zu schalten. Meine Frage ist nun, ob das hier jemand mal versucht hat zum laufen zu bringen. Jens
Jens schrieb: > Sehe ich das richtig, dass man den CRC nicht nutzen kann und nur dann > Sinn macht, wenn man große Datenmengen versendet? Wie kommst du darauf. Beim F7 ist es so, dass die ins SPI eingebaute CRC nur dann funktioniert, wenn die Frame-Length entweder 8 Bit oder 16 Bit ist. Das ist zwar eine kleine Einschränkung, aber so wild auch wieder nicht, da eine 10 Bit SPI in der Praxis eher selten vorkommen wird. Die Computertechnik basiert nun mal weitgehend darauf, dass 1 Byte aus 8 Bit besteht. > Der Master sendet permanent Daten raus und egal ob der Slave nun aktiv > ist oder nicht rennt der CRC munter weiter. Das einzige um ihn zu > deaktivieren ist den CRC Teil vom SPI aus zu schalten. bzw. ihn erst gar nicht einzuschalten. Was stört dich daran? Irgendwie sehe ich dein Problem nicht. > Meine Frage ist nun, ob das hier jemand mal versucht hat zum laufen zu > bringen. Probiert noch nicht. Aber laut Datenblatt sollte das kein allzugrosses Problem sein. Willst du nun eine CRC oder willst du keine? Bzw. was viel wichtiger ist: wer hängt am anderen Ende der SPI-Strecke? Kann der mit einer übermittelten CRC etwas anfangen oder nicht bzw. generiert der seinerseits eine CRC oder nicht?
Hallo, also ich habe 2 gleiche Controller. Beides STM32F105 er. Master -> Slave leider CS nur über einen IO Pin den ich per Software nutzen kann (SSI Bit gesetzt im Control Register). Ich habs mir so vorgestellt, dass ich am Anfang der Übertragung (Daten an den Slave) die CRC Register leere und dann die Daten sende. Wenn ich nun das letzte Word (SPI im 16 Bit mode) übertrage setze ich das CRCNEXT welches auch übertragen wird. Jedoch greift das CRC Error Flag im SR scheinbar nicht oder nicht immer. Jens
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.