Тип дистанционного управления ик что это
Перейти к содержимому

Тип дистанционного управления ик что это

  • автор:

Перехват инфракрасных пультов с помощью Flipper Zero

Flipper Zero — пацанский мультитул-тамагочи для пентестера
Первый пост

Пульты от телевизоров, кондиционеров, музыкальных проигрывателей передают команды через ИК-порт. Инфракрасный порт во Flipper Zero позволяет рулить всеми ИК-устройствами: перехватывать сигналы пультов и сохранять их на SD-карту, брутфорсить неизвестные коды от бытовой техники и загружать свои коды пультов и новые протоколы.

В статье я покажу:

  • Как устроены инфракрасные приемники и передатчики
  • Какие бывают цифровые сигналы ИК-пультов
  • Перехват и анализ ИК-сигналов
  • Как с помощью Flipper Zero стать инфракрасным властелином

Как работает ИК-порт

Инфракрасное излучение — это невидимое для человека электромагнитное излучение с длиной волны от 0,7 до 1000 мкм. Бытовые пульты дистанционного управления используют ИК-сигнал для передачи данных и работают в диапазоне излучения 0,75..1,4 мкм. Микроконтроллер в пульте мигает инфракрасным светодиодом с определенной частотой — так цифровой сигнал становится ИК-сигналом.

Пульт передает данные пакетами ИК-импульсов

Для приема сигнала используют фотоприемник, который преобразует ИК-излучение в импульсы напряжения — с ними уже можно работать как с цифровым сигналом. Обычно в приемниках установлен темный фотофильтр, пропускающий излучение с нужной длиной волны, чтобы фильтровать помехи.

Как устроен ИК-порт во Flipper Zero

У ИК-порта Flipper Zero стоит специальное темное окошко — оно блокирует помехи от видимого света и пропускает ИК-излучение от пультов. Это помогает выделять полезный ИК-сигнал и убирать засветы видимого света. Именно этот фильтр мы привыкли видеть во всех ИК-портах. За ним уже расположены элементы приемника и передатчика. Flipper Zero может быть как приемником, так и передатчиком ИК-сигнала.

[Видео] Расположение ИК-порта во Flipper Zero

Сразу за окошком ИК-порта расположена печатная плата. На ней с двух сторон расположено 3 ИК-светодиода — это передатчики сигнала. Их специально 3, чтобы увеличить мощность передачи. На нижней стороне печатной платы расположен фотоприемник TSOP, с помощью которого принимается ИК-сигнал. На выход TSOP выдает цифровой сигнал, который обрабатывается микроконтроллером STM32.

Ниже можно посмотреть интерактивную схему и 3D модель iButton платы, на которой установлены ИК-светодиоды, приемник TSOP, динамик и контакты iButton:

[Кликабельно] Схема и 3D модель платы ИК-порта

Ниже находится интерактивная схема проекта Altium, работающая прямо в теле поста Хабра. Попробуйте переключиться между вкладками SCH, PCB, 3D, BOM. Пока такой oEmbed элемент нельзя создать самостоятельно, но скоро эта функция будет доступна публично через Altium Viewer altium.com/viewer/

Интерактивная схема и 3D модель платы ИК-порта

Приемник ИК-сигнала во Flipper Zero

Внутри Флиппера стоит цифровой приемник ИК-сигнала TSOP, поэтому он может перехватывать любые сигналы ИК-пультов. Если у вас телефон типа Xiaomi, в котором тоже есть ИК-порт, имейте в виду, что он может ТОЛЬКО передавать сигналы, но не может принимать.

Инфракрасный приемник во Флиппере достаточно чувствительный. Можно ловить сигнал даже стоя сбоку, между пультом и телевизором, не обязательно направлять пульт вплотную к приемнику Флиппера. Это пригождается, когда кто-то переключает каналы, стоя рядом с телевизором, а вы с Флиппером находитесь далеко. Например, когда в кафе бармен переключает телевизор, а вам хочется перехватить управление захватив сигнал.

[Видео] Захват ИК-сигнала

Так как декодинг инфракрасного сигнала происходит программно, потенциально Флиппер поддерживает прием и передачу любых кодов ИК-пультов. В том числе, неизвестных ему протоколов, которые не удалось распознать — в этом случае используется запись и воспроизведение сырого сигнала, без расшифровки.

[Видео] Демонстрация функции обучения: Флиппер захватывает два сигнала переключения каналов и управляет телевизором

Интерфейс сохраненных пультов во Флиппере отображается вертикально — так удобнее держать устройство в руке, направляя ИК-порт в сторону приемника.

Чтобы прочитать ИК-сигнал, нужно направить ИК-порт Флиппера на ИК-окошко пульта. Если вы находитесь не в поле, то сигнал, скорее всего, отразится от какой-нибудь поверхности и попадет на ИК-порт Флиппера, даже если ИК-окошко пульта направлено немного в другую сторону.

Для чтения ИК-сигнала нужно перейти в меню Infrared -> Learn new remote , откуда его можно сохранить как новый пульт. К одному пульту можно добавить несколько сигналов, выбрав нужный пульт в меню Infrared -> Saved remotes . В одном пульте может быть неограниченное число сигналов (кнопок).

Универсальный пульт из Flipper Zero

[Видео] Брутфорсим выключение телевизора в кафе

Flipper Zero можно использовать как универсальный пульт для управления любым телевизором, кондиционером или медиацентром. В этом режиме Флиппер перебирает сигналы всех известных ему кодов всех производителей по словарю, лежащему на SD-карте. Когда пользователь решает выключить телевизор, висящий в ресторане, ему не нужно искать пульт именно от этой модели телевизора. Достаточно нажать кнопку выключения в режиме универсального пульта, и Флиппер будет последовательно посылать команды выключения от всех телевизоров, которые он знает: Sony, Samsung, Panasonic… и так далее. Когда телевизор услышит свой сигнал, он отреагирует и выключится.

Такой перебор занимает время. Чем больше словарь, тем больше потребуется ждать, пока закончится перебор всех сигналов. Узнать, какой именно сигнал распознал телевизор, нельзя, так как у телевизора нет обратной связи.

Режим перебора сигналов по словарю

Чтобы воспользоваться режимом универсального пульта, нужно перейти в меню Infrared -> Universal library и выбрать тип устройства, которым нужно управлять.

Для проверки или редактирования словаря, на SD-карте нужно открыть или создать соответствующий файл. Например, для телевизоров файл словаря содержит примерно следующие строки:

#Имя кнопки #Протокол #Адрес #Команда POWER NEC A:08 C:17 VOL+ NEC A:08 C:00 VOL- NEC A:08 C:01 CH+ NEC A:08 C:02 CH- NEC A:08 C:03 MUTE NEC A:08 C:0B . 

Мы планируем поставлять словари вместе с прошивкой и хранить их в отдельном репозитории, куда все пользователи смогут предлагать свои коды и ключи.

Универсальные пульты отключения телевизора

Есть устройства, специально созданные для тех, кого раздражают телевизоры, и они хотят их выключить. В таких устройствах зашита база данных сигналов для выключения телевизоров разных производителей. Принцип работы такой же как у Флиппера: устройство просто перебирает по словарю все сигналы подряд, в надежде, что в какой-то сигнал подойдет. При этом база сигналов обычно захардкожена в прошивку, и ее не просто расширить.

