Menu Home

Бесплатная техническая библиотека для любителей и профессионалов Бесплатная техническая библиотека


Аудиоплейер форматов MP3 и Opus. Энциклопедия радиоэлектроники и электротехники

Бесплатная техническая библиотека

Энциклопедия радиоэлектроники и электротехники / Аудиотехника

Комментарии к статье Комментарии к статье

В предлагаемой статье описан самодельный портативный проигрыватель музыкальных файлов распространенных форматов с карты памяти microSD. Он собран на микроконтроллере STM32F407VGT6 в корпусе от сотового телефона NOKIA 1100.

Схема плейера приведена на рис. 1. В нем максимально используются электронные компоненты, имеющиеся на отладочной плате STM32F4DISCOVERY В их число входят микроконтроллер STM32F407VGT6 (DD1), интегральные стабилизаторы напряжения LD3985M25R (DA1) и LD3985M33R (DA3), кодек CS43L22 (DD2), а также необходимые пассивные компоненты. Из сотового телефона NOKIA 1100, помимо корпуса и аккумулятора, использованы разъем для подключения головных телефонов XS3, передняя панель с ЖКИ HG1, мембраны для кнопок SB1-SB17, сформированных концентрическими контактными площадками на печатной плате, и разъем для подключения аккумулятора G1. Кроме того, на плате плейера размещены держатель для карты памяти microSD TFC-WPCE-08 (XS1), группа контактных площадок для подключения программатора Xp1, разъем miniUSB-B 5075BMR-05-SM (XS2).

Аудиоплейер форматов MP3 и Opus
Рис. 1. Схема плейера (нажмите для увеличения)

Диодные сборки VD1, VD4, VD5, VD6 служат для защиты от электростатических разрядов цепей, подключенных к разъемам XS2 и XS3. Остальные разъемы находятся внутри аккумуляторного отсека и в защите не нуждаются. Микросхема (DA2) - контроллер зарядки литий-ионного аккумулятора G1 с максимальным напряжением 4,2 В. Резистор R9 уменьшает падение напряжения на этой микросхеме во время зарядки, вызывающее ее нагревание. Резистором R10 устанавливают максимальный зарядный ток Iзар.mах в соответствии с формулой Iзap.max = 1000/R10. При сопротивлении R10, заданном в килоомах, значение зарядного тока получается в миллиамперах.

Заряжать литий-ионный аккумулятор рекомендуется током не больше 1С, где С - емкость аккумулятора. Ёмкость примененного аккумулятора BL-5C - около 1000 мА·ч, максимально допустимое для микросхемы LTC4054ES5-4.2 значение зарядного тока - 800 мА. Поскольку зарядка производится от шины USB, необходимо учитывать и ее нагрузочную способность (500 мА). Таким образом, рекомендуемое значение R10 - 2 кОм. Кроме того, измеряя напряжение на R10, можно определить текущее значение тока зарядки аккумулятора по формуле Iзар= 1000·UR10/R10 (ток - в миллиамперах, напряжение - в вольтах, сопротивление - в килоомах).

При подключении разъема XS2 к шине USB полевой транзистор VT1 отключает аккумулятор G1 от цепи питания плейера. Напряжение 5 В с контакта 1 разъема XS2 открывает транзистор VT5, напряжение на затворе транзистора VT3 становится отрицательным относительно его истока. Транзистор VT3 открывается, включая плейер.

Когда напряжение на контакте 1 разъема XS2 отсутствует, потенциал затвора транзистора VT3 близок к потенциалу его истока и транзистор закрыт.

Нажатие на кнопку SB1 также открывает транзистор VT3, микроконтроллер начинает работать и каждые 10 мс проверять состояние этой кнопки. Если ее удерживают в нажатом состоянии более 2 с, микроконтроллер установит высокий уровень напряжения на базе транзистора VT2, открыв его и поддерживая открытым транзистор VT3. После этого плейер переходит в рабочее состояние, и кнопку можно отпускать. Выключают плейер повторным нажатием и удержанием кнопки SB1.

После включения микроконтроллер инициализирует ЖКИ HG1 и карту microSD, вставленную в держатель XS1, проверяет наличие в корневом директории карты файла конфигурации player.ini (поддерживаются файловые системы FAT12, FAT16, FAT32). Это обычный ini-файл, представляющий собой набор строк "ключ - значение". В нем хранятся сведения об аудиофайле, выбранном для воспроизведения на момент предыдущего выключения плейера, позиции в нем и установленной громкости. Программа старается восстановить это состояние. В случае неудачи (например, если карта была заменена) выполняется поиск первого имеющегося на карте аудиофайла (с расширением имени .mp3 или .opus). Поиск начинается с корневого директория, файлы просматриваются в том порядке, в котором они перечислены в имеющейся на карте таблице размещения файлов.

