|
vs1011 щелчки при переключении треков, не могу победить при переключении файлов |
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 22)
|
Nov 20 2009, 21:32
|

Любитель
    
Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695

|
Кстати, не подскажете, уважаемые. Вот только думаю заняться воспроизведением музыки с помощью VS1011e.
Файл .mp3 можно с какого места "кидать" в декодер - прямо с самого начала (вместе с заголовком, тэгами и т.д.), или заголовок необходимо откинуть и передавать только сжатый аудио поток?
Ещё вот интересно, кто-нить на АРМе типа STM32 напрямую, безо всяких декодеров, воспроизводил mp3? Стоит ли заморачиваться с софтом, по силам ли ему такое, если учесть, что кроме самого воспроизведения он будет выполнять роль системного контроллера с доп. задачами?
|
|
|
|
|
Dec 12 2009, 11:27
|

Любитель
    
Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695

|
Цитата(Григорий2000 @ May 15 2009, 14:42)  VS1011E При прерывании трека в произвольном месте и начале воспроизведения другого файла даже при осуществлении программного сброса появляется щелчек(иногда) думаю что это остаток от предыдущего файла в выходном буфере. Как рекомендует ANotes после останова загружаю 2048 нулей, затем softreset. Результат такой-же. Кто нибудь сталкивался или это я что-то не так делаю? Такая же фигня получается. После прерывания воспроизведения трека в произвольном месте начинаю воспроизводить следующий - и сразу отчётливо слышно не то что щелчок - а кусок предыдущего трека, длиной в несколько сотен миллисекунд. Аналогично, выдача 2048 или любого другого кол-ва нулей перед загрузкой нового трека не помогает. Однако нашёл случайно выход, не затрагивая управление громкостью - вместо нулей передаю декодеру 2 килобайта памяти программ (флеша) Пытаясь декодировать код контроллера, декодер благополучно очищает буфера ЦАПов Ну а вообще, конечно, финнам за такой ляп по голове надавать нужно. Попробую с ними связаться, может, подскажут что-то более "прямое"...
|
|
|
|
|
Dec 12 2009, 13:41
|

Любитель
    
Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695

|
Хе, сделал проще - не стал вообще закачивать нули перед окончанием трека. Просто прекращаю передавать данные, и жду сотню-другую миллисекунд. Вуаля - буфер ЦАПов очищается и они автоматически глушатся. Получается, что при передаче 2048 нулей DSP останавливает ЦАПы до того, как они успевают вывести весь выходной буфер. И очищает входной. А что получается, когда мы просто перестаём передавать данные? Имхо, декодер дочитает байты из входного буфера и остановится, ЦАПы, в свою очередь, тоже выгребут все готовые семплы и отключатся. Вуаля - всё чистенько, при воспроизведении след. файла никаких хрипов и старых остатков И не надо никаких нулевых байтов
|
|
|
|
|
Dec 12 2009, 14:15
|

Любитель
    
Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695

|
Цитата(ILYAUL @ Dec 12 2009, 18:11)  Т.е сегодня воевать финнов не будем  ? Письмо им я всё равно написал. Интересно, что подскажут. Жаль, нет на их сайте форума, только имэйл для помощи... Имхо, косяк всё же за ними. Столько лет производят свои декодеры, а до сих пор нет очистки буфера ЦАПов при софтовом сбросе! Стыд
|
|
|
|
|
Dec 15 2009, 16:38
|

Любитель
    
Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695

|
Цитата(011119xx @ Dec 15 2009, 20:02)  У 1033с такой проблемы пока не заметил То есть, следуя рекомендациям, пересылаешь 2048 байт нулей, затем софт сброс и передача след. трека? У меня тоже есть 1033 - лежит в коробке в корпусе LQFP 48. А на макетку впаял 1011 в SOIC28 - легче паять. На плату, возможно, тоже поставлю 1033. Но выход нашёл простой - вообще не шлю нули, просто пауза 50-100 миллисекунд и софт сброс. Никаких шумов  Сейчас спросил у финнов, что за дела такие и как это понимать. Упорствуют, что память всенепременно очищается при сбросе...  Кстати, что такое "history window buffer"?
|
|
|
|
|
Jan 8 2010, 10:17
|

