Например TDA7294

Форум РадиоКот • Просмотр темы - Плейер световых эффектов - помогите стать лучше
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Вт апр 16, 2024 19:41:50

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 862 ]     ... , , , 35, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Плейер световых эффектов - помогите стать лучше
СообщениеДобавлено: Сб фев 22, 2020 09:04:57 
Опытный кот
Аватар пользователя

Карма: 10
Рейтинг сообщений: 77
Зарегистрирован: Пт фев 27, 2015 12:00:53
Сообщений: 781
Откуда: Рязанская область
Рейтинг сообщения: 0
Цитата:
Собрал проект полностью под такой контроллер


без карты памяти? :shock: или сней :facepalm:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Плейер световых эффектов - помогите стать лучше
СообщениеДобавлено: Сб фев 22, 2020 10:01:10 
Поставщик валерьянки для Кота

Карма: 20
Рейтинг сообщений: 253
Зарегистрирован: Вс июн 19, 2016 09:32:03
Сообщений: 2090
Рейтинг сообщения: 0
STM Flash Loader запрашивает идентификатор чипа, и чем же вы программируете этот сюрпрайз?

J-link/ST-link, Flash Loader последний раз запускал давно, но даже он вроде писал, что там 32КБ флеша.

Цитата:
А не проще подкорректировать файлик ld?

Флеша или RAM больше у многих мк, помимо этого там может быть разная недокументированная периферия. Кроме того если IDE при вызове программатора укажет ему, что шьем F030F4, то он может принципиально не захотеть видеть весь имеющийся флеш.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Плейер световых эффектов - помогите стать лучше
СообщениеДобавлено: Сб фев 22, 2020 10:36:41 
Мудрый кот

Карма: 20
Рейтинг сообщений: 145
Зарегистрирован: Вс дек 25, 2016 08:34:54
Сообщений: 1849
Рейтинг сообщения: 0
Да, не в моем возрасте такое паять
СпойлерИзображение
Serzh2000 писал(а):
без карты памяти? :shock: или сней :facepalm:
А что не так?
Без карты памяти тут уже есть где-то.


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Плейер световых эффектов - помогите стать лучше
СообщениеДобавлено: Сб фев 22, 2020 22:24:40 
Мудрый кот

Карма: 20
Рейтинг сообщений: 145
Зарегистрирован: Вс дек 25, 2016 08:34:54
Сообщений: 1849
Рейтинг сообщения: 0
Reflector писал(а):
J-link/ST-link, Flash Loader последний раз запускал давно, но даже он вроде писал, что там 32КБ флеша.
ST-LINK 16Кб пишет. Не пытался больше 16 запихать, думаю не разрешит.
В общем к 32F030 отладчик мне удалось подключить, но работает на простеньком коде, 2-3 строчки, там галочку надо ставить на Debug in RAM а она у него увы маленькая.
Ладно. Пересобрал проект под STM32F100RBT6B, отладчик там работает.
Пока с UART и прерыванием таймера разобрался.


Вернуться наверх
 
Организация питания на основе надежных литиевых аккумуляторов EVE и микросхем азиатского производства

Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Плейер световых эффектов - помогите стать лучше
СообщениеДобавлено: Сб фев 22, 2020 22:42:49 
Поставщик валерьянки для Кота

Карма: 20
Рейтинг сообщений: 253
Зарегистрирован: Вс июн 19, 2016 09:32:03
Сообщений: 2090
Рейтинг сообщения: 0
В общем к 32F030 отладчик мне удалось подключить, но работает на простеньком коде, 2-3 строчки, там галочку надо ставить на Debug in RAM а она у него увы маленькая.

32КБ флеша, 10К перезаписей, мк стоит 30 центов, зачем на нем отладку в RAM включать?


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Плейер световых эффектов - помогите стать лучше
СообщениеДобавлено: Пн фев 24, 2020 21:45:26 
Мудрый кот

Карма: 20
Рейтинг сообщений: 145
Зарегистрирован: Вс дек 25, 2016 08:34:54
Сообщений: 1849
Рейтинг сообщения: 0
ARV, я уже заморгал
Спойлер
правда не совсем айс, SPI работает на частоте 6МГц. У меня доступно 12МГц 6МГц и ниже. На 12МГц нужно уже 2 байта, а 6МГц как у AVR SPI 8МГц в 1 байт попадает.
Протеус от железа сильно отличается, в протеусе работало в железе нет.
Кроме всего вывод NSS должен быть хардварным, то есть выбор карты делать другим выводом.
Если я этот вывод NSS прижимаю к 0 и пытаюсь записать в регистр передачи, у меня SPI переводится из режима master в режим slave и sck ждет тактовых импульсов. Где-то так.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Плейер световых эффектов - помогите стать лучше
СообщениеДобавлено: Пн фев 24, 2020 22:54:09 
Поставщик валерьянки для Кота

