|
VS1053 и запись звука, может кто делал? |
|
|
|
May 25 2010, 05:53
|

Местный
  
Группа: Свой
Сообщений: 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); Кароче путанница, если кто делал - помогите пожалуйста...
--------------------
Разработчик
|
|
|
|
|
 |
Ответов
|
May 25 2010, 09:02
|

Местный
  
Группа: Свой
Сообщений: 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
--------------------
Разработчик
|
|
|
|
|
May 25 2010, 09:44
|
Частый гость
 
Группа: Свой
Сообщений: 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 );
--------------------
Завтра пойму, что нужно было сделать вчера...
|
|
|
|
|
May 25 2010, 10:18
|

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

|
Цитата(Faradey @ May 25 2010, 15:44)  Не могу понять вашу проблему там для ogg все описано. а мне необходио просто wav записывать? зачем мне ogg/vorbis патч грузить?
--------------------
Разработчик
|
|
|
|
Сообщений в этой теме
Ivan Kuznetzov VS1053 и запись звука May 25 2010, 05:53 Faradey Цитата(Ivan Kuznetzov @ May 25 2010, 08:5... May 25 2010, 07:43   Faradey Цитата(Ivan Kuznetzov @ May 25 2010, 13:1... May 25 2010, 10:39    Ivan Kuznetzov в общем накидал исходник - из микрофона звук прёт,... May 31 2010, 11:05     Faradey Цитата(Ivan Kuznetzov @ May 31 2010, 14:0... Jun 1 2010, 10:22 Ivan Kuznetzov вопрос к Faradey - а у Вас vs1053 и SD карта на ра... Aug 10 2010, 04:14 Ivan Kuznetzov Все получилось! Реализовал проект на STM32. Де... Aug 11 2010, 14:14
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|