Анализатор инфракрасных сигналов пульта дистанционного управления

Схема анализатора инфракрасных сигналов пульта дистанционного управления показана на рис. 1. В нем установлен приемопередатчик ИК сигналов TFDU4100(B1),предназначенный для связи компьютера с внешними устройствами по интерфейсу IrDA. Его передающую часть "IR-master" не использует. Приемная часть имеет высокую чувствительность, оснащена компенсатором внешней засветки фотоприемника и системой АРУ. Высокий логический уровень на выходе RXD соответствует отсутствию ИК излучения, а низкий — его наличию. Этот выход соединен с входами ССР1 и ССР2 МК PIC16F876, они сконфигурированы так, что реагируют соответственно на спадающие и нарастающие перепады импульсов. Программа МК написана на языке ассемблера и откомпилирована в среде разработки MPLAB IDEv7.41.

Вывод информации производится на графический ЖКИ МТ-12864А разрешением 128x64 пкс. Этот индикатор не содержит встроенного знакогенератора, символы на его экране МК формирует программно. Супервизор DD1 привключении питания вырабатывает импульс установки МК в исходное состояние, после чего МК, согласно программе, инициализирует ЖКИ.

Кнопки SB 1—SB5 служат для управления прибором. МК опрашивает их по прерываниям от таймера TMR0 каждые 13 мс. Дребезг контактов подавляется программно. Предусмотрен "автоповтор" нажатий. Если удерживать кнопку нажатой, то через 1 с программа начинает каждые 143 мс повторно выполнять операцию, соответствующую этой кнопке. Программа измеряет длительность принимаемых ИК импульсов и пауз между ними, фиксируя текущее состояние 16-разрядного таймера TMR1 в моменты, соответствующие перепадам принимаемого сигнала. Если промежутки времени между перепадами одного направления находятся в интервале 17...51 мкс. считается, что идет прием импульсов поднесущей частоты сигнала. Интервалы между перепадами суммируются. В дальнейшем их сумма используется для вычисления значения поднесущей частоты принятого сигнала. В случае приема более 16 перепадов с периодом повторения менее 17 мкс программа приема устанавливает признак слишком высокой частоты поднесущей.

Схема прибор для ремонта ПДУ

При отображении принятого сигнала о факте установки признака высокой частоты поднесущей известит соответствующее сообщение на ЖКИ. Как правило, частоту поднесущей в пределах 20...58 кГц программа измеряет правильно. Если сообщение о слишком высокой частоте все-таки появилось, можно попробовать подобрать расстояние от источника сигнала до приемника, устранить все посторонние источники ИК излучения. Если частоту вычислить не удалось (для этого требуется не менее 64 импульсов поднесущей), об этом на ЖКИ тоже будет выведено сообщение.

Если интервал времени между перепадами превысил 51 мкс, считается, что завершилась пачка импульсов поднесущей, соответствующая одному импульсу кодовой последовательности. Информация о времени начала и окончания каждой пачки сохраняется в программном буфере, занимающем в ОЗУ МК 312 байт из 368 имеющихся. Для каждого отсчета времени требуются три байта — в два младших записывается состояние 16-разрядного таймера, к ним добавляется старший байт счетчика времени, формируемый программно. Таким образом, информация о каждой пачке (кодовом импульсе). После подачи нажатием на кнопку) занимает шесть байтов (три — начало и три конец), а всего в буфере умещаются 312/6 = 52 импульса.

После подачи нажатием на кнопку SB5 команды "Захват" запись информации в буфер начинается с первого зафиксированного МК спадающего перепада импульса. Таймер TMR1 и регистр МК, образующие 24-разрядный счетчик времени, в этот момент обнуляются. Процесс записи могут остановить заполнение буфера (принято 52 кодовых импульса) или переполнение счетчика времени, которое произойдет через 224-0,2 = 3355443,2 мкс. До фактического начала записи (приема первого ИК импульса) ее можно отменить, нажав на кнопку SB2.

Чтобы иметь возможность наблюдать кодовые последовательности с числом импульсов более 52, предусмотрена возможность пропуска первых N импульсов, причем значение N можно задавать от 0 до 255. В любом случае продолжительность серии импульсов (включая пропускаемые) не должна превышать указанного ранее числа микросекунд.

При включении питания прибора буфер в памяти его МК пуст. На ЖКИ выводится показанное на рис. 2 сообщение. С помощью кнопок SB3 и SB4 стрелку-курсор перемещают по разрядам вводимого числа, а нажатиями на кнопки SB1 и SB2 устанавливают в выбранных разрядах нужные цифры. Теперь можно нажать на кнопку SB5, а за ней на одну из кнопок исследуемого пульта ДУ При корректном завершении приема на ЖКИ появятся осциллограмма принятого сигнвла и сведения о нем. В противном случае программа вернется к вводу числа пропускаемых импульсов, если буфер пуст, или выведет на ЖКИ ранее записанный сигнал с сообщением о причине прекращения записи.

