1,235us на 1 бит, 1,235 * 32 = 39,52us и теперь это все умножим на 254 светика 39,52 * 254 = 10038 и + сигнал сброса 50us = 10088us
1.25 * 24 = 30.
О, как это я так? Попробовал я ваш ШИМ с этого сайта, не нравится мне, светодиод имеет какое-то "дрожание", то есть не просто горит, а "дрожит". Количество светиков влияет на это "дрожание", чем меньше светиков тем меньше заметно это "дрожание". Частота контроллера, ну не знаю, до 48МГц разгонял, кажется "дрожание" меньше заметно.
Попробовал я ваш ШИМ с этого сайта, не нравится мне
я прочитал в комментах
Цитата:
по 48 байт на каждый диод ленты
и выпал в осадок...
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется... скушно, бабоньки!
Берем байт цвета, каждый бит нужно преобразовать в 8-ми битное значение которое потом DMA при копировании дополнит нулем. Для этого цвет используем в качестве индекса в массиве, получаем адрес во флеше и два раза копируем по 32 бита, затем повторяем копирование для двух оставшихся цветов. Все, 24 байта в буфере, потрачено несколько десятков тактов, а передаваться при помощи DMA они будут 30 * (48...128) тактов в случае применение дешевых мк... Двух таких буферов вполне достаточно(хватит и 2*8 байт), никто не заставляет сразу заполнять буфер для 254 диодов.
Цитата:
Попробовал я ваш ШИМ с этого сайта, не нравится мне, светодиод имеет какое-то "дрожание", то есть не просто горит, а "дрожит".
Накидал тестовый вариант для G0. 128 MHz, ничего не дрожит.
Накидал тестовый вариант для 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
Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650.
Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
От 128 MHz тактировался таймер и сам мк, хотя для таймера можно частоту еще вдвое поднять, если выдержит.
Я об этом и говорю, надо на ESP переходить или на одноплатный мини компьютер. Плиз, от 32МГц проверьте или того лучше от 24МГц.
Dimon456 писал(а):
Количество светиков влияет на это "дрожание", чем меньше светиков тем меньше заметно это "дрожание". Частота контроллера, ну не знаю, до 48МГц разгонял, кажется "дрожание" меньше заметно.
Я об этом и говорю, надо на ESP переходить или на одноплатный мини компьютер.
G0 - это бюджетные мк, официально стоят как F0, просто пока китайцы их не продают в объемах предполагающих низкие цены
Цитата:
Плиз, от 32МГц проверьте или того лучше от 24МГц.
Что должно поменяться? При 32MHz в периоде шима 40 тактов, ровно 0.4 us не получается, будет небольшая погрешность, 12.8 тактов придется округлить до 13, при этом чем больше частота, тем меньше погрешность. К DMA можно прикрутить и SPI, но там делители 2/4/8..., дополнительно на F0 можно менять количество передаваемых бит, что позволяет в некоторых случаях получать очень схожие результаты, но SPI один и он уже занят, а таймеров шесть и на большей части ног есть выход шима. К тому же если лента не висит на SPI, то можно моргать и одновременно читать с SD, сделав загрузку новых скриптов незаметной.
то можно моргать и одновременно читать с 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мс.
Dimon456, в теме жаловаллись, что при смене эффектов может все подвисать на пол секунды, потому я и написал, что перевод обновления ленты на ШИМ среди прочего может помочь данной проблемы избежать. Естественно поскольку изначально все писалось без учета шима и DMA, то старый подход не сработает, потому мне без надобности знать как там все реализовано.
Цитата:
Если и делать DMA это только чтобы уйти от SPI и перейти к ШИМу, что это даст? Сверх точные тайминги?
Точные тайминги, возможность на одном таймере реализовать 4 канала, увеличить число диодов до 330 и все равно 9ms из каждых 10-ти мк просто нечего будет делать, следовательно его можно было бы чем-то дополнительно нагрузить.
Dimon456, вы ковыряетесь с плейером из любви к искусству, а тов. Reflector в тему зашёл исключительно с целью продвижения STM32, и слово целесообразность в его лексиконе отсутствует. Не нужно обострять ситуацию, ничего хорошего из этого не выйдет.
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется... скушно, бабоньки!
увеличить число диодов до 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мс мк будет крутиться в цикле и ничего не делать. Что вы собираетесь параллельно выполнять?
То есть если я вас правильно понял, то вы выводите за 1мс все 330 светодиодов?
330 светодиодов физически не могут обновляться за 1ms, но за 1-2ms можно выполнить скрипт и подготовить данные для DMA и пока они будут передаваться можно заниматься чем-то другим.
Reflector писал(а):
Все равно придется ждать и какой-то флаг проверять.
Проверять придется, но в самом конце, когда все задачи уже выполнены.
Цитата:
между WT=25 и командой PM=021526 должно пройти 0x25*10=370мс мк будет крутиться в цикле и ничего не делать. Что вы собираетесь параллельно выполнять?
не сочтите за грубость, но не могли бы вы ничего не собираться делать в другой теме? не нужно срать в этой. неужели вам не достаточно тем про STМ32, где вы можете блистать своими знаниями в полной мере? это, кстати, и к VladislavS тоже относится. как только вам захочется поумничать на счет своего любимого конька, сразу смотрите вот в это место сайта:
как только там увидите STM32 вместо AVR - вот тогда и можете изливать свои мысли, а до тех пор пусть они в ваших котелках булькают, а сюда не проливаются. договорились?
прошу модераторов проследить за соблюдением порядка.
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется... скушно, бабоньки!
Коллеги, добрый вечер. Сегодня получил 5 шт. плат под проект уважаемого ARV. Мне нужна только одна, соответственно готов отправить ПР четыре штуки. Если у кого есть необходимость и желание - пишите. Стоимость платы 0,0000 руб - прошу оплатить только стоимость пересылки. ЗЫ Для ARV - я только начал знакомиться с Вашим проектом, понимание очень близко к вышеозвученной стоимости ПП, так что начинайте бояться - в процессе изучения я Вас закидаю тупыми вопросами ЗЫЗЫ Отправляю только ПП, Остальное для личного использования, так сказать. Но все обсуждаемо .
_________________ У победы много отцов, поражение всегда сирота.
Последний раз редактировалось Volodya_Tver Вт апр 21, 2020 21:11:19, всего редактировалось 2 раз(а).
я уже дрожу - особенно после того, как вы не сумели правильно упомянуть мой ник
Volodya_Tver писал(а):
закидаю тупыми вопросами
ничего, я вполне могу закидать вас тупыми ответами - и не уверен, что победитель этой схватки предопределен вами
но вообще я приятно удивлен, что мой проект все-таки находит своих почитателей...
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется... скушно, бабоньки!
я уже дрожу - особенно после того, как Вы не сумели правильно упомянуть мой ник
Я дико извиняюсь - исправил, зрение уже не то, что в молодости, даже телескопы не всегда помогают. По поводу "Схватки" - мне действительно интересно понять принцип работы скриптов, но в силу отсутствия опыта и знаний, тяжело будет сразу во все "въехать". Поэтому надеюсь и рассчитываю на Вашу помощь.
_________________ У победы много отцов, поражение всегда сирота.
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется... скушно, бабоньки!
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 18
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения