Меню English Ukrainian російська Головна

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


Аудіоплеєр форматів MP3 та Opus. Енциклопедія радіоелектроніки та електротехніки

Безкоштовна технічна бібліотека

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

Коментарі до статті Коментарі до статті

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

Схема плеєра наведена на рис. 1. У ньому максимально використовуються електронні компоненти, що є на налагоджувальній платі STM32F4DISCOVERY До них входять мікроконтролер STM32F407VGT6 (DD1), інтегральні стабілізатори напруги LD3985M25R (DA1) і LD3985M33R (DA3)43, кодек. З мобільного телефону NOKIA 22, крім корпусу та акумулятора, використані роз'єм для підключення головних телефонів XS2, передня панель з РКІ HG1100, мембрани для кнопок SB3-SB1, сформованих концентричними контактними майданчиками на друкованій платі, та роз'єм для підключення акумулятора G1. Крім того, на платі плеєра розміщено тримач для картки пам'яті microSD TFC-WPCE-17 (XS1), групу контактних майданчиків для підключення програматора Xp08, роз'єм miniUSB-B 1BMR-1-SM (XS5075).

Аудіоплеєр форматів 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 байт займає вихідний буфер. Результати профілювання кодека за різної швидкості інформаційного потоку наведено в табл. XNUMX.

Таблиця 1

Кодек Опус 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 P1 17
5 SCLK РА5 P1 15
6 VDD1 3 В. Р2.5
7 VDD2

Програми для плеєра

література

  1. Walkgeek ARM Cortex-M4 музичний гравець. - URL: code.google.eom/p/walkgeek/.
  2. Opus Interactive Audio Codec. - URL: opus-codec.org/.

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

Дивіться інші статті розділу Аудіотехніка.

Читайте та пишіть корисні коментарі до цієї статті.

<< Назад

Останні новини науки та техніки, новинки електроніки:

Штучна шкіра для емуляції дотиків 15.04.2024

У світі сучасних технологій, де віддаленість стає дедалі більш повсякденною, збереження зв'язку й почуття близькості грають значної ролі. Нещодавні розробки німецьких учених із Саарського університету в галузі штучної шкіри становлять нову еру у віртуальних взаємодіях. Німецькі дослідники з університету Саарського розробили ультратонкі плівки, які можуть передавати відчуття дотику на відстані. Ця передова технологія надає нові можливості для віртуального спілкування, особливо для тих, хто виявився далеко від своїх близьких. Ультратонкі плівки, розроблені дослідниками, товщиною всього 50 мікрометрів, можуть бути інтегровані в текстильні вироби та носитися як друга шкіра. Ці плівки діють як датчики, що розпізнають тактильні сигнали від мами чи тата, і як виконавчі механізми, що передають ці рухи дитині. Дотики батьків до тканини активують датчики, які реагують на тиск та деформують ультратонку плівку. Ця ...>>

Котячий унітаз Petgugu Global 15.04.2024

Турбота про домашніх тварин часто може бути викликом, особливо коли йдеться про підтримку чистоти в будинку. Представлено нове цікаве рішення стартапу Petgugu Global, яке полегшить життя власникам кішок та допоможе їм тримати свій будинок в ідеальній чистоті та порядку. Стартап Petgugu Global представив унікальний котячий унітаз, здатний автоматично змивати фекалії, забезпечуючи чистоту та свіжість у вашому будинку. Цей інноваційний пристрій оснащений різними розумними датчиками, які стежать за активністю вашого вихованця в туалеті та активуються для автоматичного очищення після його використання. Пристрій підключається до каналізаційної системи та забезпечує ефективне видалення відходів без необхідності втручання з боку власника. Крім того, унітаз має великий обсяг сховища, що змивається, що робить його ідеальним для домашніх, де живуть кілька кішок. Котячий унітаз Petgugu розроблений для використання з водорозчинними наповнювачами та пропонує ряд додаткових матеріалів. ...>>

Привабливість дбайливих чоловіків 14.04.2024

Стереотип про те, що жінки віддають перевагу "поганим хлопцям", довгий час був широко поширений. Однак нещодавні дослідження, проведені британськими вченими з Університету Монаша, пропонують новий погляд на це питання. Вони розглянули, як жінки реагують на емоційну відповідальність та готовність допомагати іншим у чоловіків. Результати дослідження можуть змінити наше уявлення, що робить чоловіків привабливими в очах жінок. Дослідження, проведене вченими з Університету Монаша, призводить до нових висновків щодо привабливості чоловіків для жінок. В рамках експерименту жінкам показували фотографії чоловіків з короткими історіями про їхню поведінку в різних ситуаціях, включаючи їхню реакцію на зіткнення з бездомною людиною. Деякі з чоловіків ігнорували безпритульного, тоді як інші надавали йому допомогу, наприклад, купуючи їжу. Дослідження показало, що чоловіки, які виявляють співчуття і доброту, виявилися більш привабливими для жінок порівняно з т ...>>

Випадкова новина з Архіву

Чорний ящик для людини 18.10.2003

Американська фірма "Bodymedia", що нещодавно виникла, спеціалізується на технічних засобах стеження за здоров'ям людини.

Браслет, розроблений фірмою, надягає на руку вище ліктя. Усередині пристрою вагою 85 грамів знаходяться датчики руху, температури, пульсу та електричного опору шкіри.

Прилад протягом п'яти діб записує частоту пульсу, температуру шкіри, її опір (воно говорить про виділення поту), температуру повітря біля шкіри (що дозволяє розрахувати виділення тепла людиною) і рухову активність. Потім всі ці дані скидаються через бездротовий зв'язок на комп'ютер і через Інтернет надходять лікарю, який дає рекомендації щодо зміни способу життя.

Записані параметри дозволяють помітити, наприклад, гіподинамію або неспокійний сон носія браслета, не кажучи вже про підвищення температури або серцебиття.

Надалі фірма має намір додати в прилад деякі інші датчики, наприклад тиску крові.

Інші цікаві новини:

▪ У космосі вперше спели печиво

▪ Бездзеркальний фотоапарат Canon EOS M10

▪ Наноматеріал із молекул, закручених одночасно у протилежні сторони

▪ Cмартфон Moto X Developer Edition для розробників

▪ Надстійкий лазер зробить GPS точнішим

Стрічка новин науки та техніки, новинок електроніки

 

Цікаві матеріали Безкоштовної технічної бібліотеки:

▪ розділ сайту Акумулятори, зарядні пристрої. Добірка статей

▪ стаття Податки та оподаткування. Конспект лекцій

▪ стаття Чи повзають вугри по землі? Детальна відповідь

▪ стаття Паспалум розширений. Легенди, вирощування, способи застосування

▪ стаття Три пристрої на ОУ. Енциклопедія радіоелектроніки та електротехніки

▪ стаття Поява карти в потрібній стопці. Секрет фокусу

Залишіть свій коментар до цієї статті:

ім'я:


E-mail (не обов'язково):


коментар:





All languages ​​of this page

Головна сторінка | Бібліотека | Статті | Карта сайту | Відгуки про сайт

www.diagram.com.ua

www.diagram.com.ua
2000-2024