|
STM32F429 + VS1053 - нет звука, почему? |
|
|
|
Jul 16 2017, 14:02
|

Профессионал
    
Группа: Свой
Сообщений: 1 202
Регистрация: 26-08-05
Из: Донецк, ДНР
Пользователь №: 7 980

|
Привет всем. Приобрёл тут китаёзный модуль на VS1053b - http://www.ebay.com/itm/New-Sell-Style-MP3...MMAAOSwjDZYdasEОтличается от тамошней картинки только наличием у меня резюка R5 - там на фото он отсутствует, у меня 100 кил в землю. Это нога 34, GPIO1. Проблема такая: все регистры читаются, пишутся, ID нормальный приходит, всё типа ок, а звука нету - ни синуса, ни декодированного файла. Короче, партизан на допросе. Пытался гнать к него MP3 и WAV (файлы проверенные, F105+VS1053 их играет норм) - тоже тишина, но судя по времени работы функции проигрывания файла - понимает и декодит нормально. Время работы функции совпадает с длительностью звучания файлов - проверено. Файл драйвера (без функции проигрывания, если надо - выложу) приложил, сам он рабочий, переделанный с великолепно работающей связки F105+VS1053 (переделана только работа с ногами проца/SPI). Переделал вроде без ошибок - этот же драйвер понимает и VS1003, который нормально свистит синусами и играет музыку на том же F429 проце (дискаверина). Уже мозг весь об неё сломал, помогите кто может плиз. Или это китаёзы брак пригнали?? Что ещё бросилось в глаза - все GPIO ноги в ДШ (также как и на моей работающей плате с Ф105) притянуты к земле 100к резюками. На этом модуле - резюк только на ноге 34, остальные, похоже, висят в воздухе. Пытался менять кварц (у китайцев стоял 12.288МГц, ставил 24.576, как на моей рабочей плате), подправил соответствующим образом инициализацию - ничего не дало. Поставил обратно родной 12.288. PS. Опыт работы с этими микрухами есть, успешно заводил VS1011e, VS1003 и такой же 1053. Но с тупым молчанием микросхемы сталкиваюсь впервые. Спасибо.
Прикрепленные файлы
vs1011.zip ( 21.24 килобайт )
Кол-во скачиваний: 10
--------------------
Чтобы возить такого пассажира, необходим лимузин другого класса. (с) Мария Эдуарда
|
|
|
|
|
 |
Ответов
|
Jul 20 2017, 18:49
|

Профессионал
    
Группа: Свой
Сообщений: 1 202
Регистрация: 26-08-05
Из: Донецк, ДНР
Пользователь №: 7 980

|
Впаял кварц 24.578. Функцию писка немного переписал: CODE void vs1011_sinewave_beep ( ) { // n = const uint8_t sine_on [ 8 ] = { 0x53, 0xEF, 0x6E, 0x04, 0x00, 0x00, 0x00, 0x00 }; const uint8_t sine_off [ 8 ] = { 0x45, 0x78, 0x69, 0x74, 0x00, 0x00, 0x00, 0x00 }; uint8_t i;
VS1011_RESET_RES ( ); // nRESET = 0 delay_ms ( 1 ); VS1011_SET_RES ( ); // nRESET = 1 delay_ms ( 500 );
// Ждать, пока DREQ == 0 while ( VS1011_DREQ != SET );
vs1011_writeCommand ( VS1011_MODE, SM_SDINEW | SM_TESTS | SM_CLK_RANGE );
for ( i = 0; i < 8; i ++ ) vs1011_writeData ( sine_on [ i ] );
delay_ms ( 250 );
for ( i = 0; i < 8; i ++ ) vs1011_writeData ( sine_off [ i ] );
delay_ms ( 250 ); } // vs1011_sinewave_beep вызываю в цикле. Пищит нормально в оба уха, no problem, как говорят. Частоту на выходе, правда, не мерял. Текущий драйвер прилагаю. А вот с проигрыванием беда - mp3 проигрываются буквально как на магнитофоне с завышенной скоростью движения ленты. Другие форматы не пробовал. функция проигрывания файла самая примитивная, без наворотов: CODE uint8_t readBuf [ READBUF_SIZE ];
// Проигрываемый файл FIL file;
// Проиграть файл bool Play_file ( char *fName ) { FRESULT res; UINT nRead;
// открыть файл res = f_open ( &file, fName, FA_OPEN_EXISTING | FA_READ ); if ( res != FR_OK ) return false;
// цикл проигрывания while ( 1 ) { // Ждать запроса данных от VS // DREQ == 1 - посылать // DREQ == 0 - ждать while ( vs1011_isDataReq ( ) == false );
res = f_read ( &file, readBuf, 32, &nRead ); if ( res != FR_OK || nRead != 32 ) { break; } // if vs1011_send32 ( readBuf ); } // while
// закрыть файл f_close ( &file );
// послать 2к нулей для очистки внутренних буферов VS for ( nRead = 0; nRead < 2048; nRead ++ ) vs1011_writeData ( 0 );
// Сброс VS vs1011_reset ( );
return true; } // Play_file
Размер буфера 2 кила (там был кеш с опережающим чтением, я его пока выкинул), но то пофиг, ни на что не влияют. В чём ещё могут быть траблы? PS. начинаю думать, что этот модуль - вообще брак полный  .
--------------------
Чтобы возить такого пассажира, необходим лимузин другого класса. (с) Мария Эдуарда
|
|
|
|
|
Jul 20 2017, 20:01
|
Знающий
   
Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050

