072-1WIR-сеть. Способ передачи информации по IR-каналу.

Автор: | 16.05.2011

ТитлВ этой статье мы определимся со способом передачи информации по IR-каналу 1WIR-сети. Так как в качестве приемника мы используем TSOP (который создан для того, чтобы принимать сигналы от различных IR-пультов), правильно будет не выдумывать велосипед, а выбрать для нашей сети готовый обкатанный протокол.

Вообще протоколов, фирмы производители радиоэлектронной техники, понавыдумывали огромное количество, но вариантов кодирования в посылке «0» и «1» не так уж и много. Пройдемся по наиболее ходовым протоколам IR-пультов и выберем подходящий для наших целей способ передачи информации. При выборе нас не будет интересовать как организована передача всей посылки, для нас главное определиться как нам передавать битовую информацию.

Для ознакомления с протоколами пультов советую просмотреть ресурс http://www.sbprojects.com/knowledge/ir/index.php — не скажу что это самое полное собрание описаний протоколов (в сети мне попадались ресурсы и побольше), но зато описано все простенько и доходчиво. Рисунки будут взяты именно с этого ресурса.

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


Начнем из наиболее популярного в сети протокола —
Philips RC-5
Этот протокол хотя и старый (Филипс давно уже придумал ему замену – RC-6), но довольно часто используется радиолюбителями в своих проектах. Причина тому, наверное, достаточно большое количество описаний, библиотек и готовых устройств с применением этого протокола.
В RC-протоколе используется бифазное кодирование (еще его называют манчестерский код). Идея этого кода заключается в том, что передача нуля и единицы осуществляется разными фазами сигнала.
RC-5 модуляция
Достоинство такого способа передачи информации в том, что заранее известно, сколько времени займет посылка.
Недостаток – не скажу что сложный, но с определенными приемами алгоритм декодирования бифазного сигнала.
Подобное кодирование используют еще в Nokia NRC17, Philips RC-6


Philips RC-MM
Очень интересный протокол! И для наших целей, казалось-бы подходит как нельзя лучше (особенно там, где нужно сэкономить батарейное питание). В отличие от предыдущего протокола здесь кодирование 0 и 1 осуществляется длительностью периода (пачка+пауза). Но изюминка этого алгоритма в том, что одним периодом передается сразу 2 бита данных! Вот так:

RC-MM модуляция

Достоинство очевидно – тратиться меньше энергии на формирование пачек импульсов, так как их в 2 раза меньше.
Недостатки, опять таки, алгоритм реализации и менее надежное декодирование сигнала (нужны более точные замеры времени).


И напоследок — NEC.
Подобное кодирование используют еще в JVC, Sharp, RECS80, RCA
Этот алгоритм сейчас наиболее используем в бытовых пультах. Кодирование бита данных осуществляется, как и в предыдущем протоколе, длительностью периода пачка+пауза. Но в данном протоколе один период отвечает за один импульс.

NEC модуляция

Достоинства:
— простой алгоритм, как формирования, так и декодирования посылки,
— хорошая устойчивость к ошибкам (замеры периодов не так критичны, так как их длительность различаются вдвое;
Недостатки:
— по сравнению с предыдущим методом вдвое большей расход энергии на передачу сообщения;
— в зависимости от передаваемых данных, длинна посылки будет разной.


НАШ ВЫБОР.
Посылка нашей сети будет использовать кодирование аналогичное NEC-протоколу. При котором период сигнала (пачка+пауза) «единицы» будет в два раза больше периода «нуля». Это позволит использовать самые простые алгоритмы кодирования-декодирования и иметь более надежную защиту от различных помех приема-передачи.

тайминг 1wIR протокола


(Visited 351 times, 1 visits today)

There are 29 comments

Комментарии подгрузятся после небольшой паузы.