Карма: 20
Рейтинг сообщений: 253
Зарегистрирован: Вс июн 19, 2016 09:32:03
Сообщений: 2090
Рейтинг сообщения: 0
NSS может быть каким угодно, если SPI становится слейвом, значит выбран режим мульти-мастера, нужно выставить CR2_SSOE. Или выбираем софтовый режим установкой CR1_SSM вместе с CR1_SSI и тогда в качестве NSS может быть любая нога. И еще не очевидный момент: на F1/F4 и еще ряде серий запись в DR отправит байт, но у F0/F3 и т.д. SPI более новый, с FIFO и упаковкой, там нужно обращаться к *(volatile uint8_t*)&SPIx->DR, иначе отправятся сразу два байта.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Плейер световых эффектов - помогите стать лучше
СообщениеДобавлено: Вт фев 25, 2020 08:03:14 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
Dimon456 писал(а):
я уже заморгал
ну что я могу сказать: рад, что проект постепенно начинает жить своей собственной жизнью. возможно, не так уж он и плох.

желаю успехов! :)) :beer:

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Плейер световых эффектов - помогите стать лучше
СообщениеДобавлено: Ср фев 26, 2020 15:08:12 
Мудрый кот

Карма: 20
Рейтинг сообщений: 145
Зарегистрирован: Вс дек 25, 2016 08:34:54
Сообщений: 1849
Рейтинг сообщения: 0
Reflector, вот это я помучил SPI.
СпойлерВот код инициализации
Код:
SPI1->CR1 = SPI_Mode_Master|SPI_DataSize_8b|SPI_Direction_2Lines_FullDuplex| \
            SPI_FirstBit_MSB|SPI_NSS_Soft|SPI_BaudRatePrescaler_4|SPI_CPOL_High|SPI_CPHA_2Edge;
SPI1->CR1 |= CR1_SPE_Set;
Он же читает флешку и выводит на ленту.
NSS пока сидит на другой ноге, позже проверю влияет ли этот вывод на что-то.
Можно еще поиграться с режимами
Код:
SPI_CPOL_Low|SPI_CPHA_2Edge
SPI_CPOL_Low|SPI_CPHA_1Edge
SPI_CPOL_High|SPI_CPHA_2Edge
SPI_CPOL_High|SPI_CPHA_1Edge

Вот стандартный код операций записи и чтения
Код:
#define SPI1_DR_8bit          (*(volatile uint8_t*)((uint32_t)&(SPI1->DR)))

void SPI_WriteByte(uint8_t data)
{   
   while (!(SPI1->SR & SPI_SR_TXE));
      SPI1_DR_8bit = data;
}

uint8_t SPI_ReadByte(void)
  {
   while (!(SPI1->SR & SPI_SR_TXE));
    SPI1_DR_8bit = 0xff;
    while (!(SPI1->SR & SPI_SR_RXNE));
    return (SPI1_DR_8bit);
  }
Но в нем ошибка, я весь гугла перетрес в поисках решения, но так и не нашел.
Но я заставил его работать.
Напишите правильное решение, попрошу модератора вам медаль выдать.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Плейер световых эффектов - помогите стать лучше
СообщениеДобавлено: Ср фев 26, 2020 16:08:53 
Поставщик валерьянки для Кота

Карма: 20
Рейтинг сообщений: 253
Зарегистрирован: Вс июн 19, 2016 09:32:03
Сообщений: 2090
Рейтинг сообщения: 0
Я уже писал, что если выбран софтовый NSS, то нужно установить и CR1_SSI, иначе SPI может стать слейвом. Режим для работы с SD у меня был Mode0, т.е. CPOL и CHPA оба сброшены. SPI_Write/Read в принципе правильные, вопрос в том как их использовать... Если вперемешку, то конечно нормально работать не будет, т.к. невычитанные данные забьют FIFO и будет выставлен флаг переполнения. Поскольку с SD в основном нужно читать, то проще всегда использовать вариант с проверкой TXE и RXNE, как сейчас в SPI_Read(). Если же нужно читать после чистой записи, то придется ждать окончания передачи и вычитывать все данные самому. Например, так(для F0):
Код:
void flushRxFifo()   // также сбрасывает OVF
{
   while (SPIx->SR & (SPI_SR_FTLVL | SPI_SR_BSY)) {}
   while (SPIx->SR & SPI_SR_FRLVL)  SPIx->DR;
}

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Плейер световых эффектов - помогите стать лучше
СообщениеДобавлено: Ср фев 26, 2020 21:31:15 
Мудрый кот

