Forum: Mikrocontroller und Digitale Elektronik LTC6802-2 Soft SPI


von JRE (Gast)


Lesenswert?

Hallo,

ich kämpfe seit einigen Tagen mit einem LTC6802, den ich in einem 
Elektrofahrzeug als BMS einsetzen möchte. Mit dem Chip möchte ich alle 
12 Zellspannungen lesen und die Transistoren für das Balancen mit einem 
AtMega schalten.

Ich muss für meine Kommunikation eine Soft SPI Schnittstelle verwenden. 
Dazu kommt noch, dass alle Signale durch Optokoppler invertiert werden. 
Dennoch bin ich so weit, dass ich mit dem 6802 Daten austauschen kann.

Nun zu meinen Problemen:

Wenn ich den Befehl zum Starten der A/D Wandlung sende (0x10), sehe ich 
am SDO vom LTC, dass dieser für ca. 20 ms Low gezogen wird. Danach fängt 
er an mit 1khz zu Takten, bis ich den CS wieder auf high setzte. So soll 
es dem Datenblatt nach auch sein. ca. 30 ms, nach dem Start der A/D 
Wandlung sende ich die Adresse (0b1000 0000) und den Befehl zum lesen 
aller 12 Zellspannungen (0x04) an den 6802. Seltsamer weise fängt der 
LTC dann wieder an mit 1 khz den SDO zu Takten, anstatt mir die Daten 
auf den SDO zu legen.

Dann habe ich mal versucht, ob die GPIOs funktionieren. Nach dem 
Einschalten kann ich zwischen Vreg und den GPIO1 und GPIO2 5V messen. 
Dann habe ich in das Config Register[0] 0100 0110 geschrieben. Dadurch 
sollte GPIO als Eingang geschaltet werden und man sollte zwischen Vreg 
und GPIO1 keine Spannung mehr messen können. Es ist aber noch immer 
zwischen beiden GPIO und Vreg 5V zu messen. Erst wenn ich beide GPIO 
Bits auf 1 setze (Config[0] = 0b0110 0110) sind zwischen Vreg und beiden 
GPIO noch 0V.

Ich kann das Config Register auch richtig zurück lesen. Im Config[0] ist 
WDT immer logisch 1. GPIO1 und GPIO2 sind immer logisch 0. die Anderen 
Bit entsprechen immer dem, was ich vorher rein geschrieben habe.

Als weiteren Test habe ich in dem Config[1] Register einige Bits auf 1 
gesetzt. Dadurch sollten die Zellen gebalanced werden. Das wird auf der 
Platine durch LED an gezeigt. Das funktioniert leider auch nicht. Beim 
Rücklesen vom Config[1] sehe ich die gesetzten Bits immer noch richtig.

Die Kommunikation läuft also Grundsätzlich. Nur das Verhalten mit den 
GPIO Pinen und dem Rücklesen der Zellspannungen kann ich mir nicht 
erklären.

Hat da vielleicht noch jemand eine Idee?

von Paul H. (powl)


Lesenswert?

Ist zwar schon 4 Jahre her aber vielleicht kannst du mir erzählen, wie 
du das Problem gelöst hast. Mein LTC6802-2 z.B. zieht einfach nur SDO 
nach high aber taktet überhaupt nicht.

von Manuel Schütt (Gast)


Lesenswert?

Hallo an alle,

ich würde mich auch über eine Lösung freuen.
zu dem Thema:

Paul H. schrieb:
> Ist zwar schon 4 Jahre her aber vielleicht kannst du mir erzählen,
> wie
> du das Problem gelöst hast. Mein LTC6802-2 z.B. zieht einfach nur SDO
> nach high aber taktet überhaupt nicht.

Oder ob es eine möglickeit gibt den Chip auf funktionfähigkeit zu 
testen.

1000x dank schon mal im Voraus für ne Antwort.

Grüße Manuel

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.