В наши дни большинство аудиосистем поставляются с пультами дистанционного управления. Однако для обычных аудиоусилителей такая возможность не предусмотрена. Такие аудиоконтроллеры недоступны даже в виде комплектов. В этой статье представлен цифровой аудиопроцессор с инфракрасным (ИК) дистанционным управлением. Он основан на микроконтроллере и может использоваться с любым полнофункциональным ИК-пультом дистанционного управления, совместимым с NEC.
Этот цифровой аудиопроцессор с дистанционным управлением обладает расширенными функциями и может быть легко настроен в соответствии с индивидуальными требованиями, поскольку он программируется. Его основные особенности:
1. Полное дистанционное управление с помощью любого ИК-пульта дистанционного управления, совместимого с NEC
2. Предоставление четырех входных стереоканалов и одного стереовыхода
3. Индивидуальная регулировка усиления для каждого входного канала для работы с разными источниками
4. Управление низкими, средними и высокими частотами, отключение звука и затухание
5. 80-ступенчатый регулятор громкости и 15-ступенчатый регулятор низких, средних и высоких частот
6. Настройки отображаются на двух 7-сегментных светодиодных (LED) дисплеях и восьми отдельных светодиодах
7. Индикация уровня стерео VU на полосковом дисплее 10-LED
8. Встроенные полнофункциональные клавиши для управления аудиоусилителем
9. Все настройки хранятся на EEPROM
10. Режим ожидания для управления мощностью усилителя
(Нажмите, чтобы повернуть рис. 2)
Описание схемы

