реклама на сайте
подробности

 
 
> КАК реализовать пульт ду ?, RC-5 TSOP1736
m42100
сообщение Apr 19 2009, 18:26
Сообщение #1





Группа: Новичок
Сообщений: 3
Регистрация: 19-04-09
Пользователь №: 47 935



Задача состоит в том что бы сделать пульт. Интересует исключительно принимающая сторона. Контроллер используется x51, фотоприёиник TSOP1736, кодирование в RC-5, но это не важно, важно понять сам способ передачи! Ознакомился со статьёй Леонид Иванович Ридико "Применение кода RC-5" Да только вот не очень то она мне помогла! Сам принцип передачи вроде бы понял, но вот как тактировать? Как узнать в какой момент началась передача?
Вобщем рад буду любой информации. Но хотелось бы увидеть блок-схему алгоритма работы данной системы!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
mikesm
сообщение Apr 20 2009, 05:40
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 158
Регистрация: 15-01-09
Из: Russia
Пользователь №: 43 426



У Ридико описано все, кроме модуляции. Отсюда и недопонимание.
Вот описание протокола RC5 http://infrared.h1.ru/protocol.shtml
И вот описание http://fi-com.ru/mcu/rc5.htm

Общая идея такая, поскольку инфракрасный светодиод пульта выдает пачки посылок. В каждой пачке 32 периода тактовой 36КГц, затем пауза длиной в 32 периода, потом опять пачка, затем пауза. Вот когда идет пачка импульсов это у Ридико на рис.3 верхний уровень сигнала, а когда пауза, это нижний уровень. И лог."1" на осциллографе будет выглядеть как пауза длиной в 32 такта, а затем 32 импульса.

Для построения ответной части или "базы", алгоритм такой. Сначала приемник просто ловит перепады уровня. Если перепадов больше 8 подряд, и расстояние укладывается в 36кГц (при помощи таймера измерять расстояние между перепадами, для 36кГц оно будет 27мкс а для измерений использовать вилку от 24 до 32мкс.)
Если прошло на входе подряд 8 перепадов и расстояние между ними от 24..32мкс, то база делает вывод что пришла пачка от пульта ДУ.
Ждем окончания пачки, попутно считаем число перепадов, если их от 29 до 33 значит это пачка от пульта ДУ "верхний" уровень. Если пачка не прошла, отбрасываем ее и опять ждем валидную пачку. Дождались нормально пачки, записываем в память 1, затем ждем окончание паузы. Если пауза укладывается в размер протокола, примерно 900мкс, записываем в память 0 и продолжаем принимать, до тех пор, пока не попадется либо сбойная пачка, либо очень длинная пауза.
Если сбойная пачка, все сбрасываем и ждем по новой. Если длинная пауза, делаем вывод, что принята посылка от пульта, начинаем ее анализ.
В памяти записана последовательность 10011010100101 где нули это нижний уровень, а единицы верхний уровень по рисунку 3 Ридико. По этому же рисунку переход 01 это лог.1,
а переход 10, это лог 0, и тогда последовательность означает "0"1"0"0"0"1"1" это уже биты посылки, которые означают адрес, код команды.

Сообщение отредактировал mikesm - Apr 20 2009, 05:44
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 01:59
Рейтинг@Mail.ru


Страница сгенерированна за 0.01377 секунд с 7
ELECTRONIX ©2004-2016