Бесполезная WS2815
Jan. 3rd, 2021 03:25 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Купил я не так давно на али, чтобы поиграться, 1 метр ленты на WS2815 (60 штук). Сегодня закинул пример на гитхаб — перелив ленты "радугой" (довольно долго пытался "экономить" память, выделяя на цвет не uint32_t, а uint8_t в формате VVRRGGBB, но получилось черт-те что, поэтому сдался и сделал на uint32_t). "Радуга" в формате HSV с изменяющимся значением H (дискрет от 0 до 359).
Но вот сделать что-то серьезное на такой светодиодной ленте нельзя, к сожалению. Дело в крайне низкой скорости передачи данных: на один светодиод уходит аж 24мкс! Т.е. несчастную миниатюрную панель на 10000 светодиодов придется заполнять целых 240мс! За такое огромное время глаз заметит мельтешение. Т.е. удел таких лент — рекламные панели, где текст либо демонстрируется статично, либо обновляется крайне редко (если делать обновление каждые 10-20с, то можно не обращать внимание на целую четверть секунды непонятной "вспышки"). Ну и третий вариант — сдвигать текст "в естественном направлении". В этом случае проблем с мельканием не будет, но появится проблема с мультиплексированием. И если 16 строк STM32 может потянуть (FSMC или на худой конец таймером пинать DMA, который будет загонять очередные 16 бит в ODR какого-либо регистра), то с 32 строками уже явно будет проблема (поди-ка найди МК с аж двумя регистрами, у которых абсолютно все пины выведены наружу). Да и себестоимость такой панели будет впечатляющая: если около 400р стоит 60 светодиодов, то можно посчитать, во сколько обойдется только светодиодная лента для панели 32×16 (такие монохромные панели у китайцев около 500р готовые стоят).
А еще спалил МК на "синей таблетке": видимо, где-то что-то в ленте замкнуло, и МК испустил волшебный белый дым, без которого работать уже не сможет…
Но вот сделать что-то серьезное на такой светодиодной ленте нельзя, к сожалению. Дело в крайне низкой скорости передачи данных: на один светодиод уходит аж 24мкс! Т.е. несчастную миниатюрную панель на 10000 светодиодов придется заполнять целых 240мс! За такое огромное время глаз заметит мельтешение. Т.е. удел таких лент — рекламные панели, где текст либо демонстрируется статично, либо обновляется крайне редко (если делать обновление каждые 10-20с, то можно не обращать внимание на целую четверть секунды непонятной "вспышки"). Ну и третий вариант — сдвигать текст "в естественном направлении". В этом случае проблем с мельканием не будет, но появится проблема с мультиплексированием. И если 16 строк STM32 может потянуть (FSMC или на худой конец таймером пинать DMA, который будет загонять очередные 16 бит в ODR какого-либо регистра), то с 32 строками уже явно будет проблема (поди-ка найди МК с аж двумя регистрами, у которых абсолютно все пины выведены наружу). Да и себестоимость такой панели будет впечатляющая: если около 400р стоит 60 светодиодов, то можно посчитать, во сколько обойдется только светодиодная лента для панели 32×16 (такие монохромные панели у китайцев около 500р готовые стоят).
А еще спалил МК на "синей таблетке": видимо, где-то что-то в ленте замкнуло, и МК испустил волшебный белый дым, без которого работать уже не сможет…