Сравнение устройств отключения телевизоров с Флиппером

  • Кнопкус Артемия Лебедева — простое и красивое устройство в прорезиненном корпусе с одной кнопкой. После нажатия кнопки начинается перебор кодов. К сожалению список сигналов не очень большой, телевизор в офисе и дома не сработал. Дополнить базу данных сигналов в этом устройстве никак нельзя, внутри какой-то нонеймный микроконтроллер, который непонятно как прошивать.
  • TV B GONE — известный старый проект с открытой прошивкой и железом. Сразу 4 мощных ИК-диода делают его очень дальнобойным. Можно добавлять свои коды, но для этого потребуется программатор.

Главное отличие Флиппера в том, что его словарь для перебора хранится на SD-карте и может быть легко обновлен и дополнен. Также пользователи могут создавать свои словари для новых классов бытовой техники и автоматики. При этом Флиппер умеет принимать сигналы, и его можно обучить любым пультам, которых вдруг не нашлось в базе.

Инфракрасный фотоприемник TSOP

Фотоприемник TSOP-75538, используемый во Flipper Zero для приема ИК-сигнала

ИК-приемник во Флиппере — это микросхема TSOP-75338. Этот компонент сам фильтрует сигнал и поддерживает его на одном логическом уровне, усиливая при необходимости. Поэтому TSOP-75338 способен принять даже очень слабый сигнал от маленьких разряженных пультов или отраженный от стен. А встроенный усилитель позволяет всегда получать на выходе микросхемы одинаковые уровни, вне зависимости от силы ИК-сигнала. Это значительно упрощает программную обработку сигнала на стороне процессора.

Плата Flipper Zero, на которой расположен ИК-приемник и передатчик. Схема демонстрирует подключение ИК-приемника TSOP-75538

В схеме питания фотоприемника TSOP-75338 во Flipper Zero стоит RC-фильтр. Он нужен, так как микроконтроллер производит помеху на линиях питания, из-за чего цифровой сигнал на выходе фотоприемника может не соответствовать принимаемому сигналу. Для согласования уровней приемника-TSOP и микроконтроллера STM32 используется диод. На выходе TSOP-а микроконтроллер STM32 уже обрабатывает цифровой сигнал.

Функциональный состав ИК-приемника TSOP-75338:

  • ИК-фильтр
  • ИК-фотоприемник
  • Усилитель с фильтром на конкретную несущую частоту
  • Усилитель с автоматической регулировкой
  • Демодулятор-детектор, выделяющий огибающую

Для передачи обычно используют сигнал с частотной модуляцией. Поэтому на стороне приема устанавливают демодулятор.

Наш приёмник предназначен для демодуляции сигнала с несущей частотой 38 кГц. Большинство пультов работает на несущей частоте 36-38 кГц.

Почему именно частотная модуляция

Цифровой ИК-сигнал накладывается на шумы и суммируется с ним

На стороне приемника ИК-сигнала, почти всегда есть фоновый шум, потому что вокруг множество предметов излучающих в ИК-диапазоне, например, обычные лампы освещения. Поэтому на приемник приходит суммарный сигнал от шума и полезного сигнала.

  • Шум в ИК-диапазоне создают многие источники света, так как источником ИК-излучения является выделяемое тепло. Поэтому фоновый шум будет иметь случайный характер. На гифке выше, для наглядности, он изображен как синусоида.
  • Полезный сигнал — пакеты ИК-импульсов, отправляемые пультом. Идеальный пакет импульсов выглядит как ровный меандр. Но такой сигнал возможно увидеть только при полном отсутствии шумов. В реальности меандр всегда будет накладываться на шум и суммироваться с ним.

Частотная модуляция позволяет отличить ИК-сигнал с данными от шума. Когда полезный ИК-сигнал мигает с частотой 38 кГц, то пульсации ИК-частоты видны на фоне непульсирующего излучения. Таким образом фотоприемник может судить о наличии сигнала и отличать его от засвета.

Передатчик ИК-сигнала во Flipper Zero

Схема подключения ИК-передатчика к микроконтроллеру во Флиппере

Передачей ИК-сигнала напрямую управляет микроконтроллер Флиппера STM32. Через внешний транзистор он посылает импульсы на светодиоды. Чтобы повысить мощность ИК-передатчика, используется сразу 3 светодиода вместо одного.

Импульсы на стороне передатчика преобразовываются в инвертированный цифровой сигнал на стороне приемника

Как и в пультах, данные с Flipper Zero передаются пакетами импульсов. В приемнике, из принятых пакетов импульсов, демодулятор формирует огибающие (меандры) и выдает их на выход. Зачастую цифровой сигнал на выходе приемника является инвертированной огибающей.

Для увеличения импульсной мощности передатчика (дальности передачи) используются пакеты импульсов, а не целый меандр. При этом средняя мощность уменьшается или остается прежней, а значит и энергопотребление уменьшается или остается прежним.

В основном передатчики работают с несущими частотами 30..50 кГц. Этот диапазон несущих частот при разработке первых передатчиков имел наименьший уровень помех для доступной элементной базы. Не путать с частотой самого ИК-излучения, соответствующей длине волны 940 нм (318,93 ТГц).

Анализируем ИК-протоколы с Arduino

Для быстрой проверки и отладки ИК-протоколов мы используем библиотеку IRMP от Arduino. На гитхабе можно найти инструкцию, как собрать устройство для анализа ИК-протоколов.

Схема анализатора ИК-протоколов на базе Arduino IRMP

Собрав все ИК-пульты в офисе, мы убедились, что почти все они имеют разные ИК-протоколы. Но безоговорочно доверять собранному анализатору тоже нельзя. Если ИК-протокол неизвестен, то анализатор на Arduino IRMP может распознавать его как протокол Siemens. Для приема ИК-сигнала мы используем непосредственно плату Флиппера. А многообразие известных ИК-протоколов в библиотеке IRMP позволяет быстрее разрабатывать софт.

[Видео] Анализатор ИК-протоколов на базе Arduino IRMP

Чем различаются ИК-протоколы

Следующие 4 фактора в своих сочетаниях дают разные ИК-протоколы:

  • способ кодирования бита информации
  • состав передаваемых данных
  • порядок передаваемых данных
  • несущая частота модуляции — часто лежит в диапазоне 36..38 кГц

Способы кодирования бита информации

1. Метод интервалов

Биты кодируются разной длительностью паузы после пакета импульсов. Ширина пакетов импульсов одинаковая для “0” и “1″, различается только время паузы между пакетами.

При интервальном кодировании биты различаются только временем паузы между импульсами

2. Кодирование бита данных длительностью

Биты кодируются разной длительностью пакетов импульсов. Паузы между пакетами импульсов одинаковые для «0» и «1», различается ширина пакетов импульсов.

При кодировании битов длительностью различается ширина пакета импульсов для «0» и «1»

3. Бифазный метод

Биты кодируются положением пакета импульсов и паузы в передаваемом интервале. Длительности пакета импульсов и паузы постоянны. Сигнал разделен на 2 фазы. Логический «0» — первая фаза без импульсов, вторая с импульсами. Логическая «1» — первая фаза с импульсами, вторая без импульсов.

При кодировании битов бифазным методом изменяется положение паузы и пакета импульсов

4. Комбинирование предыдущих и редкие экзотические методы

  • команда управления
  • адрес устройства
  • проверочная информация
  • любая другая сервисная информация

Существуют ИК-протоколы, пытающиеся стать универсальными для нескольких типов оборудования. Наиболее известными являются форматы: RC5 и NEC.

