Forum: Mikrocontroller und Digitale Elektronik Ltc6813 - Kommunikation über Ltc6813 mit Spi Device


von KeinName (Gast)


Angehängte Dateien:

Lesenswert?

Guten Abend zusammen,

ich habe folgendes Problem. Ich nutze einen Ltc6813, welcher über ISO 
Spi an meinen µC angebunden ist. Ich möchte den Spi Tunnel des Ltc6813 
nutzen, um mit einem Spi Device zu kommunizieren. Beim Lesen der Daten 
von dem Device bekomme ich aber Probleme, da mir nicht ganz klar ist 
welchen Befehl ich verwenden muss. In meiner Anwendung werden immer 4 
Bytes gesendet.

Meine Daten baue ich folgendermaßen auf.
1. Byte (schreiben): ICOM = 1001 (Falling Edge), FCOM = 1000 (CSBM Low)
2. Byte (schreiben): ICOM = 1000 (CSBM Low), FCOM = 1000 (CSBM Low)
3. Byte (lesen): ICOM = 0 (Blank), FCOM = 1000 (CSBM Low)

Diese drei Bytes werden versendet. Danach baue ich das zweite 
Datenpaket:

1. Byte (lesen): ICOM = 0 (Blank), FCOM = 1000 (CSBM Low)
2. Byte (beenden): ICOM = 1111 (No Transmit), FCOM = 1001 (CSBM High)
3. Byte (beenden): ICOM = 1111 (No Transmit), FCOM = 1001 (CSBM High)

Bei dem ersten Lesebefehl kommt es allerdings schon zu einem Fehler. Es 
werden immer 9. Clocks erzeugt, womit die Daten alle um 1 Bit verschoben 
sind. Dies passiert immer nur beim Lesen. Anbei zwei Grafiken die das 
Problem verdeutlichen.

https://www.analog.com/media/en/technical-documentation/data-sheets/ltc6813-1.pdf

von Darth Moan (Gast)


Lesenswert?

Moin,

KeinName schrieb:
> 1. Byte (schreiben): ICOM = 1001 (Falling Edge), FCOM = 1000 (CSBM Low)
> 2. Byte (schreiben): ICOM = 1000 (CSBM Low), FCOM = 1000 (CSBM Low)
> 3. Byte (lesen): ICOM = 0 (Blank), FCOM = 1000 (CSBM Low)

Also in meinem Manual steht da aber das CSBM Falling Edge ein 1010 ist.
Ferner ist BLANK (0000) ein I2C Kommando.
Kann es sein, dass du SPI und I2C mischst und daher die Grütze raus 
kommt?

Ich habe die I2C/SPI Sachen nie selbst benutzt. Daher bin ich da nicht 
wirklich Flachmann für.

von KeinName (Gast)


Lesenswert?

Darth Moan schrieb:
> Ferner ist BLANK (0000) ein I2C Kommando

Vielen Dank, da war das Problem. Ich musste nur den CSB Low Command 
nutzen und als Daten 0xFF senden damit es funktioniert. Bei CSBM Falling 
Edge hatte ich mich nur verschrieben.

Also nochmal, vielen Dank und einen schönen Abend noch.

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.