Обсуждаем контроллеры компании Atmel.
Ответить

Re: Плейер световых эффектов - помогите стать лучше

Пт фев 28, 2020 14:35:00

Reflector писал(а):
1,235us на 1 бит, 1,235 * 32 = 39,52us и теперь это все умножим на 254 светика 39,52 * 254 = 10038 и + сигнал сброса 50us = 10088us

1.25 * 24 = 30.
О, как это я так?
Попробовал я ваш ШИМ с этого сайта, не нравится мне, светодиод имеет какое-то "дрожание", то есть не просто горит, а "дрожит".
Количество светиков влияет на это "дрожание", чем меньше светиков тем меньше заметно это "дрожание".
Частота контроллера, ну не знаю, до 48МГц разгонял, кажется "дрожание" меньше заметно.

Re: Плейер световых эффектов - помогите стать лучше

Пт фев 28, 2020 14:45:00

Dimon456 писал(а):Попробовал я ваш ШИМ с этого сайта, не нравится мне
я прочитал в комментах
по 48 байт на каждый диод ленты
и выпал в осадок...

Re: Плейер световых эффектов - помогите стать лучше

Пт фев 28, 2020 16:31:35

я прочитал в комментах
по 48 байт на каждый диод ленты
и выпал в осадок...

Берем байт цвета, каждый бит нужно преобразовать в 8-ми битное значение которое потом DMA при копировании дополнит нулем. Для этого цвет используем в качестве индекса в массиве, получаем адрес во флеше и два раза копируем по 32 бита, затем повторяем копирование для двух оставшихся цветов. Все, 24 байта в буфере, потрачено несколько десятков тактов, а передаваться при помощи DMA они будут 30 * (48...128) тактов в случае применение дешевых мк... Двух таких буферов вполне достаточно(хватит и 2*8 байт), никто не заставляет сразу заполнять буфер для 254 диодов.

Попробовал я ваш ШИМ с этого сайта, не нравится мне, светодиод имеет какое-то "дрожание", то есть не просто горит, а "дрожит".

Накидал тестовый вариант для G0. 128 MHz, ничего не дрожит.

Re: Плейер световых эффектов - помогите стать лучше

Пт фев 28, 2020 17:50:09

ARV писал(а):я прочитал в комментах
по 48 байт на каждый диод ленты
и выпал в осадок...
Да причем тут это.
Reflector писал(а):Накидал тестовый вариант для G0. 128 MHz, ничего не дрожит.
И сколь ценник этого чуда? 18$ учитывая что высылают 5 штук.
И да, там на сайте 144МГц упоминается.
Давайте уж тогда на ESP перейдем или одноплатный мини компьютер.
Это что
Код:
AF1>::mode
класс? Сколь оперативной памяти жрет?
Reflector писал(а):F100 все равно ставить нет смысла
Ни кто и ставить не будет, будет F030.

И что вы, все, уперлись в эти 10мс?
32МГц выше 200 светиков перенастроить таймер на 15мс.
CNT=30
CNT=60
CNT=160
CNT=200
CNT=254

Re: Плейер световых эффектов - помогите стать лучше

Пт фев 28, 2020 18:40:45

И сколь ценник этого чуда? 18$ учитывая что высылают 5 штук.

Цена в данном случае не важна, таймеры и DMA у G0/F0/F1 практически идентичны. Проверил на том что было под рукой.

И да, там на сайте 144МГц упоминается.

От 128 MHz тактировался таймер и сам мк, хотя для таймера можно частоту еще вдвое поднять, если выдержит.

Это что
Код:
AF1>::mode
класс? Сколь оперативной памяти жрет?

Там все на классах, класс пина, DMA, таймера, все три не потребляют ОЗУ вообще, по крайней мере с включенной оптимизацией.

И что вы, все, уперлись в эти 10мс?
32МГц выше 200 светиков перенастроить таймер на 15мс.

Железо позволяет за 10 ms обновлять множество каналов по 300 диодов на каждом, а дальше уже кто из него сколько выжмет :)

Re: Плейер световых эффектов - помогите стать лучше

Пт фев 28, 2020 21:13:00

Reflector писал(а):От 128 MHz тактировался таймер и сам мк, хотя для таймера можно частоту еще вдвое поднять, если выдержит.
Я об этом и говорю, надо на ESP переходить или на одноплатный мини компьютер.
Плиз, от 32МГц проверьте или того лучше от 24МГц.
Dimon456 писал(а):Количество светиков влияет на это "дрожание", чем меньше светиков тем меньше заметно это "дрожание".
Частота контроллера, ну не знаю, до 48МГц разгонял, кажется "дрожание" меньше заметно.
Dimon456 писал(а):И да, там на сайте 144МГц упоминается.

