Hallo, nur mal so aus Interesse eine Frage an diejenigen die WS2812 Strips mit MSP430 betreiben. Ich benutze einen MSP430G2955 und paar WS2812B Strips. Die Ansteuerung basiert auf einer Vorlage von https://github.com/mjmeli/MSP430-NeoPixel-WS2812-Library. Frequenz ist ca. 16 MHz mit DCO. SW wir mit CCS erstellt in C. Es funktioniert einwandfrei, nur stimmt das Timing eigentlich nicht zum Datenblatt des WS2812. Die T0H und T1H Zeiten stimmen, aber T0L und T1L sind viel zu lange. Was eigentlich heisst, dass der MC nicht richtig nachkommt mit der Lieferung der nächsten Daten. (siehe Bild) Ist das nur bei mir so und habe da was übersehen oder ist das halt so?
Verwendest du das Library der eUSCI im MSP430? Aufpassen, den im Errata stehen genau in Bezug dessen Probleme. led_r schrieb: > Ist das nur bei mir so Nein das ist so wenn man die Bug's nicht berücksichtigt ;-) also sprich, "Wer liest den schon das Errata ?" Mann kann dies Wegoptimieren, braucht einfach etwas "Feinarbeit" in der Software. Hat übrigens damit zu tun das die Software teilweise im Cache abläuft, weil das Flash im MSP430G2955 zu langsam ist ;-) Da den Prg-Teil ins RAM Kopieren und dort ablaufen lassen wen möglich, hilft ;-) Aber wenn es Läuft, mein Rat: Never touch a running System 73 55
:
Bearbeitet durch User
led_r schrieb: > aber T0L und > T1L sind viel zu lange. Egal, die dürfen solange low sein, wie du Zeit hast (je nach Version) bis der Reset eintritt.
led_r schrieb: > Es funktioniert einwandfrei, nur stimmt das Timing eigentlich nicht > zum Datenblatt des WS2812. Die T0H und T1H Zeiten stimmen, aber T0L und > T1L sind viel zu lange. Aufpassen, das Datenblatt spricht von Min- und Maxwerten. Das macht den kleinen aber feinen Unterschied.
Danke für die beiden Hinweise. Teo D. schrieb: > Egal, die dürfen solange low sein, wie du Zeit hast Nach Datenblatt darf TH+TL aber 1,25us +- 600ns sein. Egal , hauptsache es funktioniert zuverlässig.
Jester schrieb: > Aufpassen, das Datenblatt spricht von Min- und Maxwerten. Das macht den > kleinen aber feinen Unterschied. Bei V1 "spricht" das auch von 50µs Reset-Time, in Wahrheit sinds aber nur 5µs....
led_r schrieb: > Teo D. schrieb: >> Egal, die dürfen solange low sein, wie du Zeit hast > > Nach Datenblatt darf TH+TL aber 1,25us +- 600ns sei Wenn die low Zeiten ein max. limit hätten, gehe immer das letzte bit verloren.... > Egal , hauptsache es funktioniert zuverlässig. So auch bei relativ lahmen µCs. :)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.