Данный материал был напечатан в далёком октябрьском номере журнала Mediasat за 2009 год, но мы приняли решение опубликовать его и в интернете. Ведь данная статья представляет собой практическую ценность, которой порой так не хватает в нашем обществе теоретиков.
Это первая часть статьи, в которой автор Александр Данилин описывает процесс переделки антенного коммутатора с поддержкой протокола управления «DISEqC 1.0» в коммутатор с поддержкой протокола управления «DISEqC 1.1». Особое внимание уделено процессу загрузки программы для микроконтроллера, являющегося основой коммутатора.
Лирическое вступление
В далеком 2005 году один из моих знакомых сказал, что хочет подключить к своему ресиверу дополнительно еще четыре конвертора. Но стандартный антенный коммутатор — DISEqC имеет только четыре входа. Если использовать «вольт-свитч» (его также часто называют переключатель «0\12 Вольт»), то к ресиверу можно подключить еще четыре конвертора. Но для управления таким переключателем необходимо использовать дополнительный кабель и не все ресиверы имеют выход «0\12В». Также он сообщил, что существуют «специальные» DISEqC , которые можно подключать каскадом, что позволяет подключить к ресиверу 16 и более конверторов. Главной проблемой было то, что приобрести эти «специальные» DISEqC-коммутаторы было практически невозможно!
Не забываем, что все это происходило в 2005 году. Из разговора со «знающими людьми» было выяснено, что имеются несколько версий DISEqC. Имеющиеся у нас DISEqC управляются командами протокола 1.0, что и указано на корпусе коммутатора. На «специальных» коммутаторах имеется надпись «DISEqC 1.1». И я решил разобраться, чем отличаются те «специальные» DISEqC 1.1 от «обычных» DISEqC 1.0?
Справка MS:
Микроконтроллер — это компьютер в одной микросхеме. В МК имеются: процессор для производства вычислений, кратковременная память для хранения результатов вычислений, долговременная память для хранения программы управления, таймеры, счетчики, порты и другие модули.
Порты — это своеобразные окна во внешнюю среду в виде выводов на корпусе МК. Изменяя загруженное в порт значение, мы изменяем потенциалы на одном или нескольких выводах.
Схемотехника DISEqC 1.0 на четыре входа
Я разобрал несколько неисправных коммутаторов DISEqC 1.0 и нарисовал их схемы. С технической точки зрения в них нет ничего сложного: принятый от ресивера сигнал управления (пачки импульсов с частотой заполнения 22 Кгц) усиливается и поступает на вход микроконтроллера (далее МК). МК расшифровывает принятые данные и включает необходимый вход DISEqC, отключив все остальные входы от ресивера.
Желательно ознакомиться с типовой схемой DISEqC на четыре входа. В схемах конкретного изделия могут быть небольшие изменения, но общий принцип у всех одинаков. Принципиальная электрическая схема этого коммутатора показана на рис. 1.
Работа DISEqC 1.0
Переданные спутниковым ресивером сигналы управления усиливаются транзистором VT1, после чего поступают для анализа в микроконтроллер, который и является мозгом всей конструкции. Получив команду на включение определенного конвертора к ресиверу, на выходах МК формируются необходимые сигналы управления для схем коммутации конверторами.
Примечание
Будем считать, что МК получил команду на подключение первого конвертера к спутниковому ресиверу.
Сигналы управления схемами коммутации конверторов (1-4) поступают на входы транзисторных ключей, выполненных на VT2` и VT3`. В зависимости от напряжения на выходах МК (Out) происходит или подача питания на соответствующий конвертор, или отключение питания от конвертора.
После подачи питания на конвертор, высокочастотный сигнал его гетеродина проходит через диоды VD2, VD7 и конденсатор С1, после чего поступает на вход ресивера.
Необходимое для работы МК напряжение питания формируется на резисторе R1, после чего фильтруется на конденсаторах С4С5 и ограничивается до 5 Вольт стабилитроном VD1. Обратите внимание: сопротивление резистора R1 в разных коммутаторах может быть разным, от 300 Ом до 1 кОм.
Сигнал 22 Кгц также используется для управления режимами работы конвертора — переключения гетеродинов верхнего и нижнего диапазонов. Этот сигнал поступает в конвертор по цепям питания выбранного конвертора, минуя фильтр, выполненный на L1C1, после чего поступают через открытый переход транзистора VT2 и ВЧ-фильтр L.
Важно!
Для улучшения работы DISEqC желательно уменьшить сопротивление резистора R4 с 22 кОм до 4,7—5,6 кОм. Если вам интересно, для чего это делается, то милости просим на форум www.sat-expert.com
Проблемы чрезмерной экономии
В последнее время производители коммутаторов начали экономить на всем: не устанавливать электролитический конденсатор в цепи питания МК, «забывать» впаивать PIN-диоды (на схеме показаны как VD7 и VD8). Всё это приводит к сбоям в работе или полной неработоспособности DISEqC , особенно при использовании длинного кабеля снижения (также часто не очень хорошего качества).
Эксперименты
Было понятно, что необходимо использовать свой МК, с загруженной в него новой программой, которая бы обрабатывала протокол управления DISEqC 1.1.
В те годы я как раз начинал интересоваться микроконтроллерами и методами создания программ для них. Поэтому решил делать свой коммутатор или хотя бы написать программу для другого МК, и установить новый МК взамен имеющегося в DISEqC 1.0.
Доступа к скоростному интернету в то время не было, как и не было никакой информации о методах управления спутниковым оборудованием: DISEqC-ами и мотоподвесами. Для получения необходимой информации о протоколе управления был изготовлен простой адаптер, при помощи которого DISEqC был подключен к компьютеру. Изменяя в ресивере значение порта коммутатора, я смог расшифровать протокол управления.
Особенности ПО спутниковых ресиверов
Имея эти данные, я изготовил «DISEqC-сканер», давший возможность «посмотреть» сигналы, выдаваемые ресивером в кабель снижения: достаточно было подключить «сканер» к COM порту компьютера и запустить терминальную программу. Увиденное иногда было не очень приятно: в программном обеспечении ресиверов имелись недоработки, из-за которых в передаваемых к DISEqC командах имелись грубые ошибки или передаваемая команда имела отклонения от стандарта DISEqC-протокола. Самыми распространенными нарушениями были: несоблюдение длительности «пачек» посылок 22 Кгц, наличие «лишних» импульсов или пауз, отклонение частоты 22 Кгц более чем на 30 процентов. Все это создавало ситуацию, при которой DISEqC не мог правильно принять переданные ресивером команды, следовательно, и переключения конверторов не происходило. В некоторых версиях «прошивок» ресиверов известных компаний (специально не указываю их названий во избежание каких-либо претензий с их стороны ко мне) команды в протоколе «DISEqC» вообще не передавались, либо передавались какие-то случайные посылки и импульсы..
Программа для нового DISEqC
Имея все необходимые данные, я начал разрабатывать программу, которая позволила бы коммутатору принимать и выполнять команды протокола DISEqC 1.1. Программное обеспечение нового МК измеряло длительность посылок сигналов, выданных спутниковым ресивером, полученные данные анализировались, после чего выполнялись действия по подключению необходимого конвертора к ресиверу.
Свой коммутатор я не изготавливал, а заменил имеющийся в DISEqC МК на новый с моей программой. Так было изготовлено около двух десятков коммутаторов. Часть из них были установлены клиентам, желающих принимать больше четырех спутников (в то время не было ни «ТриколорТВ», ни «Орион-Экспресс»).
Мой первый самодельный
коммутатор DISEqC 1.1
Первый DISEqC 1.1 был сделан несколько позже. В нем использовался другая модель МК, но электронные компоненты были от типовых коммутаторов на четыре входа — я просто совместил несколько DISEqC в одном устройстве. Это был DISEqC с возможностью подключения до 14 конверторов. Его описание было помещено на личный сайт и опубликовано в журнале «Современная электроника».
Вперед в прошлое!
В конце 2007 году я удалил из сайта описание самодельного DISEqC коммутатора, так как считал эту конструкцию не соответствующей реалиям современного прогресса — в продаже уже имелись различные DISEqC на 6, 8 и 10 входов, что вполне достаточно для неискушенного любителя спутникового телеприема. Да и цены на такие изделия значительно снизились.
Каково же было удивление, когда я начал получать письма с просьбами восстановить на сайте информацию по изготовлению и переделке коммутаторов! Как оказалось, во многих далеких городах и селах приобретение DISEqC 1.1 на четыре и более входов — большая проблема. Многие любители спутникового приема знакомы с электроникой, поэтому некоторые из них хотели бы переделать свой DISEqC 1.0 в DISEqC 1.1.
Чуть позднее на сайте www.sat-expert.com, в разделе «Сделай сам», я случайно прочитал о желании некоторых пользователей самостоятельно изготовить DISEqC 1.1. После весьма горячих споров (которые, к сожалению, позднее были удалены модераторами) был выбран микроконтроллер PIC16F84A компании «Microchip».
Выбор на данную модель МК пал неслучайно:
- во-первых, данный МК в свое время был фаворитом многих поделок. Соответственно, данный МК многие могли использовать в прошлом и могут его иметь в наличии;
- во-вторых, многие любители спутникового телеприема со стажем имеют программаторы для этой модели МК, так как, в свое время на основе этой модели МК изготавливались всевозможные «блокираторы» и карты для «взлома» закодированных теле и радиоканалов.
Проще всего в домашних условиях переделать типовой DISEqC 1.0 с четырьмя входами. Для этого достаточно выпаять из коммутатора микроконтроллер (единственная микросхема) и аккуратно подпаять к необходимым контактным площадкам выводы другого МК с новой программой. Все это проделывается без каких-либо проблем при помощи маломощного паяльника с тонким жалом, пинцета, острого ножа или скальпеля.
Примечание
Полный адрес темы, в которой обсуждается изготовление и переделка коммутаторов DISEqC:
http://forum.sat-expert.com/sdelai-sam/13429-dorabotka-diseq-kommutatora-2.html
В этой теме вы можете задать вопросы по переделке коммутаторов. На форуме много увлеченных специалистов своего дела и вы всегда получите ответ на интересующие вас вопросы.
Загрузка программы в микроконтроллер
Как говорилось выше, микроконтроллер — это специализированный компьютер, выполняющий программу, которую необходимо загрузить в долговременную память МК (ПЗУ) при помощи специального устройства — программатора. Если вы имеете программатор, поддерживающий МК PIC16F84A, то используйте его. Если же такого программатора нет, то его можно изготовить по приведенной ниже схеме (рис. 2). Программатор прост и надежен в работе. Автор данного программатора и программы управления для него — Владимир Сосо (Vladimir Soso).
Обращаю внимание: программатор подключается к LPT порту компьютера. Поэтому ваш компьютер должен иметь такой разъем. Данный программатор успешно работает как на компьютерах под управлением операционной системы (ОС) Windows 98, так и ОС Windows XP.
Для работы с данным программатором необходимо загрузить компактную программу управления. Сделать это можно, пройдя по следующей ссылке: http://www.oshonsoft.com/picprog.html
Если необходимо загрузить программу в один-два микроконтроллера, то можно собрать программатор на макетной плате, благо в этом программаторе всего несколько деталей. Проблемы с поиском комплектующих возникнуть не должны — все компоненты широко распространены и их можно заменить другими, с аналогичными параметрами. Особо необходимо подчеркнуть: в процессе загрузки программы в память МК напряжение 13 Вольт должно быть стабильным.
Из личного опыта
Лично я поленился изготавливать отдельный блок питания для программатора: в качестве такового был использован блок питания компьютера. Благо на четырех контактных разъемах, подключаемых к CD-ROM и жестким дискам, имеется и 5 Вольт (красный провод), и 12 Вольт (желтый провод). Два черных провода в центре этого разъема — «минус». Хотя в процессе программирования МК вместо 13,2 Вольта подавалось 11,7 Вольт, проблем с сохранением данных в память МК замечено не было. Возможно, в других случаях для уверенной загрузки программы в МК потребуется именно 13,2 Вольт, как и указано в документации к данной модели микроконтроллера.