Применение кода RC-5



Категория: Микроконтроллеры


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

В мире существует достаточно много не совместимых между собой систем ИК ДУ. Наибольшее распространение получила система RC-5. Эта система используется во многих телевизорах, в том числе и отечественных (например, выпускаемых ПО «Горизнт»).  Минское ПО «Интеграл» выпускает специализированную микросхему передатчика RC-5 типа INA3010 (аналог SAA3010), причем есть вариант и в корпусе SOIC. Она доступна и стоит несколько дешевле импортного аналога. Применение специализированой микросхемы передатчика резко уменьшает необходимое количество компонентов, а в случае SMD монтажа позволяет разместить ИК передатчик в брелке небольшого размера. Кроме того, в таких микросхемах решен вопрос низкого потребления в режиме ожидания, что делает эксплуатацию пульта очень удобной: нет необходимости в отдельном выключателе питания. Схема переходит в активный режим при нажатии любой кнопки и возвращается в режим микропотребления при ее отпускании. Довольно сложной проблемой может оказаться изготовление собственного корпуса для пульта ДУ. Ситуация значительно упростится, если взять готовый пульт ДУ от серийного аппарата. В настоящее время разными заводами выпускается несколько модификаций пультов ДУ RC-5, причем, некоторые модели имеют вполне приличный дизайн. Это позволяет с наименьшими затратами получить самодельное устройство с ИК ДУ. Достаточно лишь на стандартный пульт изготовить новую наклейку с нужными надписями возле кнопок. Такую наклейку удобно изготавливать на оборудовании GERBER-EDGE, которое распространено среди изготовителей наружной рекламы. Кроме многоцветной печати, это оборудование способно производить вырезку отверстий для кнопок и вырезку по внешнему контуру наклейки. Промышленные пульты, как правило, предназначены для управления телевизорами. Поэтому они используют систему 0 кода RC-5. Совсем несложно перейти на другой номер системы, и тогда взаимное влияние разных пультов будет исключено.

Система инфракрасного дистанционного управления RC-5 была разработана фирмой Philips для нужд управления бытовой аппаратурой. Когда мы нажимаем кнопку пульта, микросхема передатчика активизируется и генерирует последовательность импульсов, которые имеют заполнение частотой 36 КГц. Светодиоды преобразуют эти сигналы в ИК-излучение. Излученный сигнал принимается фотодиодом, который снова преобразует ИК-излучение в электрические импульсы. Эти импульсы усиливаются и демодулируются микросхемой приемника. Затем они подаются на декодер. Декодирование обычно осуществляется программно с помощью микроконтроллера. Код RC5 поддерживает 2048 команд. Эти команды составляют 32 группы (системы) по 64 команды в каждой. Каждая система используется для управления определенным устройством, таким как телевизор, видеомагнитофон и т.д.

Одной из наиболее распространенных микросхем передатчика является микросхема SAA3010. Кратко рассмотрим ее характеристики. Напряжение питания – 2 .. 7 В Потребляемый ток в ждущем режиме – не более 10 мка Максимальный выходной ток - ±10 мА Максимальная тактовая частота – 450 КГц Структурная схема микросхемы SAA3010 показана на рисунке 1.

 

Рисунок 1. Структурная схема ИС SAA3010.

Описание выводов микросхемы SAA3010 приведено в таблице:
   Вывод  Обозначение  Функция  1  X7  Входные линии матрицы кнопок  2  SSM  Вход выбора режима работы  3-6  Z0-Z3  Входные линии матрицы кнопок  7  MDATA  Модулированные выходные данные,  1/12 частоты резонатора, скважность 25%  8  DATA  Выходные данные  9-13  DR7-DR3  Выходы сканирования  14  VSS  Земля  15-17  DR2-DR0  Выходы сканирования  18  OSC  Вход генератора  19  TP2  Тестовый вход 2  20  TP1  Тестовый вход 1  21-27  X0-X6  Входные линии матрицы кнопок  28  VDD  Напряжение питания

Микросхема передатчика является основой пульта дистанционного управления. На практике один и тот же пульт дистанционного управления может использоваться для управления несколькими устройствами. Микросхема передатчика может адресовать 32 системы в двух различных режимах: комбинированном и в режиме одной системы. В комбинированном режиме сначала выбирается система, а затем команда. Номер выбранной системы (адресный код) хранится в специальном регистре и происходит передача команды, относящейся к этой системе. Таким образом, для передачи любой команды требуется последовательное нажатие двух кнопок. Это не совсем удобно и оправдано только при работе одновременно с большим количеством систем. На практике передатчик чаще используется в режиме одной системы. При этом вместо матрицы кнопок выбора системы монтируется перемычка, которая и определяет номер системы. В этом режиме для передачи любой команды требуется нажатие только одной кнопки. Применив переключатель, можно работать с несколькими системами. И в этом случае для передачи команды требуется нажатие только одной кнопки. Передаваемая команда будет относится к той системе, которая в данное время выбрана с помощью переключателя.

