У 2811, если не считать питания, фактически используется только один провод.
Светодиоды соединяются цепочкой - вход следующего - к выходу предыдущего.
Данные "выплевываются" блоками по три байта, по количеству светодиодов в цепочке.
Первый берет первую тройку байт. Остальные n-3 тупо транслирует на выход. Остальные аналогично выкусывают для себя первые дошедшие до них три байта данных, передавая "все что сверх" дальше по цепочке.
Для медленного режима 0 кодируется как лог.1 в течение 0.5мкс и затем лог. 0 в течение 2мкс, 1 кодируется как лог.1 в течение 1.2 мкс и затем лог. 0 в течение 1.3 мкс. Допустимая погрешность +-150нс.
Быстрый режим - те же тайминги деленные напополам.
После окончания вывода транслируется сигнал "сброс" (лог. 0 в течение 50 мкс и более).
Вот именно в этом месте и зарыта основная проблема. Тайминги достаточно жесткие.
Спасибо за обьяснение Посути можно использовать линию SDO в аппаратном SPI микроконтроллера
Получается в каждом байте информация о яркости конкретного цвета - 256 ступеней? Если так - то яркость регулируется линейно, или они еще туда ШИМ запихали? (с них станется)
А если не сложно можно на пальцах тоже самое для WS 2801, там вроде два провода данных. Просто у китаез готовые гирлянды по 50 шт. продаются
SDO, к сожалению, культурно использовать не выйдет.
Нет, можно, конечно, использовать аппаратный SPI ну, или, как вариант, UART для формирования необходимых временных диаграмм, но при этом для формирования одного бита выходных данных нужно будет использовать минимум 5 бит из байта данных отсылаемых через SPI/UART.
Впрочем, вполне можно реализовать формирование последовательностей для 0 и 1 аппаратно - внешней схемой. От одновибраторов до ПЛИС. Тогда SPI-ка будет вполне кстати.