Любитель
    
Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695

|
Цитата(МП41 @ Dec 29 2009, 15:24)  Может не зря они слово "should" применили, означающее "должно быть" в смысле "скорее всего". Вот вот, что-то они темнят. Вот последний ответ, когда они протестировали свою плату моим треком: Цитата I tested the vs1011e setup with our parallel-port adapter. ./mp3io ck2.cmd newmode.cmd koe1.mp3 z koe1.mp3 z newmodesoftreset.cmd newmode.cmd z ~/Delerium\ -\ Angelicus\ \(Andy\ Moor\ Remix\).mp3
What it does: CLOCKF = 0x9800 (clock-double 12.288MHz) MODE = 0x0c00 send 120000 bytes from your file send 2050 zeros -> this fills the partial mp3 frame and causes the windowing history to have improper data send 120000 bytes from your file -> causes a short snap to the sound at start when the incorrect history data goes to output send 2050 zeros MODE = 0x0c04 (software reset) MODE = 0x0c00 (new+shared mode) send your file -> no snap Не понятно, признают они, что проблема существует, или нет? Цитата(011119xx @ Jan 8 2010, 11:38)  В данный момент использую VS1033C. Хотел спросить у тех кто имеет больше опыта работы с данной микрой. Какое значение нужно записывать в регистр SCI_CLOCKF при использовании кварца на 24,576МГц? Сейчас я пишу в него 0х8000. В принципе работает, но есть определенные недостатки: при регулировке громкости иногда прослушиваются щелчки, при воспроизведении мп3-файлов присутствует едва заметный шум как-будто усилитель фонит, но не всегда. Ну, я бы не сказал, что у меня много опыта, но попробую ответить, руководствуясь даташитом. У вас кварц в 24.576 МГц, то есть вы устанавливаете SM CLK RANGE, входная частота делится на 2, и получается 12.288. Записываемое вами значение 0х8000 означает XTALIЧ3.0 -> внутренняя частота будет равна 12.288 * 3 = 36.864 МГц. Всё правильно. Имхо, правильное значение для регистра SCI CLOCKF будет: 1. SC_MULT = 3 (12.288 * 3 = 36.864 - номинальная рабочая частота). 2. SC_ADD = 1 (3 + 1 = 4 * 12.288 = 49.152 - макс. частота при декодировании WMA). 3. SC_FREQ = 0. В итоге получаем SCI CLOCKF = 0х9000. Что касается шума, то шумят многие mp3 треки, плюс, естественно, внутренние шумы декодера. Его ЦАП весьма далёк от совершенства  Щелчки при регулировке громкости тоже норма - в 1033 отсутствует схема zero-cross detection for smooth volume change. Есть только в 1053  ЗЫ: сейчас развожу плату для 1033 + STM32 + SI4700, может, кто нибудь что то посоветует? Всё таки цифра + аналог, да ещё и радиоприёмник
|
|
|
|
|
Jan 20 2010, 23:22
|
Частый гость
 
Группа: Свой
Сообщений: 147
Регистрация: 4-05-06
Пользователь №: 16 779

|
Цитата(011119xx @ Jan 17 2010, 15:15)  На частоте 8МГц на атмеге у кого-нибудь хватает быстродействия воспроизводить треки с 320кбит/с? У меня нет. А в чем проблема??? Т.е. откуда эти треки берутся?
|
|
|
|
|
Jun 24 2012, 18:15
|
Группа: Новичок
Сообщений: 5
Регистрация: 24-06-12
Пользователь №: 72 480

|
Вопрос немного не по теме, но все же спрошу. Тоже использую vs1011. Задумка есть после нее сделать не 2 канала а побольше, наподобие выходов как у магнитолы. 2 передних, 2 задних и саб. Сейчас использую TDA7402 которая по функционалу устраивает на 100% но есть проблемы с ней. Вся система питается от 3.3 вольта а TDA от 9!!!! вольт что крайне не вписывается в схему, при этом греется почему то (микруха точно рабочая) и больно уж она шумная (после vs1011 звук чистый а после TDA с шумами). Вопрос в том что поставить на замену TDA7402 на 3.3 вольта с выходом на 4 канала и выходом саба.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|