|
|
  |
mp3 acc wma декодеры под cortex-m3 |
|
|
|
Nov 26 2009, 06:20
|

Профессионал
    
Группа: Свой
Сообщений: 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 код генерирует. Я пока не могу уделять этому занятию много времени, поэтому не знаю, когда будут результаты. Всем желающим могу отдать проект в его текущем состоянии (нерабочем  ). Про ось запутался, про какой проект вы говорите. У stm'шников какая-то CircleOS. У немцев с sam7 (http://embdev.net/articles/ARM_MP3/AAC_Player) оси нет. Я вначале прикрутил freertos, потом открутил нафиг.  З.Ы. а для CrossStudio 2.* клизмы еще нет?
--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
|
|
|
|
|
Nov 27 2009, 08:04
|

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

|
Цитата(Dron_Gus @ Nov 25 2009, 11:28)  Свою цель я обозначил в начале топика. В сравнении с готовыми декодерами - большая гибкость и апгрейдо-пригодность. Я, например, хочу добавить flac. ЦАПы у этого Cortex'а, боюсь, отдыхают в сравнении с тем же tlv320aic23 Посмотрите на VS1053B: Decodes multiple formatsOgg 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 stereoOgg Vorbis with software plugin IMA ADPCM 16-bit PCM
--------------------
Мечты стареют куда быстрее мечтателей… Стивен Кинг. "Ловец снов"
|
|
|
|
|
Dec 23 2009, 14:31
|

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

|
Пока сделал декодер на чипе VLSI, но потом хочется собрать софтовый декодер. Какие ЦАПы посоветуете использовать, кроме tlv320aic23? Требования к качеству звука не шибко высокие, тем более, раз речь идёт об mp3. Нет ли в природе буферизованных ЦАПов или кодеков, которые бы сами генерировали нужную частоту сэмплирования? И что-то я не особо впечатлён возможностями генератора клока для I2S в STM32 (кроме новых чипов с отдельным PLL). Тупой целочисленный делитель, необходимо подгонять кварц для более менее точного Fs. Не сравнить с дробным делителем LPC17хх
|
|
|
|
|
Dec 23 2009, 20:43
|

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

|
Цитата(Dron_Gus @ Dec 23 2009, 23:55)  По второму вопросу tlv320aic23 умеет быть мастером. Думаю, Вы в курсе  Самый популярный вариант. Все остальные, которые знаю, клок генерировать не умеют. Про I2C у STM'ов, а Вы их SPI пробовали? Тоже то еще. Видно захотели сильно универсальный модуль сделать да не вышло SPI master/SPI slave/I2S/и еще что-то однопроводное. Думаю поработать с tlv320 dac23, он без ненужного мне АЦП, но мастером быть тоже умеет (есть у TI и более простые ЦАПы с таким режимом). Но что-то особой пользы от мастера я не увидел. Внешний-то клок - MCLK - всё равно надо подавать снаружи, и подавать разный для разных частот сэмплирования (например, для Fs = 44.1 кГц- 11.289 МГц, а для Fs = 48 кГц - уже 12.288 МГц). Имхо, проще будет сразу все частоты формировать контроллером...  К SPI у меня претензий нет. Ну, кроме такого же "тупого" делителя (2^x) для SCLK. Но это и у конкурентов так. А вот I2C у STM отвратительный. Громоздкий, да ещё и еррата кусается...
|
|
|
|
|
Dec 24 2009, 08:11
|

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

|
Цитата(sonycman @ Dec 23 2009, 23:43)  Но что-то особой пользы от мастера я не увидел. Внешний-то клок - MCLK - всё равно надо подавать снаружи, и подавать разный для разных частот сэмплирования (например, для Fs = 44.1 кГц- 11.289 МГц, а для Fs = 48 кГц - уже 12.288 МГц). Имхо, проще будет сразу все частоты формировать контроллером... К SPI у меня претензий нет. Ну, кроме такого же "тупого" делителя (2^x) для SCLK. Но это и у конкурентов так. А вот I2C у STM отвратительный. Громоздкий, да ещё и еррата кусается... А погрешности при 12 МГц кварце (usb mode) не устраивают? SPI мне не понравился тем, что не умеет дергать CS (SS) после каждого байта. Да и после окончания передачи блока не дергает. Короче, как на sam7 приходится дергать руками. На I2C я вообще забил. Проще ногами дергать, чем адекватно управлять их модулем.
--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
|
|
|
|
|
Dec 24 2009, 13:24
|

Профессионал
    
Группа: Свой
Сообщений: 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 бит. ИМХО неудобно иногда. З.Ы. раз у Вас все работает, переживать не стоит.  З.З.Ы. мне все же привычней реализации этих модулей от Atmel & NXP.
--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
|
|
|
|
|
Dec 25 2009, 05:28
|

Любитель
    
Группа: Свой
Сообщений: 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)  Я пока не могу уделять этому занятию много времени, поэтому не знаю, когда будут результаты. Всем желающим могу отдать проект в его текущем состоянии (нерабочем  ). Ну а как прогресс с софтовым декодером? Есть результаты?
|
|
|
|
|
Dec 25 2009, 19:52
|
Местный
  
Группа: Свой
Сообщений: 251
Регистрация: 26-07-05
Пользователь №: 7 117

|
Цитата(Dron_Gus @ Nov 25 2009, 14:10)  Декодер там RealNetworks'овский. Его еще немцы в своем плеере на sam7 использовали. Собирал этот декодер в кейле, для нормального декодирования на stm32 больших битрейтов приходилось разгонять проц до 96МГц ибо у STM32 дюже флеш тормознутый.
|
|
|
|
|
Dec 25 2009, 22:20
|

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

|
Цитата(sergvks @ Dec 25 2009, 23:52)  Собирал этот декодер в кейле, для нормального декодирования на stm32 больших битрейтов приходилось разгонять проц до 96МГц ибо у STM32 дюже флеш тормознутый. Больших битрейтов - это каких? А в декодере вставки на асме есть? Наиболее юзабельные функции располагать в RAM пробовали? Просто, после сообщений о том, что даже на тормозном SAM7S 320 kbps не лагает - слышать о проблемах на STM странновато...
|
|
|
|
|
Dec 26 2009, 06:59
|
Местный
  
Группа: Свой
Сообщений: 251
Регистрация: 26-07-05
Пользователь №: 7 117

|
После кое-какой правки исходников я пришёл к тому, что находится во вложении.
Прикрепленные файлы
mp3.zip ( 72.52 килобайт )
Кол-во скачиваний: 198
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|