mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Msp430F169 mit TLC5940 SPI problem


Autor: Reaktor Bai (reaktor85)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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.

Autor: Sebastian Eckert (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Nick (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.