Например TDA7294

Форум РадиоКот :: Просмотр темы - DF Player mini (MP3-TF-16P)мои грабли
Форум РадиоКот
https://radiokot.ru/forum/

DF Player mini (MP3-TF-16P)мои грабли
https://radiokot.ru/forum/viewtopic.php?f=61&t=134096
Страница 4 из 5

Автор:  Tirexi [ Вт янв 07, 2020 11:25:26 ]
Заголовок сообщения:  Re: DF Player mini (MP3-TF-16P)мои грабли

Соник, Спасибо тебе, у меня та же самая проблема была, уже голову сломал, а после того как добавил больше 10 файлов на карту SD, все кнопки управления заработали. Вот китайцы

Автор:  Соник [ Пн июн 01, 2020 14:27:34 ]
Заголовок сообщения:  Re: DF Player mini (MP3-TF-16P)мои грабли

Подскажите, как сделать чтобы DF Player mini сразу при подаче питания сам начал проигрывать аудиофайл?
Допустимо ли вывод 12 или 13 накоротко соединить с общим проводом и оставить так?
СпойлерИзображение

Автор:  pcb432 [ Вт июн 02, 2020 09:27:30 ]
Заголовок сообщения:  Re: DF Player mini (MP3-TF-16P)мои грабли

А попробовать?
Ведь мс есть у вас и к тому же вряд ли кто кроме разработчиков энает процедуру
инициализации мс после подачи питания.

Автор:  Соник [ Вт июн 02, 2020 23:01:39 ]
Заголовок сообщения:  Re: DF Player mini (MP3-TF-16P)мои грабли

Работает, но я не знаю, допустима ли такая схемотехника...

Автор:  Radioalex [ Пт июл 31, 2020 10:50:21 ]
Заголовок сообщения:  Re: DF Player mini (MP3-TF-16P)мои грабли

Всем доброго дня. Прошу помощи разобраться с проблемой. Подключил сей модуль через переходник UART-USB к компьютеру (порты RX, TX через резисторы на 1 кОм как в даташите). Использую программу Terminal v1.9. Скорость 9600, названия файлов также как даташите. При включении mp3 модуля терминал принимает команду инициализации: 7E FF 06 3F 00 00 02 FE BA EF, т.е. инициализация произошла успешно и модуль указывает что подключена TF карта. Если замкнуть 9 пин с 10, то файлы проигрываются, т.е. модуль вроде как исправлен. Пытаюсь посылать команды по UART (без контроля суммы), например:
7E FF 06 03 00 00 01 EF - воспроизвести трек №2;
7E FF 06 0D 00 00 00 EF - просто воспроизведение;
7E FF 06 01 00 00 00 EF - воспроизвести следующий трек
в ответ всегда модуль шлет 7E FF 06 40 00 00 03 FE B8 EF и ничего не происходит. Судя по даташиту код 40 означает ошибка. Собственно вопрос - что я не так делаю? почему модуль не запускается?

Автор:  MOHCTEP [ Ср авг 05, 2020 03:00:22 ]
Заголовок сообщения:  Re: DF Player mini (MP3-TF-16P)мои грабли

Radioalex,
"$7E$FF$06$0D$00$00$00$EF" так попробуйте послать, без кавычек естественно.
У меня тоже непонятка с этим плеером. Эта цепочка, посланная непосредственно с Terminal v1.9, нормально отрабатывает. Точно такая же последовательность с контроллера, на том же юарте, с той же скоростью, никакого воздействия не оказывает. Терминал показывает, что все байты верные.

Автор:  Radioalex [ Сб авг 08, 2020 09:05:09 ]
Заголовок сообщения:  Re: DF Player mini (MP3-TF-16P)мои грабли

