Войти Регистрация

Войдите в свой аккаунт

Логин *
Пароль *
Запомнить меня
 
load more hold SHIFT key to load all load all
Пятница, 31 декабря 2010 19:16

Тестер пультов ДУ протокола RC-5

Оцените материал
(1 Голосовать)
Тестер пультов ДУ протокола RC-5 - 5.0 out of 5 based on 1 vote

Прибор был изготовлен за один вечер из подручных материалов для отладки устройства, управляемого с помощью ИК ПДУ, когда потребовалось знать код каждой поданной команды. Этим область применения тестера не ограничена. С его помощью можно быстро проверить любой ПДУ, работающий согласно протоколу RC5, подобрать подходящий для управления бытовым прибором.

Достоинство предлагаемого прибора — полный визуальный контроль передаваемой информации. Хотя он "понимает" команды только одного, самого распространенного формата RC5, изменив программу, можно приспособить тестер и к приему команд других форматов.
Команда согласно протоколу RC5 показана на рис. 1. Кодовая последовательность (кривая 1) состоит из 14 тактовых интервалов длительностью по 1,78 мс (64 периода частоты 36 кГц), в каждом из которых передают один разряд двоичного кода. Лог. 1 соответствует положительный перепад уровня в середине тактового интервала, лог. 0 — отрицательный.

Рис.1

Два первых разряда (St,, St2) — стартовые. Они всегда имеют значение 1, что позволяет приемнику опознать начало команды. Третий разряд — служебный. Его значение сменяется противоположным при каждом нажатии на кнопку ПДУ, что позволяет отличить новую команду от автоматического (каждые 114 мс при удержании кнопки нажатой) повторения ранее поданной. В разрядах S4—S0 указан адрес устройства (системы), которому предназначена команда. Приведенный в примере адрес 5 (00101) закреплен за видеомагнитофонами, а, например, телевизорам присвоены адреса 0 (00000) или 1 (00001), видеокамерам — 9 (01001). В шести разрядах С5—С0 записан собственно код команды, в данном случае 35Н (110101), "Воспроизведение".

Протокол RC5 позволяет с помощью одного пульта подавать по 64 команды независимо на 32 различных устройства. Если этого недостаточно, используют "расширенный" протокол RC5, согласно которому еще один разряд команды (С6) занимает место второго стартового (St2). Таким образом, число возможных команд возрастает до 128.

При передаче команд по ИК каналу связи сформированной кодовой последовательностью RC5 модулируют несущую частоту 36 кГц, в результате чего ПДУ излучает пачки ИК импульсов этой частоты (кривая 2 на рис. 1). Для их приема обычно применяют специализированные модули, импульсная последовательность на выходе которых (кривая 3) инверсна исходной.

Рис.2

Прибор, схема которого приведена на рис. 2, построен на микроконтроллере AT90S2313 фирмы Atmel. Выходы портов микроконтроллера выдерживают втекающий ток до 20 мА, что позволяет напрямую подключать к ним светодиодные индикаторы. Сигнал, принятый и демодулированный ИК приемником В1, поступает на выв. 3 (PD1) микроконтроллера DD1, сконфигурированный как вход с внутренним "подтягивающим" резистором. Блокировочный конденсатор С1 должен быть расположен как можно ближе к выводам питания ИК приемника.

Светодиодный индикатор HG1 подключен к порту В (выводам 12—19) микроконтроллера DD1. Резисторы R4—R11 ограничивают ток. Динамическая индикация организована путем поочередной установки уровня лог. 0 на выводах 7—9,11 (PD3—PD6) микроконтроллера DD1, к которым подключены базовые цепи транзисторов VT1—VT4, коммутирующих аноды светодиодов индикатора.

Адрес и код команды, принятой тестером, индикатор отображает четырьмя шестнадцатиричными цифрами. Две старшие — адрес устройства, которому послана команда, две младшие- ее код. Учтите, если Ctrl=1, старшая шестнадцатиричная цифра кода команды будет выведена увеличенной на 4. Это связано с особенностями программной процедуры декодирования.

