Бесплатная техническая библиотека ЭНЦИКЛОПЕДИЯ РАДИОЭЛЕКТРОНИКИ И ЭЛЕКТРОТЕХНИКИ МР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 Мбайт/с (скорость обмена с устройством значительно меньше, так как обмен данными происходит только по одной из сигнальных линий, и стробирование данных осуществляется программно) нормально воспроизводится поток 192 Кбит/с и выше. При желании для сопряжения устройства с компьютером можно использовать интерфейс для подключения к шине 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 В. В данном случае R3 = 1,5 кОм и Uвых= 1,25(1 + 1,5/1) = 3,125 В. Для разделения цепей питания аналоговой и цифровой частей использованы фильтрующие дроссели 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 - Международная организация пo стандартизации), действующей в направлении разработки стандартов кодирования и сжатия видео-и аудиоданных. Часто аббревиатуру 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, то тест памяти пройден (табл. 6). На дисплее компьютера в случае успешного прохождения теста выводится сообщение "Проверка памяти успешно завершена", в противном случае - "Ошибка памяти ххххх", где ххххх - значение, прочитанное из регистра 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
Другие интересные новости: ▪ Двухканальный DC/DC-преобразователь для питания экранов портативных устройств ▪ Электрогенератор работает на трении ▪ Перспективные графеновые фотоматрицы Лента новостей науки и техники, новинок электроники
Интересные материалы Бесплатной технической библиотеки: ▪ раздел сайта Заводские технологии на дому. Подборка статей ▪ статья Рог изобилия (Амалфеин рог). Крылатое выражение ▪ статья При каких условиях в воде можно превратить звук в свет? Подробный ответ ▪ статья Иссоп обыкновенный. Легенды, выращивание, способы применения ▪ статья Незатухающее звучание электрогитары. Энциклопедия радиоэлектроники и электротехники ▪ статья Три фонтана. Физический эксперимент
Оставьте свой комментарий к этой статье: All languages of this page Главная страница | Библиотека | Статьи | Карта сайта | Отзывы о сайте www.diagram.com.ua |