реклама на сайте
подробности

 
 
> VS1053 и запись звука, может кто делал?
Ivan Kuznetzov
сообщение May 25 2010, 05:53
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 307
Регистрация: 6-02-08
Из: Россия, Екатеринбург
Пользователь №: 34 798



Пытаюсь сделать запись с микрофона на SD карточку. В ДШ на VS1053 приведен код инициализации ADPCM энкодера, запускаю - работает, звук с микрофона начинает идти в наушники...

Но в ДШ еще сказано, что необходимо применить патч, патч применяю, но его надо запустить и тут начинаются приколы: в ДШ про запуск патча ничего вообще не сказано, а в примере плеера от VLSI идет запуск огг/ворбис патча...

Код
  vs_write(VS_AICTRL0, 16000U); delay_ms(10); while(!DREQ);
  vs_write(VS_AICTRL1, 0); delay_ms(10); while(!DREQ);
  vs_write(VS_AICTRL2, 4096U); delay_ms(10); while(!DREQ);
  vs_write(VS_AICTRL3, 0); delay_ms(10); while(!DREQ);
  LoadUserCode();
  vs_write(VS_AIADDR, 0x0034); while(!DREQ);
  
  vs_write(VS_MODE, 0x1804); delay_ms(10); while(!DREQ);


Кароче путанница, если кто делал - помогите пожалуйста...


--------------------
Разработчик
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Ivan Kuznetzov
сообщение May 25 2010, 09:02
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 307
Регистрация: 6-02-08
Из: Россия, Екатеринбург
Пользователь №: 34 798



Faradey спасибо огромное! по поводу огг-ворбис - у меня патч ворбиса во флеш уже не влезет (atmega32), поэтому думаю сделать просто ADPCM. Как я понимаю, для ADPCM нужен только загрузить в VS1053 маленький патчик, но! в ДШ ничего не сказано, что я должен записывать в SCI_AIADDR после загрузки этого патчика.

Выдержка из ДШ:

Код
WriteVS10xxRegister(SCI_AICTRL0, 16000U);
WriteVS10xxRegister(SCI_AICTRL1, 0);
WriteVS10xxRegister(SCI_AICTRL2, 4096U);
WriteVS10xxRegister(SCI_AICTRL3, 0);
WriteVS10xxRegister(SCI_MODE, ReadVS10xxRegister(SCI_MODE) | SM_RESET | SM_ADPCM | SM_LINE1);
WriteVS10xxPatch(); /* Only for VS1053b */


Сообщение отредактировал Ivan Kuznetzov - May 25 2010, 09:04


--------------------
Разработчик
Go to the top of the page
 
+Quote Post
Faradey
сообщение May 25 2010, 09:44
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 127
Регистрация: 31-05-06
Из: Belarus, Minsk
Пользователь №: 17 638



Цитата(Ivan Kuznetzov @ May 25 2010, 12:02) *
Faradey спасибо огромное! по поводу огг-ворбис - у меня патч ворбиса во флеш уже не влезет (atmega32), поэтому думаю сделать просто ADPCM. Как я понимаю, для ADPCM нужен только загрузить в VS1053 маленький патчик, но! в ДШ ничего не сказано, что я должен записывать в SCI_AIADDR после загрузки этого патчика.

Выдержка из ДШ:

Код
WriteVS10xxRegister(SCI_AICTRL0, 16000U);
WriteVS10xxRegister(SCI_AICTRL1, 0);
WriteVS10xxRegister(SCI_AICTRL2, 4096U);
WriteVS10xxRegister(SCI_AICTRL3, 0);
WriteVS10xxRegister(SCI_MODE, ReadVS10xxRegister(SCI_MODE) | SM_RESET | SM_ADPCM | SM_LINE1);
WriteVS10xxPatch(); /* Only for VS1053b */


Не могу понять вашу проблему, прочитайте внимательно файл "readme.txt" из архива, там всё описано по шагам.
либо обратить внимание на файл с примером "vs1053_freertos.c"
вот интересующая вас часть от-туда:
Код
    _VS1053_SetCS( p->platform );
    _VS1053_SetRESET( p->platform );
    _VS1053_Delay_ms( 10 );
    _VS1053_ResetDCS( p->platform );
    _VS1053_ResetRESET( p->platform );
    _VS1053_ResetCS( p->platform );
    _VS1053_WaitDREQ( p->platform );

    VS1053_SetupHighSpeedSPI( p );

    // Run plugin
    VS1053_LoadUserCode( p, vs1053_decode_patch, ARRSIZEOF( vs1053_decode_patch ) );

    // Set AICTRL registers
    VS1053_WriteRegister( p, VS1053_SCI_AICTRL0, sample_rate );
    VS1053_WriteRegister( p, VS1053_SCI_AICTRL1, rec_gain );
    VS1053_WriteRegister( p, VS1053_SCI_AICTRL2, max_autogain );
    VS1053_WriteRegister( p, VS1053_SCI_AICTRL3, 0x0002 );  // 2 = left channel, 3 = right channel

    VS1053_WriteRegister( p, VS1053_SCI_MODE,
                          VS1053_ReadRegister( p, VS1053_SCI_MODE )
                          | VS1053_SM_ADPCM );  // VS1053_SM_RESET
    
    VS1053_WriteRegister( p, VS1053_SCI_AIADDR , 0x300 );


--------------------
Завтра пойму, что нужно было сделать вчера...
Go to the top of the page
 
+Quote Post
Ivan Kuznetzov
сообщение May 25 2010, 10:18
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 307
Регистрация: 6-02-08
Из: Россия, Екатеринбург
Пользователь №: 34 798



Цитата(Faradey @ May 25 2010, 15:44) *
Не могу понять вашу проблему


там для ogg все описано. а мне необходио просто wav записывать? зачем мне ogg/vorbis патч грузить?


--------------------
Разработчик
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 13:17
Рейтинг@Mail.ru


Страница сгенерированна за 0.01386 секунд с 7
ELECTRONIX ©2004-2016