Вид экрана ЖКИ прибора при отображении принятого сигнала показан на рис. 3. Экран условно разделен на три зоны. В зоне меню пять пунктов-строк, перемещение по которым происходит нажатиями на кнопки SB1 и SB2. В зоне информации выводятся сведения об измеренных параметрах записанного сигнала соответственно выбранному пункту меню. Первая строка со значением частоты поднесущей присутствует в любом случае. И последняя зона — осциллограмма записанного сигнала, здесь же указаны времена начала и окончания видимого на ЖКИ участка кривой в микросекундах.

Вид экрана Анализатора инфракрасных сигналов пульта дистанционного управления

Обозначенный символом В первый пункт меню — установка масштаба осциллограммы по оси времени. Число здесь показывает, скольким микросекундам соответствует один элемент изображения (пиксел) осциллограммы. Нажимая на кнопки SB3 и SB4, можно выбрать следующие фиксированные значения: 1,4, 8,10, 20,40, 80,100, 200, 400, 800, 1 000, 2 000, 4 000, 8 000, 10 000 мкс/пкс. Если выбор очередного большего значения приведет к тому, что отображаемый на экране интервал времени превысит продолжительность записанного сигнала, нажатие на кнопку SB4 прибор проигнорирует.

Второй пункт меню - установив напротив нее курсор, можно с помощью кнопок SB3 и SB4 сдвигать осциллограмму по оси времени влево или вправо шагами по 10 пкс. При выборе первых двух пунктов меню в информационной зоне выводятся число записанных в буфер кодовых импульсов Nc, продолжительность записи Т0 и причина ее окончания — "по времени" в случае переполнения 24-разрядного программного счетчика времени или "по количеству", если в буфер записаны 52 импульса. В последней строке информационной зоны сообщается об отмене записи нажатием на кнопку SB2 или о слишком высокой частоте поднесущей.

Анализатор инфракрасных сигналов пульта дистанционного управления

Третий пункт меню — измерение параметров отдельных импульсов. Он отмечен символом ⌋⌊, за которым указан номер исследуемого импульса с учетом числа пропущенных (если пропуск был задан). На осциллограмме интервал измерения выделяется утолщенной линией. Перемещение от импульса к импульсу ведется с помощью кнопок SB3 и SB4. Программа стремится расположить осциллограмму на экране так, чтобы выбранный импульс был виден полностью. Если установленный масштаб не позволяет этого сделать, изображение начнется с фронта импульса. В информационной зоне выводятся время начала импульса Тн, суммарная длительность импульса и следующей за ним паузы Т?, длительность импульса Т?1 и длительность паузы Т?0.

Оставшиеся два пункта меню отвечают за измерение продолжительности серии импульсов. В четвертом пункте нажатиями на кнопки SB3 и SB4 выбирают перепад сигнала, начинающий серию, а в пятом — завершающий ее. Кроме номеров соответствующих импульсов, выводятся символы ↑, если отсчет начинается или заканчивается на фронте импульса, или ↓, если на его спаде. В информационной зоне выводятся время начала серии Тн, время ее окончания Тк и продолжительность Т?.

Сведения о способах кодирования команд, подаваемых с помощью ИК пультов ДУ бытовыми приборами (на английском языке), можно найти на интернет-страницах. Наиболее распространены два способа: бифазный (БФ) и широтно-импульсный (ШИ). В БФ последовательности импульсов информация зашифрована направлением перепада уровня в середине каждого тактового интервала постоянной длительности. Вид экрана ЖКИ прибора после приема такой последовательности показан на рис. 4. Ниже экрана — расшифровка принятого сигнала. ШИ последовательность несет информацию в длительности каждой пары импульс+пауза.

Вид сигнала. Анализатор инфракрасных сигналов пульта дистанционного управления

На рис. 5 показано, как выглядит экран ЖКИ после приема такого сигнала и его расшифровка.

Чтобы запустить процедуру декодирования записанного сигнала, необходимо выделить нужную часть осциллограммы и, установив курсор на самый нижний пункт меню, нажать на кнопку SB2 еще раз. Первой делается попытка БФ декодирования, и на экране появляется сообщение "БФ код N=". При ее успешном выполнении после знака равенства будет выведено число декодированных импульсов, а в следующей строке — шестнадцатеричное значение результата с выравниванием в сторону младших разрядов. Например, если декодировано шесть двоичных разрядов, а результат — 1В, фактическое двоичное значение кода — 011101 (два старших разряда отброшены).

