Главная Проекты Идеи Soft О авторе
 

Модульный проект GraniCubicle.
Блок 7 для 'DISEqC'.

Рис. 1 Внешний вид блока.
Увеличить

План.

       1) Вступление.
       2) Описание протокола DISEqC.

Описание блоков.

       A) Общее описание. - тут.
       Б) Блок 1 для 'RS 232'. - тут.
       В) Блок 2 для 'IR'. - В разработке.
       Г) Блок 3 для 'LCD'. - В разработке.
       Д) Блок 4 для 'PS/2'. - тут.
       Е) Блок 5 для 'USB HID'. - тут.
       Ж) Блок 6 для 'DAC/ADC'. - В разработке.
       З) Блок 7 для 'DISEqC'. - Эта страница.
       И) Блок 8 для 'Print Server'. - тут.
       К) Блок 9 для 'Lan Bridge'. - тут.

Соединение блоков в набор.

       А) Набор "Panorama Sat Scaner". - тут.

       X) Обратная связь - тут.

Вступление.

       Аббревиатура DiSEqC образована от слов Digital Satellite Equipment Control - цифровое управление спутниковым оборудованием. Технология разработана компанией Eutelsat - европейским международным оператором спутниковой связи.
       Для управления по DiSEqC не требуется никаких дополнительных кабелей и проводов. В качестве линии для передачи сигналов управления используется тот же коаксиальный кабель, по которому к ресиверу доставляется радиочастотный сигнал от спутниковой антенны (нескольких антенн) и уходит питание 13/18 В конверторов (головок) этих антенн.
       Компания Eutelsat выпускает также специальный комплект "DiSEqC Test Tool", который выполняет функции DiSEqC<=>RS232 монитора и передатчика команд.
       Зная формат и команды протокола DiSEqC можно, опираясь на свои нужды, разработать аналогичный модуль, позволяющий взаимодействовать с SAT оборудованием.
       Для моих конструкций были необходимы следующие функции:

1) Возможность мониторить команды мастера, передаваемые по шине транзитом через мой модуль.
2) Переключать шину на питание от внутреннего источника 13/18 В (током 0,3 А, P не менее 7 Вт) и отправлять свои команды в обход пилоттона мастера, отправляя мастеру высокочастотную составляющую сигнала.
3) Генерация Широтно-Импульсной посылки тоном в 22 кГц.
4) Электронная защита от короткого замыкания при питании от внутреннего источника 13/18.
5) Управление и мониторинг по RS232 и исполнение команд от ведущего на шине I2C.
6) Автономная отправка команд переключения для тестирования DiSEqC переключателей.
7) Выбор диапазона и поляризацию по командам от ведущего на шине I2C.

       Для управления этими функциями и стыковки с шиной I2C на аппаратном уровне, мной был выбран процессор ATMega48 и написана под него прошивка.
       Также в связи с наличием места в корпусе устройства в нём были размещены:

1) Аналоговый индикатор "столбик" на основе АЦП LM3914,
     отображающий информацию как на светодиоды, так и на ЖК
     элементы (управление из другова внешнего блока).
2) Импульсный блок питания (на +26) аналогового тюнера.
3) Аналоговый тюнер на микросхеме TSA5059, управляемой по шине I2C.

Рис 2. Аналоговый индикатор отображает сигнал в 60% "качества".

       Слово "качество" дано в кавычках, т.к. в цифровых ресиверах под "качеством" понимается количество ошибок в потоке. Чем больше ошибок, тем хуже качество... В моей конструкции это уровень размаха полезного сигнала. А аналог термину "уровню сигнала", применяемому в цифровых ресиверах, служит уровень сигнала АРУ.