Спасибо МОНСТЕР за вариант. Именно в таком формате я и отправлял данные, но все оказалось сложнее.
После трех дней мучений выяснилось следующее (может кому то пригодится): на моих модулях установлен чип MH2024k-24SS, хотя и подзатерта надпись. На иностранных форумах многие жаловались на эти чипы. На оригинальных модулях стоит чип YX5300-24SS и этот чип реагирует на все команды и работает без каких либо нареканий. Модули с чипом MH2024k-24SS воспринимают ТОЛЬКО ПОЛНЫЕ КОМАНДЫ, т.е. с контрольными суммами, например 7E FF 06 01 00 00 00 FE FA EF. Сокращенные команды он не понимает (по крайней мере вся моя партия - 10 шт.) и выдает сообщение об ошибке кадра. Так что не наступайте на мои грабли. Всем удачи...

Автор:  MOHCTEP [ Чт авг 27, 2020 01:18:31 ]
Заголовок сообщения:  Re: DF Player mini (MP3-TF-16P)мои грабли

Чуток подразобрался с плеером. Монолог получился, а вот диалог - нет. Так и не удалось добиться от этой чудо-железки адекватных ответов на запросы. Некоторые наблюдения выложу, авось кому-то пригодятся.
1 Плееру абсолютно монопенисуально, какие номера вы присвоите файлам. Он считает файлы в порядке их записи на носитель. Так что, если вы кинете музыку на карточку сразу группой, то вполне возможно, что "025.mp3" запишется перед "001.mp3" и при указании "воспроизвести первый файл", проиграется "025.mp3".
2 Зациклить воспроизведение конкретного файла, напрямую, командой 0x08, возможно, только если файл расположен либо в корне, либо в папке "mp3\". В других папках ("01...99") так просто не получится, из-за отсутствия подходящей команды. Однако с бубном, все же можно. Для этого нужно запустить воспроизведение нужного файла, в нужной папке. Затем, когда файл уже гарантировано "поет", командой 0x19 с "0" аргументом, можно зациклить его воспроизведение.

Автор:  jcxz [ Ср сен 02, 2020 16:11:14 ]
Заголовок сообщения:  Re: DF Player mini (MP3-TF-16P)мои грабли

Чуток подразобрался с плеером. Монолог получился, а вот диалог - нет. Так и не удалось добиться от этой чудо-железки адекватных ответов на запросы. Некоторые наблюдения выложу, авось кому-то пригодятся.
А зачем она нужна? Непонятно.... :dont_know: MP3 можно и программно декодировать и проиграть силами самого МК без всяких дополнительных железок.

Автор:  Novice user [ Ср сен 02, 2020 17:50:41 ]
Заголовок сообщения:  Re: DF Player mini (MP3-TF-16P)мои грабли

Чуток подразобрался с плеером. Монолог получился, а вот диалог - нет. Так и не удалось добиться от этой чудо-железки адекватных ответов на запросы. Некоторые наблюдения выложу, авось кому-то пригодятся.
А зачем она нужна? Непонятно.... :dont_know: MP3 можно и программно декодировать и проиграть силами самого МК без всяких дополнительных железок.

Можно подробнее-как проигрывать МК MP3 ?

Автор:  MOHCTEP [ Чт сен 03, 2020 01:54:08 ]
Заголовок сообщения:  Re: DF Player mini (MP3-TF-16P)мои грабли

jcxz писал(а):
А зачем она нужна?
Мне понадобилась для будильника. Причем часы и будильник, соответственно, в проекте - второстепенны. Распределение ресурсов - соответствующее.
jcxz писал(а):
Можно подробнее-как проигрывать МК MP3 ?
Вот и мне интересно... К тому же
jcxz писал(а):
силами самого МК без всяких дополнительных железок.

Автор:  jcxz [ Чт сен 03, 2020 11:27:32 ]
Заголовок сообщения:  Re: DF Player mini (MP3-TF-16P)мои грабли

Вот и мне интересно... К тому же
jcxz писал(а):
силами самого МК без всяких дополнительных железок.
А что такого сложного? Можно взять любой готовый программный кодек и декодировать MP3 с помощью него.
Например: Helix кодек. Он умеет не только MPEG, но и AAC-формат умеет декодировать. Доступен как в си-исходниках, так и оптимизированный на ассемблере под разные платформы (в том числе ARM).
На Cortex-M с тактовой 130 МГц у меня например декодирование MP3-потока 320Кб/с занимает всего около ~20% производительности CPU - несущественная величина. AAC+ на 128Кб/сек требует раза в 2 больше ресурсов. Но ведь Ваш чип вообще AAC не умеет?