Для включения комбинированного режима на вывод передатчика SSM (Single System Mode) нужно подать низкий уровень. В этом режиме микросхема передатчика работает следующим образом: во время покоя X и Z-линии передатчика находятся в состоянии высокого уровня с помощью внутренних p-канальных подтягивающих транзисторов. Когда нажата кнопка в матрице X-DR или Z-DR, запускается цикл подавления дребезга клавиатуры. Если кнопка замкнута на протяжении 18 тактов, фиксируется сигнал "разрешение генератора". В конце цикла подавления дребезга DR-выходы выключаются и запускаются два цикла сканирования, включающие по очереди каждый выход DR. В первом цикле сканирования обнаруживается Z-адрес, во втором - X-адрес. Когда Z-вход (матрица системы) или X-вход (матрица команды) обнаруживается в состоянии нуля, происходит фиксация адреса. При нажатии кнопки в матрице системы передается последняя команда (т.е. все биты команды равны единице) в выбираемой сиcтеме. Эта команда передается до тех пор, пока кнопка выбора системы не будет отпущена. При нажатии кнопки в матрице команды передается команда вместе с адресом системы, хранимом в регистре-фиксаторе. Если кнопка отпущена до начала передачи,  происходит сброс. Если же передача началась, то независимо от состояния кнопки, она будет выполнена полностью. Если одновременно нажато более одной Z или X кнопки, то генератор не запускается.
Для включения режима одной системы на выводе SSM должен быть высокий уровень, а адрес системы должен быть задан соответствующей перемычкой или переключателем. В этом режиме во время покоя X-линии передатчика находятся в состоянии высокого уровня. В то же время Z-линии выключены для предотвращения потребления тока. В первом из двух циклов сканирования определяется адрес системы и сохраняется в регистре-фиксаторе. Во втором цикле определяется номер команды. Эта команда передается вместе с адресом системы, хранимом в регистре-фиксаторе. Если нет перемычки Z-DR, то никакие коды не передаются.

Если кнопка была отпущена между посылками кода, то происходит сброс. Если кнопка была отпущена во время процедуры подавления дребезга или во время сканирования матрицы, но до обнаружения нажатия кнопки, то также происходит сброс. Выходы DR0 – DR7 имеют открытый сток, в состоянии покоя транзисторы открыты.
В коде RC-5 имеется дополнительный управляющий бит, который инвертируется при каждом отпускании кнопки. Этот бит информирует декодер о том, удерживается кнопка или произошло новое нажатие. Бит управления инвертируется только после полностью завершенной посылки. Циклы сканирования производятся перед каждой посылкой, поэтому даже если во время передачи посылки сменить нажатую кнопку на другую, все равно номер системы и команды будут переданы правильно.

Вывод OSC представляет собой вход/выход 1-выводного генератора и предназначен для подключения керамического резонатора на частоту 432 КГц. Последовательно с резонатором рекомендуется включть резистор сопротивлением 6,8 Ком.

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

В состоянии покоя выходы DATA и MDATA находятся в Z-состоянии. Генерируемая передатчиком на выходе MDATA последовательность импульсов имеет заполнение частотой 36 кГц (1/12 частоты тактового генератора) со скважностью 25%. На выходе DATA генерируется такая же последовательность, но без заполнения. Этот выход используется в том случае, когда микросхема передатчика выполняет функции контроллера встроенной клавиатуры. Сигнал на выходе DATA полностью идентичен сигналу на выходе микросхемы приемника дистанционного управления (но в отличие от приемника он не имеет инверсии). Оба этих сигнала могут обрабатываться одним и тем же декодером. Применение SAA3010 в качестве контроллера встроенной клавиатуры в некоторых случаях очень удобно, так как для опроса матрицы до 64 кнопок у микроконтроллера расходуется только один вход прерывания. Тем более, что микросхема передатчика допускает питание напряжением +5 В.

Передатчик генерирует 14-битное слово данных, формат которого следующий:  - 2 стартовых бита.  - 1 управляющий бит. - 5 бит адреса системы.  - 6 бит команды.


 

Рисунок 2. Формат слова данных кода RC-5.

Стартовые биты предназначены для установки АРУ в IC приемника. Управляющий бит является признаком нового нажатия. Длительность такта составляет 1.778 мс. Пока кнопка остается нажатой, слово данных передается с интервалом 64 такта, т.е. 113.778 мс (рис. 2). Для обеспечения хорошей помехоустойчивости применяется двухфазное кодирование (рис. 3).

 

Рисунок 3. Кодирование «0» и «1» в коде RC-5.

При использовании кода RC-5 может понадобиться вычислить средний потребляемый ток. Сделать это достаточно просто, если воспользоваться рис. 4, где показана подробная структура посылки.

 

Рисунок 4. Подробная структура посылки RC-5.

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

