Как работает WS2812b

Каждый модуль WS2812b представляет собой сложное устройство, в котором имеется три светодиода красного, синего и зелёного свечения, а самое главное — специализированная микросхема.

Адресный светодиод ws2812b

Перед нами корпус известного светодиода типоразмера 5050, внутри которого виднеется большой черный прямоугольник — микросхема. Вот еще снимок самого чипа под микроскопом.

Адресный светодиод ws2812b

Существует несколько типов адресных светодиодов. Они отличаются размером корпуса и особенностями чипа. В более старых моделях светодиод и микросхема монтировались на печатной плате раздельно. В этом случае применялся обычный RGB светодиод, например, всё тот же 5050.

Как работает адресный светодиод?

На самом деле, микросхема ws2812b представляет собой доработанный сдвиговый регистр. В уроке про регистры мы подробно описывали его работу. Раз это регистры, мы можем соединять их в цепочку, создавая массивы светодиодов всего с одной линией данных. Но у WS2812b есть и очень важные отличия от обычных сдвиговых регистров, которые кроются в особом алгоритме прохождения данных в цепочке.

Алгоритм протокола ws2812b для нескольких соединенных светодиодов выглядит следующим образом:

  1. контроллер отправляет 3 байта, кодирующих цвет первого ws2812b;
  2. первый ws2812b в цепочке принимает цветовой код и на его основе генерирует ШИМ сигнал для каждого из RGB светодиодов;
  3. затем первый светодиод соединяет вход с выходом, чтобы данные проходили через него без изменений;
  4. контроллер отправляет 3 байта для следующего светодиода;
  5. данные свободно минуют первый светодиод и поступают на второй
  6. и так далее, пока контроллер не сделает паузу 50 мкс, после которой первый светодиод готов будет вновь принимать новый цвет.

То есть, в отличие от сдвиговых регистров, каждая микросхема ws2812b в цепочке умеет фиксировать предназначающийся именно для неё код цвета и держать его сколько угодно долго, пока не появится новый код.


Изменено:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.