IR ДУ — теория и практика IR ДУ — теория и практика Автор Woodocat 20.10.2008 г.
В данной статье рассматриваются принципы работы IR-пультов дистанционного управления (ПДУ). Многие современные устройства оборудованы системами дистанционного управления. Инфракрасный свет, невидимый для глаз, оказывается весьма простым, удобным и надежным средством беспроводного дистанционного управления. Вокруг нас существует большое количество источников инфракрасного излучения. Для обеспечения надежного приема и гарантированной защиты от помех используется модуляция сигнала и кодирование. К сожалению, нет единого и универсального протокола для IR ПДУ, хотя среди всего многообразия есть наиболее широкораспространенные.
Передача данных производится, в близком к видимому инфракрасном спектре. Длина волны в большинстве реализованных систем варьируется в пределах 800nm…950nm. Самый простой способ избавиться от фонового шума — модулировать (заполнить) сигнал при передаче одной из стандартных частот: 30, 33, 36, 37, 38, 40, 56kHz. Именно на эти частоты настроены все современные интегральные приемники.
Для обеспечения достаточной дальности при передаче кодовой последовательности необходимо сформировать мощный сигнал. Ток через IR-светодиод может достигать 1A — такие токи вполне допустимы в импульсном режиме, при этом средняя рассеиваемая мощность не должна превышать предельно допустимую, указанную в документации.
Разработано большое количество специализированных микросхем (SAA3010, GS8489, KS51840 и т.п) генерирующих готовую кодовую последовательность и потребляющих минимальный ток ждущем режиме, что немаловажно при питании от батарей. Эти микросхемы существенно упрощают схему ПДУ. Когда мы нажимаем кнопку пульта, микросхема передатчика активизируется и генерирует кодовую последовательность, с заданым заполнением. Светодиод преобразуют эти сигналы в ИК-излучение. Излученный сигнал принимается фотодиодом, который снова преобразует IR-излучение в электрические импульсы. Эти импульсы усиливаются и демодулируются микросхемой приемника. Затем они подаются на декодер. Декодирование обычно осуществляется программно с помощью микроконтроллера.
Приемник IR ДУ должен восстанавливать данные с двухфазным кодированием, он должен реагировать на большие быстрые изменения уровня сигнала независимо от помех. Ширина импульсов на выходе приемника должна отличаться от номинальной не более чем на 10%. Приемник должен быть нечувствительным к постоянным внешним засветкам. Удовлетворить всем этим требованиям достаточно непросто. Старые реализации приемника IR ДУ, даже с применением специализированных микросхем, содержали десятки компонентов. Такие приемники часто использовали резонансные контуры, настроенные на частоту заполнения. Все это делало конструкцию сложной в изготовлении и настройке, требовало применения хорошего экранирования.
В последнее время большое распространение получили трехвыводные интегральные приемники IR ДУ (SFH5110-xx, TSOP17xx, TFMS5хх0 и т. п.). В одном корпусе они объединяют фотодиод, предусилитель и формирователь. На выходе формируется обычный TTL-сигнал без заполнения, пригодный для дальнейшей обработки микроконтроллером. Наиболее важный параметр при выборе приемника — частота заполнения.
Внутренний усилитель интегрального приемника имеет высокий коэффициент усиления, поэтому для исключения самовозбуждения и устранения влияния наводок по цепям питания необходимо использовать электролитический конденсатор емкостью не менее 4.7uF, подключенный максимально близко к выводу VCC.
В ПДУ используется три вида модуляции. Рассмотрим их без заполнения, приведенных к TTL-уровням (сразу на выходе типичного IR-приемника).
Модуляция длительностью пауз (Pulse Distance Modulation) Длина импульсов постоянна. Паузы большей длительности — лог. «1», меньшей — лог. «0».
Модуляция длительностью импульса (Pulse Width Modulation) Длина пауз постоянна. Импульсы большей длительности — лог. «1», меньшей — лог. «0».
Один из самых старых и распростаненных протоколов. В свое время RC5, разработаный фирмой Philips для управления бытовой аппаратурой, получил большое распространение. Сейчас он применяется реже, и, в основном, любителями из-за своей простоты и широкой доступностью недорогих компонентов. Позднее фирма Philips внедрила и стала использовать улучшенный протокол RC6.
5-разрядный адрес, 6-разрядные команды
модуляция Bi-phase coding
сначала идут старшие биты, потом младшие (MSB first)
частота заполнения 36kHz
Формат посылки RC5
Кодирование лог. «0» и лог. «1»
Два первых бита — это стартовые биты (всегда лог. «1»). Управляющий бит T изменяется только при новом нажатии на кнопку. При удержании кнопки, посылка передается с интервалом 64 такта (113.778ms).
Повторная передача
Очень распростаненный, простой и универсальный протокол. Его используют многие корейские и японские производители бытовой техники, такие как NEC, Sanyo, Panasonic, Hitachi, Nokia. Сейчас сложно установить кому из них принадлежит эта разработка, но в интеренете он чаще всего упоминается как NEC протокол.
8 разрядные адрес и команды
адрес и команды дублируются с инверсией
модуляция Pulse Distance Modulation
сначала идут младшие биты, потом старшие (LSB first)
частота заполнения 38kHz
Формат посылки NEC
Стартовая последовательность
Кодирование лог. «0» и лог. «1»
Основная посылка передается только один раз при нажатии на кнопку. При удержании кнопки, передается последовательность повтора через каждые 110ms.
Последовательность повтора
Повторная передача
Протокол очень похож на NEC. Отличия заключаются только во временных интервалах, отсутствием дублирования адреса-команд с инверсией и способом передачи состояния удержания кнопки.
8-разрядные адрес и команды
модуляция Pulse Distance Modulation
сначала идут младшие биты, потом старшие (LSB first)
частота заполнения 38kHz
Формат посылки JVC
Стартовая последовательность
Кодирование лог. «0» и лог. «1»
Основная посылка передается только один раз при нажатии на кнопку. При удержании кнопки, передается только команда через каждые 50ms…60ms.
Повторная передача
Протокол Sony
Еще один распространенный протокол.
12-, 15- и 20-разрядные варианты протокола
модуляция Pulse Width Modulation
сначала идут младшие биты, потом старшие (LSB first)
частота заполнения 40kHz
В 12-разрядном варианте: 7 бит команды и 5 бит адреса устройства. В 15-разрядном варианте 8 и 7 бит соответственно. После окончания передачи удерживается состояние лог. «0» до достижения 45ms интервала с начала передачи.
Формат посылки Sony
Стартовая последовательность
Кодирование лог. «0» и лог. «1»
При удержании кнопки, передается только команда через каждые 45ms.
Повторная передача
Самый простой способ узнать с каким пультом мы имеем дело, не имея под рукой осцилографа — записать сигнал на компьютер. Для этого нужно подать сигнал с включенного по стандартной схеме интегрального приемника на микрофонный вход и записать его на компютер, а затем проанализировать полученный сигнал. Главное условие — установить частоту дикретизации более 44kHz (например 96kHz или выше). Получаем следующее:
Сигнал с приемника получается инвертированным. Масштабируем запись и расставляем маркеры. Теперь можно замерить длительность импульсов. В данном случае длительности импульсов составили:
первая часть синхроимпульса — 9ms
вторая часть синхроимпульса — 4.5ms
короткие импульсы — 9ms / 8 pulse = 1.125ms
длинные импульсы — 18ms / 8 pulse = 2.25ms
Теперь осталось найти и уточнить тип данного протокола. Легко видеть, что это протокол NEC.
Для дальнейшего изучения принципов работы IR ДУ соберем тестовую схему, состоящую из IR-приемника (TSOP1736), микроконтроллера (ATtiny12L) и светодиода, выполняющую следующие задачи:
принять первую посылку с пульта;
запомнить «свою» кнопку;
зажигать светодиод синхронно с нажатием «своей» кнопки.
Тестовая схема
Тестовая схема, для упрощения, изображена без цепей ISP. Питание схемы, а также прошивка микроконтроллера выполняется напрямую по разъему ISP от программатора USBasp. Это оказывается очень удобным, т. к. нет лишних проводов питания, блок питания не занимает место на столе во время разработки.
Тестовая схема, собранная на макетной плате
Выбран самый дешевый микроконтролер ATtiny12L. Ресурсы данного микроконтроллера весьма ограничены, поэтому разработка прошивки cделана на ассемблере. В приложенном исходнике с тестовой прошивкой подробно описан алгоритм работы.
Тестовая прошивка IR.asm
SB-Projects. IR Remote Control Theory
Микроэлектронные проекты. Леонид Иванович Ридико. Применение кода RC-5
Теория работы ИК пультов ДУ
Описание протоколов ИК систем дистанционного управления
Источник: woodocat.ru
Добавить в закладки! sociallist_9ade4461_url = 'http://radio.delanet.ru/content/view/721/';sociallist_9ade4461_title = 'IR ДУ — теория и практика';sociallist_9ade4461_text = '';sociallist_9ade4461_tags = ''; var xajaxRequestUri='',xajaxDebug=false,xajaxStatusMessages=false,xajaxWaitCursor=true,xajaxDefinedGet=0,xajaxDefinedPost=1;function jc_setup(){xajaxRequestUri='http://radio.delanet.ru/index2.php?option=com_jcomments&Itemid=46&no_html=1';xajaxDebug=false,xajaxStatusMessages=false,xajaxWaitCursor=true,xajaxDefinedGet=0,xajaxDefinedPost=1;xajax.loadingFunction=function(){xajax.$('jc_busy').style.display='block';};xajax.doneLoadingFunction=function(){xajax.$('jc_busy').style.display='none';}}