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

 
 
5 страниц V  < 1 2 3 4 5 >  
Reply to this topicStart new topic
> mp3 acc wma декодеры под cortex-m3
Dron_Gus
сообщение Nov 26 2009, 06:20
Сообщение #31


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 9-01-05
Из: Санкт-Петербург
Пользователь №: 1 861



Цитата(sonycman @ Nov 25 2009, 23:00) *
То есть нормальных вставок в родном THUMB2 не получилось найти, или руки пока не дошли собрать?

Тоже интересно, что получится в результате.

А ось в проекте не присутствует случайно, как у немцев?

Вставки заменены сишными аналогами. Но самая ресурсоемкая процедура как раз в thimb2 - asmpoly_thumb2.s, взята из проекта от stm32. Вот ее надо проверить. Т.к. CS 1.7 вроде как не умеет thumb-2 и что там в итоге выходит - х.з., может он arm код генерирует.

Я пока не могу уделять этому занятию много времени, поэтому не знаю, когда будут результаты. Всем желающим могу отдать проект в его текущем состоянии (нерабочем smile.gif ).

Про ось запутался, про какой проект вы говорите. У stm'шников какая-то CircleOS. У немцев с sam7 (http://embdev.net/articles/ARM_MP3/AAC_Player) оси нет. Я вначале прикрутил freertos, потом открутил нафиг. smile.gif

З.Ы. а для CrossStudio 2.* клизмы еще нет?


--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
Go to the top of the page
 
+Quote Post
zksystem
сообщение Nov 27 2009, 08:04
Сообщение #32


embedder
***

Группа: Свой
Сообщений: 264
Регистрация: 11-05-05
Из: Казань
Пользователь №: 4 911



Цитата(Dron_Gus @ Nov 25 2009, 11:28) *
Свою цель я обозначил в начале топика. В сравнении с готовыми декодерами - большая гибкость и апгрейдо-пригодность. Я, например, хочу добавить flac. ЦАПы у этого Cortex'а, боюсь, отдыхают в сравнении с тем же tlv320aic23


Посмотрите на VS1053B:

Decodes multiple formats
Ogg Vorbis
MP3 = MPEG 1 & 2 audio layer III (CBR+VBR+ABR)
MP1 & MP2 = MPEG 1 & 2 audio layers I & II optional
MPEG4 / 2 AAC-LC(+PNS), HE-AAC v2 (Level 3) (SBR + PS)
WMA4.0/4.1/7/8/9 all profiles (5-384 kbps)
FLAC lossless audio with software plugin (upto 24 bits, 48 kHz)
WAV (PCM + IMA ADPCM)
General MIDI 1 / SP-MIDI format 0

Encodes three different formats from mic/line in mono or stereo
Ogg Vorbis with software plugin
IMA ADPCM
16-bit PCM


--------------------
Мечты стареют куда быстрее мечтателей… Стивен Кинг. "Ловец снов"
Go to the top of the page
 
+Quote Post
sonycman
сообщение Dec 23 2009, 14:31
Сообщение #33


Любитель
*****

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



Пока сделал декодер на чипе VLSI, но потом хочется собрать софтовый декодер.

Какие ЦАПы посоветуете использовать, кроме tlv320aic23?
Требования к качеству звука не шибко высокие, тем более, раз речь идёт об mp3.

Нет ли в природе буферизованных ЦАПов или кодеков, которые бы сами генерировали нужную частоту сэмплирования?

И что-то я не особо впечатлён возможностями генератора клока для I2S в STM32 (кроме новых чипов с отдельным PLL).
Тупой целочисленный делитель, необходимо подгонять кварц для более менее точного Fs.
Не сравнить с дробным делителем LPC17хх smile.gif
Go to the top of the page
 
+Quote Post
Dron_Gus
сообщение Dec 23 2009, 19:55
Сообщение #34


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 9-01-05
Из: Санкт-Петербург
Пользователь №: 1 861



По второму вопросу tlv320aic23 умеет быть мастером. Думаю, Вы в курсе smile.gif Самый популярный вариант. Все остальные, которые знаю, клок генерировать не умеют.

Про I2C у STM'ов, а Вы их SPI пробовали? Тоже то еще. Видно захотели сильно универсальный модуль сделать да не вышло SPI master/SPI slave/I2S/и еще что-то однопроводное.