Программа микроконтроллера на языке BASIC разработана с помощью системы программирования BASCOM-AVR.

Основную задачу — декодирование принятой команды выполняет подпрограмма  Getrc5.  Она  встроена в компилятор, поэтому описывать ее в тексте программы не требуется.  Она начинает декодироаание, обнаружив в принятом сигнале паузу длительностью более 3,5 мс, и считает первый же принятый после этого импульс стартовым. Закончив прием, подпрограмма возвращает адресную часть команды в переменной А, ее код — в переменной С. Если в течение 131 мс ни одного импульса не принято, подпрограмма завершает работу, присвоив переменным А и С значения 255.

Далее программа разделяет старшие и младшие разряды адреса и кода команды, занося их в переменные К(1)—К(4), и с помощью функции Di преобразует полученные значения в коды шестнадцатиричных цифр для отображения на семисегментном индикаторе. Светящемуся элементу соответствует 0 в разряде кода, погашенному — 1. Сигналы распределены по выводам микроконтроллера исходя из удобства разводки печатной платы. В цикле динамической индикации операторами Waitms заданы интервалы (в миллисекундах), в течение которых выводится каждая цифра

Вместо ИК приемника ILMS5360 подойдет SFP506 или TSOP1736. Кварцевый резонатор ZQ1 — в любом конструктивном исполнении, но обязательно на частоту 10 МГц, иначе потребуется корректировка программы. Индикатор BQ-M326RD можно заменить CA56-12SRD с цифрами большего размера или четырьмя отдельными индикаторами с общим анодом. В первом случае достаточно учесть увеличенные размеры индикатора (цоколевка совпадает), во втором — потребуется существенная корректировка печатного монтажа. В качестве стабилизатора DA1 пригоден любой с выходным напряжением 5 В. Конденсаторы С2, СЗ — керамические КМ-5, оксидные С1, С4 — К50-35 или импортные. Резисторы — МЛТ0-125.

Источник: Радио №2, 2005 г.


Скачать архив

Прочитано 15549 раз

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


Комментарии   

vladim
0 #2 vladim 17.11.2011 15:32
Помогите пожалуйста разобраться, почему не определяются код и адрес команды в программе после функции Getrc5? Схема собрана правильно (замененные коды на константы отображаютя на индикаторе). Все взято из журнала Радио№2 за 2005год.
Цитировать
vladim
0 #1 vladim 17.11.2011 11:11
Код Geyrc5 зависает. При снижении частоты как-то реагирует на некоторые команды с пульта показывает везде(0EAE.
Цитировать
 

Топ

ТЕЛЕФОННАЯ…

Приставка-спикерфон предназначена для громкоговорящей телефонной связи. Занятие линии АТС…

Управление…

Автор разработал программу и устройство для управления различными электро и…

Импульсный…

Импульсный преобразователь сетевого напряжения Применение импульсного преобразователя…

Вольтамперметр на…

Pахотел повторить, но буржуй просил за прошитый МК 14 евро, было принято решения догнать…

Программатор PicKit2

PICkit 2 это простой USB программатор для микроконтроллеров PIC, микросхем памяти и…

Импульсный блок…

Импульсный блок питания 180Вт Мощность блока питания — около 180 Вт, выходное напряжение…

Эмулятор ключей…

Назначение. Устройство предназначено для считывания, хранения и эмуляции ключей домофонов…

Ремонт импульсного…

Вскрытие корпуса БП:Начинаем проверку, особо обращая внимание на поврежденные, изменившие…

ЛЕГЕНДАРНАЯ «СДУ С…

В 1984 году журнал РАДИО опубликовал схему СДУ, в которой использовался принцип цифрового…

ИНДИКАТОР УРОВНЯ…

Принципиальная схема индикатора показана на рисунке. Эта схема использовалась для…

Голосовой монитор…

Голосовой монитор (далее – монитор) предназначен для контроля телефонной линии или…

ТАЙМЕР, УПРАВЛЯЮЩИЙ…

В теме представлено таймерное устройство, управляющее освещением багажника ВАЗ-2114, но…