74HC595 для 8266 через его I2S + DMA

Пользовательские блоки для подключения различных микросхем в Ардуино, таких как АЦП, ЦАП, расширители входов-выходов и прочие
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Ответить
lfgjikjjyj
Лейтенант
Сообщения: 393
Зарегистрирован: 27 мар 2025, 12:13
Имя: Коля
Поблагодарили: 110 раз

74HC595 для 8266 через его I2S + DMA

Сообщение lfgjikjjyj »

На версии 9.7.1

2026-08-11_160528.png

74HC595_PRO_(I2S)_8266_mas_(Code_-_Professional).ubi
Показать
-- Выбор частоты тактирования
-- Режим Статический массив непрерывно
-- Массив на 4 каскада максимум

Обычный SPI, чтобы работал, нужно каждую транзакцию «пинать» в лупе, как я рассказывал ранее. И этот луп может быть длиннее или короче, от чего могут появляться дырки, если длина лупа превысит длину транзакции, как показано тут: дырка в 45 мкс при транзакции в 8 мкс.
Logic_12.png

Но можно, если необходимо на то, воспользоваться и звуковой периферией, у которой есть DMA, и закольцевать её, положив туда массив данных: тогда дырка в 100 мкс ничего не делает передаче — она живёт теперь своей автономной жизнью.
Logic_14.png

Суть работы блока: он всегда тактирует линию, но только каждые 32 бита срабатывает пин, который используем как защёлку. И, как уже все поняли, транзакция будет максимум на 4 каскада, итого 32 пина на расширение.

Из минусов:
- неактивен UART (прошиваться будет).
- всего 4 каскада.

Пины испоьзуем:
2026-08-11_164453.png

Результаты:
2026-08-11_164943.png

На статике 100% свободы у лупа.
Выше 101000 с измерителем не выдаёт тут.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Ответить

Вернуться в «Микросхемы расширений»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость