Перейти к содержанию
    

STM32F4 Discovery где найти опсиание работы с USB Flash

По поводу установки частоты воспроизведения. Функция I2S_Init пытается подобрать делители чтобы получить максимально близкую частоту к заданной, в нашем случае 44100,

 

Но для частоты кварца 8МГц на выходе I2S получается что то около 43556ГЦ и это режет слух. Как подобрать более точно частоту пока не нашел.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Но для частоты кварца 8МГц на выходе I2S получается что то около 43556ГЦ и это режет слух. Как подобрать более точно частоту пока не нашел.

А вы пользовались Clock configuration tool для подбора частоты I2S? Самому со звуком поработать не довелось, но вот в тулзе сейчас легко получил 44.1кГц с ошибкой 0.0011%

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А вы пользовались Clock configuration tool для подбора частоты I2S? Самому со звуком поработать не довелось, но вот в тулзе сейчас легко получил 44.1кГц с ошибкой 0.0011%

Да, вот создал новую тему. Там расписал подробнее чем пользовался. Я не знаю откуда тулза берет такие цифры.

 

http://electronix.ru/forum/index.php?showtopic=114515

 

Эта утилита кстати глючная. Она часто начинает сыпать ошибки и отказывается что либо рассчитывать пока не переоткроешь файл.

Изменено пользователем flopix

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Разобрались. Теперь играет синхронно с ПК.

 

В примере от ST частота сконфигурирована с расчетом на частоту аудио 48khz

 

- Audio sampling freq (KHz) : 48

 

Вот рабочий пример под CooCox, все еще не причесанный но рабочий. Воспроизведение работает в отдельном потоке. Параллельно еще 2 потока мигают светодиодами для наглядности.

Для воспроизведения программа ожидает файл 1.mp3 в корне флешки. Чуть позже сделаю поиск по всем папкам.

 

Сейчас буду приделывать пульт ДУ.

FlashTest_Coocox_USB_LFN_Rus_PID_VID_RTOS.zip

Изменено пользователем flopix

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Чего-то у меня не поёт. Мигают 2 светодиодика и всё.

Лампочка на флэшке не мигает, значит проц к ней не обращается. Думал, файл найти не может - отладчиком слегка походил, нашёл fopen, он отрабатыват нормально.

Может он не все mp3 понимает? Если надо, могу выслать файл.

Тот проект на кейле, который с замедленной скоростью, её играет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У вас там сейчас программный декодер мп3 или аппаратный? И что в конечном итоге будет за проект?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Там программный декодер helix. Играет через аудиоЦАП платы F4Discovery.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В целях эксперимента сделал одновременное проигрывание mp3 и параллельный вывод картинки bmp на дисплей в другом потоке. Все работает как часы. fatfs отлично может читать одновременно из нескольких открытых файлов при условии что используются средства синхронизации.

 

 

hd44780 - да киньте файл mp3 проверю.

Изменено пользователем flopix

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И что в конечном итоге будет за проект?

http://electronix.ru/forum/index.php?s=&am...t&p=1177879

 

Будет просто компактный аудио-проигрыватель для дома.

Вдохновил этот проект http://www.youtube.com/watch?v=0ETyFmAMFjY

Изменено пользователем flopix

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

hd44780 - да киньте файл mp3 проверю.

Ловите. "Весёлые ребята" - Пустыня.

 

Данные из винампа:

Size: 5840896 bytes

Header found at: 1415 bytes

Length: 291 seconds

MPEG 2.0 layer 3

160kbit, 11186 frames

22050Hz Joint Stereo

CRCs: Yes

Copyrighted: No

Original: Yes

Emphasis: None

 

Справедливости ради отмечу, что другие я не пробовал.

VR_Pustynya.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ловите проект, подправил.

В проекте под Keil частота воспроизведения прописана как константа 44100Гц, а в этом проекте устанавливается после декодировки первого фрейма. Но с этим треком первые несколько фреймов декодируются с ошибкой, возможно не корректно читается ID3v заголовок. Добавил в начале воспроизведения ожидание первого успешно раскодированного фрейма, теперь работает.

FlashTest_Coocox_USB_LFN_Rus_PID_VID_RTOS.zip

Изменено пользователем flopix

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...