PS: Хотя для будильника с батарейным питанием это может и не очень подходит. Но надо посмотреть. Если например на STM32L4xx - серии, да играть нужно только иногда - то может нормально будет.

PPS: Вроде кроме Helix есть ещё и другие кодеки с открытым кодом, но я их не смотрел.

Автор:  Novice user [ Чт сен 03, 2020 12:55:50 ]
Заголовок сообщения:  Re: DF Player mini (MP3-TF-16P)мои грабли

Давайте кокретный пример,написать как вы ("взять аттини13,записать mp3-декодер и все") любой смогет

Автор:  MOHCTEP [ Чт сен 03, 2020 13:03:11 ]
Заголовок сообщения:  Re: DF Player mini (MP3-TF-16P)мои грабли

jcxz, Верю.
jcxz писал(а):
На Cortex-M с тактовой 130 МГц
можно наверное и видео кодек вставить и все запоет и заиграет. А здесь АТМега, которая на питании в 3.3 вольта и 12 мГц кварц не тянет, максимум 8. :)

Автор:  Novice user [ Сб сен 05, 2020 18:57:37 ]
Заголовок сообщения:  Re: DF Player mini (MP3-TF-16P)мои грабли

Давайте кокретный пример,написать как вы ("взять аттини13,записать mp3-декодер и все") любой смогет

я был прав-после моего поста супермен jcxz с кодеком для авр слился в унитаз вместе со своими арм ))) хоть бы чего путного написал-гавкнул и слился...

Автор:  Prosperous [ Сб окт 03, 2020 21:57:08 ]
Заголовок сообщения:  Re: DF Player mini (MP3-TF-16P)мои грабли

Здравствуйте. Подниму тему. Решил я наладить обратную связь с модулем. Она есть, но какая-то кривая. Грешу на быдлокод. Вопросов два.
1. Работает АЦП 1 канал. Прием по UART долгий (вывод на дисплей) секунд 10. Если работу АЦП закомментировать - UART работает мгновенно. Как оптимизировать?
2. После запуска трека на модуле отправляю команду повтора. Не до конца понимаю как после старта проверить ответ от модуля, и если он положительный - направить команду повтора трека.
Код для atmega328P. Все лишнее убрал. Буду рад любой помощи.
Спойлер
Код:
#define F_CPU 16000000UL
#define StartConvAdc() ADCSRA |= (1<<ADSC)

#include <util/delay.h>
#include <stdlib.h>
#include <avr/interrupt.h>
unsigned char TX_Counter = 0;
unsigned char buffer_data[8] = {0x7e, 0xff, 0x06, 0x00, 0x01, 0x00, 0x00, 0xef}; // Sending Buffer
unsigned char RX_Buffer[8];
unsigned char RX_Counter = 0;
unsigned char RX_Bait = 0;
unsigned char flag_EN = 0;
unsigned char flag_EN_old = 0;
unsigned char value_cp = 0;
unsigned char flag=0;
unsigned char key=1;
unsigned char key1=1;
unsigned char key_ok = 0;

unsigned char USART_Receive(void)
{
   
   while (!(UCSR0A & (1 << RXC0)))
   ;
   
   return UDR0;
}

ISR(USART_RX_vect)
{
   if (RX_Bait<8){
   RX_Buffer[RX_Counter] = USART_Receive();   
   RX_Counter++;
   if (RX_Counter == 8)
   RX_Counter = 0;
   RX_Bait++;
   }
}

void current(void)
{
//инициализация переменных   
      
     for (int x=0; x<100;x++)
     {
      StartConvAdc();
      while(ADIF==0);
      value=ADCH;
      summ = summ + value;
      _delay_ms(3); 
     }
     value_cp = summ/100;

    
   vout=value_cp*0.015039;            //To determine output voltage from sensor

   vin=fabs((2.5-vout)/0.185);          //To determine real current

// вывод на дисплей

}

