. Trimax – кодирование и декодирование ИК-команд
Trimax – кодирование и декодирование ИК-команд

Trimax – кодирование и декодирование ИК-команд

Первое, что надо понять назначение кнопок клавиш пульта, а также, что за кодирование реализовано в ИК- пульте. Для назначения клавиш обратимся к описанию, а для взлома кодирования воспользуемся старым и добрым Saleae Logic.Для тех кто связан модернизацией и управлением ресиверов Trimax часто возникают вопросы по синтезу или декодированию команд инфракрасного пульта, а так-же создания устройств по управлению ресиверами по одно проводной шине. В этой статье приведен пример создания как приемника так и передатчика, а также управление TV-тюнером на PIC-микроконтроллере.

Назначение кнопок пульта

Клавиша Основное назначение Код ИК последовательности Включение – Выключение 10000000101111110011101111000100 Режим MUTE 10000000101111110011100111000110 Выбор номера канала непосредственным вводом 10000000101111110100100110110110 *** 10000000101111110010001111011100 Переключение с приема телевидения на прием радиостанций 10000000101111111001101101100100 Возврат на предыдущий канал 10000000101111110100000110111110 Отображение меню управления на экране 10000000101111111010100101010110 Возврат в предыдущее меню или выход из меню управления 10000000101111111010001101011100 Переход до следующей программы или меню управления 10000000101111110100101110110100 Переход до предыдущей программы или меню управления 10000000101111110100101110110100 Регулировка громкости уменьшение или переход по меню влево 10000000101111111001100101100110 Регулировка громкости увеличение или переход по меню вправо 10000000101111111000001101111100 Вызов списка программ или активация выбранного пункта меню 10000000101111110111001110001100 Вызов функции программного гида 10000000101111110101101110100100 Информация о выбранном канале 10000000101111110001000111101110 Отображение окна поиска 10000000101111110110100110010110 Переход в режим теле текста 10000000101111110100001110111100 Управление субтитрами 10000000101111111100001100111100 Отображение окна ЗВУК 10000000101111110010000111011110 Перелистывать список вверх 10000000101111111011101101000100 Перелистывать список вниз 10000000101111110011000111001110 Отображение списка избранных групп 10000000101111110110101110010100 Перемотка назад 10000000101111111100000100111110 Перемотка в перед 10000000101111111110001100011100 Нет функций 10000000101111111010000001011111 Пауза/воспроизведение 10000000101111110100000010111000 Остановить воспроизведение 10000000101111111100000000111111

Более подробно можно ознакомиться с функциями пульта по описанию на модель TR-2012HD [wpdm_file >

Последовательности формируемые ИК-пультом.

Последовательность передачи команд управления классическая. Она команда за которой передаются комода авто повтора. Сама команда начинается со стандартной преамбулы, за которой следует 32 бита данных (4 байта данных). Заканчивается стробом.

Декодирование ИК-команд

Кодирование бит широтное (сканы кодов представлены с выхода ИК приемника). Параметры длительностей для формирования данных сведены в таблицу, синхронизация для декодирования берется от отрицательного фронта.

Для команды Назначение бита Длительность Преамбула 13.409 ms Длительность бита 0 1.120 ms Длительность бита 1 2.232 ms Для авто повтора Преамбула 11.174 ms

Частота модуляции несущей 38 кГц (но можно использовать и 36 если приемник другого типа).

Для декодирования можно использовать CCP модуль в режиме захвата. Настройка (для 16 серии PIc-контроллеров)

Данные будут поступать на вход модуля CCP4, это RB0 в контроллерах типа PIC16F1936. Переменную для приема байт можно выбрать 8-16-32 бита. Если вы выберите unsigned long bait01;, то получите данные о полной команде, если меньше то соответственно только младшие байты. Для многих приложений достаточно 16 байт.

Сама функция декодирования происходит через прерывание от CCP модуля

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

Более подробно можно ознакомится скачав проект по декодированию кодов пульта Trimax.

Коды IR- пульта для автомобильных магнитол. Длительность команды 32 бита.

Клавиша >Функция Код (десятичный) Примечание ВКЛ/ВЫКЛ 501 43455 Квадрат 501 39885 В конец 501 60285 MODE Режим 501 80175 BAND Диапазон 501 88845 Стрелка вверх 501 90375 TITLE 501 66405 SUB-T 501 39375 Стрелка влево 501 52125 ENTER 501 84765 Стрелка вправо 501 96495 SETAP 501 65895 PBC 501 82215 Стрелка вниз 501 49575 ANGLE 501 41415 SLOW 501 78135 1 501 61815 2 501 94455 3 501 43655 4 501 56205 5 501 55695 6 501 69975 7 501 76095 8 501 76605 9 501 47535 0 501 88335 10+ 501 97005 GOTO 501 51615 APS 501 72525 ST 501 67935 VOL+ 501 99045 ZOOM 501 82725 LOC 501 78645 SEEK- 501 57735 SEL 501 48045 SEEK+ 501 72015 MUTE 501 62325 CLK 501 94965 VOL- 501 80685 AUDIO 501 43965

Эмуляция передатчика ИК-команд.

Передача это обратный процесс декодирования.

Для передачи необходимо также использовать модуль CCP в режиме ШИМ. Его назначение формирование несущей для ИК сигнала. В зависимости от используемого приемника необходимо выбирать 36 или 38 кГц. Хотя из практики приемники на 36 кГц нормально работают на умеренные расстояния и 38 кГц несущей. Но если необходимо уверенный прием или дальность то рекомендую использовать несущую которую использует преемник. Если корректно выбрано несущая, то при 25% наполненности несущей и согласовании приемника можно уверенно покрывать расстояния до 60 метров.

📎📎📎📎📎📎📎📎📎📎