Безкоштовна технічна бібліотека ЕНЦИКЛОПЕДІЯ РАДІОЕЛЕКТРОНІКИ ТА ЕЛЕКТРОТЕХНІКИ МР3 програвач – приставка до ПК. Енциклопедія радіоелектроніки та електротехніки Енциклопедія радіоелектроніки та електротехніки / Комп'ютери Програвач, що пропонується читачам МР3 - пристрій, що представляє собою МР3 декодер, що підключається до паралельного (LPT) порту комп'ютера. Його можна застосувати у стаціонарному музичному центрі або в автомобілі (при використанні для керування та зберігання інформації комп'ютера будь-якого типу або пристрою на мікроконтролері), для розширення функціональних можливостей "повільних" комп'ютерів та ін. МР3, MPEG-1* Layer 3, MPEG Audio-назви методики компресії оцифрованого звукового потоку або файлу. Принципова особливість MPEG-кодування – компресія із втратами. Після пакування та розпакування звукового файлу методом МР3 результат не ідентичний оригіналу "біт в біт". Навпаки, упаковка цілеспрямовано виключає з пакованого сигналу несуттєві компоненти, що призводить до надзвичайного зростання коефіцієнта стиснення. Залежно від необхідної якості звуку, метод МР3 здатний стиснути цифровий звуковий сигнал у десять і більше разів. Завдяки цьому музичні композиції одного аудіокомпакт-диска в стислому вигляді з прийнятною якістю звучання займають всього 60...70 Мбайт. Сьогодні цей формат набуває все більшої і більшої популярності. Серійно випускаються десятки пристроїв різних фірм з використанням різних носіїв інформації: карт пам'яті, компакт-дисків, жорстких дисків. Існує безліч аматорських пристроїв, опис яких, наприклад, можна знайти в мережі Інтернет [1], - від комп'ютерів з програмним декодуванням даних до пристроїв з апаратним декодуванням і можливістю роботи з кількома різними носіями інформації одночасно. Однак використання МР3 програвача разом з комп'ютером типу ноутбук, навіть із процесором невисокої продуктивності (286, 386, 486), який можна за невелику плату придбати на радіоринку, вигідно відрізняється від інших пристроїв. По-перше за ціною - вартість мікроконтролера, LCD дисплея та інших деталей більше, ніж старого ноутбука. По-друге, за функціональністю - екран з великою роздільною здатністю і градаціями сірого (або навіть кольоровий), великий набір клавіш, можливість одночасного використання комп'ютера для інших цілей (наприклад, як годинник, для управління різними пристроями). По-третє, за гнучкістю - програмне забезпечення написане високорівневою мовою програмування і може легко та оперативно змінюватися без застосування програматора засобами самого комп'ютера Структурна схема МР3 програвача зображено на рис. 1. Як видно, він підключається до паралельного порту комп'ютера і складається з перетворювача рівнів сигналів U1, МР3 апаратного декодера U2 і джерела живлення А1. Вузьке місце у пристрої - мала пропускна здатність паралельного порту комп'ютера. При тестуванні його на комп'ютері з портом SPP (Standard Parallel Port - стандартний паралельний порт) на базі процесора Intel 486DX-33 максимальний потік даних, при якому музичні композиції відтворювалися без заїкань, склав 128 Кбіт/с. На комп'ютері з паралельним портом ЕРР (покращений паралельний порт), де швидкість обміну досягає 0,5. ) нормально відтворюється потік 2 Кбіт/с та вище. При бажанні для з'єднання пристрою з комп'ютером можна використовувати інтерфейс для підключення до шини ISA, описаний у [2], з невеликою переробкою програмного забезпечення. Однак у цьому випадку звузиться сфера застосування пристрою – його можна буде підключати лише до стаціонарних комп'ютерів, оскільки ноутбуки такої шини зазвичай не мають. Принципова схема пристрою зображено на рис. 2. Перетворювач логічних рівнів реалізований на елементах НЕ з відкритим колектором (мікросхеми DD1, DD2) і трансформує рівні ТТЛ у логічні з високим рівнем 3 і назад. Мікросхема DD3 (VS1001k фінської компанії VLSI Оу) є цифровий сигнальний процесор (Digital Signal Processor - DSP) для апаратного декодування MPEG layer 1, 2 і 3 [3, 4]. Її структурну схему зображено на рис. 3. Мікросхема містить високопродуктивне DSP ядро з низькою споживаною потужністю (VS_DSP), робочу пам'ять, ОЗУ програм (4 Кбайт) і даних (0,5 Кбайт) для додатків користувача, послідовні інтерфейси управління і даних, високоякісний ЦАП і підсилювач 3Ч для головні телефони. VS1001k приймає вхідний потік даних послідовної шині, яка в системі підключається як ведена. Вхідний потік декодується і пропускається через гібридний аналого-цифровий регулятор гучності на 18-бітовий дельта-сигма ЦАП. Декодування керується через послідовну шину керування. На додаток до простого декодування можна додавати спеціальні додатки - DSP ефекти, які розміщуються у ОЗУ користувача. Для управління мікросхемою та передачі потоку МР3 даних використовуються дві шини: SCI (Serial Control Interface) для керування та SDI (Serial Data Interface) для передачі даних. Призначення ліній цих шин наведено у табл.1. VS1001k містить 15 SCI регістрів (табл. 2). Після апаратного скидання всі вони встановлюються в 0. Реєстр MODE використовується для керування операціями VS1001. Найменування його бітів, їх функції та описи наведені в табл. 3. Регістр STATUS містить інформацію про стан мікросхеми. Біти 1 і 0 використовуються для управління рівнем аналогового виходу (0 - 0 дБ, 1 = -6 дБ, 3 - -12 дБ), біт 2 - для вимикання живлення аналогової частини мікросхеми (при його одиничному значенні вона вимикається). Запис у регістр VOL (див. нижче) автоматично встановлює рівень сигналу на аналоговому виході, і користувач не повинен турбуватися про його стан. Регістр CLOCKF використовується, якщо тактова частота відмінна від 24,576 МГц (при цьому вона повинна бути кратна 2 кГц). Значення цього регістру розраховують за формулою CLOCKF = ХТ1/2000 (ХТ1 – тактова частота у герцах). Регістр може набувати значень від 0 до 32767, проте великі значення обмежуються максимальною тактовою частотою мікросхеми (32 МГц). Установка старшого біта регістра 1 включає внутрішній подвоювач частоти. Частота тактового генератора до 15 МГц може бути подвоєна. Регістр CLOCKF повинен бути встановлений до початку декодування МР3 даних, інакше вони не відтворюватимуться правильно. Від тактової частоти залежать максимальні частоти дискретизації аудіоданих і швидкість вхідного потоку МР3 даних. Наприклад, при частоті тактового генератора 12,288 МГц мікросхема декодує аудіодані з частотою дискретизації 24 кГц і потоком до 96 Кбіт/с, при частоті 22,580 МГц - з частотою дискретизації 44,1 кГц і потоком до 160 кбіт/с, швидкістю, що не перевищує 256 Кбіт/с. Якщо ж тактова частота дорівнює 24,576 МГц, декодуються всі аудіодані з частотою дискретизації до 48 кГц і швидкістю до 192 Кбіт/с, при частоті 28 МГц - потік з максимальною швидкістю до 320 Кбіт/с Регістр DECODEJTIME при обробці декодування за секунди. У бітах 8-0 регістра AUDATA міститься значення швидкості потоку даних у кілобітах за секунду (якщо вона змінна, у яких - поточна швидкість потоку), в бітах 12-9 - індекс частоти дискретизації (табл. 4). Біти 14 та 13 не використовуються і завжди встановлені в 0. Біт 15 характеризує вид аудіоданих (0 – моно, 1 – стерео). За допомогою регістрів WRAM WRAMADDR AIADDR можна завантажувати та запускати в мікросхемі програми, написані користувачем, наприклад, змішання каналів, створення стереоефектів при відтворенні монофонічного сигналу, введення цифрового еквалайзера. Приклади таких програм та засоби для їх розробки можна знайти на сайті виробника мікросхеми. Слід, проте, пам'ятати, що це збільшує завантаження цифрового сигнального процесора, яке продуктивність обмежена. Наприклад, при тактовій частоті 24,576 МГц і декодуванні потоку даних 128 Кбіт/с з частотою дискретизації 44,1 кГц залишається лише близько 28% вільного процесорного часу. При включенні розширювача АЧХ (бітом SM_BASS регістру MODE) додатково витрачається 6,5% продуктивності цифрового сигнального процесора. Регістри HDAT0 та HDAT1 містять інформацію про заголовок музичного твору, що витягується з поточного потоку MPEG даних. Регістр VOL призначений для регулювання гучності. У кожному каналі значення може змінюватися від 0 до 255 (відповідає ослаблення сигналу від максимального рівня до нульового з кроком 0,5 дБ). Для лівого каналу значення множиться на 256 і складається зі значенням правого каналу. Таким чином, щоб отримати максимальну гучність, регістр повинен містити 0, а повну тишу - 65535. Після апаратного скидання встановлюється максимальна гучність, програмне скидання встановлену гучність не змінює. При установці мінімальної гучності (255 в обох каналах) живлення аналогової частини вимикається, що супроводжується клацанням. Виключити його можна, якщо для вимкнення звуку використовувати максимальне значення 254 в обох каналах (0xFEFE). Як стабілізатор напруги живлення 3 (DA1) у пристрої застосована мікросхема PQ20VZ51 фірми SHARP. Вихідна напруга Uвих (в межах 1,5...20 В при струмі навантаження до 0,5 А) розраховують за формулою Uвих = Uобр(1 + R3/R4), де R4 = 1 кОм, а зразкова напруга Uобр = 1,25, 3 У. У разі R1,5 = 1,25 кОм і Uвых= 1(1,5 + 1/3,125) = XNUMX У. Для поділу ланцюгів живлення аналогової та цифрової частин використані фільтруючі дроселі L1-L3 та конденсатори C3-С6. Мікросхема має вбудовану функцію вмикання/вимикання живлення, яка може бути використана в портативному варіанті пристрою. Програмне забезпечення для керування пристроєм написане мовою С і повинно компілюватися та розташовуватися на комп'ютері. Автор використовував компілятор Borland. Для керування використовуються такі функції, визначені у файлі vs1001.h: void SCIWrite(int aress, int data) - запис у SCI; int SCIRead(int aress) - читання SCI; void SDIWrite(int data) - запис у SDI; void xReset(void) - апаратне "скидання"; int DREQ(void) – читання значення сигналу DREQ. Програма працює наступним чином:
За бажанням встановлюють інші регістри, наприклад, VOL, MODE та ін. Потім перевіряється стан виходу DREQ функцією DREQQ. Якщо він встановлений в 0 (функція DREQQ повертає 0), можна надсилати дані з МР3 файлу. * Абревіатура MPEG є скороченням від Moving Picture Expert Group - назви експертної групи ISO (International Organization for Standardization - Міжнародна організація по стандартизації), що діє у напрямку розробки стандартів кодування та стиснення відео- та аудіоданих. Часто абревіатуру MPEG використовують посилання на стандарти, розроблені цією групою. У найпростішому випадку програма виглядає так (mp3play.cpp): При відтворенні наступного файлу необхідно обов'язково зробити програмне "скидання" мікросхеми VS1001k (шляхом встановлення в 1 біт SMRESET регістру SCI MODE). Перевірку працездатності пристрою починають із аналогової частини мікросхеми DD3. На всіх висновках UDDA, UDDD. а також xRESET і TEST0 має бути напруга близько +3 В, а на виводі RCAP - приблизно +1,3 В. Якщо на останньому воно дорівнює 0 або UD DA, аналогова частина VS1001 несправна. При апаратному "скиданні" декодера подачею низького рівня на виведення xRESET має відбутися наступне: через 4096 циклів тактового генератора після того, як напруга на xRESET повернеться до одиничного рівня, на виведенні DREQ повинен з'явитися низький рівень, який через 6000 циклів тактового генератора . Якщо рівні сигналу на цьому виводі не змінюються у вказаному порядку, внутрішнє програмне забезпечення мікросхеми несправне. Потім перевіряють роботу шини SCI. Для цього записують в регістр VOL максимальне значення гучності, а потім значення OxFFFF, що відключає аналогову частину мікросхеми VSl001k. В результаті в підключених до розетки XS2 головних телефонах має бути чути клацання. Наступний фрагмент програми (scitest.cpp) демонструє це: на виході буде чути п'ять клацань з періодом 0,5 с: Тепер потрібно перевірити читання регістрів SCI. Для цього записують у регістр VOL якесь значення, наприклад 12345, а потім читають інформацію з цього регістру і порівнюють результат. На дисплеї комп'ютера у разі успішного проходження тесту виводиться повідомлення "Тест читання SCI пройдено", інакше - "Помилка читання SCI" (sciread.cpp). Далі перевіряють запис у SDI. Зручно використовувати спеціальний вбудований у мікросхему тест, що видає синусоїдальний сигнал аналоговому виході. Для включення тесту необхідно передати SDI восьмибайтну послідовність 0x53 OxEF Ох6Е n 0 0 0 0, де n = 48... 119 (вибирається користувачем). Параметри сигналу визначають із табл. 5 де індекс частоти дискретизації Fsldx = (n - 48)mod9, а індекс числа вибірок FSin = (n - 48)/9. Наприклад, при п = 62 (у разі n - 48 = 14) Fsldx = 5 і FSin = 1. Значення Fsldx = 5 відповідає частота дискретизації 16000 Гц, а значення FSin =1-16 вибірок. Таким чином, на виході отримаємо синусоїдальний сигнал частотою 16000/16 = 1000 Гц. Для виходу з режиму тестування SDI передають послідовність байт 0x45 0x78 0x69 0x74 0 0 0 0. Наступний фрагмент програми (sinetest.cpp) демонструє цей тест: на аналоговому виході можна прослухати сигнал частотою 1 кГц протягом 5 секунд: Для перевірки пам'яті мікросхеми VS1001k SDI подається восьмибайтна послідовність 0x4D ОхЕА 0x6D 0x54 0 0 0 0. Після цієї команди необхідно почекати 500 000 циклів тактового генератора. Результат тесту можна прочитати із SCI регістру HDAT0. Отримані дані інтерпретуються в такий спосіб: якщо біт встановлено один, то тест пам'яті пройдено (табл. 1). На дисплеї комп'ютера у разі успішного проходження тесту виводиться повідомлення "Перевірка пам'яті успішно завершена", інакше - "Помилка пам'яті ххххх", де ххххх - значення, прочитане з регістру HDATO. Наведемо фрагмент програми, що тестує пам'ять (memtest.cpp): Щоб перевірити регістри SCI, необхідно на SDI подати восьмибайтну послідовність 0x53 0x70 0хЕЕ n 0 0 0 0 де n - номер регістра для тесту. Вміст вказаного регістру читається та копіюється в регістр HDAT0. Якщо необхідно перевірити регістр HDAT0, його значення копіюють в регістр HDAT1. Пристрій монтують на друкованій платі, виготовленій за кресленням, зображеним на рис. 4. В отвори, обрамлені контактними майданчиками мінімального діаметра, при монтажі вставляють відрізки лудженого дроту і припаюють до друкованих провідників з обох сторін плати. Замість PQ20VZ51 можна застосувати будь-який мікросхемний стабілізатор напруги, що дозволяє отримати на виході 3 (наприклад, LM317). Дроселі L1-L3 будь-які з індуктивністю 10 мкГн. Інвертори з відкритим колекторним виходом DD1.1-DD1.6, DD2.1-DD2.3 можуть бути К155, КР531, К555, КР1533. Замінювати мікросхему VS1001k приладами з іншими літерними індексами (попередніх версій) небажано, оскільки вони мають низку недоробок. література
Автор: В.Кардаполов, станиця Тбіліська Краснодарського краю Дивіться інші статті розділу Комп'ютери. Читайте та пишіть корисні коментарі до цієї статті. Останні новини науки та техніки, новинки електроніки: Штучна шкіра для емуляції дотиків
15.04.2024 Котячий унітаз Petgugu Global
15.04.2024 Привабливість дбайливих чоловіків
14.04.2024
Інші цікаві новини: ▪ Новий хімічний елемент, що має магнітні властивості ▪ Лазер для лікування алкоголізму ▪ Взаємодія між двома просторово-часовими кристалами Стрічка новин науки та техніки, новинок електроніки
Цікаві матеріали Безкоштовної технічної бібліотеки: ▪ розділ сайту Інструкції з експлуатації. Добірка статей ▪ стаття Статеве виховання. Основи безпечної життєдіяльності ▪ стаття Пневмонія. Медична допомога ▪ стаття Адаптер для звукової сигналізації Енциклопедія радіоелектроніки та електротехніки ▪ стаття Пуштунські прислів'я та приказки. Велика добірка
Залишіть свій коментар до цієї статті: All languages of this page Головна сторінка | Бібліотека | Статті | Карта сайту | Відгуки про сайт www.diagram.com.ua |