Forum: Mikrocontroller und Digitale Elektronik TLC9540 funktioniert nicht richtig. Blank verhält sich komsich


von M. Н. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen.

Für eine größere LED Matrix wollte ich einen TLC9540 zur Ansteuerung 
verwenden. DB unten verlinkt.
Um vorab den TLC ein wenig auszutesten, habe ich die Schaltung im Anhang 
schnell geätzt und aufgebaut.

Der Oszillator hat eine Frequenz von 20 MHz (laut DB okay).
Gesteuert wird das Ganze über einen AVR.

Testweise ist nur eine LED an Out0 angeschlossen. Versorgung der LED: 
5V, Versorgung TLC: 3,3V

Das Poti ist auf ca 800 Ohm eingestellt. Den Widerstandswert habe ich 
mit einem Multimeter überprüft. Natürlich ohne verbautes IC.

Nun zum Verhalten der Schaltung:

Ein AVR (mega 32) schreibt über SPI Daten in den TLC. Nach 24 Bytes (= 
12 bit * 16 Ausgänge) kommt auch das, was ich hineingeschrieben habe, 
wieder zum serial output heraus. Habe das mit einem nachträglich 
angelöteten Draht zum MISO des AVRs geprüft.

SPI scheint also zu funktionieren.
Nachdem ich Daten geschrieben habe, aktiviere ich den XLAT Pin für ca 1 
ms.

BLANK ist während der gesamten Prozedur 0 (hart auf GND verkabelt).

Es passiert: NICHTS. Habe zum Testen 24 Bytes 0xFF in den TLC 
geschrieben, was sämtliche Ausgänge aktivieren sollte, aber es passiert 
nichts.

Habe daraufhin versucht, den blank zu aktivieren während des Schreibens 
und erst nach dem Latchen der Daten den Blank wieder zu deaktivieren.

Dabei ist mir beim herumspielen aufgefallen, dass die angeschlossene LED 
leuchtet/flackert, wenn BLANK in der Luft hängt. Verkabele ich BLANK 
fest auf VCC bzw. GND ist die LED in beiden Fällen komplett aus.

Da mir der hohe Takt des Oszillators etwas suspekt war und der PWM 
Counter ja auch iwie mit dem Blank verbastelt ist im Chip, habe ich die 
Leiterbahn aufgetrennt und einen Funktionsgenerator mit 50 kHz 
angeschlossen. Das hat allerdings nichts verändert. Takt Signal sieht in 
beiden Fällen spitze aus.

Dinge die ich versucht habe:

* Neuen TLC9540. Habe noch 4 weitere ICs. Diese verhalten sich aber alle 
identisch
* Nachmessen der Spannungen mit Oszilloskop:
  * VCC sieht sauber aus. Wird von Labornetzteil gespeist.
  * Die Spannung am Referenzwiderstand beträgt, wie im DB angegeben 1,24 
V.

Stromaufnahme der gesamten Platine ist sehr unterschiedlich:
Der Oszillator zieht nur 1-2 mA. Insgesamt sind es mal 3 mA, aber auch 
mal 18 oder sogar 23 mA. Warm wird nichts. Auch hier ist das verhalten 
aller 5 ICs gleich.

Laut Datenblatt sollte der TLC, wenn Blank 0 ist, offene Ausgänge 
erkennen. Dazu schaltet er den open-drain Ausgang XERR. Diesen habe ich 
mit Pullup versehen und mal geschaut, ob dieser auf LOW geht. Unabhängig 
vom Pegel an BLANK war der Ausgang immer auf 1 durch den Pullup. Das ist 
schon etwas komisch, da alle Ausgänge bis auf den Out0 offen sind.

Habe natürlich die LED auch mal an andere Ausgänge gehalten, um zu 
sehen, ob sich was tut. Selbes Spiel: Mit floatendem Blank Pin 
flackert/leuchtet es, mit festem Pegel: nichts.

Kann mir jemand einen Tipp geben?
Ich stehe echt auf dem Schlauch. Habe das finale Design eigentlich 
fertig und will ungern alles redesignen, nur weil ich zu unfähig bin 
dieses IC zu verwenden.

Habe mir die ICs zum Testen aus der Bucht gekauft, da sich eine 
Mouser-Bestellung für die paar Teile nicht gelohnt hätte. Denkt ihr, 
dass es an einem billigen China-Klon liegen könnte?

Vielen Dank

Datenblatt: http://www.ti.com/lit/ds/symlink/tlc5940.pdf

von M. Н. (Gast)


Lesenswert?

Hallo zusammen.

Nach einiger Recherche und Testerei habe ich nun herausgefunden, dass 
der PWM Counter im IC nicht von selbst überläuft. Man muss also folglich 
nach jedem PWM Zyklus das Blank Signal setzen.

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.