void Packet_Analyze()
{
unsigned char code;
unsigned char databyte;
   code = RX_Buffer[3];
   databyte = RX_Buffer[6];
   
// вывод на дисплей      
   
   USART_FlushRxBuf();
   
}   

void USART_FlushRxBuf(void)
{
   unsigned char saveSreg = SREG;
   cli();
   RX_Counter = 0;
   RX_Bait = 0;
   SREG = saveSreg;
}

void main(void)
{
   
   usart_init();
   //инициализируем АЦП
   //ион - напряжение питания, выравнивание влево, нулевой канал
   ADMUX = (0<<REFS1)|(1<<REFS0)|(1<<ADLAR)|(0<<MUX3)|(0<<MUX2)|(0<<MUX1)|(0<<MUX0);
   //вкл. ацп, режим одиночного преобразования, разрешение прерывания, частота преобр. = FCPU/128
   ADCSRA = (1<<ADEN)|(0<<ADSC)|(0<<ADATE)|(0<<ADIE)|(1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0);
   
   sei();

I2C_Init();//инициализируем TWI
LCD_ini();  //инициализируем дисплей
clearlcd();//очистим дисплей

PORTD = 0b00000100;
DDRD = 0x01;   

mp3_status(MODULE_ONLINE); // отправляем запрос на получение статуса устройства


   while(1) {

   current();           //АЦП

    
key = ~(PIND & _BV(2));
_delay_ms(20);
key1 = ~(PIND & _BV(2));
if (key == 0xff && key1 == 0xff){
      flag_EN = 1;
      
         if (flag_EN!=flag_EN_old)
         {
         flag_EN_old = flag_EN;
         key_on = 1;
         }
}
else{
flag_EN = 0;       
flag_EN_old = 0;
key_on=0;
}

   if (key_on == 1){
           flag = !flag;
           if (flag){
           mp3_play(MODULE_PLAY); //включение трека
                //здесь должна быть проверка, если модуль прислал положительный ответ - направляем команду повтора
           mp3_repeat(MODULE_REPEAT); //повтор трека
                }
                else
      mp3_stop(MODULE_STOP); //останавливаем трек
          
   }
   
if (RX_Bait ==8) //анализируем принятый пакет от модуля
Packet_Analyze();

}
   
}

Автор:  Александр МК [ Ср фев 08, 2023 22:13:42 ]
Заголовок сообщения:  Re: DF Player mini (MP3-TF-16P)мои грабли

Решил проверить, как модуль запустить. Подал на модуль случайно +5,5 В. Светодиод слегка моргнул и погас. Подключал без Ардуины.
Труп?
Нашел схему модуля. Светодиод светится только когда идет сигнал?

Автор:  MOHCTEP [ Ср фев 08, 2023 23:28:53 ]
Заголовок сообщения:  Re: DF Player mini (MP3-TF-16P)мои грабли

Александр МК писал(а):
Светодиод светится только когда идет сигнал?
Да. Ну и кратковременная подача 5.5 вольт, думаю не повредила модуль.

Автор:  Александр МК [ Чт фев 09, 2023 20:57:26 ]
Заголовок сообщения:  Re: DF Player mini (MP3-TF-16P)мои грабли

Во всяком случае, SD карта не повредилась - все файлы на месте и читаются.
Кратковременно - это минута, в моем случае. :)
В выходные соберу с ардуиной, там посмотрим...

Автор:  Jack_A [ Пт фев 10, 2023 12:19:04 ]
Заголовок сообщения:  Re: DF Player mini (MP3-TF-16P)мои грабли

MP3 можно и программно декодировать и проиграть силами самого МК без всяких дополнительных железок.

"В принципе человека можно передать по проводам. Но текнические трудности, возникающие на этом пути, пока превышают наши возможности". ©
Юморист сказал , имея в виду нашого гуру.

Страница 4 из 5 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/