Принципиальные схемы Блока 7 для 'DISEqC'.
Все схемы одним файлом.

       Блок питания 13/18В и блок питания 28В были собраны на основе микросхем ШИМ регуляторов MS34063A, а их настройка (выбор нужного напряжения) сделана на оптопаре PC817. Защита от КЗ реализована в два этапа. Токоограничительный резистор обратной связи подобран так, что ограничивает максимальный ток потребляемый по 5 вольтовой шине и неможет превысить 1,5А (при 24В выхода ток получится I=0.8*1.5*5/24=0.25А). При превышении допустимого тока на выходе, напряжение на детектирующем сопротивлении (значение которого 12 ом) DiSEqC команд возврастает. При этом оптопара PC817 срабатывает и притягивает к нулю ножку МК. Который, в свою очередь, отключает питание схемы.
       Аналоговую часть детектирования команд DiSEqC вместе с металлическим экраном/корпусом я позаимствовал из испорченного DiSEqC переключателя. Модуль аналогового тюнера на микросхеме TSA5059, был выпаян из аналового ресивера Panda. ЖК элементы в девичестве были мигающими брелками для сотовых телефонов. А всё вышеперечисленное было уложено в корпус, от отслужившей свой срок и отправленной в утиль, 8 битной приставки типа Dendy и "надёжно" закреплено термоклеем.

Демонстрационная прошивка для тестов.
Как работать с программатором под управлением PonyProg. - тут.
А как с USB программатором 'AvrUsb500 by Petka' - тут.

       Вы наверно спросите: 'Почему прошивка демонстрационная'?
       Отвечаю - просто для каждого применения блока нужна своя прошивка. И эти прошивки я буду публиковать вместе с описа- нием наборов (имеющиеся описания наборов вынесены в шапку).
       Блок 7 для 'DISEqC' с тестовой прошивкой можно использовать для автономной проверки DISEqC переключателей - при нажатии кнопки система включает питание и начинает по кругу гонять команды переключения.

Описание протокола DISEqC.

       DiSEqC имеет статус "открытого стандарта". Производители оборудования сами вольны определять, следовать им стандарту или нет. Кроме того, производители могут сами решать, какому уровню DiSEqC соответствует производимое ими оборудование и размещать на нем логотип и обозначение этого уровня.
       Со стороны универсальных конверторов разница в питании 13/18 В стандартно используется для выбора поляризации, а в некоторых полнодиапазонных конверторах - для переключения диапазонов, а сигнал 22 кГц с амплитудой 0.65 В управляет переключением диапазонов.
       Протокол DiSEqC для передачи цифровых сообщений (для формирования логических нулей и единиц) использует Широтно-Импульсная Модуляция (Pulse Width Keying) основного тона в 22 кГц. Для логической "1" определено 22 цикла тона, для 20" - 11 циклов или- по другому - длительность в 1000µS (± 100µS) - для логической "1" и 500µS (± 100µs) - для "0" (если всю активную часть передачи - 1500µS принять за единицу - то лог. "1" - 2/3 этой единицы, "0" - 1/3). Пауза между отдельными битами - не менее 6 mS.

Рис 3. Последовательность посылки DiSEqC.

       Сообщение DiSEqC передается в следующей последова- тельности: если на момент передачи в кабеле присутствует тон 22 кГц, он прекращается, затем, если одновременно с подачей команды DiSEqC подается команда 13/18 В, изменяется напряжение и выдерживается пауза (5 мс). После этого команда DiSEqC передается слитно, без промежутков между байтами данных и контрольными битами, и снова выдерживается пауза в 15 мс. Потом передается команда Tone Burst, и только затем, если нужно, возобновляется непрерывный тон 22 кГц.
       Теперь рассмотрим организацию этих сообщений в зависимости от класса DiSEqC.
Обозначение стандарта DiSEqC X.YY состоит из двух цифр через точку. Первая цифра обозначает класс. На данный момент используются 1 - Данные по шине могут двигаться только в одном направлении и 2 - допускает ответ от ведомого устройства о его состоянии (Стандарт определяет только одно ведущее устройство на шине). Вторые цифры обозначают поддерживаемый набор команд:

0 - Управление универсальным конвертором и двумя ключами.
1 - плюс управление четырьмя дополнительными ключами
       Switch 1 ... 4 .
2 - плюс управление позиционером.

       Кроме того, в рамках DiSEqC протокола предусмотрена возможность управления двухпозиционными переключателями тонально-импульсным сигналом (Tоne Burst). При этом, для выбора позиции А, передается немодулированный тоновый сигнал 22 кГц, а для выбора позиции В - модулированный, эквивалентный передаче 9 DiSEqC единиц.
       Например, за переключателем DiSEqC 1:4 могут быть установлены 4 переключателя Tone Burst, таким образом, число конвертеров в системе может быть доведено до восьми, и все 8 могут использовать сигналы 13/18В и 0/22 кГц.
       При каскадном включении нескольких устройств одного класса, ближнее к ресиверу должно иметь сквозной проход (loop through). Взаимодействие ресивера с ближним устройством происходит также, как в системах с некаскадным включением. Чтобы получить доступ к дальнему устройству, ресивер посылает ближнему команду "поменять адрес" (то есть, класс устройства). Под действием этой команды ближнее устройство замыкает вход с выходом и становится частью шины, а дальний - становится ближним. Таким образом на шине всегда присутствует только одно устройство.
       Напомню, что на сегодняшний день большинство DiSEqC ресиверов могут управлять только DiSEqC1.1 переключателями и DiSEqC1.2 позиционером.
       Команда DiSEqC обычно состоит из трех байт плюс некоторое количество дополнительных данных(в зависимости от команды). Ответ ведомого состоит из одного байт плюс некоторое количество данных. Передача команды начинается со старшего бита. К каждому байту передается P - бит контроля по нечетности (На данный момент специфицированы команды, содержащие до трех байт данных).
       Ответ периферийного устройства (в уровнях DiSEqC 2.х) содержит служебный байт и 0-2 байта данных.
       Первый байт - служебный (framing) , он содержит постоянную последовательность "11100" для синхронизации управляемого устройства и три бита-признака: команда/ответ, первичная/повторная, ответ требуется/не требуется.
       Второй байт - адрес управляемого устройства (старшие 4 разряда определяют семейство устройств, младшие 4 разряда - тип устройства внутри семейства). И для младшей, и для старшей части адреса предусмотрен "широковещательный" адрес "0000".
       Третий байт содержит непосредственно команду, определяющую действие, требуемое от периферийного устройства. После байта команды может следовать от одного до трех байт данных. Наличие и число этих байт определяются содержанием команды.

       Продолжение следует...

Ограничения.

       Устройство разработано по принципу КАК ЕСТЬ и автор не несёт ответственности за явный (или не явный) ущерб, причинённый в результате повторения.

То есть все эксперименты вы делаете на свой страх и риск.

       Если у вас возникли вопросы и предложения - пишите мне по адресу внизу страницы

       Если вы нашли на моём сайте что-либо интересное или полезное для себя и хотите видеть на этом сайте новые интересные проекты, а также поддержку, доработки существующих проектов, то все желающие могут поддержать данный проект, частично покрыть оплату хостинга, затраты на разработку и переделку проектов.

       Кошелёк для оплаты накладных расходов на сайт Z158779319858 в системе WebMoney.

       Принимаю только безвозмездную помощь :)


       Все статьи, опубликованные на этом сайте защищены Частью 4 Гражданского Кодекса Российской Федерации. Запрещено полное или частичное копирование материалов без согласия их авторов. Незаконное использование материалов сайта влечет за собой административную ответственность в виде компенсации в размере от 10.000 рублей до 5.000.000 рублей [Ст. 1301, 1250, 1252, 1253 ГК РФ]. При согласованном использовании материалов сайта обязательна активная ссылка на www.mindrunway.ru и указание авторства.



Copyright© 2007-2012 QuickWitted Почта     grani СОБАКА mindrunway РУ
Ссылки
Гостевая
Форум