В процессе воспроизведения периодически вызывается функция MainThread текущего декодера, которая по мере надобности выполняет чтение с карты (за буферизацию каждый кодек отвечает сам, так как форматы контейнеров аудиопакетов у .opus и .mp3 разные) и декодирование. Необходимость выполнения этих операций определяется заполненностью циклического буфера AudioBuffer, из которого асинхронно считывает информацию аудиокодек. По завершении декодирования текущего аудиофайла выполняется поиск следующего по принципу, описанному выше. Если обход файловой системы завершен, воспроизведение останавливается.

Взаимодействие плейера с пользователем происходит с помощью графического монохромного ЖКИ HG1 разрешением 96x65 пкс и кнопок SB 1 -SB 17. Используется программная симуляция текстового режима дисплея с разбиением экрана на восемь строк высотой по 8 пкс. Оставшаяся в нижней части экрана горизонтальная полоса высотой 1 пкс используется для визуального отображения текущей позиции в файле при воспроизведении.

В первой сверху строке отображаются (слева-направо) напряжение аккумулятора, состояние плейера, громкость. Состояние характеризуют символы "0" - воспроизведение, "-" - пауза, "<<" или ">>" - ускоренная перемотка соответственно назад или вперед в пределах файла. Символ в виде прямоугольника означает ошибку связи микросхем DD1 и DD2 по интерфейсу I2C.

В строках 2-6 отображается полный путь к проигрываемому аудиофайлу. В строке 8 слева выводится текущее время воспроизведения, справа - длительность аудиофайла.

Кнопкой SB1 переключают режимы воспроизведения и паузы, кнопкой SB3 увеличивают, а кнопкой SB5 уменьшают громкость, кнопкой SB4 включают, а кнопкой SB15 выключают блокировку клавиатуры. Когда клавиатура заблокирована, в центре строки 7 дисплея выводится надпись "Locked". Нажатие на кнопку SB6 приводит к переходу на воспроизведение предыдущего файла, а на кнопку SB8 - следующего. Нажатие и удержание этих кнопок более секунды переводят плейер в режим ускоренной перемотки, соответственно назад или вперед. Нажатие на кнопку SB9 или SB11 загружает для воспроизведения соответственно первый и последний файлы текущего директория.

Разъем XS3 - имеющееся в примененном корпусе гнездо для подключения микротелефонной гарнитуры. На самой гарнитуре есть гнездо для стандартного аудиоштекера диаметром 3,5 мм, к которому и подключают головные телефоны. В гарнитуре предусмотрена также кнопка, соединяющая при нажатии цепи BTN и GND, причем сопротивление между контактами отпущенной кнопки - около килоома. В плейере линия BTN соединена с цепью 3,3 В через резистор R21, поэтому, измеряя напряжение на этой линии, можно судить и о наличии подключенной гарнитуры, и о состоянии ее кнопки. Функция кнопки гарнитуры схожа с функцией кнопки SB1 плейера - можно переводить его из режима воспроизведения в режим паузы, и наоборот, а также выключать. Однако включить плейер с ее помощью нельзя. При заблокированной клавиатуре кнопка гарнитуры продолжает действовать.

Разъем XS2 занимает в телефоне место линзы светодиодного фонаря. При обнаружении высокого логического уровня на соединенном с контактом 1 этого разъема входе PA9 микроконтроллера программа начинает отображать в верхнем правом углу дисплея зарядный ток аккумулятора в амперах. Кроме того, это событие автоматически включает плейер, если он был выключен. По умолчанию после этого плейер работает в обычном режиме воспроизведения, что позволяет слушать музыку и одновременно заряжать аккумулятор.

При нажатии на кнопку SB13 программа сохраняет состояние плейера в файле player.ini и настраивает модуль USB микроконтроллера на работу в режиме MSC (Mass Storage Class). В этом режиме компьютер опознает плейер, подключенный к разъему USB, как съемный накопитель информации, содержимое которого совпадает с записанным на вставленной в плейер карте microSD. Обмен информацией с компьютером происходит только в режиме Full Speed с пропускной способностью не более 12 Мбит/с. На дисплее по-прежнему отображается текущее значение зарядного тока, в строке 3 - надпись "USB Disk", в строках 4 и 5 - соответственно скорость чтения и записи. Нажатием на кнопку SB12 устройство возвращают в режим плейера.