Карма: 20
Рейтинг сообщений: 145
Зарегистрирован: Вс дек 25, 2016 08:34:54
Сообщений: 1849
Рейтинг сообщения: 0
Ну я с F0 пока не занимался, у меня отладчик на STM32F100RBT6B.
Подключил вывод NSS - работает и на нем, проблем не вижу.
По поводу режимов CPOL и CHPA
Код:
SPI_CPOL_Low|SPI_CPHA_2Edge      лента работает флешка не читается
SPI_CPOL_Low|SPI_CPHA_1Edge      лента не работает флешка читается
SPI_CPOL_High|SPI_CPHA_2Edge   + лента работает флешка читается
SPI_CPOL_High|SPI_CPHA_1Edge   лента не работает флешка не читается


Добавлено after 2 hours 47 minutes 45 seconds:
ARV писал(а):
AVR на 16 МГц без обращения к SD-карте в среднем нагружался скриптом на 2-4 мс, при том что 160 светодиодов еще отжирают никак не меньше 5 мс, то есть оставался запас в 1-2 мс. интересно, насколько больше свободного времени останется при использовании STM32?
Не понял как измерить?
СпойлерЧастота контроллера 24МГц
Частота APB1ENR 24МГц
Код:
static void ws2812_show(void){
   uint16_t b;
   TIM2->CR1 = 0; //остановка таймера
   TIM2->CNT = 0; //сброс счетчика
   TIM2->PSC = 239; //предделитель
   TIM2->CR1 |= TIM_CR1_CEN; //перезапуск таймера
   leave_sd_mode();
   ATOMIC_BLOCK_RESTORATE {
      for(uint8_t i=0; i < cfg.tp; i++){
         b = pixels[i].bright+1;
         // для чипа WS2812 порядок цветовых составляющих должен быть таким:
         send_byte((pixels[i].g * b)>>8);   // сначала ЗЕЛЕНЫЙ
         send_byte((pixels[i].r * b)>>8);   // затем КРАСНЫЙ
         send_byte((pixels[i].b * b)>>8);   // в конце - СИНИЙ
      }
   }
   enter_sd_mode();
   TIM2->CR1 = 0; //остановка таймера
   xprintf(("count=%d\n"), TIM2->CNT);
}
Частота на входе таймера TIM2 24МГц/239=100418Гц
Один тик таймера (1/100418)*1000 = 0,01мс
Так вот показывает так
Код:
При чтении с флешки
Кол-во светиков      count      мс
   160            756      7,56
   254            1200   12

Команда WT=01
Кол-во светиков      count      мс
   160            76      0,76
   254            120      1,2
Я что-то ни так посчитал или как?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Плейер световых эффектов - помогите стать лучше
СообщениеДобавлено: Ср фев 26, 2020 23:55:14 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
Я не очень понял, что вы написали, но вопрос понял, отвечаю.
В моём коде есть функция синхронизации, которая тупо ждёт, когда пройдёт 10 мс. Если на входе этой функции установить порт, а на выходе сбросить, осциллографом можно видеть этакое подобие стогерцового ШИМа: чем шире импульс, тем больше свободного времени у плейера. Наличие большого джиттера или уменьшение частоты ниже 100 Гц будет свидетельствовать о том, что интерпретация команд вместе с обновлением светиков длится более отведенных на это 10 мс.
Понятно объяснил?

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Плейер световых эффектов - помогите стать лучше
СообщениеДобавлено: Чт фев 27, 2020 10:37:02 
Мудрый кот

Карма: 20
Рейтинг сообщений: 145
Зарегистрирован: Вс дек 25, 2016 08:34:54
Сообщений: 1849
Рейтинг сообщения: 0
ARV, измерил.
Спойлер
Код:
static void synchronize(void){
   static uint8_t ai;
   on_port();

   while(!flag){ }   flag = false;

   off_port();
}
В терминале давал команды
Код:
CNT=60
CLR V3=02 RPT PNT V2=TP V1=00 PC=FF0000 RPT PM=V1 WT=03 GC=000000 PNT V1+01 LV2 LV3

Изображение
Выше CNT=200 увы.

WS2812 на отображение 1 светика требуется 3 Байта = 24 бита,
каждый бит кодируется 8 Битами SPI, что на 3 Байта WS2812 требуется 24 *8 = 192 бита.
На 254 светика потребуется 254 * 192 = 48768 бит. + 8 бит сигнал сброса итого = 48776.