Рис. 1 показана блок-схема цифрового аудиопроцессора с дистанционным управлением. Система включает в себя микроконтроллер Atmel AT89C51 (IC1), аудиопроцессор TDA7439 от SGS-Thomson (IC4) и совместимый с шиной I2C MC24C02 EEPROM (IC5). Микроконтроллер запрограммирован на управление всеми цифровыми процессами системы. Аудиопроцессор управляет всеми функциями аудиоусилителя и совместим с шиной I2C. Все команды с пульта принимаются через ИК-датчик. Усилителем звука также можно управлять с помощью встроенных клавиш.
Микроконтроллер
Функцией микроконтроллера является получение команд (через порт P3.2) от пульта дистанционного управления, программирование управления звуком в соответствии с командами и обновление EEPROM. Задержка в обновлении EEPROM предусмотрена намеренно, поскольку обычно прослушиватель постоянно меняет значение параметра, пока не будет удовлетворен.
40-контактный микроконтроллер AT89C51 имеет четыре 8-битных порта ввода-вывода (I/O).
Порт 0 используется для индикации с помощью светодиодов различных функций, выбранных с помощью дистанционных/встроенных клавиш.
Порт 1 управляет 7-сегментным дисплеем с помощью 7-сегментной защелки/декодера/драйвера IC CD4543.
Порт 2 подключается через резисторную сеть RNW1 и используется для ручного управления ключом.
Выводы P3.0 и P3.1 микроконтроллера используются как линии последовательных данных (SDA) и последовательной синхронизации (SCL) для шины I2C для связи с аудиопроцессором (TDA7439) и EEPROM (MC24C02). Эти две линии подключены к подтягивающим резисторам, которые необходимы для устройств шины I2C. P3.2 получает дистанционные команды через модуль ИК-приемника. Контакт P3.4 используется для мигания светодиода 9 при получении удаленной команды или нажатии любой клавиши.
Микроконтроллер также проверяет работу памяти (MC24C02) и аудиопроцессора (TDA7439). Если он не обменивается данными с этими двумя микросхемами на шине I2C, уровень громкости мигает на 7-сегментном дисплее.
Error 504 (Server Error)!!1504.That’s an error.There was an error. Please try again later.That’s all we know.
Рис. 3 показана схема питания цифрового аудиопроцессора с дистанционным управлением. Сеть переменного тока понижается трансформатором X1, чтобы обеспечить вторичное выходное напряжение 9 В переменного тока при токе 1 А. Выходной сигнал трансформатора выпрямляется двухполупериодным мостовым выпрямителем BR1 и фильтруется конденсатором С42. Регуляторы IC8 и IC9 обеспечивают регулируемые источники питания 5 В и 9 В соответственно. IC10 действует как регулируемый регулятор питания. Он настроен на подачу регулируемого питания 3 В путем настройки предустановки VR1. Конденсаторы C39, C40 и C41 устраняют любые пульсации на регулируемых выходах. Этот источник питания в схеме не используется. Однако читатели могут использовать его для питания таких устройств, как Walkman (портативный музыкальный плеер).
Поскольку к выходам микросхем регулятора подключены конденсаторы емкостью более 10 мкФ, диоды D3–D5 обеспечивают защиту микросхем стабилизатора, соответственно, в case их входы замыкаются на землю. Реле RL1 обычно находится под напряжением, обеспечивающим питание усилителя мощности. В режиме ожидания он обесточен. Переключатель S2 — «вкл»/«выкл» switch.
Программное обеспечение
Программное обеспечение было собрано с использованием ассемблера Metalink ASM51, который доступен для скачивания бесплатно. Исходный код подробно прокомментирован для облегчения понимания. Его можно разделить на следующие сегменты в порядке перечисления:
Определения переменных и констант
Процедуры задержки
Процедуры ИК-декодирования
Процедуры клавиатуры
Связь TDA7439
Связь MC24C02
I2C шины
Процедуры отображения
Обработка ИК-команд и клавишных команд
Обработчик прерывания таймера 1
Основная программа
При сбросе микроконтроллер выполняет основную программу следующим образом:
Инициализируйте регистры микроконтроллера и ячейки оперативной памяти (RAM).
Прочитайте состояние режима ожидания и отключения звука из EEPROM и соответствующим образом инициализируйте TDA7439.
Считайте различные параметры звука из EEPROM и инициализируйте аудиопроцессор.
Инициализируйте дисплей и порт LED.
Бесконечный цикл в ожидании событий:
Включите прерывания.
Проверьте вход монитора на предмет отключения питания переменного тока. Если питание отключится, перейдите к процедуре отключения питания.
Иначе, if будет нажата новая клавиша, вызовите процедуру DO_KEY для обработки клавиши. Для этого проверьте, установлен ли бит NEW_KEY. Этот бит очищается после обработки команды.
В противном случае if будет получена новая ИК-команда, вызовите процедуру DO_COM для обработки удаленной команды. Для этого проверьте, установлен ли бит NEW_COM (доступна новая ИК-команда).
Этот бит очищается после обработки команды.
Перейти к началу цикла.
6. Последовательность выключения. Сохраните все настройки в EEPROM и выключите дисплей и реле режима ожидания. Поскольку выход ИК-датчика подключен к выводу 12 (INT0) микроконтроллера, при каждом получении кода происходит внешнее прерывание. Алгоритм декодирования IR-потока полностью реализован в подпрограмме-обработчике внешнего прерывания 0. Эта процедура устанавливает NEW_COM (02H в битовой памяти) if, что доступна новая команда. Декодированный командный байт сохраняется в «Command» (позиция 021H во внутреннем RAM). Основная процедура постоянно в цикле проверяет наличие бита NEW_COM. Таймер 0 используется этой процедурой исключительно для определения времени импульса.
Декодирование ИК-потока включает в себя следующие шаги:
Поскольку каждый код передается дважды, отклоните первый, введя задержку в 85 миллисекунд (мс) и запустив таймер 0. Вторая передача обнаруживается путем проверки таймера 0 на отсутствие переполнения. Во всех остальных случаях таймер 0 переполнится.
Для второй передачи проверьте счетчик таймера 0, чтобы определить длину ведущего импульса (9 мс). Если длина импульса составляет от 8,1 мс до 9,7 мс, он будет признан действительным. Пропустите следующие 4,5 мс молчания.
Для обнаружения входящих битов таймер 0 настроен на использование строб-сигнала, так что счетчик работает между интервалами битов. Значение счетчика затем используется для определения того, является ли входящий бит «0», «1» или «Стоп». Это реализуется в процедуре RECEIVE_BIT.
Если первым полученным битом является «Стоп», повторите последнюю команду, установив бит NEW_COM.
В противном случае получите остальные семь битов. Сравните полученный байт с пользовательским кодом (C_Code). Если они не совпадают, возникает ошибка return.
Получите следующий байт и сравните его с пользовательским кодом. Если они не совпадают, возникает ошибка return.
Получите следующий байт и сохраните его в «Команде».
Получите следующий байт и проверьте, является ли он дополнением к значению «Command». В противном случае возникает ошибка return.
Получите стоп-бит.
Установить NEW_COM и return из прерывания.
Другие части исходного кода относительно просты и не требуют пояснений.
Пульт дистанционного управления
Микроконтроллер может принимать команды от любого ИК-пульта, использующего формат передачи NEC. Эти пульты дистанционного управления легко доступны на рынке и используют μPD6121, PT2221 или совместимую микросхему. Здесь мы использовали пульт дистанционного управления Creative.
Всеми функциями системы можно полностью управлять с помощью пульта или встроенных клавиш. К default на дисплее отображается настройка громкости, а светодиоды указывают выбранный канал. Светодиод 9 кратковременно загорается при получении команды с пульта дистанционного управления или нажатии любой клавиши.
Настройка функций подробно описана ниже:
Громкость: используйте клавиши Vol+/Vol- для увеличения/уменьшения громкости. Настройки громкости отображаются на двухзначном 7-сегментном дисплее. Шаги можно варьировать от «1» до «80».
Отключение звука и режим ожидания. С помощью кнопок «Отключение звука» и «Режим ожидания» можно переключать режимы отключения звука и режима ожидания соответственно. Если нажать кнопку «Mute», на дисплее отобразится «00». В режиме ожидания реле обесточивается до switch от основного усилителя. Все светодиоды и дисплеи, кроме LED9, выключаются, указывая на состояние ожидания.
Выбор входа: Чтобы выбрать источник аудиовхода, нажимайте кнопку «Канал», пока не будет выбран нужный канал. LED, соответствующий выбранному каналу, загорится, и настройка входного усиления для этого канала будет отображаться в течение пяти секунд. После этого уровень громкости отображается на 7-сегментном дисплее.
Введите Gain: Нажмите клавишу «Gain». LED, соответствующий каналу, начнет мигать, и отобразится значение усиления. Используйте клавиши Vol+/Vol- для увеличения/уменьшения усиления для этого канала. Обратите внимание, что усиление можно изменять от «1» до «15». Если вы нажмете кнопку «Gain» еще раз и ни одна клавиша не будет нажата в течение пяти секунд, произойдет выход из режима настройки усиления и отобразится уровень громкости.
Аудио: Нажмите кнопку «Настройка звука» (меню), чтобы поочередно настроить низкие, средние, высокие частоты и затухание. При каждом нажатии кнопки «Настройка звука» загорается LED, соответствующий выбранной функции, и отображается значение функции. После выбора необходимой функции используйте Vol+ и Vol-, чтобы отрегулировать настройку. Низкие, средние и высокие частоты можно варьировать от «07» до «7». Значения от «0» до «7» означают «Усиление», а от «00» до «07» обозначают «Сокращение». Затухание можно варьировать от «0» до «40».
Строительство
Схему можно легко собрать на любом PCB с базой IC. Прежде чем установить микроконтроллер, память и аудиопроцессор в гнезда и припаять модуль ИК-приемника, убедитесь в правильности напряжения питания. Для всех частей, кроме аудиопроцессора (TDA7439), требуется питание 5 В постоянного тока. Аудиопроцессор питается от постоянного напряжения 9 В.
Загрузите PCB и PDF-файлы компоновки компонентов: нажмите здесь
Загрузить исходный код: нажмите здесь