Чертеж печатной платы плейера представлен на рис. 2. Ее размеры и форма выбраны идентичными плате сотового телефона NOKIA 1100, в корпус которого она помещена (рис. 3). Плата должна быть изготовлена по технологии с металлизированными отверстиями, в противном случае во все переходные отверстия (с контактными площадками на обеих сторонах платы) необходимо вставить и пропаять с двух сторон отрезки луженого провода. Расположение деталей на плате показано на рис. 4 в масштабе 2:1. Там же показаны маски из термостойкого изоляционного лака, которыми необходимо защитить печатные проводники. Если маски не наносить, то необходимо изолировать хотя бы области подхода проводников к печатным контактам кнопок и зону под металлическим корпусом держателя карты microSD XS1.

Аудиоплейер форматов MP3 и Opus
Рис. 2. Чертеж печатной платы плейера

Аудиоплейер форматов MP3 и Opus
Рис. 3. Сотовый телефон NOKIA 1100

Аудиоплейер форматов MP3 и Opus
Рис. 4. Расположение деталей на плате

Коды из приложенного к статье файла walkgeek-v1.2-n1100-with-mp3.hex необходимо занести в память установленного на плате микроконтроллера. Исходный текст программы плейера и всех его компонентов распространяется под лицензией New BSD License (и других совместимых), что разрешает его использование в закрытых коммерческих проектах. Исключение составляет библиотека Mp3dec, присоединение которой к конечному продукту требует раскрытия всех исходных кодов. Проект постоянно обновляется, и в [1] выкладываются его обновленные версии.

Как уже было сказано, в плейере предусмотрена возможность воспроизведения файлов формата Opus. Это недавно вышедший в стабильной версии программный кодек [2] для сжатия звука с потерями, разработанный в рамках проекта Xiph.org, известного такими решениями, как Vorbis, FLAC (Free Lossless Audio Codec - кодек для сжатия звука без потерь) и Speex (речевой кодек). Можно назвать также Ogg - универсальный медиаконтейнер, который по умолчанию используется для упаковки сжатого потока в файлах формата Opus.

Поскольку кодек Opus довольно новый, существуют не так много его реализаций в системах с небольшим объемом оперативной памяти. Одна из них - Rockbox. В процессе работы с кодеком выяснилось, что библиотека Ogg динамически выделяет память для кеширования страницы целиком (теоретический максимальный размер - 65 Кбайт, реальный - около 26 Кбайт), а также для кеширования granulepos всех пакетов страницы (около 16 Кбайт), что для устройства, имеющего 192 Кбайт ОЗУ, очень много. Более того, библиотека по умолчанию выделяет под буфер страниц небольшой участок памяти, расширяя его в процессе работы и каждый раз выделяя память "с запасом".

То же самое происходит и с буфером для lacing values - информации о распределении пакетов на странице. Таким образом, если пул динамической памяти небольшой, это в скором времени приводит к его значительной фрагментации и невозможности дальнейшего выделения памяти требуемого объема.

В результате изменений, внесенных в библиотеки, кэширование производится на уровне пакетов (максимальный размер пакета стереоинформации, передаваемой со скоростью 512 Кбит/с, составляет на практике 1276 байт). Максимальный размер буфера для lacing values - 256 двухбайтных ячеек, причем их можно сделать и однобайтными. Таким образом, все структуры, связанные с контейнером Ogg, после модификации занимают менее 2 Кбайт оперативной памяти.

При модификации были сделаны некоторые допущения: пакеты не могут пересекать границы страниц, не проверяется контрольная сумма страниц (ничего из перечисленного не было обнаружено ни в одном из файлов Opus). Не проверена работа с файлами, содержащими более одного потока, и c числом каналов, отличающимся от двух.

Итоговый объем потребляемой кодеком Opus памяти - 65088 байт, из которых 3856 байт занимает выходной буфер. Результаты профилирования кодека при различной скорости информационного потока приведены в табл. 1.

Таблица 1

Кодек Opus MP3
Скорость, Кбит/с 48 196 320 512 320
Сложность, MIPS 43 50 74 80 21

Под понятием "сложность" в ней подразумевается производительность процессора, необходимая для успешного декодирования. Оценивалась она простым подсчетом с помощью аппаратного таймера разности моментов входа в процедуру декодирования каждого фрейма и выхода из нее (при отключенной вытесняющей многозадачности и запрещенных прерываниях). Проверка показала, что кодек MP3 требует меньших вычислительных затрат. Но Opus свободен от лицензионных отчислений, и качество звучания при его использовании лучше, чем при использовании MP3 и равной скорости потока.

