Hardware-Encoder für NeoPixel (WS2812)

Aus Hackerspace Bielefeld Wiki
Zur Navigation springen Zur Suche springen


Dieses Projekt ist in seiner Entstehung begriffen und wird mit der Zeit erweitert! Bei Fragen oder Anregungen bitte auf meiner Diskussionsseite melden!

Projektbeschreibung

Ziel dieses Projektes ist es, eine Schaltungsbeschreibung in VHDL für einen WS2812(b) Encoder zu erstellen. Das Protokoll der WS2812-Controller ist relativ einfach, stellt jedoch einige Anforderungen an das Timing und ist daher hakelig auf Mikrocontrollern, gerade kleineren, zu implementieren.

Der Grundgedanke ist nun, eine gut unterstützte Schnittstelle an einem beliebigen Mikrocontroller zu nutzen, z.B. UART oder SPI, um die Daten zu den Konverter zu schicken, der dann den passenden Datenstrom an die NeoPixel schickt.

Einleitung

Hier geht es um Vorüberlegungen zu dem Hardware-Encoder. Taktraten, Timings und die Codierung des WS2812 werden betrachtet.

Hardware

In diesem Abschnitt geht es um die zu beschreibende Hardware, Features, Schnittstellen und Blockdiagramme. Unterkapitel widmen sich den einzelnen Schaltungsblöcken im Detail.

UART

Dieses Kapitel ist der seriellen asynchronen Kommunikation gewidmet. Hier geht es um das Protokoll sowie die Implementierung eines entsprechenden Schnittstellenmoduls.

SPI

Im Gegensatz zum UART befassen wir uns hier mit synchroner Datenübertragung und der Implementierung des passenden Moduls.

VRAM

LED-Encoder

Ablaufsteuerung

Bussteuerung

Protokoll und Software