Схема. Приёмник-дешифратор команд ДУ протокола NEC

Схема Приёмник-дешифратор команд ДУ протокола NEC 1
      В этой разработке С. Сакевич попросил использовать самые маленькие ПДУ с минимальным числом кнопок, причём только с самыми необходимыми функциями. Рядом с макетом рассматриваемого приёмника-дешифратора на рис. 1 изображены два таких пульта от телевизоров фирм LG и SANYO. Как ни странно, они различаются не только цветом корпусов, но и кодами подаваемых при нажатиях на одноимённые кнопки команд. Макет соответствует рассматриваемой далее схеме, но дополнен светодиодными индикаторами состояния выходов и сетевым блоком питания.

      Приёмник-дешифратор может работать с любым из двух ПДУ (по выбору), принимая следующие команды:
— включение и выключение УМЗЧ кнопкой TV;
— переключение трёх входов УМЗЧ кнопками СН Up и СН Down с запоминанием выбранного при отключении питания;
— управление электроприводом регулятора громкости кнопками VOL Up и VOL Down;
— включение и выключение акустической системы кнопкой MUTE.
      Команда, подаваемая нажатием на ПДУ кнопки SLEEP, также принимается, но характер её использования не оговорен.

      Через 2 с после исполнения команды включения УМЗЧ к нему автоматически подключается акустическая система. Предусмотрено автоматическое (без команды) выключение УМЗЧ по сигналу отдатчика его неисправности или после десяти минутного отсутствия воспроизводимого звукового сигнала. Питается приёмник стабилизированным постоянным напряжением 3,3…5 В.

      После приобретения ПДУ были сняты временные диаграммы всех излучаемых ими команд. Оказалось, что оба они работают по одному и тому же протоколу NEC [2]. Для него характерна очень высокая степень защиты от ошибок при приёме команд, но это и один из самых трудных для декодирования протоколов.
      Используются восьмиразрядные адреса устройств и коды команд, причём они передаются в прямом и проинвертированном виде. Получается кодовый пакет длиной 32 двоичных разряда, не считая стартового импульса. Признак повторения команды при длительном удержании кнопки ПДУ нажатой не похож на пакет, используемый для её однократной передачи.

      Диаграммы были сняты с помощью программы EXPStudio Audio Editor при подключённом к входу аудиокарты компьютера модуле ИК приёмника. Выходной сигнал модуля перед подачей на аудиокарту во избежание её перегрузки уменьшен приблизительно в 50 раз с помощью делителя напряжения из двух резисторов номиналом 10 кОм и 200 Ом. Постоянная составляющая устранена разделительным конденсатором ёмкостью 2,2 мкФ. Напряжение 5 В для питания И К модуля было взято с разъёма USB компьютера. В результате анализа этих диаграмм был разработан и реализован в виде программы микроконтроллера алгоритм приёма и дешифровки команд протокола NEC.

      

Схема приёмника-дешифратора

      Изображена на рис. 2. Исполнительные устройства, а также датчики сигналов неисправности УМЗЧ и уровня звукового сигнала на его выходе на ней отсутствуют — их исполнение зависит от конкретного устройства, в которое будет встроен приёмник.

      За основу взят распространённый микроконтроллер ATtiny2313-20PU (DD1). Модуль ИК приёмника В1 принимает излучаемые ПДУ сигналы, фильтрует, усиливает, детектирует их и формирует выходной сигнал, имеющий логические уровни и пригодный для подачи на вход микроконтроллера. Светодиод HL1 — индикатор приёма И К сигнала.