Существует версия программы плейера для отладочной платы STM32F4DISCOVERY Коды, которые нужно занести в память установленного на ней микроконтроллера, находятся в файле walkgeek-v1. 1 -stm32f4discovery-with-mp3.hex (тоже приложен к статье). В этом случае проигрываются аудиофайлы с USB FLASH-накопителя, подключаемого к разъему CN5 платы через переходник. Плейер выступает в роли 

ведущего шины USB. Его состояние отображают оранжевый, красный, синий и зеленый светодиоды на плате. Красный показывает отсутствие, зеленый - наличие подключенного FLASH-накопителя, оранжевый - загрузку аудиофайла, остановку воспроизведения или ошибку программы, мигающий синий - режим воспроизведения. Большинство кнопок, имеющихся на схеме рис. 1, подключают к отладочной плате согласно табл. 2 (второй контакт каждой кнопки соединяют с общим проводом). Роль кнопки SB8 выполняет кнопка "User" платы. Дисплей от телефона NOKIA 1100 соединяют с отладочной платой в соответствии с табл. 3.

Таблица 2

Кнопка Линия Контакт
SB1 РЕЗ Р2.16
SB3 РЕ5 Р2.14
SB4 РЕ4 Р2.13
SB5 РЕ6 Р2.11
SB6 РЕ7 Р1.25
SB7 РЕ8 Р1.26
SB9 РЕ9 Р1.27
SB10 РЕЮ Р1.28
SB11 РЕ11 Р1.29
SB12 РЕЮ Р1.30
SB13 РЕЮ Р1.31
SB14 РЕЮ Р1.32
SB15 РЕЮ Р1.33

Таблица 3

Вывод Цепь Линия Контакт
1 RES РА2 Р1.14
2 CS РА1 Р1.11
3 VSS GND Р1.5
4 SDIN РА7 Р1 17
5 SCLK РА5 Р1 15
6 VDD1 3 В Р2.5
7 VDD2

Программы для плейера

Литература

  1. Walkgeek ARM Cortex-M4 music player. - URL: code.google.eom/p/walkgeek/.
  2. Opus Interactive Audio Codec. - URL: opus-codec.org/.

Автор: О. Царегородцев

Смотрите другие статьи раздела Аудиотехника.

Читайте и пишите полезные комментарии к этой статье.

<< Назад

Последние новости науки и техники, новинки электроники:

Кратковременное голодание и работа мозга 25.11.2025

На фоне роста популярности интервального голодания многие опасаются, что отказ от еды на несколько часов может обернуться снижением концентрации, ухудшением памяти и общим "затуманиванием" сознания. Однако современные исследования позволяют иначе взглянуть на эту тему. Научный обзор, включивший свыше семидесяти независимых экспериментов и более 3,5 тысячи участников, показал: здоровые взрослые, которые не ели от десяти до двенадцати часов, выполняли когнитивные тесты так же качественно, как и те, кто принимал пищу перед испытанием. Память, скорость реакции, логическое мышление и внимание оставались на прежнем уровне, что опровергает распространенный бытовой миф. Доктор Дэвид Моро, профессор психологии из Университета Окленда в Новой Зеландии, подчеркивает, что представления о "головной туманности" во время голода часто оказываются преувеличенными. Он отмечает, что люди склонны связывать чувство голода с низкой энергией, раздражительностью и невозможностью сосредоточиться, хотя че ...>>

Умная розетка TP-Link Tapo P410M 25.11.2025

Компания TP-Link выпустила на рынок новую уличную розетку Tapo P410M. Она получила поддержку универсального стандарта Matter и стала еще одним шагом в сторону единой экосистемы умных устройств. Особенность Tapo P410M заключается в том, что она рассчитана на работу в сложных климатических условиях. Устройство функционирует при температуре от -20 до +50 °C и защищено от дождя, влаги и пыли по стандарту IP54. Благодаря этому розетка безопасно используется на открытом воздухе, будь то внутренний двор, садовая зона или наружное освещение возле дома. Компания TP-Link также акцентировала внимание на удобстве подключения. Розетка поддерживает Wi-Fi 2,4 ГГц и Bluetooth LE, что избавляет от необходимости покупать отдельный хаб. Настройка выполняется через фирменное приложение Tapo или с использованием QR-кода на корпусе, что особенно удобно при установке в труднодоступных местах. После первичной конфигурации управление устройством доступно из приложения или с помощью голосовых помощников A ...>>

Игровой монитор Sony PlayStation Gaming Monitor 24.11.2025

На презентации State of Play компания Sony представила устройство, которое может изменить представления о фирменной экосистеме PlayStation, - свой первый игровой монитор под этим брендом. PlayStation Gaming Monitor, как официально назвали новинку, ориентирован сразу на две аудитории: владельцев консолей и пользователей ПК. Для компьютерных систем, включая macOS, поддерживается частота обновления до 240 Гц с технологией переменной частоты VRR, а для консолей PlayStation 5 и PlayStation 5 Pro частота ограничена 120 Гц, что соответствует архитектуре и возможностям самих приставок. Основу устройства составляет 27-дюймовая IPS-панель с разрешением QHD 2560?1440 пикселей, обеспечивающая высокую четкость и широкий угол обзора. Отдельное внимание продукция заслужила благодаря функции, не встречавшейся ранее в мониторах Sony. В нижней части корпуса находится встроенная выдвижная док-станция для беспроводной зарядки контроллеров DualSense. Такой подход позволяет избавиться от отдельных зар ...>>

Случайная новость из Архива

Кетогенная диета снижает инвалидность при рассеянном склерозе 05.08.2024

Кетогенная диета, характеризующаяся высоким содержанием жиров, умеренным количеством белков и низким потреблением углеводов, получила новое признание благодаря исследованию, проведенному американскими учеными. Результаты исследования, представленные на ежегодной встрече Американской академии неврологии, показывают, что такая диета может существенно уменьшить инвалидность и улучшить качество жизни людей с рассеянным склерозом (РС).

Основой кетогенной диеты является переход организма на использование жиров в качестве основного источника энергии вместо углеводов. Это состояние, известное как кетоз, имитирует метаболические изменения, происходящие во время голодания. Как объясняет автор исследования доктор Дж. Николас Брентон из Университета Виргинии в Шарлотсвилле, такая метаболическая перестройка помогает снизить уровень сахара в крови, что уже доказано при лечении диабета 2 типа и эпилепсии.

В исследовании приняли участие 65 человек с РС, находившихся в фазе обострения и ремиссии заболевания. Участники придерживались кетогенной диеты на протяжении шести месяцев. Соблюдение диеты контролировалось через ежедневные анализы мочи для измерения уровня кетонов - продуктов метаболизма жиров.

На протяжении всего периода 83% участников строго следовали предписанной диете. Результаты были оценены на основе тестов и опросов, проведенных до начала диеты, а также через три и шесть месяцев ее соблюдения. В итоге исследователи зафиксировали не только снижение массы тела у участников, но и значительное уменьшение усталости и депрессии.

Опросы о качестве жизни показали заметное улучшение физического здоровья участников: средний балл поднялся с 67 в начале исследования до 79 в конце. Также были улучшены результаты общего теста на прогрессирование РС: показатель снизился с 2,3 до 1,9 по шкале от нуля до десяти.

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

Кетогенная диета представляет собой перспективный подход в снижении инвалидности и улучшении качества жизни у людей с рассеянным склерозом. Эти выводы открывают новые возможности для разработки более эффективных и устойчивых методов лечения данного заболевания.

Другие интересные новости:

▪ 512x512 звуковых каналов по сети Ethernet

▪ Сетевое хранилище RackStation RS3617xs

▪ Ворошитель Vendro C 1340

▪ Электрический купе-кроссовер Skoda Enyaq Coupe iV

▪ Выращены кровеносные сосуды

Лента новостей науки и техники, новинок электроники

 

Интересные материалы Бесплатной технической библиотеки:

▪ раздел сайта Автомобиль. Подборка статей

▪ статья Нормативно-технические и организационные основы БЖД. Основы безопасной жизнедеятельности

▪ статья Какое множество чисел равняется единице в Великобритании в юридическом смысле? Подробный ответ

▪ статья Настольный токарный станок. Домашняя мастерская

▪ статья Генератор пилообразного напряжения на 555 таймере. Энциклопедия радиоэлектроники и электротехники

▪ статья Микросхемы. Преобразователь постоянного напряжения КР1446ПН1Е. Энциклопедия радиоэлектроники и электротехники

Оставьте свой комментарий к этой статье:

Имя:


E-mail (не обязательно):


Комментарий:





Главная страница | Библиотека | Статьи | Карта сайта | Отзывы о сайте

www.diagram.com.ua

www.diagram.com.ua
2000-2025