К сожалению, наиболее известные, не значит наиболее встречаемые. Лично я встретил в своем окружении лишь два ИК-пульта с протоколом NEC и ни одного с RC5.

Очень часто производители аппаратуры используют свои собственные ИК-протоколы, даже внутри одних и тех же типов оборудования (например телевизоров). Поэтому часто пульты от разных производителей, а иногда и от разных моделей одного производителя, не могут работать с другими устройствами того же типа.

Список известных нам ИК-протоколов

Protocol Name Details
SIRCS Sony
NEC NEC with 32 bits, 16 address + 8 + 8 command bits, Pioneer, JVC, Toshiba, NoName etc
NEC16 NEC with 16 bits (incl. sync)
NEC42 NEC with 42 bits
SAMSUNG Samsung
SAMSUNG32 Samsung32: no sync pulse at bit 16, length 32 instead of 37
SAMSUNG48 air conditioner with SAMSUNG protocol (48 bits)
LGAIR LG air conditioner
MATSUSHITA Matsushita
TECHNICS Technics, similar to Matsushita, but 22 instead of 24 bits
KASEIKYO Kaseikyo (Panasonic etc)
PANASONIC Panasonic (Beamer), start bits similar to KASEIKYO
MITSU_HEAVY Mitsubishi-Heavy Aircondition, similar timing as Panasonic beamer
RECS80 Philips, Thomson, Nordmende, Telefunken, Saba
RC5 Philips etc
DENON Denon, Sharp
RC6 Philips etc
APPLE Apple, very similar to NEC
RECS80EXT Philips, Technisat, Thomson, Nordmende, Telefunken, Saba
NUBERT Nubert
BANG_OLUFSEN Bang & Olufsen
GRUNDIG Grundig
NOKIA Nokia
SIEMENS Siemens, e.g. Gigaset
FDC FDC keyboard
RCCAR RC Car
JVC JVC (NEC with 16 bits)
RC6A RC6A, e.g. Kathrein, XBOX
NIKON Nikon
RUWIDO Ruwido, e.g. T-Home Mediareceiver
IR60 IR60 (SDA2008)
KATHREIN Kathrein
NETBOX Netbox keyboard (bitserial)
LEGO LEGO Power Functions RC
THOMSON Thomson
BOSE BOSE
A1TVBOX A1 TV Box
ORTEK ORTEK — Hama
TELEFUNKEN Telefunken (1560)
ROOMBA iRobot Roomba vacuum cleaner
RCMM32 Fujitsu-Siemens (Activy remote control)
RCMM24 Fujitsu-Siemens (Activy keyboard)
RCMM12 Fujitsu-Siemens (Activy keyboard)
SPEAKER Another loudspeaker protocol, similar to Nubert
MERLIN Merlin (Pollin 620 185)
PENTAX Pentax camera
FAN FAN (ventilator), very similar to NUBERT, but last bit is data bit instead of stop bit
S100 very similar to RC5, but 14 instead of 13 data bits
ACP24 Stiebel Eltron ACP24 air conditioner
VINCENT Vincent
SAMSUNGAH SAMSUNG AH
IRMP16 IRMP specific protocol for data transfer, e.g. between two microcontrollers via IR
GREE Gree climate
RCII RC II Infra Red Remote Control Protocol for FM8
METZ METZ
ONKYO Like NEC but with 16 address + 16 command bits

Смотрим ИК-сигнал осциллографом

[Видео] Захват инфракрасного сигнала с помощью осциллографа

Чтобы увидеть, как выглядит передаваемый ИК-сигнал от пульта, надежнее всего использовать осциллограф. Он не демодулирует и не инвертирует принимаемый сигнал, а отображает его «как есть». Это полезно при отладке. Что должно приходить, я покажу на примере ИК-протокола NEC.

Осциллограмма популярного протокола NEC

При передаче кодированной посылки, в начале передатчик формирует преамбулу, которая представляет собой один или несколько пакетов импульсов. Это позволяет приемнику определить необходимый уровень усиления и фона. Но есть протоколы и без преамбулы, например, Sharp.

Далее данные передаются в виде нулей и единиц, в зависимости от метода кодирования бита. Порядок следования, признак начала, метод кодирования и количество данных определяются протоколом передачи.

ИК-протокол NEC содержит короткую отправляемую команду и код повтора, посылаемый, если кнопка осталась нажата. И команда, и код повтора имеют вначале одинаковую преамбулу.

Команда в NEC, помимо преамбулы, состоит из байта адреса и байта номера-команды. По номеру-команды устройство понимает, что именно нужно выполнять. Байты адреса и номера-команды дублируются инверсными значениями, для проверки целостности передачи. В конце команды дополнительно стоит стоп-бит.

В коде повтора после преамбулы содержится логическая “1” — стоп бит.

Логический “0” и “1” в протоколе NEC определяются интервалами: вначале передается пакет импульсов, после которого идет пауза, задающая значение бита.

Инфракрасный щуп для осциллографа

Осциллограф записывает ИК-сигнал пульта с помощью Silver-bullet

Для захвата ИК-импульсов на осциллографе я использовал самодельный щуп Silver Bullet, придуманный автором программы AnalysIR. Это просто ИК-светодиод и резистор, запаянные в аудио-штекер RCA, который подключен через переходник BNC->RCA к осциллографу. Собирается за пять минут. Все компоненты для сборки такого щупа можно купить в ЧИП и ДИП.

Схема щупа для захвата ИК-сигнала на осциллографе

Когда ИК-излучение пульта попадает на ИК-светодиод щупа, через него начинает проходить небольшой ток. Этот ток создает разницу напряжения на выводах светодиода, которую отчетливо видно на осциллографе. Для получения на осциллографе четкого сигнала важно, чтобы передатчик вплотную прислонялся к щупу.

Что не так с кондиционерами

Пульты от кондиционеров посылают один большой пакет с полным списком настроек

Пульты от кондиционеров представляют собой полноценные устройства с экранчиком, и, при управлении кондиционером, мы смотрим не на кондиционер, а на экран пульта. Там устанавливается температура, мощность вентилятора и т.д. При этом, сам пульт не знает, услышал ли его сигнал кондиционер, он просто посылает сигнал каждый раз при изменении настроек на пульте.

Но что произойдет, если мы уйдет в другую комнату с пультом от кондиционера, изменим настройки температуры на пульте, но кондиционер не услышит сигнал в момент нажатия на пульт? Допустим на кондиционере сохранилось значение 19°C, мы ушли в другую комнату и полностью поменяли все настройки на пульте, поставили 30°C. Потом подошли к кондиционеру снова и нажали кнопку на пульте, поднимающую температуру на 1°C вверх. Если бы пульт просто посылал нажатие каждой кнопки, как это делают другие пульты, на кондиционере бы установилась температура 20°C, а на экране пульта мы бы увидели 31°C. Получилась бы рассинхронизация данных на пульте и в памяти кондиционера.

Поэтому пульты от кондиционеров, в отличие от остальной техники, передают не команду нажатой кнопки, а сразу целиком все параметры кондиционера, которые видны на экранчике пульта. То есть всегда шлют ВСЕ данные отображаемые на экране пульта в одном большом пакете.

Такие протоколы намного более сложные, так как требуют описания всего пакета данных целиком, а не только одной команды, как в случае с телевизорами.

[Видео] Захват ИК-сигналов программой AnalysIR, используя приемник IR-toy

