Реализованные конфигурации

На данный момент у Tibbit-модуля #57 есть только одно применение:

Конфигурация контроллера умных светодиодов

В конфигурации для умных светодиодов Tibbit #57 может управлять цепочкой последовательно соединённых светодиодов SK6812RGBW. В SK6812RGBW есть небольшая микросхема, управляющая четырьмя встроенными излучателями красного, зелёного, синего и белого цветов. Яркость каждого из цветов задаётся одним из 256 уровней, то есть на один светодиод нужно четыре байта данных.

Умные светодиоды управляются по специальному однопроводному протоколу. У каждого светодиода есть выводы DIN (вход данных) и DOUT (выход данных). Вывод DIN первого светодиода в цепочке подключён к линии IO1 Tibbit-модуля с ПЛИС. DOUT первого светодиода подключён к DIN второго, DOUT второго - к DIN третьего и так далее.

Схема подключения умных светодиодов к Tibbit-модулю #57.

В конфигурации для умных светодиодов ПЛИС получает данные от процессора по SPI и сохраняет их в буфере данных размером 8,192 байта.

Как и во всех обменах по SPI, транзакция начинается, когда линия -CS переходит в LOW, и заканчивается, когда -CS переходит в HIGH. Установка -CS в LOW очищает буфер памяти ПЛИС и сбрасывает указатель буфера в 0 (первая позиция буфера). Каждый следующий байт данных, отправленный в ходе транзакции SPI, сохраняется в позиции буфера, на которую указывает указатель, после чего указатель увеличивается на единицу. Как только -CS переходит в HIGH, ПЛИС начинает отправлять данные из буфера в цепочку светодиодов.

Сигнал DONE (мультиплексированный с линией MISO) удерживается в LOW на время цикла обновления светодиодов, то есть DONE переходит в LOW, как только -CS переходит в HIGH. Сигнал DONE переходит в HIGH по завершении цикла обновления. Чтобы узнать состояние сигнала DONE, прочитайте линию DONE/MISO, пока линия -CS в HIGH.

Новую транзакцию SPI нельзя начинать, пока сигнал DONE в LOW.

Формат данных для транзакций записи SPI

Номер байтаMOSIMISO
1Уровень зелёного, светодиод N*---
2Уровень красного, светодиод N---
3Уровень синего, светодиод N---
4Уровень белого, светодиод N---
5Уровень зелёного, светодиод N-1---
6Уровень красного, светодиод N-1---
7Уровень синего, светодиод N-1---
8Уровень белого, светодиод N-1---
---------

Уровень зелёного, светодиод 2---

Уровень красного, светодиод 2---

Уровень синего, светодиод 2---

Уровень белого, светодиод 2---

Уровень зелёного, светодиод 1---

Уровень красного, светодиод 1---

Уровень синего, светодиод 1---

Уровень белого, светодиод 1---

* Номера светодиодов (N, 2, 1) соответствуют номерам на схеме выше.

Формат данных для транзакций чтения SPI

В этой конфигурации транзакции чтения не поддерживаются.

Пример проекта

Использование этого и других Tibbit-модулей «I²C/SPI» показано в группе тестовых проектов на Tibbo BASIC. Их можно найти по адресу http://tibbo.com/basic/resources/i2c_tibbits.html. Проект для умных светодиодов называется test_tibbit_57_sled.

Исходный материал Tibbo обновлён 12 сентября 2022Оригинал на docs.tibbo.com · Сообщить об ошибке