«А у Вас есть такое же, но с перламутровыми пуговицами?»
Честно говоря, возвращаться к конструкции, описанной в [1], я даже и не собирался. Но, как говорится, «никогда не говори никогда». Двое парней из Белгорода - Стас и Олег, прочитав о данной конструкции, решили использовать микросхему SSM2160 по её прямому назначению - в качестве регулятора громкости для 5.1 системы. Взяв за базовый модуль управления из [1] и исходные тексты его управляющей программы, опубликованные на сайте ж. «Радиохобби», они переделали их под свою задачу. Я, чем мог, помогал им при этом. Считаю также нужным отметить, что управляющая программа процессора в [1] была самой первой написанной мной программой, и как следствие - весьма далекой от совершенства. Она, тем не менее, справлялась с той задачей, которую выполняла. Но, через время Стас и Олег решили, что пора усовершенствовать модуль управления далее - добавить обработку энкодера (валкодера) и пульта. Вдоволь помучавшись самостоятельно, они попросили меня помочь им советом. И вот тут и «всплыли» все недостатки моей исходной программы. Более того, также оказалось недостаточно аппаратных возможностей использованного процессора PIC16F877A. Собственно, не хватило всего лишь ещё одного входа внешнего прерывания. С другой стороны, процессор PIC18F458 своей цоколёвкой полностью совпадает с PIC16F877A, но при этом имеет три входа внешних прерываний. Этот факт предопределил дальнейшее направление раздумий, итогом которых стало решение сделать модуль управления таким образом, чтобы отделаться как можно «меньшей кровью». То есть - если по минимуму - взять плату блока управления из [1], установить в нее процессор PIC18F458, но уже с новой управляющей программой, немножечко изменить подключение органов управления и получить по-новому работающее устройство. В таком варианте управление осуществляется двумя кнопками (POWER и SELECT), а также энкодером (заменившим кнопки PLUS и MINUS). Хочется пульта? Что ж, тогда нужно приложить совсем немного усилий - к имеющемуся модулю управления нужно подключить интегральный ИК-приемник, взять в руки пульт и можно управлять. Нет у Вас энкодера? Тоже не смертельно - подключаем все те же кнопки PLUS и MINUS и «рулим». Больше всего придется попотеть тем, кого заинтересует обещанный бонус. Но об этом, равно как и о том, как правильно подключить органы нового блока управления, - ниже. Кстати, в только что прочитанном Вами абзаце еще абсолютно ничего не было о том, почему же «четыре в одном»...
Что же, вспомним-ка несколько вещей. Первая - в [1] процессор управляет предварительным усилителем, коммутирующим при помощи SSM2163 четыре стерео источника, а также при помощи SSM2160 регулирующим громкость и тембр в трех диапазонах частот. Вторая - у Стаса и Олега нужно управлять регулятором громкости 5.1 усилителя (SSM2160). Кроме того, им также хотелось бы управлять коммутатором входов. Третья - использованная мной в [1] микросхема SSM2163, увы, уже снята с производства, и найти ее непросто. Хотя, её одной вполне достаточно для минимального предварительного усилителя. Вот так, медленно, но уверенно мы подобрались к … чему? Точно - к объяснению, почему же все-таки «четыре в одном». Попытка «объять необъятное» в свете приведенных выше пунктов привела к тому, что… данный модуль управления может «рулить» четырьмя различными конфигурациями аппаратной реализации аналогового тракта:
А бонус? Как я уже писал выше, тем, кого заинтересует именно он, придется попотеть больше всех. Но, думаю, «игра стоит свеч». Ведь бонусом является возможность управления релейным коммутатором входов и «Никитинским» регулятором громкости [2]! Ну так как, стоит дочитывать статью?
Итак, переходим непосредственно к делу. Понимаю, что повторяюсь, но тем не менее считаю необходимым еще раз подчеркнуть - ПЕРЕДЕЛКЕ ПОДВЕРГСЯ ТОЛЬКО МОДУЛЬ УПРАВЛЕНИЯ. Начнем со схемы. Вы можете скачать по ссылке схему (и плату) старого модуля управления (PDF/608 кБ). А затем сравнить её с новой схемой, приведенной на рис. 1 которую также можно скачать в формате PDF (размер файла 651 кБ).
Ещё раз напомню, главная задача, которую я пытался выполнить при разработке новой схемы - возможность использовать плату от старого модуля управления (на случай, если вдруг Вы ее уже сделали, и делать новую Вам лень). Тут, правда, нужно сразу сказать, что в случае использования старой платы Вы получите либо минимум функциональности в управлении, либо много соединительных проводков (навесного монтажа) при желании использовать «всё и по максимуму». Так что, если платы у Вас еще нет, лучше сразу берите и делайте новую её версию (PDF/305 кБ; тут и зеркальный вид для «утюга» есть). «Поклонникам» программы Sprint Layout посвящается - по ссылке [7] доступен ZIP-Архив (29 кБ) с ДВУМЯ (один - копия моей платы, второй - уменьшенная версия) чертежами печатной платы НОВОГО модуля управления. По мере дальнейшего объяснения я скажу, какие ее элементы в каких случаях нужны, а какие можно и не устанавливать.
Что же входит в «минимум функциональности»? Всего одно новшество - кнопки PLUS и MINUS заменены энкодером [3]. Кроме того, я проверял работу модуля и с энкодером, сделанным из шагового двигателя от дисковода (как описано в [4]) - при проверке всё работает нормально. Если Вам этого достаточно, то просто подключите энкодер и кнопки POWER и SELECT (они сохранены), НО ТОЛЬКО УЖЕ в соответствии с новой схемой. Еще раз обращаю Ваше внимание на то, что подключение кнопок POWER и SELECT изменено (номера контактов 2 и 3 соответственно в разъеме XS4 по новой схеме; в старой у него номера не было, он назывался «to KEYBOARD»)! Кнопки POWER и SELECT подключаются между соответствующими контактами разъема XS4 и «землей». Энкодер подключается таким образом - выводы А и В к соответствующими выводам («Enc_А» и «Enc_B») разема XS4, а вывод С - на «землю». Если уже в работе Вы увидите, что направление вращения энкодера и направление изменения регулируемого параметра не совпадают - просто поменяйте местами выводы А и В энкодера в разъеме XS4. Кроме того, владельцам СТАРОЙ версии платы управления - кварцевый резонатор Q2 и конденсаторы C6 и C7 нужно выпаять (они не используются). При этом на выводах 15 и 16 процессора выведены сигналы Reserved и OUT_MUTE соответственно. Об их назначении - ниже. Владельцам НОВОЙ версии платы - при таком «минимализме» впаиваются только элементы с порядковыми номерами меньше 100. Владельцам ЛЮБОЙ из версий (только в случае, если Вы не собираетесь использовать ПДУ) - вывод RB1 процессора (конт. 34) - нужно либо «подтянуть» резистором, либо просто закоротить НА ПЛЮС ПИТАНИЯ (+5V).
Следующий шажок (в функциональности). Он, правда не «вверх», а скорее «в сторону». И предназначен для тех, у кого не нашлось энкодера, а «рулить»-то всё равно нужно! Вот для них-то есть возможность подключить кнопки PLUS и MINUS. Кроме того, периодически народ «озвучивает» пожелание ввести ещё одну кнопку - MUTE. Чтож, пожалуйста: смотрим в новую схему на гнездо XS201 (плюс дополнительные резисторы «подтяжки» - R201...R203). Три сигнала в контактах гнезда XS201 как раз называются «MUTE», «PLUS» и «MINUS»! Кнопки соответствующего назначения подключаются между указанными контактами и «землей». Владельцам СТАРОЙ версии платы управления - вот и начались «сопли» (!!!) - и резисторы и разъем придется уже допаивать навесным монтажом. Владельцам НОВОЙ версии платы - устанавливаете на плату в дополнение к указнным выше элементам еще и XS201 плюс резисторы R201...R203. Нюанс для ЛЮБОГО из вариантов - резисторы R201...R203 должны быть установлены либо ВСЕ ТРИ обязательно (по факту их наличия управляющей программой процессора определяется - обрабатывать эту часть клавиатуры или нет), либо же ни один из них, (но при этом входы порта Е перемычками ДОЛЖНЫ БЫТЬ соединены с нулем питания!!!) То есть, например, Вы хотите использовать энкодер, плюс, чтобы была кнопка MUTE - резисторы R201...R203 впаиваете все, а кнопку подключаете только к контакту «MUTE»...
Чтож, продолжаем «наращивать функциональность» дальше. На этот раз в НОВОЙ схеме обратим свой взор на гнездо XS203. Это гнездо предназначено для подключения ИК-приемника [5]. Точно - подключив к этому гнезду указанный ИК-приемник [5], и выбрав пульт, как это описано в [6], Вы получаете (удобную, на мой взгляд) возможность управлять усилителем с пульта. Только учтите, что при этом закорачивать вывод RB1 процессора (конт. 34) на плюс питания (как это было описано двумя абзацами выше) - НЕЛЬЗЯ!!! Владельцам СТАРОЙ версии платы управления «песня та же» - проводочки, навесной монтаж... В НОВУЮ версию платы - просто впаиваете разъем XS203 и подключаете к нему ИК-приемник. Подробнее про настройку и работу пульта ДУ - ниже в описании алгоритма.
Следующий разъем, отсутствовавший на строй плате - XS202 (по новой схеме). На него выведены сигналы управления релейным коммутатором входов усилителя. На выводе «Inp_1» появляется логическая «единица», когда выбран «Вход 1», на выводе «Inp_2» - если выбран «Вход 2» и т.д. до четырех... Если же Вы собираетесь использовать коммутатор входов как в [1] (на SSM2163, управляемой програмно) - разъем XS202 Вам не нужен. В случае, если коммутатор входов у Вас будет релейный, то в ЛЮБУЮ из версий платы НЕ НУЖНО впаивать разъем XS3 (нумерация по новой схеме; по старой схеме у него номера не было, он назывался «to SSM2163») и резисторы R7, R8 и R11.
Ну и последние новые детали схемы - микросхема IC401 (с конденсатором в цепи ее питания - C401) и разъем XS401. Нужны они только лишь в случае того самого обещанного мной «бонуса» - управления релейным регулятором громкости А. Никитина [2]. Выходные сигналы «VOL_xx» используются для управления реле аттенюатора с соответствующим «весом» (то есть, «VOL_1» управляет реле «1 дБ», «VOL_2» - «2 дБ», «VOL_4» - «4 дБ» и т.д.). Единственное - в моей программе (в случае управления именно этим регулятором) громкость «рулится» в пределах от 0 до -63 дБ. Соответственно - только шесть выходных линий управления, а в схеме самого регулятора (см. рис. 1 в [2]) не нужно устнавливать реле и два резистора крайнего правого аттенюатора (подписанного как «64 дБ). Владельцам СТАРОЙ версии платы управления - всё, «приехали» - выкиньте её и сделайте новую!!! Владельцам НОВОЙ версии платы - впаивайте микросхему IC401, конденсатор C401 и разъем XS401.
Возможность управления различными вариантами аппаратной части аналогового тракта предполагает наличие хотя бы минимальной начальной настройки системы. С неё и начнем. Тем более, что Вам на самом деле придется начать именно с этого при самом первом включении блока управления. В том смысле, что при первой подаче питания на модуль управления процедура настройки системы стартует автоматически. Первым делом происходит определение наличия дополнительной клавиатуры, подключенной к порту Е микропроцессора. Критерием при этом служит наличие установленных резисторов R201-R203. Если их в схеме нет, то на всех входах порта Е будут логические «нули». Процессор воспринимает это как отсутствие дополнительной клавиатуры, запоминает в своем ЭНЗУ, и в дальнейшей работе не обрабатывает сигналы со входов порта Е. Если указанные резисторы в плату впаяны, то на всех входах порта Е будут логические «единицы». Процессор в этом случае запоминает, что дополнительная клавиатура присутствует и в дальнейшем обрабатывает кнопки, подключенные к порту Е. Необходимо учесть лишь тот факт, что выход из этой (автоматической) процедуры происходит только в двух случаях - на ВСЕХ ВХОДАХ порта Е одновременно присутствуют либо только «нули» (ни один из резисторов R201-R203 не впаян, а входы порта Е «посажены на землю»), либо только «единицы» (впаяны сразу все три резистора R201-R203).
Закончив с определением наличия дополнительной клавиатуры, процессор самостоятельно переходит к следующему пункту настройки - выбору языка сообщений дисплея. Это, собственно, первый пункт настройки, отображающийся на дисплее. Тут за Вами уже полная свобода выбора - вращая энкодер, или нажимая кнопки PLUS или MINUS, выбираете один из двух возможных вариантов - английский (по умолчанию) или русский. Покончив с выбором языка, нажимаете кнопку SELECT и переходите к следующему пункту настройки.
Следующим пунктом настройки является выбор аппаратной конфигурации аналогового тракта. Возможны 4 варианта: «SSM2163+SSM2160», «Реле + SSM Стерео», «Реле + SSM 5.1» и «SSM2163». Первый из них, «SSM2163+SSM2160», подразумевает использование аналогового тракта как в [1] - коммутатор входов на SSM2163 и регулятор громкости/тембра на SSM2160. Второй вариант, «Реле + SSM Стерео», предназначен для усилителя, в котором коммутацию источников осуществляют реле, а регулятор громкости и тембра выполнен на SSM2160 как в [1]. Третий вариант, «Реле + SSM 5.1», управляет 5.1 усилителем, у которого коммутатор входных сигналов выполнен на реле, а ИМС SSM2160 осуществляет регулировку громкости 5.1 каналов (смотрим в следующий. документ - в нем модуль, регулирующий громкость и тембр обведен красной рамкой). И последний, четвертый вариант, «SSM2163», - предполагает, что в аналоговом тракте установлена лишь одна ИМС SSM2163 в типовой схеме включения. Как я уже писал ранее, она способна самостоятельно коммутировать четыре стерео источника и регулировать громкость выходного сигнала.
И, тем не менее, остановимся на четвертом варианте немного подробнее. Не думаю, что он вообще смог бы кого-то заинтересовать, если бы не одно «но»! Минимализм управления предварительным усилителем, выполненным на SSM2163, полностью соответствует таковому в случае использования релейного коммутатора входов и регулятора громкости А. Никитина. Именно поэтому, если Вас заинтересовал обещанный «бонус», то выбрать нужно именно 4-й вариант. Это единственный вариант настройки, при котором на разъем XS401 выводятся сигналы управления громкостью. Сигналы для управления реле коммутатора входов выводятся на разъем XS202 в этом (четвертом) варианте, а также во втором и в третьем.
После того, как Вы выберете нужный вариант, снова нажимаете кнопку SELECT и переходите к последнему пункту настройки. Это настройка модуля управления на выбранный Вами пульт.
Краткое отступление (про выбор самого пульта). Как говорится, «Повторение - мать учения». Использованная мной в данном модуле управления процедура обработки сигналов пульта, воспринимает команды, увы, только в системе RC-5. Как следствие - Вам потребуется (приобрести) пульт, посылающий команды именно в данной системе команд. Может так оказаться, что у Вас в доме уже есть аппаратура, пульт которой также использует код RC-5. Чтобы пульт от одного устройства не «рулил» вторым, и наоборот, команда в системе RC-5 несет в себе т.н. адрес устройства (device ID), которому она предназначена. Устройство, получив команду, первым делом сверяет этот адрес со своим собственным, и только в случае их совпадения, команда выполняется. Не думаю, что кого-либо заинтересовала бы перспектива переделки уже не первый год стоящего дома (допустим) телевизора с целью, чтобы его пульт не «мешал» Вашему новому усилителю. С другой стороны, если сделать модуль управления воспринимающим команды только какой-то одной конкретной модели пульта - нет никаких гарантий, что Вам удастся ее найти. По этому, данный модуль управления выполнен «обучаемым» - он запоминает device ID, посылаемый выбранным Вами пультом, и в дальнейшем сравнивает поступающие команды именно с этим сохраненным значением.
А теперь вернемся к настройке модуля управления на выбранный Вами пульт. Берете в руки пульт и «стреляете» им в ИК-приемник усилителя. При этом (в режиме настройки) нажатия кнопок пульта не управляют усилителем, а лишь декодируются и индицируются на дисплее. На нём отображается «IR» и следом за ним еще три пункта: первым идет символ «t» и следующее за ним значение бита toggle, которое меняется (0 или 1) при каждом нажатии кнопки пульта, и не меняется, если кнопку удерживать нажатой. Следующий пункт: две цифры стоящие после символа «а» - это и есть адрес устройства (device ID), передаваемый пультом. Последний пункт: символ «с» и две цифры стоящие следом - это код команды (command ID). Если же команда принята неверно, или пульт не стандарта RC-5, вместо этой цифробуквенной «абракадабры» выводится сообщение «Error» (Ошибка). «Постреляв» пультом в усилитель и увидев несколько раз подряд один и тот же адрес, поверните в любую сторону энкодер или нажмите на лицевой панели усилителя любую из кнопок PLUS или MINUS (если таковые установлены). Всё! После этого адрес, показанный на дисплее, будет сохранен процессором как тот, на который он будет реагировать в дальнейшем. На этом настройка усилителя под выбранный пульт завершена.
Еще одно, совсем маленькое отступление. Также, в этом режиме Вы можете проверить - есть ли среди уже имеющихся у Вас пультов (от другой аппаратуры) такие, что работают в системе команд RC-5. Просто «постреляйте» из своего «домашнего арсенала» в ИК-приемник усилителя. Если при этом на дисплее Вы видите только сообщение об ошибке - значит ни один из них кодом RC-5 не пользуется. Тогда можете приобрести, например, пульт 105-230М от телевизора LG и пользоваться им безо всяких переделок. В противном случае можно приобрести пульт RC-6 и переделать его, как описано в [6].
Завершив настройку пульта, еще раз нажимаем кнопку SELECT. После этого, для Вашего контроля, в течение 10 секунд на дисплей выводится «сводка» настроенных параметров. Первым (после букв «Kb») отображается установленный режим обработки клавиатуры - «0» (кнопки PLUS, MINUS и MUTE - не обрабатываются) или «1» (указанные кнопки обрабатываются). Затем идет надпись «Sys» и номер выбранной аппаратной конфигурации (в соответствии со списком в начале статьи). Последними идут надпись «IR» и сохраненный адрес устройства для ПДУ. Информация о выбранном языке отдельно не выводится - все понятно итак (если Вы выбрали русский язык, все надписи уже будут на русском). Через 10 секунд аппарат сохранит все настройки, пропишет в своей памяти, что «настройка была завершена» (чтобы не возвращаться к ней в дальнейшем) и вернется в дежурный режим.
На приводимом ниже рисунке схематично показан весь алгоритм процесса предварительной настройки модуля управления:
И чтобы уже закончить с настройкой системы, последние примечания:
Перед тем, как перейти к непосредственной работе модуля управления, я хотел бы сначала разъяснить некоторые термины.
«STANDBY» (дежурный режим) - режим, в котором включен только модуль управления, а аналоговый тракт выключен. Нужен он для того, чтобы Вы могли с пульта ДУ включать усилитель. Таким образом, использованный Вами блок питания должен подавать питающее напряжение (+5 Вольт) на модуль управления ПОСТОЯННО. Естественно, при этом процессор модуля управления работает ВСЁ ВРЕМЯ. Аппаратно управление включением/выключением (аналогового тракта) реализовано через вывод CONTROL (конт. 3 разъема XS1 - нумерация по новой схеме). На этом выводе, пока усилитель в «дежурке» (и аналоговый тракт выключен) присутствует логический «ноль». При включении усилителя на нем появляется логическая «единица», которую удобно использовать для включения блока питания аналоговой части.
«Default Screen» (...) - показания на дисплее в то время, когда усилитель включен, но никаких манипуляций не выполняется. Данный модуль управления при этом выводит на дисплей (например) «Вх.3 Громк. -27». При нажатии кнопок (на панели или на пульте), вращении энкодера (то есть любой регулировке усилителя) показания дисплея меняются. Если после этого в течение 10 секунд ничего не делать, система снова возвращается в «default screen».
«MUTE» («приглушение») - быстрое выключение звука на выходе усилителя. Выполняется либо соответствующей кнопкой «расширенной» клавиатуры (конт. 3 разъема XS201), либо кнопкой MUTE на пульте (символьно обозначается как перечеркнутый динамик). Выключить «приглушение» (т.е. включить звук) можно, повторно нажав указанные кнопки, ИЛИ ЖЕ порегулировав громкость (в «плюс» или в «минус»). Еще один момент - если в момент выключения усилителя (перехода в «дежурку» по нажатию кнопки POWER) режим MUTE был включен, то он сбрасывается, и при включении усилителя звук снова будет включен. Аппаратно выключение звука реализовано двояко: для трактов, в которых установлена SSM2160 (а это любой из первых трех вариантов аппаратной конфигурации аналоговой части) на нее просто подается соответствующая команда. Для четвертого варианта - одновременно выполняется два действия: (а) на SSM2163 подается соответствующая команда; (б) на выводы управления регулятором громкости А. Никитина (XS401) подается код, соответствующий уровню громкости «-63 дБ».
«OUT_MUTE» (конт. 2 разъема XS1 - нумерация по новой схеме) - сигнал, используемый для управления цепью отключения выхода усилителя на время переходных процессов при включении/выключении аналогового тракта. На этом выводе практически всё время присутствует логический «ноль». При включении усилителя сначала появляется логическая «единица» на выводе OUT_MUTE (выход усилителя отключается). Через некоторое время логическая «единица» появляется на выводе CONTROL (включается блок питания аналогового тракта). Еще через некоторое время на выводе OUT_MUTE устанавливается логический «ноль», открывая выход усилителя. При выключении усилителя происходит практически то же самое, за исключением того, что на выводе CONTROL «единица» сменяется логическим «нолем» (блок питания аналогового тракта выключается).
«RESERVED» (конт. 1 разъема XS1 - нумерация по новой схеме) - сигнал, тригерно переключаемый кнопкой TV/AV на пульте. Вы можете его использовать по собственному усмотрению для управления каким-нибудь режимом усилителя (например, включением входа «Монитор» для прослушивания сигнала с выхода магнитофона со «сквозным трактом» и т.д. и т.п.).
На приведенной ниже диаграмме схематично показано, что происходит с сигналами CONTROL и OUT_MUTE при включении и выключении усилителя:
Теперь собственно управление. Тут всё просто. Энкодер (или же кнопки PLUS и MINUS, если таковые установлены) регулируют параметр. Кнопка SELECT - выбирает регулируемый параметр. Если кнопку SELECT не нажимать, регулируется уровень громкости (для 5.1 конфигурации - т.н. «МАСТЕР-ГРОМКОСТЬ», т.е. всех каналов). При регулировке параметров, имеющих отношение к уровню сигнала, изменение прекращается при достижении максимума или минимума. Параметры, относящиеся к установкам (номер выбранного входа, его режим - стерео, моно и т.д.) «закольцованы» - после максимума следует переход на минимум и наоборот. Ниже в виде диаграм приведены алгоритмы управления для четырех вариантов аппаратной конфигурации аналогового тракта (описанных вначале статьи).
Напомню, что в первом варианте аппаратной конфигурации использованы микросхемы SSM2163 (коммутатор входов) и SSM2160 (регулировка громкости и тембра). То есть, аналоговый тракт полностью повторяет схему из [1]. При этом и алгоритм управления тоже повторяет таковой из [1] (что и не удивительно) с одним небольшим изменением. Изменение заключается в том, что в порядке выбора параметров процедура переключения входов перенесена - она теперь находится уже после регулировки тембров. Это в первую очередь связано с использованием пульта (просто, предусмотрена обработка кнопок пульта, напрямую выбирающих вход)...
Весь алгоритм показан на приводимом ниже рисунке:
Второй вариант аппаратной конфигурации отличается от первого тем, что для коммутации входов усилителя вместо микросхемы SSM2163 используются реле, а регулировка громкости и тембра выполнена на SSM2160 также как и в [1] (грубо говоря, в схеме аналогового блока из [1] нужно «выкинуть» SSM2163 и все, что расположено левее ее, а сигнал поступающий с коммутатора входов подавать на гнездо REC OUT - как показано в следующем документе - в нем модуль, регулирующий громкость и тембр обведен красной рамкой). Алгоритм управления в этом случае стал «проще», чем у первого варианта, на два параметра - режим входа и аттенюатор.
Сам алгоритм показан на приводимом ниже рисунке:
В третьем варианте аппаратной конфигурации для коммутации входов усилителя также используются реле, а микросхема SSM2160 (в типовой схеме включения) осуществляет регулировку общей громкости (Мастер) и относительное изменение уровней каналов 5.1 системы. По отдельности регулируются (как видно на приведенном ниже алгоритме) уровни Центра, Сабвуфера, Тылов и Фронтов:
Самый простой алгоритм процесса управления в случае четвертого варианта аппаратной конфигурации аналогового тракта. Правда, тут и удивляться-то нечему - ведь всё, что нам нужно «рулить» - это лишь громкость и номер входа. Но и это еще не всё - управление будет ГОРАЗДО проще, как только Вы возьмете в руки пульт (но об этом ниже).
Алгоритм показан на приведенном ниже рисунке:
Мною при написании программы данного модуля управления в качестве «базового» был использован пульт RC-6 (в данном случае это название модели, а не система команд), переделанный, как описано в [6]. Если в Вашем «домашнем арсенале» нет других пультов, использующих систему комманд RC-5, то данный пульт можно и не переделывать. Если же переделка необходима, то установите ему ЛЮБОЙ device ID, который не используется уже имеющимися у Вас пультами - данному модулю управления ВСЁ РАВНО, какое значение запомнить и использовать в дальнейшем.
На рисунке ниже показан пульт RC-6 и обрабатываемые программой модуля управления кнопки:
1 - кнопка «MUTE» (код 0D'h) - быстрое выключение/включение звука на выходе усилителя.
2 - кнопки «1» - «4» (коды с 01'h по 04'h) - прямой выбор соответствующего входа.
3 - кнопка «ОК» (код или 25'h, или 3B'h) - переход между регулируемыми параметрами (аналог кнопки SELECT на лицевой панели усилителя).
4 и 9 - кнопки «V-» и «V+» (коды 11'h и 10'h) - кнопки регулировки выбранного параметра - по назначению аналогичны кнопкам PLUS и MINUS (или же вращению энкодера) на лицевой панели усилителя.
5 - кнопка «TV/AV» (код 38'h) - триггерное переключение уровня (ноль/единица) на выводе RESERVED (конт. 1 разъема XS1 - нумерация по новой схеме), которое Вы можете использовать по собственному усмотрению для управления каким-нибудь режимом усилителя (например, включением входа «Монитор» для прослушивания сигнала с выхода магнитофона со «сквозным трактом» и т.д. и т.п.).
6 - кнопки («цветные»; коды 37'h, 36'h, 32'h, 34'h) - прямой переход на режимы регулировки тембра для первого и второго вариантов аппаратной конфигурации (отрабатывают только три левых) или же на режимы регулировки уровней каналов для 5.1 системы (третий вариант аппаратной конфигурации). Для четвертого варианта кнопки не обрабатываются.
7 - «STANDBY» (код 0С'h) - включение/выключение усилителя (аналогового тракта).
8 и 10 - кнопки «Р+» и «Р-» (коды 20'h и 21'h) - переключение входов «по кольцу».
Для пульта модели 105-230М фирмы LG всё обрабатывается точно так же, за исключением «цветных» кнопок - их у этого пульта попросту нет.
Версия 0 (Размер файла - 24 кБ) - HEX-файл самой первой (бэта-) версии прошивки.
...и...
её исходник (Размер файла - 92 кБ) - на ASM-е.
...чтож, теперь подождем результатов тестирования программы (глюков)...
Долго ждать и не пришлось - сам нашел ошибку. Ошибка была в обработке кнопок ПЛЮС и МИНУС, подключенных к порту Е (не работал их повтор при удержании). Если же эти кнопки использовать не планируется - то можно и не перешивать... Так что, следующая прошивка с исправлением указнной ошибки вот:
Версия 0.1 (Размер файла - 24 кБ)
(23 февраля 2006) Новая версия прошивки. Исправлены еще две ошибки. Первая проявлялась в том, что если в режиме STANDBY вращать энкодер, то процессор снова переходил в режим начальной настройки системы. Вторая ошибка заключалась в том, что микросхемы аналогового тракта инициализировались практически сразу после подачи сигнала включения их блока питания. Если в этом БП были задержки (из-за больших емкостей или доп. фильтров), то инициализация происходила раньше, чем на микросхемы поступало «нормальное» питание. Теперь инициализация микросхем аналогового тракта смещена по времени и происходит по окончании 3-х секундной выдержки (практически перед самым снятием сигнала «OUT MUTE»). Вот прошивка:
Версия 0.2 (Размер файла - 24 кБ)
(23 марта 2006) Исправлена одна ошибка. Похоже, она была с самого начала, просто я буквально пару дней назад первый раз нажал кнопку MUTE на панели, а не на пульте. Оказалось, что я для этой кнопки не только забыл убрать повтор при удержании, но еще и нечаянно убрал ВСЕ задержки при повторе. В итоге это все работало как генератор случайных чисел. Кроме того, сделал небольшое «чисто косметическое» изменение - при выключении усилителя кроме аппаратного MUTE добавлен еще и програмный. Просто я так и не сделал в своем усилителе цепь аппаратного приглушения... Вот прошивка:
Версия 0.3 (Размер файла - 24 кБ)
Данный модуль управления был установлен в корпус усилителя «Вега-120». Органы управления, не установленные на плате процессора, были вынесены на плату клавиатуры. Её схема приведена ниже (на рис. 9). На плате установлены ИК-фотоприменик сигналов ПДУ (IC1), две кнопки SB1 и SB2, а также немного упрощенная схема для энкодера из шагового двигателя от дисковода (из [4]) - из оригинальной схемы удалены резисторы, подтягивающие неинвертирующие входы ОУ к плюсу питания. В данном случае это возможно благодаря управляющей программе процессора - ей все равно, «нули» на выходах энкодера в спокойном состоянии или «единицы». В случае использования энкодера [3] РЕС-16 фирмы BОURNS (или аналогичного ему), на плату клавиатуры НЕ НУЖНО устанавливать следующие элементы: D1-D4, C1, C2, R1, R2, R4, R5, IC2. В этом случае энкодер подключается таким образом - выводы А и В к контактным площадкам выводов 9 и 13 IC2, а вывод С - на «землю». Выводы кнопки энкодера подключаются - одна «на землю», вторая - вместо анода диода D7 (сам диод при этом не устанавливается). В таком варианте нажатие энкодера выполняет функцию кнопки «SELECT» - переключение регулируемых параметров.
Отдельного абзаца заслуживает кнопка «MODE» данной платы клавиатуры. В случае, если используется энкодер, выполненный из шагового двигателя, возможность организовать функцию «SELECT» нажатием на его ось (как у РЕС-16) отсутствует. В этом случае НЕ УСТАНАВЛИВАЕМ диоды D5 и D6, вместо диода D7 ставим перемычку, и тогда кнопка «MODE» выполняет функцию «SELECT» (переключение регулируемых параметров). Если же Вы используете энкодер [3] РЕС-16 фирмы BОURNS (или аналогичный), подключенный как описано в предыдущем абзаце, то кнопка «MODE» свободна для прочего применения. Как вариант, возможно реализовать триггерное переключение уровня (ноль/единица) на выводе RESERVED (конт. 1 разъема XS1 - нумерация по рис. 1), аналогично нажатию кнопки «TV/AV» на пульте. Для этого нужно установить диоды D5 и D6, а диод D7 - не впаивать. Управляющая программа процессора обрабатывает одновременное нажатие кнопок «PLUS» и «MINUS» (а именно это и происходит при нажатии кнопки «MODE» благодаря наличию узла «аппаратное ИЛИ» на диодах D5 и D6) как команду переключения уровня на выводе RESERVED (конт. 1 разъема XS1 - нумерация по рис. 1). Если при этом еще и установить на плату светодиод D8 и управляющий им ключ на транзисторе Т1 (с обвеской R6 - R8), а на контакт 1 разъема XS4 (рис. 9) подать тот самый сигнал RESERVED, то мы получаем индикацию текущего режима. С контакта 2 разъема XS4 можно снять тот же самый сигнал RESERVED, для подачи на исполнительные устройства, а с контакта 3 разъема XS4 - проинвертированный.
В гнездо XS2 подключается кнопка POWER (без фиксации). Просто в корпусе «Веги-120» эта кнопка конструктивно выполнена «отдельно стоящей», и в данном случае этот «транзит» сделан лишь потому, что плату клавиатуры очень удобно одним шлейфом подключить к плате процессора (см. рис. 10 ниже).
Вот в этом PDF-е (439 кБ) сложены схема, печать и расположение деталей платы клавиатуры. Там же есть и зеркальный рисунок платы для «лазерного утюга» (последний лист документа). При установке в корпус плата ориентируется «медью» в сторону лицевой панели. Детали - ИК-фотоприменик сигналов ПДУ (IC1), конденсаторы С1, С3, С6 (SMD-исполнения, размер 1206), светодиод D8 и кнопки SB1 и SB2 - припаиваются со стороны дорожек.
В замен штатного шильдика «Веги-120» я нарисовал в Corel Draw новый, который мне любезно изготовили друзья из рекламного агенства (наклеили пленку Oracal на оргстекло). Его внешний вид показан на рис. 11 ниже. Если Вы посчитаете, что Вам такого «с головой достаточно», можете у меня взять файл (версия Corel Draw 7.0).
Последние исправления — 23 марта 2006 г. ©Дмитрий Харций