(gelöst) Bytes und Bits mit richtigem Timing senden / LPD1101

Hallo,

ich bemühe mich immer noch um Kontakt zum LPD1101...

Der bisherigen Stand habe ich in englisch hier dargelegt: http://arduino.cc/forum/index.php/topic,150660.0.html

Jetzt gibt es - dank des Forums - schonmal ein Datenblatt auf chinesisch, Auszug aus der Übersetzung:

"Zunächst in der 32-Bit '0 'als Start-Frame, und zog dann nach dem jeweiligen Datenrahmen verschoben, sind die Start-Frame und Datenrahmen hohen Erste Bit verschoben ist, jedes Datenbit in der ansteigenden Flanke des DCLK brechen; ein Datenrahmen, der dem Abstand bewegt, um ein Ende LED-Leuchten, deren Format umfasst ein 1-Bit Startbit '1 '+ drei Gruppen von 5 Bits Grauwert; sequentiell verschobenen Nach jedem Punkt der Daten, plus den zusätzlichen Impuls entsprechenden Punkte, begann neue Daten zu übernehmen. Der DCLK schnellsten bis zu 25MHz." :astonished:

Forumsmitglied johnwasser hat das so interpretiert: "Sounds like you send 32 0's followed by a data frames of a 1 and three sets of 5 bits for Red, Green, and Blue."

Kann damit jemand etwas anfangen? Den Clock Pin in niedriger Geschwindigkeit periodisch an- und auszuschalten traue ich mir gerade noch zu, aber dann synchron dazu Bytes und Bits im richtigen Takt an den Dateneingang zu schicken überfordert mich völlig. Ich weiß nichtmal, was da die relevanten Suchbegriffe wären...

Hat jemand eine Idee für einen Ansatz?

Abgesehen von der SW Seite: Ist elektrisch mit Erfolg zu rechnen, an einen mit 12V betriebenen 1101 5V Signale zu senden? Ich habe noch einen Rest Hoffnung, dass das Teil kompatibel zu einem der von FastSPI unterstützten Chipsätze ist. Angeblich soll der LPD6803 gleich funktionieren, vielleicht habe ich "nur" ein Pegelproblem?

Beste Grüße, Helmuth

Helmuth:
ich bemühe mich immer noch um Kontakt zum LPD1101...

Soll dieser neue Chip nicht der Nachfolger eines anderen Chips sein, für den es eine ältere Arduino-Library gibt:

Ist die Library nicht mehr kompatibel zum Nachfolger-Chip?
(Abgesehen davon, dass die 2 Jahre alte Library vermutlich für Arduino-Versionen ab 1.0 eine kleine Anpassung benötigen würde.)

Hi jurs,

jurs:
Soll dieser neue Chip nicht der Nachfolger eines anderen Chips sein, für den es eine ältere Arduino-Library gibt:
arduino-libraries/LPD6803_RGB_Pixels at master · johnmccombs/arduino-libraries · GitHub

das weiss ich nicht, aber was ich weiss ist, dass FastSPI den 6803 unterstützt und da passierte bei meinem Test bisher leider gar nichts.

Kann das Problem elektrischer Natur sein?

Ist elektrisch mit Erfolg zu rechnen, an einen mit 12V betriebenen 1101 5V Signale zu senden?

hi,

The LPD1101 protocol is 32 bits of 0, then for each led a 1 bit, followed by 3 sets of 5 bits for red, blue, and green for each led – or 16 bits total per rgb led. This is somewhat similar to the LPD6803 protocol, actually.

von dieser seite:

http://waitingforbigo.com/2011/11/28/another-quick-library-update/

irgendwie steht dort, es geht mit dem LPD6803 protokoll, aber so ganz les' ich das nicht heraus...

gruß stefan

Ist elektrisch mit Erfolg zu rechnen, an einen mit 12V betriebenen 1101 5V Signale zu senden?

Wenn der Chip wirklich mit 12V betrieben wird, ist eine Ansteuerung mit 5V Signalen wahrscheinlich sinnlos. Hast Du den Chip auf einem LED Strip? Wenn ja, sieht man, wie er verdrahtet ist?

Hast Du's schon versucht, mit einem Transistor oder MOSFET die Clock- und Datenleitung auf die 12V hochzuziehen?

Hi pylon,
ich habe mal 3 Durchlichtaufnahmen gemacht, mehr sieht man in echt mit dem Auge auch nicht...die Bilder sind von einem Segment des Strips: links, Mitte, rechts (leichte Überlappungen der Bilder)

Nein, Ansteuerung mit 12V habe ich noch nicht versucht. Gibt es einen Link/Quelle zur Beschaltung/Dimensionierung der Mosfets und Widerstände? Mehr als ein abgetrenntes Element zu "verbraten" kann ja nicht schiefgehen...

Beste Grüße

P.S.: 3. Bild im nächsten Posting.

edit: das Teil links neben der ersten LED sieht für mich so aus:
https://www.google.com/search?q=smd+z-diode&oe=utf-8&aq=t&rls=org.mozilla:de:official&client=firefox-a&um=1&ie=UTF-8&hl=de&tbm=isch&source=og&sa=N&tab=wi&ei=Oa8rUeXsJIWUtQb0yICIDQ&biw=1024&bih=536&sei=Pq8rUdnsE8nBswbo8IHYBw

Eine Z-Diode? Spannungsbegrenzung? Zum Schutz des 1101? Kann ich jetzt raten, auf welcher Spannung der 1101 wirklich läuft?

(schon wieder danke @uwefed.)

Das Datenblatt (http://www.dzsc.com/uploadfile/company/123460/2010118175536963.pdf) ist zwar nur auf chinesisch, aber die wenigen für mich lesbaren Zeichen deuten darauf hin, dass der Chip mit 3-8V und nicht mit 3-15V wie die LEDs betrieben wird. Somit sollte eigentlich der Arduino-Ausgang genügend Spannung liefern.

Wenn Du mit FastSPI_LED und LPD6803 ein Stück ansteuerst, bleibt die LED dunkel oder sind einfach die falschen Farben zu sehen?

Hi an alle,

in einem Anfall von akuter Verzweiflung habe ich es nochmal mit

 FastSPI_LED.setChipset(CFastSPI_LED::SPI_LPD6803);

versucht und vorsätzlich Daten- und Clockleitung vertauscht...

Es funtioniert. ES FUNKTIONIERT!

Da muss man erstmal drauf kommen, dass am Strip "C" nicht Clock, sondern Data meint und "S" nicht Serial, sondern Clock...

Ich fasse zusammen: Der LPD1101 ist von der Ansteuerung her voll kompatibel zum LPD6803, funktioniert mit jedem Wert für FastSPI_LED.setDataRate() und kann eine Farbtiefe von 3 mal 5 Bit.

Danke für alle Unterstützung!

MfG Helmuth