Для разных кондиционеров данные с пульта могут быть совершенно различными. Помимо отличий в хранении данных, существуют модели с разными уровнями мощностей, контролем влажности, зональностью и прочим. Из-за этого посылаемые данные иногда имеют большой размер и могут передаваться за несколько посылок.

Из-за обилия кондиционеров с их функциями, создание удобного пользовательского интерфейса и правильной посылки данных — громоздкая задача. Сейчас мы можем работать с некоторыми кондиционерами, но поддержка большого количества моделей еще не реализована.

Как анализировать ИК-сигналы на компьютере

Схема использования программы AnalysIR с оборудованием IR-Toy

Для работы с ИК-сигналом на компьютере я использую программу AnalysIR. Это программа для анализа ИК-протоколов, которая поддерживает разные устройства для захвата ИК-сигнала. Самый простой вариант — это изготовить самодельный приемник на базе Arduino и TSOP, и подключить его по USB. Я использую IR-toy V2 в качестве приемника. Список поддерживаемых приемников: AnalysIR.pdf.

AnalysIR показывает не импульсы ИК-диодов, как это делает осциллограф, а огибающую ИК-сигнала. Получая огибающую, программа высчитывает задержки и длительности пакетов импульсов — все это записывается в лог и помогает анализировать неизвестные ИК-протоколы. AnalysIR знает более 100 ИК-протоколов и умеет автоматически их распознавать. Кстати автор программы предложил добавить поддержку Флиппера в качестве ИК-приемника. Что думаете об этой идее?

Наши соцсети

Узнавайте о новостях проекта Flipper Zero первыми в наших соцсетях!

Принцип работы ИК пульта управления

Большая часть современной бытовой электронной аппаратуры имеет пульт дистанционного управления, использующий инфракрасное (ИК) излучение в качестве способа передачи информации. ИК канал передачи данных используется в некоторых устройствах системы «умный дом», которую мы производим.

Принцип ИК передачи информации

Инфракрасное, или тепловое излучение — это электромагнитное излучение, которое испускает любое нагретое до определенной температуры тело. ИК диапазон лежит в ближайшей к видимому свету области спектра, в его длинноволновой части и занимает область приблизительно от 750 нм до 1000 мкм. Инфракрасное излучение составляет большую часть излучения ламп накаливания, около половины излучения Солнца. Оптические свойства веществ в инфракрасном излучении отличаются от их свойств в видимом свете. Например, некоторые стекла непрозрачны для инфракрасных лучей, а парафин, в отличие от видимого света, прозрачен для ИК излучения и используется для изготовления ИК линз. Для его регистрации используют тепловые и фотоэлектрические приемники и специальные фотоматериалы. Источником ИК лучей, кроме нагретых тел, наиболее часто используются твердотельные излучатели — инфракрасные светодиоды, ИК лазеры, для регистрации применяются фотодиоды, форотезисторы или болометры. Некоторые особенности инфракрасного излучения делают его удобным для применения в устройствах передачи данных:

  • ИК твердотельные излучатели (ИК светодиоды) компактны, практически безинерционны, экономичны и недороги.
  • ИК приемники малогабаритны и также недороги
  • ИК лучи не отвлекают внимание человека в силу своей невидимости
  • Несмотря на распространенность ИК лучей и высокий уровень «фона», источников импульсных помех в ИК области мало
  • ИК излучение низкой мощности не сказывается на здоровье человека
  • ИК лучи хорошо отражаются от большинства материалов (стен, мебели)
  • ИК излучение не проникает сквозь стены и не мешает работе других аналогичных устройств

Все это позволяет с успехом использовать ИК способ передачи информации во многих устройствах. ИК передатчики и приемники находят применение в бытовой и промышленной электронике, компьютерной технике, охранных системах, системах передачи данных на большие расстояния по оптоволокну. Рассмотрим более подробно работу систем (пультов) управления бытовой электроники.

Пульт ИК управления при нажатии кнопки излучает кодированную посылку, а приемник, установленный в управляемом устройстве, принимает её и выполняет требуемые действия. Для того, чтобы передать логическую последовательность, пульт формирует импульсный пакет ИК лучей, информация в котором модулируется или кодируется длительностью или фазой составляющих пакет импульсов. В первых устройствах управления использовались последовательности коротких импульсов, каждый из которых представлял собою часть полезной информации. Однако в дальнейшем, стали использовать метод модулирования постоянной частоты логической последовательностью, в результате чего в пространство излучаются не одиночные импульсы, а пакеты импульсов определенной частоты. Данные уже передаются закодированными длительностью и положением этих частотных пакетов. ИК приемник принимает такую последовательность и выполняет демодулирование с получением огибающей. Такой метод передачи и приема отличается высокой помехозащищенностью, поскольку приемник, настроенный на частоту передатчика, уже не реагирует на помехи с другой частотой. Сегодня для приема ИК сигнала обычно применяется специальная микросхема, объединяющая фотоприемник, усилитель с полосовым фильтром, настроенным на определенную несущую частоту, усилитель с АРУ и детектор для получения огибающей сигнала. Кроме электрического фильтра, такая микросхема имеет в своем составе оптический фильтр, настроенный на частоту принимаемого ИК излучения, что позволяет в максимальной степени использовать преимущество светодиодного излучателя, спектр излучения которого имеет небольшую ширину. В результате таких технических решений, стало возможным принимать маломощный полезный сигнал на фоне ИК излучения других источников, бытовых приборов, радиаторов отопления и т.д. Работа современных устройств ИК управления достаточно надежна, а дальность составляет от нескольких метров до 40 и более метров, в зависимости от варианта реализации и уровня помех.

Передатчик ИК сигнала

Передатчик ИК сигнала, ИК пульт, чаще всего имеет питание от батарейки или аккумулятора. Следовательно его потребление должно быть максимально низким. С другой стороны, излучаемый сигнал должен быть значительной мощности для обеспечения большой дальности передачи. Такие противоположные по энергетическим затратам задачи успешно решаются способом передачи коротких импульсных кодированных пакетов. В промежутках между передачами пульт практически не потребляет энергии. Задача контроллера пульта — опрос кнопок клавиатуры, кодирование информации, модулирование опорной частоты и выдача сигнала на излучатель. Для изготовления пультов выпускаются различные специализированные микросхемы, однако для этих целей могут быть использованы и современные микроконтроллеры общего применения типа AVR или PIC. Основное требование к таким микроконтроллерам — это наличие режима сна с чрезвычайно низким потреблением и способность чувствовать нажатия кнопок в этом состоянии.

Излучатель ИК сигнала испускает инфракрасные лучи под действием тока возбуждения. Ток на излучатель обычно превышает возможности микроконтроллера, поэтому для формирования необходимого тока устанавливается простейший светодиодный драйвер на одном транзисторе. Для снижения потерь, при выборе транзистора необходимо обратить внимание на его коэффициент усиления тока — β или h21. Чем выше этот коэффициент, тем выше эффективность устройства. Современные передатчики используют полевые или CMOS транзистоы, эффективность которых на используемых частотах можно считать предельной.

Приведенная схема не лишена недостатков, в частности при снижении уровня заряда батареи, мощность излучения будет падать, что приведет к снижению дальности. Для снижения зависимости от напряжения питания, можно использовать простейший стабилизатор тока.

Большинство передатчиков работают на частоте 30 — 50 кГц. Такой диапазон частот был выбран исторически при создании первых подобных устройств. Была выбрана область с наименьшим уровнем помех. Кроме того, принимались в расчет ограничения на элементную базу. В дальнейшем, по мере стандартизации и распространения аппаратуры с таким способом управления, переход на другие частоты стал нецелесообразным.

В целях увеличения импульсной мощности передатчика, а соответственно и его дальности, сигнал основной частоты отличается от меандра и имеет скважность 3 — 6. Таким образом повышается импульсная мощность с сохранением или даже уменьшением средней мощности. Импульсный ток светодиода выбирается исходя из его паспортных значений и может достигать одного и более Ампер. Импульсный ток в большинстве пультов ИК не превышает 100 мА. При этом, поскольку и опорная частота имеет малый коэффициент заполнения и длительность кодированной посылки не превышает 20-30 мс, средний ток при нажатой кнопке не превышает одного миллиампера. Повышение импульсного тока светодиода сопряжено с снижением эффективности и уменьшением срока службы. Современные инфракрасные светодиоды имеют эффективность 100-200 мВт излучаемой энергии при токе 50 мА. Допустимый средний ток не должен превышать 10-20 мА. Питание светодиода должно иметь RC фильтр, который снижает воздействие импульсной помехи на питание микроконтроллера. Спектр применяемых светодиодов для ИК пультов большинства бытовой аппаратуры имеет максимум в области 940 нм.

Длительность единичного пакета опорной частоты для уверенного приема составляет не менее 12-15 и не более 200 периодов. При передаче кодированной посылки, передатчик формирует в начале преамбулу, которая представляет собой один или несколько пакетов опорной частоты и позволяет приемнику установить необходимый уровень усиления и фона. Данные в кодированной посылке передаются в виде нулей и единиц, которые определяются длительностью или фазой (расстоянием между соседними пакетами). Общая длительность кодированной посылки чаще всего составляет от нескольких бит до нескольких десятков байт. Порядок следования, признак начала и количество данных определяется форматом посылки.

Приемник ИК сигнала

Приемник ИК сигнала как правило имеет в своем составе собственно приемник ИК излучения и микроконтроллер. Микроконтроллер раскодирует принимаемый сигнал и выполняет требуемые действия. Поскольку приемник в большинстве случаев устанавливается в аппаратуре с сетевым питанием, его потребление не существенно. Микроконтроллер чаще всего выполняет и другие сервисные функции в устройстве и является его центральным логическим устройством.

Приемник ИК излучения чаще всего выполняется в виде отдельного интегрального модуля, который располагается за передней панелью управляемой аппаратуры. В передней панели имеется прозрачное для ИК лучей окошко. Как правило, такая микросхема имеет три вывода – питание, общий и выход сигнала. Производители электронных компонентов предлагают приемники ИК сигналов различного типа и исполнения. Однако, принцип их работы схож. Внутри такая микросхема имеет:

  • фотоприемник — фотодиод
  • интегрирующий усилитель, выделяющий полезный сигнал на уровне фона
  • ограничитель, приводящий сигнал к логическому уровню
  • полосовой фильтр, настроенный на частоту передатчика
  • демодулятор — детектор, выделяющий огибающую полезного сигнала.

Корпус такого приемника выполняется из материала, выполняющего роль дополнительного фильтра, пропускающего ИК лучи определенной длины волны. Современные интегральные приемники позволяют принимать полезный сигнал на уровне фона, превышающего его в несколько десятков раз и при этом чувствовать посылки частоты, имеющие всего от 4 — 5 периодов.

Питание приемника излучения должно быть выполнено с RC фильтром для увеличения чувствительности. Микроконтроллер производит помеху широкого спектра на линиях питания, что может повлиять на работу приемника.

Форматы ИК передачи данных

Различные производители бытовой аппаратуры применяют в своих изделиях различные пульты ИК управления. Поскольку пульт должен общаться только с конкретным устройством, он формирует последовательность данных, уникальную для своего типа оборудования. Передаваемые данные содержат кроме собственно команды управления адрес устройства, проверочные данные и другую сервисную информацию. Более того, различные производители используют различные способы формирования последовательности данных и различные способы передачи логических состояний. Наиболее распространенные способы кодирования битов информации — это изменение длительности паузы между пакетами (метод интервалов) и кодирование сочетанием состояний (бифазный метод). Однако, встречаются способы кодирования бит информации длительностью, сочетанием длительности и паузы и т.д. Наиболее распространенные форматы передачи:

  • RC5 протокол компании Philips
  • NEC протокол одноименной компании

Форматы RC-5 и NEC используются многими производителями электроники. Некоторые производители разработали свой стандарт, но в основном используют его сами. Менее распространенные форматы пультов управления:

В отличие от пультов управления бытовой электроникой, которые передают только одну команду, соответствующую нажатой кнопке, пульты управления кондиционерами передают при каждом нажатии всю информацию о параметрах, выбранных пользователем на экране пульта, такие как температура, режим охлаждения, нагрева или вентиляции, мощность вентилятора и другие. В результате, посылка становится достаточно длительной. Например, пульт бытового кондиционера Daikin FTXG передает единовременно 35 байт информации, скомпонованной в трех последовательных посылках. Форматы пакетов ИК передачи кондиционеров:

Инфракрасные передатчики служат для синхронизации активных 3D очков затворного типа с телевизором.

Двунаправленная передача информации используется в некоторых мобильных устройствах: ноутбуках, телефонах, смартфонах, плеерах и т.д. Передача информации по протоколу IrDA основана на форматах асинхронной передачи данных, реализованных в COM портах компьютера.

Передача информации на большие расстояния не обходится сегодня без ИК излучения. Оптоволоконные линии связи используют ИК излучение ближней и средней области спектра (некоторые и видимого) для передачи данных.

  • Волоконно-оптические линии связи (ВОЛС)
  • Беспроводная передача данных в инфракрасном диапазоне

Часть информации о протоколах приведена в переводе с сайта sbprojects.com, другая часть — собственные исследования и анализ разрозненных данных из всемирной паутины.

Как работает инфракрасный пульт? Поясняем

Когда вы направляете пульт дистанционного управления на телевизор, чтобы посмотреть любимый фильм, и нажимаете кнопку на пульте, ИК-диод в пульте начинает излучать сигнал, и ИК-приемник на телевизоре принимает тот же сигнал.

ИК-диод — это просто лампочка, светящаяся в инфракрасном диапазоне невидимого для нас спектра. Поэтому для простоты описания представим ИК-диод, на котором находится пульт от кондиционера или телевизора просто мигающим светом.

Преобразование света в цифры

Но как включить телевизор с помощью ИК-лампы?

В пульте дистанционного управления телевизором находится передающий ИК-диод, а в самом телевизоре — инфракрасный приемник, который может считывать мигание ИК-диода в пульте.

Практически любая команда, передаваемая пультом ДУ, представляет собой набор двоичных данных — 1 и 0. Пульт ДУ посылает телевизору команду «включить» — телевизор включается, посылает команду увеличить громкость — телевизор увеличивает громкость.

Каждая такая команда — это просто набор 1 и 0. Каждый производитель сам определяет список команд, опираясь только на свое представление о том, как это должно быть. Тем не менее, существуют определенные стандарты, которым, по нашему опыту, мало кто следует.

Например, для большинства распространенных телевизоров Samsung код включения имеет вид 0xE0E040BF.

Это шестнадцатеричное представление команды. Если копнуть глубже, то команда выглядит как следующий набор 1 и 0:

Код выключения телевизора в шестнадцатиричной системе

Теперь посмотрим, как этот код выглядит на графике.

Красная кривая в верхней части — свет (ИК-диод в пульте ДУ телевизора Samsung) включен, красная линия в нижней части — свет выключен.

Рис. 1: Так выглядит на графике сигнал включения телевизора Samsung

Большинство вычислительных устройств работают с бинарной логикой в которой есть только 1 и 0.

Пожалуй, единственным надежным способом кодирования 1 и 0 при передаче по ИК-связи является их кодирование с помощью длительности свечения и паузы ИК-диода (нашей обычной лампочки) . Различают ИК-протоколы с ведущим нулем и ведущей единицей, но оставим это за скобками повествования.

Конкретно в этом протоколе (NECx2) для телевизоров Samsung 1 и 0 кодируются следующим образом:

  • Импульс (свет включен) 600 мкс и затем пауза (свет выключен) в 600 мкс — это 1
  • Импульс (свет включен) 600 мкс и затем пауза (свет выключен) в 1600 мкс — 0.

Умно, правда? Давайте еще раз посмотрим на наш график и отметим на нем 1 и 0:

Рис. 2: двоичные цифры в сигнале с телевизора Samsung

Резюме: 0 и 1 кодируются только тем, как долго горит ИК-диод (лампочка) и как долго не горит.Внимательный читатель спросит: «А что же тогда представляют собой эти странные всплески в левой части ИК-сигнала на рис. 1?». И тут мы закономерно переходим ко второй части повествования — к ИК-протоколам.

Удивительный мир ИК-протоколов

В мире ИК-технологий существует множество различных протоколов. Не ошибусь, если скажу, что самым распространенным ИК-протоколом является NEC. Почти со 100% вероятностью можно утверждать, что у вас дома есть пульт дистанционного управления, использующий этот протокол.

Но существуют десятки других протоколов, популярных у производителей бытовой техники.

Как их различить?

В этом помогает преамбула — начальный код, определяющий, какой ИК-протокол используется. Некая уникальная особенность протокола.

Увидев ее, приемник телевизора, Cable-Box или ресивера понимает — ага, сигнал, скорее всего, адресован мне, и начинает слушать.

Для семейства протоколов NEC преамбула состоит из периода 9000 мкс, когда ИК-диод включен, и паузы (ИК-диод выключен) 4500 мкс. Для сигнала от телевизора Samsung такой преамбулой является свечение ИК-диода длительностью 4500 мкс и затем такая же пауза.

Если сейчас начать описывать все существующие ИК-протоколы, то читатель быстро уснет, а я так и не закончу рассказ до глубокой старости. Поэтому для усвоения материала давайте вкратце рассмотрим семейство NEC.

Сначала был самый канонический ИК-протокол NEC (сейчас более известный как NEC1), и идея была хороша: в 32-битном ИК-сигнале расположение было следующим:

Рис. 3: ИК-протокол NEC1 (изображение с сайта Altium)

То есть первые 8 бит — это адрес, что-то вроде ID устройства, затем тот же адрес в инвертированном виде (для проверки).

Биты 16-24 — команда, затем она инвертируется.

Идея была хорошая и могла бы привести к стандартизации, Адрес, например, мог бы быть типом устройства — телевизор, Cable-Box или что-то еще, а команда могла бы быть действием, например, «Увеличить громкость» или «Включить». Но что-то пошло не так.

Сначала 256 возможных команд перестало хватать некоторым производителям, и появился протокол NEC1x

Рис. 4: ИК-протокол NEC1x (изображение с сайта Altium)

А потом адресов в 256 значений стало недостаточно, и стали появляться такие протоколы, как NECx2 (именно такой используется в некоторых моделях телевизоров Samsung, с которых мы начали этот рассказ) .

Существуют такие протоколы, как Denon, семейство протоколов Sony (часто они имеют особенность, заключающуюся в необходимости передачи одного сигнала не менее двух раз с заданной паузой), Kenwood типа NEC1 с дополнениями, RC5, RC6 и многие-многие другие…

Как записать ИК сигнал

Raw (сырые тайминги)

Поскольку ИК-передача — это просто «светится» и «не светится», то изначально самой простой и наглядной записью является запись в так называемом сыром виде. Положительные числа — ИК-диод светится, отрицательные — не светится.

Пример необработанной записи сигнала с pic1:

Пример необработанной записи сигнала с pic1

  • 4570 -4420 — преамбула, идентификатор протокола
  • 620 -1610 — двоичный разряд
  • 0590 -1640 — двоичная цифра 1
  • . -45000 — заключительная пауза, конец передачи.
    Каждое следующее значение меняет свой знак на противоположный, что очень логично.

Но существуют и альтернативные распространенные способы записи, например, формат ProntoHEX, в котором тот же сигнал выглядит следующим образом:

Пример сигнала в формате ProntoHEX

Здесь все немного интереснее, так как первые 4 блока — служебные:

  • 0000 — характеристика сигнала, 0000 — новый, 0001 — изученный;
  • 006D — Несущая частота ИК-сигнала (подробнее об этом в следующей главе);
  • 0022 — Длина одного временного всплеска (сигнал начального действия);
  • 0000 — длина второго всплеска (повтор действия, при удержании кнопки)

И далее, блок за блоком, представлены сигнал начального действия и сигнал повторного действия, рассчитанные по специальной формуле.

Командная нотация

ИК-команда может быть записана так же, как и команда, которую она несет.Как в нашем примере с включением телевизора Samsung — 0xE0E040BF.В этом случае обязательно указывается протокол.

Альтернативные обозначения

Некоторые производители интеллектуальных пультов придумывают собственные схемы записи ИК-сигналов, но они весьма специфичны и не являются предметом рассмотрения в данной статье.

Характеристики ИК-сигналов

Инфракрасные приемники и передатчики имеют две очень важные характеристики это несущая частота и скважность:

Несущая частота

Несущая частотаИК-диод не просто светится сплошным светом, он постоянно включается и выключается, как, кстати, и светодиодная подсветка. Происходит это очень быстро. Одна из наиболее распространенных частот ИК-излучения — 38 кГц, что соответствует 38 000 миганий в секунду. Такая особенность работы позволяет ИК-приемнику отличать сигнал от пульта дистанционного управления от внешних ИК-шумов.

Наиболее распространенные частоты — 36 кГц, 38 кГц, 40 кГц. 56 кГц встречаются крайне редко. Есть и очень редкие, например, оборудование Bang & Olufsen работает на частоте 455 кГц.

Скважность (duty cycle)

Фактически под скважностью сигнала понимается отношение длительности свечения ИК-диода к паузе после него. Ведь помните, что он загорается несколько десятков тысяч раз в секунду? Обе эти характеристики важны для нормальной работы пульта ДУ вашего устройства. Когда мы говорим об универсальных пультах, то рабочий цикл и частота сигнала не всегда известны, поэтому они почти всегда работают несколько хуже. Например, у них меньше рабочий диапазон по сравнению с оригинальными пультами.

Пульты дистанционного управления кондиционерами

И если до этого все было довольно просто:

  • нажимаешь кнопку «Включение» на пульте ДУ — телевизор включается.
  • Нажимаешь кнопку переключения каналов — канал меняется на плюс или минус.
  • Нажимаешь кнопку смены входа HDMI — меняется вход

В кондиционерах все сложнее…