|
Цитата(hd44780 @ Jul 20 2017, 21:49)  вызываю в цикле. Пищит нормально в оба уха, no problem, как говорят. Частоту на выходе, правда, не мерял. Текущий драйвер прилагаю. В чём ещё могут быть траблы? PS. начинаю думать, что этот модуль - вообще брак полный  . брак может быть запросто, начиная от экономии на комплектующих до отбраковки на тестах запаянных плат.. если заморочиться, то просто сдуть чип, разработать и запаять свою плату.. у вас очевидный прогресс - плата раньше "му" не говорила, теперь уже пищит синусом.. измерить надо обязательно - так вы поймете правильность частоты для эталонного синуса по буратинному мп3 - настройки проверили, вот тут всё правильно: В CLOCK_F пишу 0xE430.и нет ли случайно записи в этот регистр? Код playSpeed makes it possible to fast forward songs. Decoding of the bitstream is performed, but only each playSpeed frames are played. For example by writing 4 to playSpeed will play the song four times as fast as normal, if you are able to feed the data with that speed. Write 0 or 1 to return to normal speed. SCI DECODE TIME will also count faster. All current codecs support the playSpeed configuration.
|
|
|
|
Сообщений в этой теме
hd44780 STM32F429 + VS1053 - нет звука Jul 16 2017, 14:02 Jury093 Цитата(hd44780 @ Jul 16 2017, 17:02) Опыт... Jul 16 2017, 16:59 hd44780 Громкость максимальная - после инициализации специ... Jul 17 2017, 05:14 Genadi Zawidowski Для проверки поставьте в конец SPI_sendByte (после... Jul 17 2017, 05:50 hd44780 В течении дня попробую - отпишусь.
Пока функция от... Jul 17 2017, 08:24 Jury093 Цитата(hd44780 @ Jul 17 2017, 11:24) Попа... Jul 17 2017, 08:47 Jury093 похоже ваш случай:
http://www.vsdsp-forum.com/phpb... Jul 17 2017, 12:02 hd44780 Да, GPIO0 и GPIO1 соединить вместе на данный момен... Jul 17 2017, 12:14 jcxz Цитата(hd44780 @ Jul 16 2017, 17:02) Но с... Jul 17 2017, 14:16 hd44780 Цитата(jcxz @ Jul 17 2017, 17:16) Вам сам... Jul 19 2017, 07:42 Genadi Zawidowski выдачу через SPI дорабатывали? К снижению частоты ... Jul 19 2017, 09:26 jcxz Цитата(Genadi Zawidowski @ Jul 19 2017, 12... Jul 19 2017, 09:31 hd44780 SPI доработал - не полегчало .
CODE// Чтение/зап... Jul 19 2017, 09:45 Jury093 Цитата(hd44780 @ Jul 19 2017, 12:45) Наве... Jul 19 2017, 10:20 hd44780 Да, кварц 24.576 есть, как запаяю/проверю, отпишус... Jul 19 2017, 12:23  hd44780 Цитата(Jury093 @ Jul 20 2017, 23:01) и не... Jul 21 2017, 09:39   Jury093 Цитата(hd44780 @ Jul 21 2017, 12:39) Сину... Jul 21 2017, 10:18    hd44780 Сорри, я не понял, что это был вопрос. Да, расчёты... Jul 21 2017, 10:45     Jury093 Цитата(hd44780 @ Jul 21 2017, 13:45) Сорр... Jul 21 2017, 11:59      hd44780 Цитата(Jury093 @ Jul 21 2017, 14:59) все ... Jul 21 2017, 12:25 hd44780 Значит так.
1. Проверил осциллом/частотомером - с... Jul 21 2017, 17:28 Jury093 Цитата(hd44780 @ Jul 21 2017, 20:28) Чё с... Jul 21 2017, 20:27 hd44780 Дисплей и отладка есть, Слава Богу.
В общем после... Jul 22 2017, 09:58 Jury093 Цитата(hd44780 @ Jul 22 2017, 12:58) В об... Jul 22 2017, 11:38 hd44780 Да, как-нибудь гляну ... Jul 22 2017, 18:05
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|