Большую часть времени микроконтроллер находится в «спящем» режиме, «просыпаясь» при появлении сигнала ДУ на линии порта PD3, используемом в режиме приёма внешних запросов прерывания INT1. Его «будят» и нажатия на кнопки SB1—SB4, подключённые к выводам порта В, способным генерировать запросы прерывания PCINT. Обработав согласно программе полученный запрос, микроконтроллер вновь «засыпает».

      Разъём ХР1 предназначен для загрузки программы в микроконтроллер непосредственно на плате. Резисторы R1—R3 защищают программатор от последствий случайных нажатий на кнопки SB1—SB3 во время его работы.

      Эти кнопки предназначены для выбора используемого входа УМЗЧ без применения ПДУ. Узел коммутации входов, подключаемый к линиям порта PD4— PD6 микроконтроллера, может быть любым, от электронного до релейного. Низкий уровень здесь соответствует включённому входу УМЗЧ, высокий — выключенному.
      Переключение входов с помощью ПДУ происходит иначе. Нажатиями на его кнопки СН Up и СН Down выбирают вход соответственно с большим или меньшим относительно текущего номером. Переключение происходит по кругу—за третьим следует первый, и наоборот. Состояние линий PD4—PD6 запоминается при выключении питания микроконтроллера в его энергонезависимой памяти, восстанавливаясь при включении.

      Нажатиями на кнопку SB4 приёмника-дешифратора или на кнопку TV ПДУ изменяют на противоположный логический уровень на линии порта PD0, включая и выключая УМЗЧ. После включения питания микроконтроллера здесь будет низкий уровень. Через 2 с после установки на линии PD0 высокого уровня таким же он станет и на линии порта PD1, что по замыслу разработчика подключит к УМЗЧ акустическую систему. Задержка выбрана достаточной для завершения всех переходных процессов в УМЗЧ, опасных для акустической системы и вызывающих хорошо слышимые щелчки.

      При исполнении команды выключения УМЗЧ первым устанавливается низкий уровень на линии PD1 (отключается акустическая система) и лишь через 0,5 с такой же уровень устанавливается на линии PD0. Текущий логический уровень напряжения на линии PD1 можно изменять с помощью ПДУ, нажимая на нём кнопку MUTE.

      С линией порта PDO должен быть соединён исполнительный узел, включающий питание УМЗЧ при высоком уровне и выключающий его при низком. Возможная схема релейного варианта такого узла показана на рис. 3. Реле К1 выбирают в зависимости от мощности коммутируемой им нагрузки. Аналогичный узел может применяться для подключения/отключения акустической системы.

      Приёмник-дешифратор реагирует на логический уровень внешнего сигнала, поданного на линию порта PD2 микроконтроллера. Его низкий уровень свидетельствует о неисправности УМЗЧ. Обычно он устанавливается при обнаружении большой постоянной составляющей выходного напряжения УМЗЧ, опасной для акустической системы. В этом случае высокий уровень на линии PD1 микроконтроллер не устанавливает, а если он уже есть, немедленно снимает. Если в течение 1 с неисправность не «самоликвидировалась», устанавливается низкий уровень и на линии PD0 микроконтроллера, чем выключается питание УМЗЧ. Если датчик неисправности в УМЗЧ отсутствует, линию порта PD2 микроконтроллера следует соединить с плюсом питания.

      При нажатиях на кнопки ПДУ VOL Up и VOL Down на время их удержания микроконтроллер устанавливает высокие логические уровни соответственно на линиях порта РА0 и РА1. Это сигналы управления электроприводом регулятора громкости УМЗЧ. К указанным линиям можно подключить релейные узлы, подобные изображённому на рис. 3, а по схеме, показанной на рис. 4, соединить с контактами их реле К1.1 и К2.1 двигатель привода М1. Его вал и механически связанный с ним вал переменного резистора, изменяющего громкость, будут вращаться в одну или другую сторону при различающихся логических уровнях на линиях РА0 и РА1, но останутся неподвижными при одинаковых.

      Можно применить, конечно, и чисто электронный узел управления двигателем. Но в нём должно быть исключено протекание «сквозного» тока при одновременно высоких уровнях двух управляющих сигналов. Хотя такая ситуация в рассматриваемом приёмнике-дешифраторе исключена программно, она все-таки может возникнуть при сбое.
      Управление электроприводом регулятора громкости без ПДУ не предусмотрено, так как вал изменяющего её переменного резистора обычно выведен на панель УМЗЧ, и его можно вращать вручную.

      Логический уровень на линии порта РВ0 микроконтроллера можно изменять, нажимая на ПДУ кнопку SLEEP. Стандартное применение этой команды в УМЗЧ пока не придумано, каждый может использовать её по своему усмотрению. Имейте в виду, что состояние этой линии при выключении питания микроконтроллера не запоминается и не восстанавливается при её включении.
      При установленной съёмной перемычке S1 действует режим автоматического выключения УМЗЧ после 10 мин отсутствия воспроизводимого звукового сигнала. Отсчёт выдержки HIGH начинается заново при нажатиях на кнопки SB1—SB3 или на кнопки ПДУ.
      Отсутствием звукового сигнала считается постоянное напряжение менее 1,22В на линии РВ1 микроконтроллера (используется встроенный в него аналоговый компаратор). В многоканальных усилителях подаваемое на эту линию напряжение должно быть пропорционально сумме текущих значений выходного напряжения всех каналов или наибольшему из них.

      Поскольку для отсчёта выдержки использован не очень стабильный сторожевой таймер микроконтроллера, её продолжительность выдерживается лишь приблизительно. Проверка показала, что при изменении напряжения питания микроконтроллера от 3,3 до 5В выдержка «уходит» на 15…20 с, что при заданной продолжительности 10 мин вполне допустимо.
      Съёмной перемычкой S2 выбирают ПДУ, на команды которого должен реагировать приёмник-дешифратор. При установленной перемычке — это ПДУ SANYO, в противном случае — LG. Снимать и устанавливать обе перемычки можно, не выключая питание микроконтроллера. Изменения их состояния воспринимаются немедленно.

      Модуль ИК приёмника TSOP4838 можно заменить другим, настроенным на частоту повторения принимаемых ИК импульсов 38 кГц (именно такая частота используется в ПДУ протокола NEC). Пригодны, например, модули TSOP1738 или ILMS5380, но следует учитывать различия в назначении их выводов. Опыт показывает, что использование более распространённых модулей, настроенных на частоту 36 кГц (например, TSOP4836), приводит лишь к незначительному уменьшению дальности действия дистанционного управления.

      Для питания приёмника-дешифратора, установленного в УМЗЧ, необходим стабилизированный источник напряжения 3,3…5 В с отдельным сетевым трансформатором. Он должен оставаться включённым и при выключенном основном источнике питания. Если коммутация цепи питания УМЗЧ производится с помощью электромагнитного реле, то и для его обмотки должен быть предусмотрен независимый от УМЗЧ источник напряжения. Остальные исполнительные устройства можно питать от общего с УМЗЧ источника.
      Коды программы могут быть загружены во FLASH-память микроконтроллера с помощью любого программатора, способного работать с микроконтроллерами семейства AVR. Конфигурацию нового, ещё ни разу не использовавшегося экземпляра микроконтроллера изменять, как правило, не приходится. Но все-таки её нужно проверить на соответствие таблице и при обнаружении отличий исправить. В большинстве случаев нулевому значению конфигурационного разряда соответствует «галочка» в соответствующем окне компьютерной программы, управляющей программатором, а единичному — её отсутствие.

      Дальнейшее совершенствование описанного приёмника-дешифратора предполагается вести в направлении расширения встроенных в него функций защиты УМЗЧ от аварийных ситуаций. Один из вариантов — контроль температуры теплоотводов мощных транзисторов усилителя и управление обдувающим их вентилятором. Но поскольку возможностей микроконтроллера ATtiny2313 для этого недостаточно, придётся заменить его, например, на ATmega48. Возможны и другие усовершенствования.

Прилагаемые файлы:   ir_rec.zip   

ЛИТЕРАТУРА
1. Сакевич С. Простой эстрадный усилитель мощности. — Радио, 2000, № 11 с. 12— 14; №12 с. 37—41.
2. IR remote control NEC protocol. —      www.sbprojects.com/knowledge/ir/nec.htm   

В. ЛУЗЯНИН, г. Анапа Краснодарского края
«Радио» №9 2011г.

Читайте также:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *