Это дополнительная информация к плагинам DCD и sndRemote
Три вида модуляции |
Bi-phase coding |
Длина импульсов и промежутки между ними по 0.9мс или 1.8 мс.
Логические 0 и 1 определяются, как показано на рисунке:
|
Pulse-distance modulation |
Длина импульсов постоянна.
Промежутки большей длительности - лог. 1 , меньшей - лог.
0.
|
Pulse-length code |
Длина промежутков постоянна.
Импульсы большей длительности - лог. 1 , меньшей - лог. 0.
|
Сразу нужно сделать оговорку по поводу "импульсов".
На самом деле каждый
такой "серый" импульс - это 20-30 очень коротких
импульсов идущих с большой
постоянной частотой (от 30 до 56 кГц) или даже вообще инфракрасный
фон
с частотой 400 кГц. При оцифровке звуковой картой (44100Гц)
этот "фон" сливается
в импульсы по форме близкие к прямоугольным. Этого достаточно
для точного
декодирования.
|
Стандарты кодировок |
RC-5 |
Модуляция Bi-phase. Сначала идут старшие биты,
потом младшие.
Если нажать кнопку на дистанционке и держать, будут слаться
посылки (DataWord)
с одинаковым значением Toggle bit. Если отпустить кнопку и
нажать снова,
пойдут те же посылки, но уже с инверсным значением Toggle
bit.
Этот стандарт использует PHILIPS и SAMSUNG
без каких-либо отклонений.
|
NEC |
Модуляция Pulse-distance. Сначала идут младшие
биты, потом старшие.
При нажатии кнопки на дистанционке выдается одна полная посылка,
а затем через промежутки идут одиночные импульсы, говорящие
о том,
что кнопка еще нажата. Перед посылкой (первой полной и одиночными
импульсами)
идет один длинный импульс синхронизации.
В посылке адрес и команда идут два раза - сначала просто,
затем с инверсией
(что-то не совпало - команда не принята). Кроме того, основная
посылка идет
только один раз при нажатии на кнопку. Вероятность того, что
она пройдет
правильно с первого раза, не очень высока.
Data word:
Пример: адрес "00110111" и команда "00011010"
кодируются как "00110111'11001000'00011010'11100101".
Этот стандарт используют HITACHI, NOKIA, AIWA, AKAI,
AverMedia.
Creative RM-900 (от SoundBlaster Live Platinum) повторяет
первую посылку 2 раза,
кроме того первый байт адреса равен C1h, а второй 44h, то
есть между первым и
вторым байтом нет ничего общего. Для совместимости первые
2 байта адреса не
сравниваются и используются оба.
|
RECS 80 / RC-4 |
Модуляция Pulse-distance. Сначала идут старшие биты,
потом младшие.
На 100% этому стандарту не соответствует ничего. Например
в дистанционках
JVC использован этот стандарт с сильными отклонениями (расхождения
по
длительностям, Toggle bits никогда не меняются, адресных битов
6,
а командных 8 вместо 4 и 6 соответственно).
Используется JVC.
|
SONY / Panasonic |
Модуляция Pulse-length. Сначала идут младшие биты,
потом старшие.
В начале посылки есть длинный стартовый импульс. До 20 бит
данных.
|
В плагинах DCD и sndRemote
при декодировании сигнала получается 28-битный идентификатор
вида 0FAAAACC, где F - флаг определяющий модуляцию, A - адрес,
C - команда.
Исключение составляет SONY, где 24 младших бита определяют просто
код команды.
|
AverMedia TVPhone98 w/VCR
JVC HR-J727MS
SAMSUNG CK-6202WTR
SONY RM-SR130
SONY RM-836
CREATIVE RM-900
Pioneer CU-PD046 (CD Player Pioneer PD-203)
TV Tuner Tekram M205
|