В последнее время существует устойчивый интерес к конструкциям предусилителей на специализированных микросхемах (аудио-процессорах). Эти микросхемы обычно позволяют осуществлять коммутацию нескольких аудио-источников, регулировку громкости, часто - регулировки предусиления и тембра. Очевидное преимущество таких конструкций - простота, что, впрочем, как правило компенсируется не сильно высокими звуковыми параметрами. Однако проектирование подобных устройст представляет определенный интерес хотя бы с точки зрения освоения микроконтроллеров, поскольку аудио-процессоры в подавляющем большинстве случаев требуют для доступа к функциям регулировки и коммутации связи с управляющим МК, который, кроме этого, позволит организовать удобное управление устройством и наглядную индикацию режимов его работы.
Вариант схемы подобного предусилителя представлен на рисунке:
Как видно, управляющие функции возложены на микроконтроллер Atmel ATMega8515, для отображения текущей информации служит двухстрочный LCD-модуль на 16 знакомест в каждой строке, в качестве органов управления применяется матричная клавиатура на 12 кнопок (реально используются 7) и модуль ИК-приемника TSOP1736 (реализована поддержка протокола RC-5, см. статью Некоторые протоколы ИК-пультов, часть вторая). Функции работы со звуковым сигналом возложены на микросхему TDA7449, установленную на отдельную плату и оформленную в виде модуля, схема которого представлена на рисунке:
Питание предусилителя осуществляется от источника постоянного напряжения 5В или от сети 220В переменного тока. В последнем случае для получения постоянного напряжения 5В используется модуль AC/DC-преобразователя, который представляет собой плату от малогабаритного импульсного адаптера питания (уже не помню, как он у меня оказался :) ). Развязка этих источников осуществляется с помощью диода Шоттки VD1. При питании от внешнего стабилизированного источника напряжение питания попадает на выход AC/DC-модуля, что, впрочем, совсем не страшно, т.к. там имеется выпрямительный диод, не позволяющий этому напряжению попадать на обмотку трансформатора, так что все в порядке. Так или иначе полученное постоянное напряжение дополнительно фильтруется и поступает на цифровую часть схемы: микроконтроллер, LCD-экран и ИК-приемник. Для питания аналоговой части микросхемы TDA7449 требуется стабилизированное напряжение 9В, источником которого является DC/DC-преобразователь 5В->9В под названием DC-101, который ранее работал в компьютерной сетевой карточке. Преобразователь этот по размерам корпуса соответствует микросхеме в DIP-24 (правда, из 24 используется всего 8 ног) и обеспечивает по выходу ток до 200мА и гальваническую развязку со входом при разнице напряжений до 500В, что, впрочем, здесь не используется. Вообще, эти преобразователи встречаются на более-менее древних сетевушках, имеющих разъем для подключения коаксиального кабеля, и могут называться совершенно по-разному, сохраняя при этом полную совместимость по выводам (у меня лично штук 5 разновидностей имеется, разводка под них абсолютно одинаковая). Полученное напряжение 9В дополнительно фильтруется и поступает на модуль микросхемы TDA7449, где используется для питания ее аналоговых цепей. Общее потребление устройсва не превышает 200мА по линии 5В при включенной подсветке дисплея и активном реле.
На транзисторе VT1 реализован узел звуковой индикации на зуммере BF1. Используется зуммер без встроенного генератора (генерацию сигнала осуществляет микроконтроллер), самый обычный, 12мм в диаметре, от какого-то китайского будильника.
Для управления служит матричная клавиатура 4х3, т.е. 4 столбца на 3 строки, используется из нее только 7 кнопок, как уже упоминалось выше (в прошивке реализован опрос всех 12-ти кнопок, однако остальные просто не требуются по функционалу). Выводы столбцов и строк напрямую подключены к выводам микроконтроллера, сканирование осуществляется по столбцам (в принципе, можно поставить последовательные резисторы в линии сканирования, но это не обязательно), выводы МК, к которым подключены линии строк должны быть сконфигурированы как "входы с подтяжкой".
Для приема сигнала от ИК-пульта используется интегральный фотоприемник TSOP1736, схема включения стандартная (еще раз обращу внимание на внешний подтягивающий резистор R9: без него возможна нестабильная работа приемника даже при условии правильной конфигурации вывода микроконтроллера: "вход с подтяжкой").
Микросхема TDA7449 имеет всего два коммутируемых аудио-входа. Этого мне показалось недостаточно, поэтому на реле К1 с двумя группами переключающих контактов К1.1 и К1.2 реализован дополнительный аудио-вход. Для управления реле служит транзистор VT3.
Для отображения текущей информации служит LCD-модуль на HD44780 совместимом контроллере. Модуль подключен к МК по 4-х битной шине; его подсветкой управляет транзистор VT2; для регулировки контрастности дисплея необходимо подать небольшое положительное напряжение на вывод 3 дисплея, для чего служит узел параметрического стабилизатора на стабилитроне VD2 и подстроечный резистор R13.
Все аудио-входы модуля TDA7449 подтянуты к земле 100кОм резисторами, в линиях выходов последовательно стоят неполярные (пленочные) конденсаторы по 2.2мкФ (т.к. питание однополярное, на выходах присутствует постоянное напряжение, равное половине напряжения питания, конденсаторы служат для отсечки этой постоянной составляющей).
Теперь несколько слов о самом модуле TDA7449.
Во входных цепях также стоят пленочные конденсаторы по 0,82мкФ (входное сопротивление микросхемы - 100кОм, желающие могут самостоятельно рассчитать постоянную времени для этой цепи и преобразовать ее в частоту :) ). Цепи на выводах 12..17 микросхемы отвечают за регулировку тембра, изменяя номиналы соответствующих элементов или схемотехнику этих цепей можно варьировать параметры темброблока (см. даташит на микросхему). В остальном - несколько фильтрующих конденсаторов в цепях питания, два подтягивающих резистора для шины I2C. Микросхема имеет отдельный вывод для подключения аналоговой земли, однако в данном случае земли не разделялись.
Микроконтроллер тактируется от внутреннего генератора 8МГц (фьюзы CKSEL3..0 для этого надо выставить как 0100, остальное по умолчанию). На плате предусмотрено место для кварца на 11,0592МГц, такая частота выбрана для совместимости со стандартным рядом скоростей СОМ-порта ПК (если вдруг в будущем захочется подключить это устройство к компу). В этом случае все CKSEL ставим в 1, а CKOPT - в 0. По желанию в обоих случаях можно включить BODEN (отвечает за включение внутреннего Brown-out Detector'a, что не является обязательным).
В основном режиме на экране LCD-модуля в первой строке отображается номер текущего входа, во второй - значение громкости:
В этом режиме кнопки "вверх"-"вниз" регулируют громкость, "вперед"-"назад" служат для выбора входа.
В зависимости от уровня громкости или при нажатии кнопки "Mute" (кнопка в правом нижнем углу) вид экрана может меняться:
При входе в меню по нажатию соответстующей кнопки на устройстве (центральная кнопка) или ИК-пульте на экране также отображается номер текущего входа, а также регулируемый параметр и его текущее значение:
Здесь кнопки "вверх"-"вниз" изменяют текущее значение параметра, "вперед"-"назад" служат для выбора этого параметра.
Для регулирования индивидуально для каждого входа доступны предусиление ("Gain"), уровни НЧ и ВЧ ("Bass" и "Treble"), а также баланс в виде раздельного регулирования уровней правого и левого каналов ("Right" и "Left").
Кроме того, в соответствующих разделах меню можно включить подсветку дисплея и активировать звуковой сигнал, который будет звучать при включении/выключении устройства, переключении входов и т.п.
При выключении устройства очищается экран, отключается его подсветка, микросхема аудио-процессора вводится в режим "mute". Поскольку все настройки (индивидуальные для каждого входа, кроме подсветки и звукового сигнала) сохраняются в энергонезависимой памяти, то при обратном включении или при переключении входа все настройки восстанавливаются и загружаются в микросхему аудио-процессора.
В качестве ИК-пульта применяется таковой от спутникового ресивера. Пульт работает по протоколу RC-5, для реализации обработки этого сигнала используется библиотека из статьиНекоторые протоколы ИК-пультов, часть вторая
Предполагается, что от того же пульта будет управляться усилитель мощности и источник звука, причем многие кнопки пульта будут функционально пересекаться, поэтому цветными кнопками пульта выбирается устройство, которое в данный момент должно отвечать на команды. Это справедливо для всех команд, кроме включения: оно происходит синхронно, а вот выключение - уже индивидуально, при выборе соответсвующего устройства. В прошивке коды клавиш отпеределены с помощью директивы #define, поэтому в случае необходимости можно легко использовать другой пульт.
Конструктивно все это безобразие, как вы уже, наверное, заметили, оформлено в корпусе от компюьтерного CD-ROM'а:
В составе устройства три платы: основная, почти во всю площадь корпуса, небольшая плата кнопок на лицевой панели и собственно модуль TDA7449. В качестве лицевой панели используется заглушка от компьютерного корпуса, на ней кроме кнопок установлены LCD-модуль и ИК-приемник, все это с основной платой соединяется с помощью BLS-разъемов.
На задней части платы, у ее края установлены разъмы питания 5В и 220В, 3 гнезда под mini-jack 3,5мм в качестве входов и еще пара таких же в качестве выходов (один из них т.н. мониторный выход: на нем появляется сигнал с выхода коммутатора микросхемы, еще не обработанный темброблоком и узлом регулятора громкости, т.е. по сути это линейный выход). Кроме того, там же размещен разъем для программирования МК и выведены некоторые линии МК (Rx/Tx, внешнее прерывание и т.д.). Замечу также, что основная плата допускает установку аудио-модулей на других микросхемах с несколько отличающимся функционалом, поэтому на ней присутствует некоторая избыточность, например, в части подключения модуля к МК.
Эксперименты с устройством чудес не выявили, оно вполне пригодно для проигрывания МР3 и т.п. музыкальных форматов, не сильно требовательных к качеству звукового тракта. Естественно, классическую музыку с SA-CD или DVD-Audio носителей воспроизводить через него не стоит, но в качестве приставки к компу вполне пойдет...
Файлы:
Платы в формате SL5
Прошивка
Схемы в sPlan 6.0
Вопросы, как обычно, складываем тут.