Номера систем для некоторых видов бытовой аппаратуры приведены ниже: 0 - Телевизор (TV)
2 - Телетекст
3 - Видеоданные
4 - Видеопроигрыватель (VLP)
5 - Кассетный видеомагнитофон (VCR)
8 - Видео тюнер (Sat.TV)
9 - Видеокамера
16 - Аудио предусилитель
17 - Тюнер
18 - Магнитофон
20 - Компакт-проигрыватель (CD)
21 - Проигрыватель (LP)
29 - ОсвещениеОстальные номера систем зарезервированы для будущей стандартизации или для экспериментального использования. Стандартизировано также соответствие некоторых кодов команд и функций.
Коды команд для некоторых функций приведены ниже: 0-9 - Цифровые величины 0-9
12 - Дежурный режим
15 - Дисплей
13 - mute
16 - громкость +
17 - громкость -
30 - поиск вперед
31 - поиск назад
45 - выброс
48 - пауза
50 - перемотка назад
51 - перемотка вперед
53 - воспроизведение
54 – стоп
55 - записьДля того, чтобы на основе микросхемы передатчика построить законченный пульт ИК ДУ, необходим еще драйвер светодиода, который способен обеспечивать большой импульсный ток. Современные светодиоды работают в пультах ДУ при импульсных токах около 1 А. Драйвер светодиода очень удобно строить на низкопороговом (logic level) МОП-транзисторе, например, КП505А. Пример принципиальной схемы пульта приведен на рис. 5.

 

Рисунок 5. Принципиальная схема пульта RC-5.

Номер системы задается перемычкой между выводами Zi и DRj. Номер системы при этом будет следующим:

SYS = 8i + j

Код команды, который будет передаваться при нажатии кнопки, которая замыкает линию Xi с линией DRj, вычисляется следующим образом:

COM = 8i + j

Приемник ИК ДУ должен восстанавливать данные с двухфазным кодированием, он должен реагировать на большие быстрые изменения уровня сигнала независимо от помех. Ширина импульсов на выходе приемника должна отличаться от номинальной не более чем на 10%. Приемник должен быть нечувствительным к постоянным внешним засветкам. Удовлетворить всем этим требованиям достаточно непросто. Старые реализации приемника ИК ДУ, даже с применением специализированных микросхем, содержали десятки компонентов. Такие приемники часто использовали резонансные контуры, настроенные на частоту 36 КГц. Все это делало конструкцию сложной в изготовлении и настройке, требовало применения хорошего экранирования. В последнее время большое распространение получили трехвыводные интегральные приемники ИК ДУ. В одном корпусе они объединяют фотодиод, предусилитель и формирователь. На выходе формируется обычный ТТЛ сигнал без заполнения 36 КГц, пригодный для дальнейшей обработки микроконтроллером. Такие приемники производятся многими фирмами, это SFH-506 фирмы Siemens, TFMS5360 фирмы Temic, ILM5360 производства ПО «Интеграл» и другие. В настоящее время имеются и более миниатюрные варианты таких микросхем. Поскольку кроме RC-5 существуют и другие стандарты, которые отличаются, в частности, частотой заполнения, существуют интегральные приемники для разных частот. Для работы с кодом RC-5 следует выбирать модели, рассчитанные на частоту заполнения 36 КГц. Интегральные приемники весьма чувствительны к помехам по питанию, поэтому всегда рекомендуется применять фильтры, например, RC. Внешний вид интегрального фотоприемника и расположение выводов показаны на рис. 6.

 

Рисунок 6. Интегральный приемник RC-5.

В качестве приемника ИК ДУ можно применить и фотодиод с усилителем-формирователем, в качестве которого может служить специализированная микросхема КР1568ХЛ2. Схема такого приемника приведена на рисунке 7.

 

Рисунок 7. Приемник на микросхеме КР1568ХЛ2.

Декодирование кода RC-5 можно осуществить программно. Простой пример программного декодера для микроконтроллеров семейства MCS-51 приведен ниже.

Инвертированный код RC-5 подключается ко входу прерывания INT0 (или INT1 при условии соответствующей коррекции программы). Подпрограмма обслуживания прерывания производит декодирование кода и сравнение номера системы с заданным. В случае корректного кода и совпадения номера системы она помещает биты команды и бит управления в регистр R7 банка 3 (непосредственный адрес 1FH). В случае некорректного кода содержимое регистра R7 не изменяется. Для удобства код команды перекодируется по таблице размером 64 байта, начало которой должна быть расположено на метке RCTAB. Формат данных в регистре R7 следующий: R7 = Х.С.D5.D4.D3.D2.D1.D0
D0-D5 - командные биты кода RC5
C - бит управления
Х - значение подпрограммой не изменяется. Этот бит удобно использовать как бит управления для местной клавиатуры.Программа использует регистровый банк 3. Другие регистры не изменяются.

Принцип декодирования основан на измерении временных интервалов между переходами входного сигнала. Первый стартовый бит не измеряется. Код RC5 принимается, если соблюдаются следующие условия:

(890-25%)uS






Рекомендуемый контент




Copyright © 2010-2017 housea.ru. Контакты: info@housea.ru При использовании материалов веб-сайта Домашнее Радио, гиперссылка на источник обязательна.