Наш магазин на eBay Наш магазин на AliExpress Наш канал в telegram

Описание протокола SIRC (кодирование длиной импульса)

В ИК-пультах фирмы Sony для передачи данных используется протокол с общепринятым названием SIRC (Sony Infra-Red Control). Этот протокол в целом похож на протокол используемый фирмой NEC, но в отличии от него информация в протоколе SIRC кодируется не длиной паузы, а длиной импульса:

Кодирование нуля и единицы в протоколе SIRC

Единица кодируется импульсом длиной 1200 мкс, а ноль — импульсом длиной 600 мкс. Между собой импульсы разделены паузами, длиной 600 мкс.

Этот метод кодирования позволяет избавиться от необходимости посылать какие-либо дополнительные импульсы, определяющие конец посылки (например в протоколе NEC, где кодирование осуществляется длиной паузы, для определения длительности паузы последнего бита нужно было в конце пакета послать такой дополнительный импульс).

Команды передаются пакетами. Известны 3 версии протокола: с 12-ю, 15-ю и 20-ю информационными битами в пакете (в настоящий момент наиболее распространена версия с 15-ю битами). Каждый пакет начинается со стартовой последовательности — импульса длиной 2400 мкс и стандартной паузы в 600 мкс.

Информационные биты включают в себя адрес устройства (5 бит) и команду (7, 10 или 15 бит, в зависимости от версии). Адрес и команда передаются младшими битами вперёд, причём сначала передаётся команда, потом адрес. В целом вид и структура пакета SIRC показаны на рисунке ниже (в данном случае для 15-ти битной версии протокола):

Структура пакета в протоколе SIRC

Никакого специального кода повтора нет и при удержании кнопки пульт просто передаёт один и тот же пакет с паузой между пакетами в 45 мс.

В пультах с протоколом SIRC при передаче обычно используется частота несущей 40 кГц. Для передачи высокого уровня сигнала пульт посылает пачку импульсов на частоте несущей (длительность пачки соответствует времени, в течении которого должен передаваться высокий уровень). При передаче низкого уровня сигнала пульт ничего не передаёт. Другими словами, для передачи импульсов в 600, 1200 и 2400 мкс пульт посылает в течении соответствующего времени (600/1200/2400 мкс) пачки импульсов на частоте несущей.

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

Некоторые адреса и команды:

Адрес Устройство Команда Функция
1 телевизор 16 канал +
2 видеомагнитофон 1 17 канал —
3 видеомагнитофон 2 18 громкость +
17 CD-плеер 19 громкость —
20 без звука
21 дежурный режим (вкл/выкл.)

Самодельные ИК-пульты и приёмники сигналов дистанционного управления

Программы для приёма и передачи сигналов по протоколу SIRC

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