Forum: Mikrocontroller und Digitale Elektronik LED-Treiber SCT2024 verhält sich anders als erwartet


von Markus (Gast)


Angehängte Dateien:

Lesenswert?

Guten Abend liebe Forengemeinde!

Ich verwende in einem größeren Hobbyprojekt die SCT2024 LED-Treiber, um 
mehrere RGB-LEDs anzusteuern.
Beim Betrachten des Datenblatts 
(http://www.starchips.com.tw/pdf/datasheet/SCT2024V01_03.pdf) war ich 
der Meinung, dass sich diese ICs doch via SPI ansprechen lassen müssten, 
d.h.
SDI = MOSI (von uC aus gesehen),
CLK = SCK,
/LA = /CS,
und eben noch dem OutputEnable-Pin.

So hab ich's mir jedenfalls gedacht.
Was aber tatsächlich reproduzierbar geschieht, ist dass beim Anschalten 
der LED am z.B. OUT15-Pin des ersten Treibers, von allen Treibern der 
OUT15-Pin aktiviert bzw. die LED an diesen Pins angeschalten wird.
Angehängt habe ich eine Messung mit meinem USB-Logicanalyzer.

Da der Schaltplan einige Seiten umfasst, möchte ich ihn ungern hier 
anhängen, nur so viel:
Der Mikrocontroller ist ein STM32F030C6T6 mit Standard-Randbeschaltung, 
die Treiber als auch der uC werden mit 3.3V von einem Linearregler 
versorgt (gepuffert jeweils an den Pins mit einem 100nF-Kerko).
Die Treiber hängen alle mit ihren SDI/CLK-Pins am uC (SCK, MOSI) und 
jeweils seperat mit ihren /LA-Pins an einem uC-Ausgang) und sind somit 
auch nicht kaskadiert verschalten oder Ähnliches.

Ich vermute hier einen Denkfehler von mir beim Verständnis dieses ICs, 
falls ich damit richtig liege, könntet ihr mich da bitte aufklären, wo 
mein Fehler liegt?

Grüßle & Danke im Voraus für die Antworten!

von Teo D. (teoderix)


Lesenswert?

/LA != /CS

Mit /LA wird der Inhalt des Eingangsregisters in das Ausgangsregister 
übernommen.

von Markus (Gast)


Lesenswert?

Hi,
aber dann dürfte doch gar nichts bei den anderen Treibern passieren, da 
das Eingangs- nicht ins Ausgangsregister übernommen werden sollte (die 
anderen LA's sind ja auf High-Pegel), oder sehe ich da etwas falsch?
Dass der Vergleich des LA-Pins mit einem CS-Pin falsch war, sehe ich 
aber ein, danke hierfür!

von Teo D. (teoderix)


Lesenswert?

Viel Prosa ;)

Deine SCT2024 hängen also Parallel, nicht hintereinander, wie's 
eigentlich gedacht ist!?
Haben die auch alle jeweils einen 100nF?
Nach Einschalte/Reset erst mal alle Register Löschen, mit NULL 
Überschreiben!?


PS: Sorry, zu Faul das gesamte Dabla zu lesen :/

von Joe F. (easylife)


Lesenswert?

Markus schrieb:
> OUT15-Pin des ersten Treibers, von allen Treibern der
> OUT15-Pin aktiviert bzw. die LED an diesen Pins angeschalten wird.

Kann man prinzipiell so per SPI ansprechen.
Beachten muss man eben, dass der Treiber nicht wirklich CS/ kennt, d.h. 
man kann den SPI Bus nur für die LED Treiber nehmen, und nicht noch 
andere Bauteile anschließen.

Dass alle Out15 aktiviert werden liegt daran, dass du alle Treiber 
parallel angeschlossen hast und alle Schieberegister also den gleichen 
Inhalt haben.
Das zuerst gesendete Bit landet an Ausgang 15.
Du musst die LED Treiber kaskadieren (DOUT an DIN des nächsten, CLK und 
LA/ alle parallel), und dein Datenwort entsprechend länger machen (bei 2 
kaskadierten Treibern also 32 Bit rausschicken, bevor LA/ high wird).

: Bearbeitet durch User
von pitschu (Gast)


Lesenswert?

Die Latch Eingänge LA sind HIGH active und nicht edged triggered (also 
nicht auf steigende Flanke). Dal alle LAs HIHG sind übernehmen alle 
Register den gleichen Inhalt. Setz die LA2 und 3 auf LOW und es sollte 
gehen.

von Joe F. (easylife)


Lesenswert?

warum sollte man für jeden treiber ein eigenes LA signal bereit halten, 
wenn man einfach eine serielle kette mit einem LA signal bauen kann?

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.