Протокол для светодиодов ws2812b

Хоть светодиоды ws2812b называют адресными, но по факту они не адресуются. Данные передаются по цепочке друг за другом, по принципу вошел - вышел. Давайте рассмотрим по подробней протокол передачи данных светодиодов ws2812.

Управляющие пакеты светодиодам передаются по 3 байта или пакет из 24 бит, по одному байту на каждый цвет одного RGB светодиода. Первым в пакете передается байт данных для зеленого цвета, следующий байт для красного, и третий байт пакета предназначен для синего цвета. Направление передачи бит идет - от старшего к младшему. После каждого пакета должна быть выдержана пауза 50 мкс. Пауза больше 100 мкс воспринимается как окончание передачи. Длительность передачи одного бита ноля или единицы, должны быть равны 1.25 мкс. Бит логической единицы или ноля в свою очередь формируется из двух импульсов. Единица должна быть - высокий уровень длительностью 0.8 мкс и низкий уровень длительность 0.45 мкс. Логический ноль будет выглядеть следующим образом - высокий уровень длительностью 0.4 мкс и низкий уровень длительностью 0.85 мкс. Допускаются небольшие отклонения до 150 нс на импульс. На изображении все наглядно изображено.