Как известно, в БФ последовательности длительность импульсов и пауз может принимать только два значения, находящихся в соотношении 1:2. Если погрешность выполнения этого условия в анализируемом сигнале превышает 25 %, декодирование выполнено не будет, а в информационной зоне появится сообщение "БФ код ошибка длительности".
Так как длина строки в информационной зоне всего 13 символов, длину декодируемой команды пришлось ограничить до 52 двоичных разрядов.

Превышение этого лимита приведет к выводу сообщения "БФ код N>52", а вместо результата будет написано "переполнение". Если в кодовой последовательности найдена ошибка, выводится сообщение "БФ код ошибка в коде".

По завершении попытки декодирования выделенной последовательности импульсов как бифазной, программа пытается декодировать ее как ШИ последовательность. Она должна начинаться и заканчиваться фронтами импульсов и состоять из пар импульс+пауза только двух разных значений суммарной длительности. Если эти условия не выполнены, в информационной зоне ниже строк, отведенных БФ декодированию, выводится сообщение "ШИ код ошибка". Если требования соблюдены, после надписи "ШИ код N= " будет выведено число декодированных разрядов, а в следующей (пятой) строке — шестнадцатеричный результат.

При БФ декодировании считается, что лог. 1 соответствует фронт импульса в середине тактового интервала, а лог. 0 — спад. В ШИ последовательности пара импульс+пауза большей длительности — лог. 1, меньшей — лог. 0. Нажав еще раз на кнопку SB2, можно проинвертировать результат, выведенный на ЖКИ. Признаком инверсии будет символ "∼" перед буквой N в строках, сообщающих о длине кода. При курсоре, находящемся в нижнем пункте меню, последовательные нажатия на кнопку SB2 приводят к смене информации на ЖКИ в следующем порядке: временные параметры серии импульсов → результаты декодирования без инверсии → те же результаты с инверсией → вновь временные параметры и далее по кругу.

Чтобы записать новый сигнал, необходимо нажать на кнопку SB5, после чего программа выведет на ЖКИ запрос числа пропускаемых импульсов.

"IR-master" собран на печатной плате, вид которой со стороны печатных проводников и расположение на этой стороне элементов для поверхностного монтажа (приемопередатчика В1, постоянных резисторов и конденсаторов типоразмера 0805) изображены на рис. 6. Микросхемы, кварцевый резонатор, подстроечный резистор R8 и питания Х2 установлены с противоположной стороны платы, как показано на рис. 7. Здесь же указаны точки подключения ЖКИ HG1, разъема Х1 для внутрисхемного программирования и кнопок SB1—SB5. Эти детали закреплены на корпусе прибора.

Печатная плата. Анализатор инфракрасных сигналов пульта дистанционного управленияРасположение элементов. Анализатор инфракрасных сигналов пульта дистанционного управления

Вместо МК PIC16F876 можно использовать PIC16F876A или PIC16C76. Необходимо лишь перед программированием задать такие значения разрядов слова конфигурации МК, чтобы были включены только Power-up Timer, Brown-out Reset и HS oscillator. К супервизору питания особых требований не предъявляется. С учетом необходимой переделки печатной платы можно применить любой с низким уровнем на выходе при чрезмерном понижении напряжения питания. Длительность его выходного импульса должна быть не менее 1 мкс при длительности перепадов не более 0,2 мкс.

Чтобы запрограммировать установ-ленный в приборе МК, не извлекая его удаляют перемычку S1, а к разъему Х1 подключают программатор, например, MPLAB-ICD2 или его отечественный аналог MICD2 МС1. По завершении программирования необходимо выключить питание, отсоединить программатор и установить перемычку на место.

Для питания прибора необходим стабилизированный источник напряжения 5 В ± 5 % при токе нагрузки 200 мА. Если предполагается использовать автономное питание, подсветку ЖКИ лучше сделать отключаемой, без нее прибор потребляет всего 35 мА.

При отсутствии приемопередатчика TFDU4100 можно без изменения печатной платы применить его усовершенствованный аналог TFDU4101. Подойдут также TFDS4500 или TFDT4500, но под них плату придется откорректировать. В крайнем случае по схеме, показанной на рис. 8, можно изготовить приемник ПК сигналов из любого ИК фотодиода и микросхемы ТВА2800 или ее аналога КС1054ХАЗ. На печатной плате прибора предусмотрены контактные площадки для подключения такого приемника.

Ремонт пультов для ТВ

    Немного о недостатках. В частности, даже с помощью резистора R1, уменьшающего чувствительность, минимальное расстояние от исследуемого пульта до фотодиода VD1, при котором не наблюдается перегрузки и искажений сигнала, не удается сделать меньше 20 см. Наличие разделительных конденсаторов приводит к искажению формы импульсов. Этот приемник очень чувствителен к засветкам фотодиода, поэтому следует избегать попадания на него даже неяркого постороннего света