--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
Go to the top of the page
 
+Quote Post
sonycman
сообщение Dec 23 2009, 20:43
Сообщение #35


Любитель
*****

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



Цитата(Dron_Gus @ Dec 23 2009, 23:55) *
По второму вопросу tlv320aic23 умеет быть мастером. Думаю, Вы в курсе smile.gif Самый популярный вариант. Все остальные, которые знаю, клок генерировать не умеют.

Про I2C у STM'ов, а Вы их SPI пробовали? Тоже то еще. Видно захотели сильно универсальный модуль сделать да не вышло SPI master/SPI slave/I2S/и еще что-то однопроводное.

Думаю поработать с tlv320dac23, он без ненужного мне АЦП, но мастером быть тоже умеет (есть у TI и более простые ЦАПы с таким режимом).

Но что-то особой пользы от мастера я не увидел. Внешний-то клок - MCLK - всё равно надо подавать снаружи, и подавать разный для разных частот сэмплирования (например, для Fs = 44.1 кГц- 11.289 МГц, а для Fs = 48 кГц - уже 12.288 МГц).
Имхо, проще будет сразу все частоты формировать контроллером... sad.gif

К SPI у меня претензий нет. Ну, кроме такого же "тупого" делителя (2^x) для SCLK. Но это и у конкурентов так.

А вот I2C у STM отвратительный. Громоздкий, да ещё и еррата кусается...
Go to the top of the page
 
+Quote Post
Dron_Gus
сообщение Dec 24 2009, 08:11
Сообщение #36


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 9-01-05
Из: Санкт-Петербург
Пользователь №: 1 861



Цитата(sonycman @ Dec 23 2009, 23:43) *
Но что-то особой пользы от мастера я не увидел. Внешний-то клок - MCLK - всё равно надо подавать снаружи, и подавать разный для разных частот сэмплирования (например, для Fs = 44.1 кГц- 11.289 МГц, а для Fs = 48 кГц - уже 12.288 МГц).
Имхо, проще будет сразу все частоты формировать контроллером... sad.gif

К SPI у меня претензий нет. Ну, кроме такого же "тупого" делителя (2^x) для SCLK. Но это и у конкурентов так.

А вот I2C у STM отвратительный. Громоздкий, да ещё и еррата кусается...


А погрешности при 12 МГц кварце (usb mode) не устраивают?

SPI мне не понравился тем, что не умеет дергать CS (SS) после каждого байта. Да и после окончания передачи блока не дергает. Короче, как на sam7 приходится дергать руками.

На I2C я вообще забил. Проще ногами дергать, чем адекватно управлять их модулем.


--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
Go to the top of the page
 
+Quote Post
adnega
сообщение Dec 24 2009, 12:27
Сообщение #37


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Хм..
По I2C подключил дисплей TIC-154, на SPI SD/MMC-карта (правда, CS ручками дергаю), делал и развертку VGA-сигнала (640x480) через SPI на stm32f103t4 - из-за недостатка памяти только текстовый режим (а ля, просмотр отладочных сообщение через RS232/TTL).
Во всех реализациях проблем не имел - хотелось бы узнать какие есть проблемы (страшно ведь...)?
Go to the top of the page
 
+Quote Post
Dron_Gus
сообщение Dec 24 2009, 13:24
Сообщение #38


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 9-01-05
Из: Санкт-Петербург
Пользователь №: 1 861



Цитата(adnega @ Dec 24 2009, 15:27) *
Хм..
По I2C подключил дисплей TIC-154, на SPI SD/MMC-карта (правда, CS ручками дергаю), делал и развертку VGA-сигнала (640x480) через SPI на stm32f103t4 - из-за недостатка памяти только текстовый режим (а ля, просмотр отладочных сообщение через RS232/TTL).
Во всех реализациях проблем не имел - хотелось бы узнать какие есть проблемы (страшно ведь...)?


Читайте еррату и апноты. По I2C нельзя послать 1 байт. Достатоно криво реализуется обработка исключительных ситуаций. У меня устройство с возможностью горячего подключения/отключения, так что для меня было критично.
По СПИ, кроме перечисленного, только 8/16 бит. ИМХО неудобно иногда.