Re: Плейер световых эффектов - помогите стать лучше

Пт фев 28, 2020 21:57:56

Я об этом и говорю, надо на ESP переходить или на одноплатный мини компьютер.

G0 - это бюджетные мк, официально стоят как F0, просто пока китайцы их не продают в объемах предполагающих низкие цены :)

Плиз, от 32МГц проверьте или того лучше от 24МГц.

Что должно поменяться? При 32MHz в периоде шима 40 тактов, ровно 0.4 us не получается, будет небольшая погрешность, 12.8 тактов придется округлить до 13, при этом чем больше частота, тем меньше погрешность. К DMA можно прикрутить и SPI, но там делители 2/4/8..., дополнительно на F0 можно менять количество передаваемых бит, что позволяет в некоторых случаях получать очень схожие результаты, но SPI один и он уже занят, а таймеров шесть и на большей части ног есть выход шима. К тому же если лента не висит на SPI, то можно моргать и одновременно читать с SD, сделав загрузку новых скриптов незаметной.

Re: Плейер световых эффектов - помогите стать лучше

Сб фев 29, 2020 08:19:13

Reflector, красиво описываете, но как избавиться от "дрожания"? Может кондеры повесит на каждый светодиод?

Ладно, провел оптимизацию кода

Re: Плейер световых эффектов - помогите стать лучше

Сб фев 29, 2020 10:55:11

как избавиться от "дрожания"?

Для начала берется ЛА и смотрится что с генерируемым сигналом не так.

Re: Плейер световых эффектов - помогите стать лучше

Сб фев 29, 2020 16:19:34

Reflector писал(а):то можно моргать и одновременно читать с SD, сделав загрузку новых скриптов незаметной.
Давайте начнем с этого пункта.
Это вам не WAV поток.
Большинство скриптов занимает меньше 512 байт.
Вот тот скрипт, который у меня на видео
всяко меньше 512 байт.
Вы понятия не имеете как вот это
работает. Я еще раз говорю, это вам на WAV поток. Хотя бы в протеусе посмотрите откуда и что читается и как буфер вообще заполняется.

В этом скрипте плеер может крутится пока не закончился отведенное время на зацикленный скрипт
Код:
uint16_t   run_limit;      //!< длительность исполнения зацикленного скрипта
За чем следующий читать? Вопрос куда читать? В какой буфер? И для чего?
Когда скрипт закончится или отведенное время будем читать следующий. На это уходит какие-то 10-20мс.
512байт * 8 = 4096 бит на скорости SPI 8.000.000 Бит в 1 секунду. Вы что смеетесь?

Reflector писал(а):К тому же если лента не висит на SPI
Теперь этот вопрос разберем.
Вывод на ленту происходит по команде скрипта
Код:
PNT
WT
пока вывод на ленту не закончится не зачем менять "цветовое состояние" какого либо светодиода.
Все равно придется ждать окончания вывода на ленту.

Если и делать DMA это только чтобы уйти от SPI и перейти к ШИМу, что это даст? Сверх точные тайминги?

Все кто этот плеер сделал даже и не обратили внимание что тайминги не соответствуют.
Даже Serzh2000 с его WS2811 понятия не имеет что не попадает в эти 10мс.

Re: Плейер световых эффектов - помогите стать лучше

Сб фев 29, 2020 17:48:26

Dimon456, в теме жаловаллись, что при смене эффектов может все подвисать на пол секунды, потому я и написал, что перевод обновления ленты на ШИМ среди прочего может помочь данной проблемы избежать. Естественно поскольку изначально все писалось без учета шима и DMA, то старый подход не сработает, потому мне без надобности знать как там все реализовано.

Если и делать DMA это только чтобы уйти от SPI и перейти к ШИМу, что это даст? Сверх точные тайминги?

Точные тайминги, возможность на одном таймере реализовать 4 канала, увеличить число диодов до 330 и все равно 9ms из каждых 10-ти мк просто нечего будет делать, следовательно его можно было бы чем-то дополнительно нагрузить.

Re: Плейер световых эффектов - помогите стать лучше

Сб фев 29, 2020 17:54:04

Reflector писал(а):увеличить число диодов до 330
ARV писал(а):и концептуально нынешняя реализация интерпретатора скриптов не позволит работать с более чем 254 светодиодами.

Re: Плейер световых эффектов - помогите стать лучше

Сб фев 29, 2020 20:19:24

Dimon456, вы ковыряетесь с плейером из любви к искусству, а тов. Reflector в тему зашёл исключительно с целью продвижения STM32, и слово целесообразность в его лексиконе отсутствует. Не нужно обострять ситуацию, ничего хорошего из этого не выйдет.

Re: Плейер световых эффектов - помогите стать лучше

Вс мар 01, 2020 13:54:54

