Как стать автором
Обновить
4
0.1
Ермаков Алексей @Solgo

Разработчик

Отправить сообщение
Собственно, оригинальный пост тоже написан очень коряво. Плохой перевод, сделанный человеком очень далеким от данной темы, усугубил ситуацию.
А я поддержу VT100. Например, если этот текст:
PFET вместо диода также используется, чтобы не использовать падение напряжения на диоде в 0,4В. Это важно, поскольку энергии от близкой к полному разряду батареи из 3 ячеек едва хватает для подсветки экрана ноутбука.

переложить на программирование, то это выглядело бы примерно так:
Адрес вместо данных также используется, чтобы не использовать лишние ячейки памяти при вызове функции. Это важно, поскольку памяти от близкой к полному исчерпанию ОЗУ из 256 ячеек едва хватает на обслуживание основной программы.

Мне кажется подобные публикации у специалиста вызывают зубную боль, а у новичка — головную.

На STM32 DMA цикл записи в порт из памяти занимает 10 тактов системной шины: DMA мифы и реальность. Так что можно прикинуть, какая должна быть тактовая частота у микроконтроллера. На дешёвых STM32, точно не взлетит.

Странно вы как-то считаете, за 0.2 мкс (чтобы корректно сформировать бит, надо этот бит, длительностью 1.2 мкс, разбить на 6 частей) вам надо заполнить 20 битный регистр, таким образом длительность тактового импульса для 74HC595 будет равняться 0.2 мкс / 20 = 0.01 мкс, что соответствует тактовой частоте 100 МГц.
Полностью с Вами согласен. В Рекомендациях по оформлению постов не сказано как это сделать. Вариант
<a href="/BigPic"><img src="PreView"/></a>
не сработал. Буду очень благодарен Вам, если дадите ссылку на то как это сделать.

В теории красиво, на практике не забудьте, что эти данные вам надо обновлять, в результате будут плавать временные интервалы. А на 74hc 595 реализация потребует тактовой частоты spi 100mhz, это мало какой контроллер потянет, плюс данные вам нужно сформировать прежде чем отправить в регистр. Может это все и заработает, но это будет очень сложно реализовать, что уже граничит с искусством.

По моему мнению, решить задачу ногодрыга на 20 линий по 1000 светодиодов это из разряда высшего искусства и простотой тут совсем не пахнет.
В видео 100 светодиодов и это просто демо.
Это туториал, я всего лишь упомянул возможность легкого расширения как преимущество данного решения.
Получается в вашем варианте вы вынуждены минимум в 25 раз увеличить фреймбуфер, проводить дополнительную обработку данных, чтобы преобразовать их из RGB в SPI последовательность. Плюс шину будете занимать в 25 раз дольше при DMA.
Повторюсь, я не претендую на «идеальное» решение. Доводами, которые я привожу, я всего лишь хочу показать, что требования бывают разные и те решения, которые предлагаете вы, могут не подойти.
25 нулевых бит при 20МГц — это вроде как бы 1,25мкс. Импульс сброса — 50мкс.
20 модулей, описанных в статье, могут управлять 1024*20=20 480 светодиодов.
Я считал, надо 20 модулей описанных в статье, и они уместятся в этом микроконтроллере. Я думаю, если разрабатывать сразу для управления таким количеством, то можно уместить и больше, экономя на общих ресурсах для всех модулей.
На сколько я смог вникнуть, в этом решении не все так просто как кажется, так как нет синхронизации между таймером и SPI. И перед отправкой данных надо перезапускать таймер. И на счёт формирования импульса сброса ничего не написано.
Когда надо будет управлять 20 000 SW2812B, да еще одновременно просчитывать кадр, то SPI может не хватить. Но это, как всегда, разговор ни о чем, «идеальных» решений не существует, кому-то хватит SPI, кому-то понадобиться что-то помощнее.
Можете высказать претензии автору статьи, что он хранит данные не оптимально.
Способ хранения шрифта в EEPROM продиктован производителем видеоконтроллера RA8875 и от автора статьи никак не зависит.
Можно спорить о лучшем решении в каком-то конкретном случае, с четко оговоренными параметрами, которые надо оптимизировать. Но спорить на тему, как лучше хранить шрифт в памяти вообще, по крайней мере — пустая трата времени.

Информация

В рейтинге
2 917-й
Откуда
Нижний Новгород, Нижегородская обл., Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Разработчик РЭА
Middle
От 200 000 ₽
Circuitry
Development of printed circuit board
Electronics Development
PCB design
Verilog HDL
FPGA
Cortex-M3
Pic Microcontroller
STM32