З.Ы. раз у Вас все работает, переживать не стоит. smile.gif
З.З.Ы. мне все же привычней реализации этих модулей от Atmel & NXP.


--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
Go to the top of the page
 
+Quote Post
sonycman
сообщение Dec 25 2009, 05:28
Сообщение #39


Любитель
*****

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



Цитата(Dron_Gus @ Dec 24 2009, 17:24) *
По I2C нельзя послать 1 байт.

Можно всё, по крайней мере на medium density девайсах.
Просто для 100% надёжности необходима реализация I2C через прерывания или DMA.

Цитата(Dron_Gus @ Nov 26 2009, 10:20) *
Я пока не могу уделять этому занятию много времени, поэтому не знаю, когда будут результаты. Всем желающим могу отдать проект в его текущем состоянии (нерабочем smile.gif ).

Ну а как прогресс с софтовым декодером? Есть результаты? wink.gif
Go to the top of the page
 
+Quote Post
Dron_Gus
сообщение Dec 25 2009, 06:10
Сообщение #40


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 9-01-05
Из: Санкт-Петербург
Пользователь №: 1 861



Цитата(sonycman @ Dec 25 2009, 08:28) *
Ну а как прогресс с софтовым декодером? Есть результаты? wink.gif


Нет пока. Меня в командировку на севера на НГ хотят отправить, не до того. smile.gif


--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
Go to the top of the page
 
+Quote Post
sergvks
сообщение Dec 25 2009, 19:52
Сообщение #41


Местный
***

Группа: Свой
Сообщений: 251
Регистрация: 26-07-05
Пользователь №: 7 117



Цитата(Dron_Gus @ Nov 25 2009, 14:10) *
Декодер там RealNetworks'овский. Его еще немцы в своем плеере на sam7 использовали.


Собирал этот декодер в кейле, для нормального декодирования на stm32 больших битрейтов приходилось разгонять проц до 96МГц ибо у STM32 дюже флеш тормознутый.
Go to the top of the page
 
+Quote Post
sonycman
сообщение Dec 25 2009, 22:20
Сообщение #42


Любитель
*****

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



Цитата(sergvks @ Dec 25 2009, 23:52) *
Собирал этот декодер в кейле, для нормального декодирования на stm32 больших битрейтов приходилось разгонять проц до 96МГц ибо у STM32 дюже флеш тормознутый.

Больших битрейтов - это каких?
А в декодере вставки на асме есть?
Наиболее юзабельные функции располагать в RAM пробовали?

Просто, после сообщений о том, что даже на тормозном SAM7S 320 kbps не лагает - слышать о проблемах на STM странновато...
Go to the top of the page
 
+Quote Post
sergvks
сообщение Dec 26 2009, 06:59
Сообщение #43


Местный
***

Группа: Свой
Сообщений: 251
Регистрация: 26-07-05
Пользователь №: 7 117



После кое-какой правки исходников я пришёл к тому, что находится во вложении.
Прикрепленные файлы
Прикрепленный файл  mp3.zip ( 72.52 килобайт ) Кол-во скачиваний: 198
 
Go to the top of the page
 
+Quote Post
sonycman
сообщение Dec 26 2009, 12:30
Сообщение #44


Любитель
*****

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



Спасибо!
Разбираться буду, когда начну след. проект, уже на LPC1768 smile.gif
Go to the top of the page
 
+Quote Post
Dron_Gus
сообщение Jan 1 2010, 23:16
Сообщение #45


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 9-01-05
Из: Санкт-Петербург
Пользователь №: 1 861



Добил. Декодирование mp3 @ 256 на lpc1768 @ 100 MHz - 74..78%. CrossStudio 1.7, без оптимизации, thumb. Данные грузятся с sd-карты результат выпихивается через dma на tlv320.

Оптимизация O3 - mp3 @ 320 на lpc1768 @ 100 MHz - 28..30%. Либо я что-то не правильно мерю. Но underun'ов точно нет. Приведу проект в порядок - выложу.

Всех с наступившим Новым Годом. smile.gif Пусть у всех в Новом Году будет хватать времени заниматься хобби.


--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
Go to the top of the page
 
+Quote Post

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

 


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


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