Reflector писал(а):увеличить число диодов до 330 и все равно 9ms из каждых 10-ти мк просто нечего будет делать
То есть если я вас правильно понял, то вы выводите за 1мс все 330 светодиодов?
Reflector писал(а):нужно обязательно большую часть времени проводить в цикле проверяя флаг готовности SPI
Все равно придется ждать и какой-то флаг проверять.
Код:
PC=252525   задаем какой-то цвет rgb
PM=011425   карта пикселей
WT=25       вывод на ленту и задержка, задержка осуществляется на XX*10 миллисекунд
PC=00FF00   задаем другой цвет
PM=021526   другие пиксели
PNT         немедленный вывод наленту
между WT=25 и командой PC=00FF00 должно пройти 0x25*10=370мс мк будет крутиться в цикле и ничего не делать. Что вы собираетесь параллельно выполнять?

Re: Плейер световых эффектов - помогите стать лучше

Вс мар 01, 2020 15:46:03

То есть если я вас правильно понял, то вы выводите за 1мс все 330 светодиодов?

330 светодиодов физически не могут обновляться за 1ms, но за 1-2ms можно выполнить скрипт и подготовить данные для DMA и пока они будут передаваться можно заниматься чем-то другим.

Reflector писал(а):Все равно придется ждать и какой-то флаг проверять.

Проверять придется, но в самом конце, когда все задачи уже выполнены.

между WT=25 и командой PM=021526 должно пройти 0x25*10=370мс мк будет крутиться в цикле и ничего не делать. Что вы собираетесь параллельно выполнять?

Ничего не собираюсь, это что-то меняет?

Re: Плейер световых эффектов - помогите стать лучше

Вс мар 01, 2020 17:11:35

Reflector писал(а):Ничего не собираюсь, это что-то меняет?
не сочтите за грубость, но не могли бы вы ничего не собираться делать в другой теме? не нужно срать в этой. неужели вам не достаточно тем про STМ32, где вы можете блистать своими знаниями в полной мере?
это, кстати, и к VladislavS тоже относится.
как только вам захочется поумничать на счет своего любимого конька, сразу смотрите вот в это место сайта:
Изображение
как только там увидите STM32 вместо AVR - вот тогда и можете изливать свои мысли, а до тех пор пусть они в ваших котелках булькают, а сюда не проливаются. договорились?

прошу модераторов проследить за соблюдением порядка.
Вложения
snip_20200301171101.png
(3.17 KiB) Скачиваний: 547

Re: Плейер световых эффектов - помогите стать лучше

Вт апр 21, 2020 20:09:06

Коллеги, добрый вечер. Сегодня получил 5 шт. плат под проект уважаемого ARV. Мне нужна только одна, соответственно готов отправить ПР четыре штуки. Если у кого есть необходимость и желание - пишите. Стоимость платы 0,0000 руб - прошу оплатить только стоимость пересылки.
ЗЫ Для ARV - я только начал знакомиться с Вашим проектом, понимание очень близко к вышеозвученной стоимости ПП, так что начинайте бояться - в процессе изучения я Вас закидаю тупыми вопросами :)
ЗЫЗЫ Отправляю только ПП, Остальное для личного использования, так сказать. Но все обсуждаемо :).
Изображение
Последний раз редактировалось Volodya_Tver Вт апр 21, 2020 21:11:19, всего редактировалось 2 раз(а).

Re: Плейер световых эффектов - помогите стать лучше

Вт апр 21, 2020 20:28:30

Volodya_Tver писал(а):начинайте бояться
я уже дрожу - особенно после того, как вы не сумели правильно упомянуть мой ник :)))
Volodya_Tver писал(а):закидаю тупыми вопросами
ничего, я вполне могу закидать вас тупыми ответами - и не уверен, что победитель этой схватки предопределен вами :)))

но вообще я приятно удивлен, что мой проект все-таки находит своих почитателей... :beer: 8)

Re: Плейер световых эффектов - помогите стать лучше

Вт апр 21, 2020 20:40:42

Volodya_Tver писал(а):начинайте бояться
я уже дрожу - особенно после того, как Вы не сумели правильно упомянуть мой ник :)))

Я дико извиняюсь - исправил, зрение уже не то, что в молодости, даже телескопы не всегда помогают.
По поводу "Схватки" - мне действительно интересно понять принцип работы скриптов, но в силу отсутствия опыта и знаний, тяжело будет сразу во все "въехать". Поэтому надеюсь и рассчитываю на Вашу помощь.

Re: Плейер световых эффектов - помогите стать лучше

Ср апр 22, 2020 03:48:24

Volodya_Tver писал(а):Поэтому надеюсь и рассчитываю на Вашу помощь.
нивапрос
Ответить