Forum: Mikrocontroller und Digitale Elektronik Msp430F169 mit TLC5940 SPI problem


von Reaktor B. (reaktor85)


Angehängte Dateien:

Lesenswert?

Hallo, ich habe folgendes Problem: Ich will mit einem MSP430F169 und ICs 
(TLC5940) eine LED-Steuerung programmieren, das ganze über SPI bei dem 
die ICs per Kaskadierung der slaves geschaltet sein sollen. 
http://de.wikipedia.org/wiki/Bild:SPI_Kaskadierung.svg
Fürs erste habe ich einen Prototyp bei dem ich erst mal 1 IC zum laufen 
bekommen möchte.
Ich habe mich in den Datenblättern etwas schlau gemacht, habe dann ein 
Beispiel mit einem andern MSP und einem TLC5941 gefunden mit einem 
Assembler Code Beispiel.
http://focus.ti.com.cn/cn/lit/an/slva267/slva267.pdf
Da ich das Programm in C haben möchte (muss), habe ich das Beispiel mal 
soweit in C umgesschrieben: Code als Anhang!

Habe mit einem Logic Analyzer alle Ausgänge gecheckt und mit den Werten 
des Datenblatts zum TLC5940 abgeglichen. 
http://focus.ti.com/lit/ds/symlink/tlc5940.pdf
Die Daten die der MSP ausgibt hauen hin, das IC spricht aber noch nicht 
an und ich bekomme keinen Strom am Ausgang. Liegt das am falschen Takt?

Meine Fragen soweit sind:

Ist der Code so in Ordnung, habe ich etwas vergessen? Hat vielleicht 
jemand schon mal mit so einer Kombination gearbeitet? Habe noch nichts 
dazu gefunden.

Wie steuere ich dann später 2 oder mehrere ICs (später sollen es 16 
sein) an?

Bin dankbar für jede Hilfe.

von Sebastian Eckert (Gast)


Lesenswert?

Wie wäre es mit falschem Pegel? Takt verträgt so ein Schieberegister 
eine ganze Menge. Aber der MSP läuft mit 3.3V... der TLCxxxx auch?

von Nick (Gast)


Lesenswert?

Habe schon 3 bzw. 9 TLC5940 an einem ATMEGA32 zum Laufen bekommen.

Willst du die TLC's mit DC oder GS bestreiben?
Bisher läuft es bei mir nur mit DC, ist etwas einfacher.
Ich habe allerdings die Erfahrung gemacht, dass man auch ein Taktsignal 
an GSCLK anlegen muss, damit die LEDs im DC Mode nicht ausgehen.
Ansonsten läuft alles mit Software SPI (Code hier aus der Codesammlung) 
und 5V Pegel. Nutze TLC5940NT (DIP).
Die Kaskadierung von 9 TLC's funktioniert auch, aber mehr gehen noch 
nicht.
Messungen mit dem Oszi zeigen starke Störungen im Takt und auf der 
Masse. Schau am besten auch mal in das Datenblatt vom Entwicklungsboard 
von TI.
Dort werden noch mehr Kondensatoren zum Entstören benutzt, ausserdem 
wird noch ein IC zur Singalaufbereitung /-Verstärkung vor die TLC's 
gesetzt.

MFG
Nick

von Sebastian (Gast)


Lesenswert?

@Nick
Darf man fragen wie du die TLCs mit einem ATMEGA32 angesteuert hast?
Softwarelibs, wie hast du den Clock für den/die TLCs gemacht und wie sah 
(grob) die Verdrahtung aus?
Ich habe genau das vor bzw möchte ein projekt mit einem atmega32 (hab 
ich noch hier) nachbauen: 
http://www.brilldea.com/product_LEDPainter.html
Beste Grüße
Sebastian

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.