В одном ИК-сигнале передаются сразу все данные — температура, режим работы, положение шторки, режим вентилятора, таймеры и многие другие служебные параметры.

Более того, нередко сигналы от кондиционеров разбиваются на несколько блоков с фиксированными паузами, а каждый блок ИК-сообщения подписывается с помощью CRC (опять же, для разных протоколов по-разному) .

Но это уже совсем другой удивительный мир.

Если вас заинтересовала эта публикация, то ставьте лайки, шеры, репосты, если статья наберет хороший отклик, то вскоре мы выпустим статью о том, как работает IR в пультах кондиционеров ����.

Спасибо за внимание. Напишите в комментариях, понравилась ли вам статья или она была не полезна, и дайте советы, что можно улучшить. Любая обратная связь будет оценена по достоинству.

А самое главное — что бы вы хотели узнать еще? )

CEO платформы LOOKin и умного пульта LOOKin Remote2

Как работает инфракрасный пульт? Поясняем

Привет! В рамках проекта LOOKin последние 5 лет мы каждый день работаем с ИК-сигналами. И все это время мы узнаем что-то новое.
Когда мы начинаем работать с новыми клиентами, делаем посты о нашем продукте или нанимаем новых сотрудников, мы видим интерес к тому, как работает ИК-пульт. Вроде бы простой кусок пластика, но что происходит в его недрах — магия. Давайте узнаем, как это работает. Поехали!
Когда вы направляете пульт дистанционного управления на телевизор, чтобы посмотреть любимый фильм, и нажимаете кнопку на пульте, ИК-диод в пульте начинает излучать сигнал, и ИК-приемник на телевизоре принимает тот же сигнал. ИК-диод — это просто лампочка, светящаяся в инфракрасном диапазоне невидимого для нас спектра. Поэтому для простоты описания представим ИК-диод, на котором находится пульт от кондиционера или телевизора просто мигающим светом. Embed

Преобразование света в цифры

Но как включить телевизор с помощью ИК-лампы? В пульте дистанционного управления телевизором находится передающий ИК-диод, а в самом телевизоре — инфракрасный приемник, который может считывать мигание ИК-диода в пульте. Практически любая команда, передаваемая пультом ДУ, представляет собой набор двоичных данных — 1 и 0. Пульт ДУ посылает телевизору команду «включить» — телевизор включается, посылает команду увеличить громкость — телевизор увеличивает громкость. Каждая такая команда — это просто набор 1 и 0. Каждый производитель сам определяет список команд, опираясь только на свое представление о том, как это должно быть. Тем не менее, существуют определенные стандарты, которым, по нашему опыту, мало кто следует. Например, для большинства распространенных телевизоров Samsung код включения имеет вид 0xE0E040BF.Это шестнадцатеричное представление команды. Если копнуть глубже, то команда выглядит как следующий набор 1 и 0:

11100000111000000100000010111111

Теперь посмотрим, как этот код выглядит на графике.
Красная кривая в верхней части — свет (ИК-диод в пульте ДУ телевизора Samsung) включен, красная линия в нижней части — свет выключен.

Рис. 1: Так выглядит на графике сигнал включения телевизора Samsung

Большинство вычислительных устройств работают с бинарной логикой в которой есть только 1 и 0.Пожалуй, единственным надежным способом кодирования 1 и 0 при передаче по ИК-связи является их кодирование с помощью длительности свечения и паузы ИК-диода (нашей обычной лампочки). Различают ИК-протоколы с ведущим нулем и ведущей единицей, но оставим это за скобками повествования. Конкретно в этом протоколе (NECx2) для телевизоров Samsung 1 и 0 кодируются следующим образом:

  • Импульс (свет включен) 600 мкс и затем пауза (свет выключен) в 600 мкс — это 1
  • Импульс (свет включен) 600 мкс и затем пауза (свет выключен) в 1600 мкс — 0.

Умно, правда?
Давайте еще раз посмотрим на наш график и отметим на нем 1 и 0 (рисунок 2):

Рис. 2: двоичные цифры в сигнале с телевизора Samsung

Резюме: 0 и 1 кодируются только тем, как долго горит ИК-диод (лампочка) и как долго не горит.
Внимательный читатель спросит: «А что же тогда представляют собой эти странные всплески в левой части ИК-сигнала на рис. 1?». И тут мы закономерно переходим ко второй части повествования — к ИК-протоколам.

Удивительный мир ИК-протоколов

В мире ИК-технологий существует множество различных протоколов. Не ошибусь, если скажу, что самым распространенным ИК-протоколом является NEC. Почти со 100% вероятностью можно утверждать, что у вас дома есть пульт дистанционного управления, использующий этот протокол.
Но существуют десятки других протоколов, популярных у производителей бытовой техники.
Как их различить?
В этом помогает преамбула — начальный код, определяющий, какой ИК-протокол используется. Некая уникальная особенность протокола.
Увидев ее, приемник телевизора, Cable-Box или ресивера понимает — ага, сигнал, скорее всего, адресован мне, и начинает слушать.
Для семейства протоколов NEC преамбула состоит из периода 9000 мкс, когда ИК-диод включен, и паузы (ИК-диод выключен) 4500 мкс. Для сигнала от телевизора Samsung такой преамбулой является свечение ИК-диода длительностью 4500 мкс и затем такая же пауза.
Если сейчас начать описывать все существующие ИК-протоколы, то читатель быстро уснет, а я так и не закончу рассказ до глубокой старости. Поэтому для усвоения материала давайте вкратце рассмотрим семейство NEC.
Сначала был самый канонический ИК-протокол NEC (сейчас более известный как NEC1), и идея была хороша: в 32-битном ИК-сигнале расположение было следующим:

Рис. 3: ИК-протокол NEC1 (изображение с сайта Altium)

То есть первые 8 бит — это адрес, что-то вроде ID устройства, затем тот же адрес в инвертированном виде (для проверки). Биты 16-24 — команда, затем она инвертируется. Идея была хорошая и могла бы привести к стандартизации, Адрес, например, мог бы быть типом устройства — телевизор, Cable-Box или что-то еще, а команда могла бы быть действием, например, «Увеличить громкость» или «Включить». Но что-то пошло не так.
Сначала 256 возможных команд перестало хватать некоторым производителям, и появился протокол NEC1x.

Рис. 4: ИК-протокол NEC1 (изображение с сайта Altium)

А потом адресов в 256 значений стало недостаточно, и стали появляться такие протоколы, как NECx2 (именно такой используется в некоторых моделях телевизоров Samsung, с которых мы начали этот рассказ).

Существуют такие протоколы, как Denon, семейство протоколов Sony (часто они имеют особенность, заключающуюся в необходимости передачи одного сигнала не менее двух раз с заданной паузой), Kenwood типа NEC1 с дополнениями, RC5, RC6 и многие-многие другие.

Как записать ИК сигнал

Raw (сырые тайминги)

Поскольку ИК-передача — это просто «светится» и «не светится», то изначально самой простой и наглядной записью является запись в так называемом сыром виде. Положительные числа — ИК-диод светится, отрицательные — не светится. Пример необработанной записи сигнала с pic1:

