» » » » Описание инфракрасного протокола передачи данных корпорации NEC

Описание инфракрасного протокола передачи данных корпорации NEC

Автор: Inna от 13-11-2013, 14:34

NEC Infrared Transmission Protocol – Инфракрасный протокол передачи данных, использующийся в приёмо-передающих устройствах корпорации NEC.
NEC протокол основан на кодировании логических уровней длиной паузы, т.е. начало каждого бита, определено импульсом длиной 562 мкс (этот же импульс говорит о конце предыдущего бита), а длина паузы, следующей за начальным импульсом определяет логическое состояние. Для того чтобы определить конец последнего бита, после него также отправляется импульс длиной 562 мкс. Импульс представляет собой пачку на несущей частоте, обычно несущая частота равна 38.222кГц, длительность пачки соответствует времени, в течении которого передаётся высокий уровень, при передаче низкого уровня пульт не посылает импульсов.

Логический "0" - 562,5 мкс пакет импульсов с последующей 562,5 мкс паузой, с общим временем передачи в 1.125 мс
Логическая "1" - 562,5 мкс пакет импульсов с последующей 1.6875 мкс паузой, с общим временем передачи в 2.25 мс

Описание инфракрасного протокола передачи данных корпорации NEC


Существуют две версии протокола NEC: стандартная и расширенная.

Стандартная Версия протокола

Все команды в протоколе передаются пакетами. В начале каждого пакета передаётся стартовая последовательность состоящая из импульса длиной 9 мс и паузы длиной 4,5 мс. Далее передаётся пакет размером 4 байта (32 бита), в котором содержится адрес приёмного устройства и команда. Все байты пакета передаются младшим битом вперёд.

Для примера можно рассмотреть пакет для команды 0xB1 (10110001b) и адреса 0x8D (10001101b):

Описание инфракрасного протокола передачи данных корпорации NEC


1. Импульс длиной 9мс
2. Пауза длиной 4,5мс
3. 8-битный адрес приемного устройства
4. 8-битный инвертированный адрес приемного устройства
5. 8-битная команда
6. 8-битная инвертированная команда

16 бит адреса и 16 бит команд требуют 27 + 27 мс времени передачи. Поэтому (адрес + инверсый адрес) или (команда + инверсная команда) всегда содержат восемь "0" и восемь "1" так как (8*1,125 мс) + (8*2,25 мс) = 27 мс. Такая вот защита от помех.

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

Картинка получена с помощью осциллографа Rigol DS1052E:

Описание инфракрасного протокола передачи данных корпорации NEC


Логический анализатор показывает время более подробно:

Описание инфракрасного протокола передачи данных корпорации NEC


Т1 импульс заголовка в 84,115 мс
Т2 пауза на 93,28 мс
Т3 начало адреса в 97,58 мс
Т4 конец адреса, начало инверсного адреса в 107,67 мс
Т5 конец инверсного адреса, начало команды в 124,486 мс
Т6 конец команды, начало инверсной команды в 135,696 мс
Т7 конец инверсной команды и заключительный 562,5 мкс импульс, показывающий завершение передачи

Расширенная версия протокола

За счёт широкого распространения протокола, вскоре все адреса оказались заполненными. Жертвуя в пользу избыточности адреса, все адресное пространство было расширено с 256 возможных уровней до 65536. Таким образом, диапазон адресов был продлен с 8 бит до 16 бит без изменения какого-либо другого свойства протокола. Каждый адрес может обработать 256 различных команд. В расширенном протоколе вместо адреса и инверсного адреса мы посылаем младший байт адреса и старший байт.

Описание инфракрасного протокола передачи данных корпорации NEC


1. Импульс длиной 9мс
2. Пауза длиной 4,5мс
3. Старший байт адреса приемного устройства
4. Младший байт адреса приемного устройства
5. 8-битная команда
6. 8-битная инвертированная команда

Таким образом, уменьшается помехозащищённость адресов, но существенно увеличивается их количество.

Повторный код

Если на ПДУ кнопка нажата и удерживается, то повторно информационный пакет передаваться не будет. Вместо повторной передачи, обычно через 40 мс после заключительного импульса, свидетельствующего об окончании сообщения, с интервалами в 108 мс передаётся так называемый код повтора. Код повтора будет передаваться до тех пор, пока кнопка не будет отжата.

Описание инфракрасного протокола передачи данных корпорации NEC


1. Импульс длиной 9мс
2. Пауза длиной 2,25мс
3. Импульс длиной 562,5 мкс для указания окончания паузы (и, следовательно, конца передачи повторного кода)

Осциллограф показывает временную диаграмму повторного кода:

Описание инфракрасного протокола передачи данных корпорации NEC


Если пользователь держит кнопку нажатой, то повторный код продолжает передаваться:

Описание инфракрасного протокола передачи данных корпорации NEC


Код повтора на логическом анализаторе:

Описание инфракрасного протокола передачи данных корпорации NEC


Т8 показывает временную форму кода повтора.

Источники:
NEC Infrared Transmission Protocol
Описание протокола NEC (кодирование длиной паузы)
NEC Protocol IR (Infrared) Remote Control

Теги: Конкурс 2013, NEC, ИК, ПДУ

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Понедельник
05-12-2016
07:32
Поиск по сайту

Профиль
Здравствуйте Гость


Логин:
Пароль:
Поиск документации
Новое на форуме
Усилитель НЧ Hi-Fi 32 Вт на TDA2050 [Усилители] Ответов 15, последний: 26-11-2016, 13:08 от DOSS
терменвокс [Разное] Ответов 2, последний: 22-11-2016, 12:54 от tuskinette
Часы пропеллер [Светоэффекты] Ответов 101, последний: 12-11-2016, 10:03 от AAArchi
помогите с воздушным трансформатором [Разное] Ответов 0, последний: 21-10-2016, 01:30 от Den_Ch1k
сабвуфер watson [Усилители] Ответов 1, последний: 31-07-2016, 19:30 от Tonich
Новое в блогах
Программатор ключей Ibutton RW1990 на arduino 05.05.2016 - Программатор ключей Ibutton RW1990 на … (0)
Регулятор громкости на Arduino и энкодере 31.03.2016 - Регулятор громкости на Arduino и энкод… (1)
Двухканальный ШИМ регулятор мощности на AtTiny 13 27.03.2016 - Двухканальный ШИМ регулятор мощности н… (0)
Резистивная клавиатура на Arduino pro micro 23.03.2016 - Резистивная клавиатура на Arduino pro … (0)
Зарядное устройство Li-ion аккумуляторов 22.01.2016 - Зарядное устройство Li-ion аккумулятор… (13)
Статистика
Пользователей онлайн: 41
Гостей: 41
Реклама
Теги

Требуется для просмотраFlash Player 9 или выше.

Покаказать все теги
Социальные сети