В идеале на 254 светика:
При скорости SPI 6Мбит/сек понадобится 48776/6000 = 8,1 милли сек.
При скорости SPI 8Мбит/сек - 48776/8000 = 6,1 милли сек.

А при использовании WS2811 требуется в два раза больше времени.

Хоть как крути, а в 10 милли сек не уложиться.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Плейер световых эффектов - помогите стать лучше
СообщениеДобавлено: Чт фев 27, 2020 10:41:55 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
ну, если ОЗУ достаточно, вам остается только закэшировать массив PIXEL, чтобы выводить его копию через DMA одновременно с интерпретацией скрипта и подготовки новой копии, тогда 200 светиков реально обработать. дальнейшее увеличение потребует отступления от принятого FPS в 100 обновлений в секунду - это явно избыточное быстродействие для большинства скриптов. но не для всех, увы...

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Плейер световых эффектов - помогите стать лучше
СообщениеДобавлено: Чт фев 27, 2020 12:10:58 
Поставщик валерьянки для Кота

Карма: 20
Рейтинг сообщений: 253
Зарегистрирован: Вс июн 19, 2016 09:32:03
Сообщений: 2090
Рейтинг сообщения: 0
тогда 200 светиков реально обработать. дальнейшее увеличение потребует отступления от принятого FPS в 100 обновлений в секунду

30 us на светодиод, если все делать правильно, то 100 фпс можно получить для 330 диодов, но самих лент может быть много.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Плейер световых эффектов - помогите стать лучше
СообщениеДобавлено: Чт фев 27, 2020 13:36:39 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
Reflector писал(а):
то 100 фпс можно получить для 330 диодов
в концепции ленточного эффекта это совершенно бесполезно, т.к. для линейных эффектов такое количество многократно избыточно. для матричных - возможно, но, имхо, уже не сильно разумно по трудоемкости составления соответствующих скриптов. да и концептуально нынешняя реализация интерпретатора скриптов не позволит работать с более чем 254 светодиодами.

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Плейер световых эффектов - помогите стать лучше
СообщениеДобавлено: Чт фев 27, 2020 18:08:40 
Мудрый кот

Карма: 20
Рейтинг сообщений: 145
Зарегистрирован: Вс дек 25, 2016 08:34:54
Сообщений: 1849
Рейтинг сообщения: 0
Вот разгон процессора, для сравнения, еще картинки
СпойлерИзображение
Дальнейший разгон до частоты 48МГц приводит к результату 32МГц, так как Fspi становится 6МГц.
Разгон до частоты в 64МГц у мня не запускается, там бы SPI был 10МГц.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Плейер световых эффектов - помогите стать лучше
СообщениеДобавлено: Чт фев 27, 2020 18:35:14 
Поставщик валерьянки для Кота

Карма: 20
Рейтинг сообщений: 253
Зарегистрирован: Вс июн 19, 2016 09:32:03
Сообщений: 2090
Рейтинг сообщения: 0
F100 все равно ставить нет смысла, а популярные F103 уже до 128 MHz гонятся. Кстати, шимить еще имеет смысл и потому, что можно получить достаточно точные тайминги для любых частот. В AVR версии такого не получишь, сейчас там вообще почему-то 2 бита под высокий уровень выделено, а это 0.25 us вместо требуемых 0.4 us.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Плейер световых эффектов - помогите стать лучше
СообщениеДобавлено: Пт фев 28, 2020 09:15:56 
Мудрый кот

Карма: 20
Рейтинг сообщений: 145
Зарегистрирован: Вс дек 25, 2016 08:34:54
Сообщений: 1849
Рейтинг сообщения: 0
Reflector писал(а):
30 us на светодиод
Не пойму как вы 30us получили?
1,235us на 1 бит, 1,235 * 32 = 39,52us и теперь это все умножим на 254 светика 39,52 * 254 = 10038 и + сигнал сброса 50us = 10088us
В 10ms уже не влазит.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Плейер световых эффектов - помогите стать лучше
СообщениеДобавлено: Пт фев 28, 2020 10:43:31 
Поставщик валерьянки для Кота

Карма: 20
Рейтинг сообщений: 253
Зарегистрирован: Вс июн 19, 2016 09:32:03
Сообщений: 2090
Рейтинг сообщения: 0
1,235us на 1 бит, 1,235 * 32 = 39,52us и теперь это все умножим на 254 светика 39,52 * 254 = 10038 и + сигнал сброса 50us = 10088us

1.25 * 24 = 30.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 862 ]     ... , , , 35, , , ...  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: Bing [Bot] и гости: 20


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y