4570 -4420 620 -1610 590 -1640 620 -1610 620 -490 600 -510 590 -520 620 -490 620 -490 620 -1610 620 -1610 620 -1610 590 -520 620 -490 620 -490 620 -490 620 — 490 590 -520 620 -1610 620 -490 600 -510 590 -520 620 -490 620 -490 620 -490 590 -1640 620 -490 620 -1610 620 -1610 620 -1610 620 -1610 620 -1610 600 -1630 620 -45000

  • 4570 -4420 — преамбула, идентификатор протокола
  • 620 -1610 — двоичный разряд 0
  • 590 -1640 — двоичная цифра 1
  • .
  • -45000 — заключительная пауза, конец передачи.

ProntoHEX

Но существуют и альтернативные распространенные способы записи, например, формат ProntoHEX, в котором тот же сигнал выглядит следующим образом:

0018 0014 0014 0014 0018 003D 0018 0014 0014 0014 0014 0014 0018 0014 0014 0018 0014 0018 0014 0014 0014 003D 0018 0014 0018 0018 003D 0018 003D 0018 003D 0018 003D 0018 003D 0014 003D 0018 06AE

Здесь все немного интереснее, так как первые 4 блока — служебные:

  • 0000 — характеристика сигнала, 0000 — новый
  • 0001 — изученный
  • 006D — Несущая частота ИК-сигнала (подробнее об этом в следующей главе)
  • 0022 — Длина одного временного всплеска (сигнал начального действия)
  • 0000 — длина второго всплеска (повтор действия, при удержании кнопки)

И далее, блок за блоком, представлены сигнал начального действия и сигнал повторного действия, рассчитанные по специальной формуле.

Командная нотация

ИК-команда может быть записана так же, как и команда, которую она несет.

Как в нашем примере с включением телевизора Samsung — 0xE0E040BF.

В этом случае обязательно указывается протокол.

Альтернативные обозначения

Некоторые производители интеллектуальных пультов придумывают собственные схемы записи ИК-сигналов, но они весьма специфичны и не являются предметом рассмотрения в данной статье.

Характеристики ИК-сигналов

Инфракрасные приемники и передатчики имеют две очень важные характеристики это несущая частота и скважность:

Несущая частота

ИК-диод не просто светится сплошным светом, он постоянно включается и выключается, как, кстати, и светодиодная подсветка. Происходит это очень быстро. Одна из наиболее распространенных частот ИК-излучения — 38 кГц, что соответствует 38 000 миганий в секунду. Такая особенность работы позволяет ИК-приемнику отличать сигнал от пульта дистанционного управления от внешних ИК-шумов.
Побочным эффектом является то, что если ваш пульт ДУ работает на частоте 40 кГц, а приемник, например, на 36 кГц, то все будет работать вблизи, но уже на расстоянии и то не факт. Более того, если и приемник, и передатчик согласованы — имеют одну и ту же частоту, то рабочий диапазон будет гораздо лучше. Наиболее распространенные частоты — 36 кГц, 38 кГц, 40 кГц. 56 кГц встречаются крайне редко. Есть и очень редкие, например, оборудование Bang & Olufsen работает на частоте 455 кГц.

Скважность (duty cycle)

Фактически под скважностью сигнала понимается отношение длительности свечения ИК-диода к паузе после него. Ведь помните, что он загорается несколько десятков тысяч раз в секунду? Так вот, скважность показывает, сколько длится пауза после этого. Обе эти характеристики важны для нормальной работы пульта ДУ вашего устройства. Когда мы говорим об универсальных пультах, то рабочий цикл и частота сигнала не всегда известны, поэтому они почти всегда работают несколько хуже. Например, у них меньше рабочий диапазон по сравнению с оригинальными пультами.

Сравнение ИК-сигналов

А теперь еще немного магии. Помните наш сигнал при включении телевизора?

4570 -4420 620 -1610 590 -1640 620 -1610 620 -490 600 -510 590 -520 620 -490 620 -490 620 -1610 620 -1610 620 -1610 590 -520 620 -490 620 -490 620 -490 620 — 490 590 -520 620 -1610 620 -490 600 -510 590 -520 620 -490 620 -490 620 -490 590 -1640 620 -490 620 -1610 620 -1610 620 -1610 620 -1610 620 -1610 600 -1630 620 -45000

Таким образом, каждый раз телевизор будет принимать его немного по-разному. Поскольку речь идет о большом количестве миганий и очень высокой частоте, ошибки неизбежны. Представьте, что у вашего друга мигает лампа, а вам нужно с помощью секундомера засечь, сколько времени она горела. Каждый раз, когда вы будете выполнять это упражнение, цифры будут немного отличаться.
Например, преамбулу можно записать в виде:4570 -4420 или 4600 -4400 или 4610 -4410 или 4580 -4390 . И это все один ИК-сигнал!
Поэтому необработанные ИК-сигналы никогда нельзя сравнивать простым сравнением. Последовательно сравниваются разряд за разрядом, и если разница между ними не превышает 15-25%, то считается, что сигнал совпадает. Отчасти в этом помогает кодировка ProntoHEX, но она также использует округление, и нельзя просто взять и сравнить два сигнала на идентичность. Однако если сигнал уже декодирован и представляет собой готовую команду и протокол, то такое сравнение вполне возможно.

А что будет, если зажать кнопку на пульте и удерживать ее длительное время?

Удивительно, но в большинстве протоколов, с которыми мы сталкивались, будет передаваться одна единственная команда, а затем периодически — короткий повторный сигнал. Частота посылки повторного сигнала зависит от протокола. В протоколе NEC, рассмотренном выше, повторный сигнал выглядит примерно так:

Рис. 5: Повторный сигнал ИК-протокола NEC1 (изображение от Altium)

То есть, если вы нажали кнопку увеличения громкости, то сначала посылается «начальное сообщение», а затем короткий сигнал повтора каждые 10 раз в секунду.

И пока вы удерживаете кнопку, сигнал будет повторяться.

Телевизор может отреагировать на это соответствующим образом: сначала немного увеличить громкость, а через несколько секунд — с более высокими значениями.

Повтор сигналов различается в разных протоколах, а в некоторых он не предусмотрен в принципе, пока вы держите кнопку нажатой — «исходное сообщение» просто повторяется снова и снова.

Пульты дистанционного управления кондиционерами

И если до этого все было довольно просто:

  • нажимаешь кнопку «Включение» на пульте ДУ — телевизор включается.
  • Нажимаешь кнопку переключения каналов — канал меняется на плюс или минус.
  • Нажимаешь кнопку смены входа HDMI — меняется вход

В кондиционерах все сложнее. В одном ИК-сигнале передаются сразу все данные — температура, режим работы, положение шторки, режим вентилятора, таймеры и многие другие служебные параметры. Более того, нередко сигналы от кондиционеров разбиваются на несколько блоков с фиксированными паузами, а каждый блок ИК-сообщения подписывается с помощью CRC (опять же, для разных протоколов по-разному). Но это уже совсем другой удивительный мир. Если вас заинтересовала эта публикация, то ставьте лайки, шеры, репосты, если статья наберет хороший отклик, то вскоре мы выпустим статью о том, как работает IR в пультах кондиционеров ����.

Спасибо за внимание. Напишите в комментариях, понравилась ли вам статья или она была не полезна, и дайте советы, что можно улучшить. Любая обратная связь будет оценена по достоинству.

А самое главное — что бы вы хотели узнать еще? ) Со своей же стороны, каждому пользователю платформы-партнеры sprut.ai, мы предоставляем промокод — sprutai. Он распространяется на все виды продукции.

Дмитрий, CEO платформы LOOKin и умного пульта LOOKin Remote2

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

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