|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Информация
Краткое описание DiSEqC-команд и основных принципов DiSEqC-протоколаПротокол DiSEqC используется для управления различной периферией в приёмных системах спутникового ТВ. Это позиционеры, переключатели и даже головки (LNB), которые так и не стали популярными (речь идёт об управляемых по протоколу 1.0 головках). Команды DiSEqC передаются по линии постоянного питающего напряжения 12-20В при помощи тоновых посылок частотой 22кГц (±20%) и номинальной амплитудой 650мВ (±250мВ) при напряжении питания 13В. Учитывая потери в кабеле и допустимые погрешности, детектор DiSEqC-устройства должен сохранять работоспособность при снижении амплитуды до 300мВ. Максимально рекомендуемая амплитуда составляет 1В. Для того, чтобы детектор не реагировал на помехи, он не должен реагировать на тоновые посылки амплитудой менее 100мВ. DiSEqC использует для передачи широтно-импульсную манипуляцию, при которой от ширины огибающей импульсов зависит передаваемый бит. Время передачи одного бита составляет 1.5мс и условно разделено на 3 равные части по 500мкс (±100мкс). Для бита 0 ширина огибающей составляет 1.0мс, что соответствует 22 импульсам, а для бита 1 ширина огибающей составляет 0.5мс, а это 11 импульсов.
При передаче байта передаются последовательно все 8 бит в порядке от старшего к младшему + 9-й бит нечётности. Общая длина байта составляет 13.5мс. Пауза в конце последнего бита также считается.
На рисунке показан пример байта "E0h" с битом нечётности в конце. Сообщения DiSEqC имеют определённую структуру. Общая длина сообщения DiSEqC составляет от 3-х до 6-и байт. Байты в сообщении передаются без пауз. В конце каждого DiSEqC-сообщения должна обязательно присутствовать пауза минимум 6 мс. Первым в сообщении передаётся байт синхронизации. В зависимости от направления передачи, необходимости ответа и прочих факторов, этот байт может принимать различные значения, но старший нибл байта всегда составляет значение "Eh" (см. таблицу 1). Следующим после байта синхронизации передаётся байт адреса (см. Таблица 2). Этот байт указывает, кому предназначено сообщение. Протокол предусматривает и широковещательную передачу, когда команда передаётся всем или нескольким устройствам сразу. Это имеет смысл, если в системе присутствует несколько DiSEqC-устройств. Третьим передаётся байт команды, который указывает, какую команду должно выполнить устройство (см. Таблица 3). Далее следуют байты данных, которых может быть от нуля до 3-х. Те сообщения, указанные в таблице 3, в которых указана длина сообщения 3 байта, не содержат байт данных.
На рисунке показан пример 4-х байтового сообщения "E0-10-38-C4h", которое включает порт 2 в DiSEqC-переключателе протокола 2.0/1.0. В таблицах приведена информация, которая, в основном, необходима для управления DiSEqC-переключателями протоколов 1.0 и 1.1.
Таблица 2.
Таблица 3.
Терерь о регистрах. DiSEqC-контроллер, условно говоря, содержит регистр, биты которого управляют теми или иными входами, к которым в свою очередь подключены головки или другие коммутаторы. Есть два типа регистров. Первый - это "Committed Switches" или порт N0, 4-битовый регистр, функции битов которого заранее определены. Этот регистр используется малошумящими DiSEqC-головками и DiSEqC-переключателями протокола 2.0/1.0. Второй регистр - "Uncommitted switches" или порт N1, также 4-битовый регистр, назначение битов которого жёстко не оговорено. Однако DiSEqC-коммутаторы протокола 2.1/1.1 используют именно этот регистр для управления своими входами.
Биты 0 и 1 используются для управления рабочей поляризацией и частотой гетеродина в малошумящих головках с поддержкой DiSEqC-протокола. Эти биты также могут использоваться и в мультисвитчах. Бит 2 используется в DiSEqC-переключателях 2x1 протокола 2.0/1.0, где непосредственно используется для выбора позиции. Бит 3 предназначен для расширения возможностей по выбору позиции и в паре с битом 2 используется в DiSEqC-переключателях 4x1 протокола 2.0/1.0, повышая количество комбинаций до 4-х согласно Таблице 6.
DiSEqC-коммутаторы протокола 2.1/1.1 используют порт "Uncommitted Switches", коммутируя входы в зависимости от комбинаций битов 0 - 3 согласно Таблице 7. Таким образом, число входов увеличено до 16. Более простой DiSEqC-Switsh 2.1/1.1 может иметь только 4 входа. При этом используются только 2 младших бита 0 и 1, а остальные игнорируются.
Таблица 7.
Команды условно можно разделить на две группы. Первая группа - это команды диапазона 20h-2Fh. Это короткие команды, которые не требуют передачи байта данных и которые управляют состоянием только одного бита. Команды 20h-27h управляют битами регистра "Committed Switches", а команды 28h-2Fh управляют соответственно битами регистра "Uncommitted switches". Преимуществом команд является то, что время передачи сообщения составляет 40.5 мс, однако если требуется перейти со спутника 4 на спутник 1, то придётся выдать в линию 2 сообщения (изменив бит 3 "Опция" и бит 2 "Позиция" для регистра N0), что существенно увеличит время передачи команд, учитывая паузу между сообщениями. Такие команды удобны, если коммутатор имеет только 2 входа. Команды 38h и 39h являются более универсальными, так как изменяют состояние сразу 4-х битов, т.е. всего регистра сразу. Команда 38h производит запись в регистр "Commited Switches", а команда 39h - в "Uncommited Switches". Поддержка этих команд DiSEqC-переключателями обязательна. После команды следует 1 байт данных, который указывает какие именно биты нужно изменить. Таким образом, время передачи сообщения вне зависимости от изменения входа коммутатора равно 54 мс. Старший нибл байта указывает, какие биты нужно стереть, а младший нибл указывает, какие биты нужно установить. Например, байт "C4h" (показано в Таблице 8) из комбинации "E0h-10h-38h-C4h" стирает биты 2 и 3 порта N0 (тоже самое, что "Committed Switshes") и устанавливает бит 2, включая тем самым порт 2 согласно Таблице 6.
Аналогично работает команда "39h" для порта N1 ("Uncommitted Switches"). В следующей таблице приведены DiSEqC-сообщения, необходимые для управления DiSEqC-коммутаторами протоколов 1.0 и 1.1 (либо 2.0 и 2.1). Варианты данных приведены через дробь, предпочтительнее первый вариант. Байт синхронизации должен формироваться согласно Таблице 1.
Тестирование DiSEqC-переключателей или "разборки" с дисекамиДанный раздел сайта посвящен детальному разбору различных моделей DiSEqC-коммутаторов. Данная статья ни в коем случае не является антирекламой, равно как и не является рекламой тех или иных производителей DiSEqC-коммутаторов. Моя задача - объективно оценить некоторые параметры коммутаторов, а выводы останутся за вами. Это также поможет разработчикам и всем, кто инетересуется электроникой, рассмотреть различные схемотехнические решения. Не исключено, что коммутаторы с одинаковой маркировкой, но выпущенные в разное время и в разных местах, могут значительно отличаться друг от друга. Проверка в большой степени касается программной части DiSEqC-коммутаторов, т.е. его контроллера. Под проверку попадают переключатели только с 4-я выходами и только протокола 1.0/2.0. Проверки программной части DiSEqC-коммутаторов проверяются при помощи DiSEqC-тестера с различными прошивками, сделанными специально для подобного рода тестов, что в данном случае оказалось удобнее всего. Например, только таким способом я могу специально сформировать ошибку нечётности, чтобы посмотреть на реакцию контроллера. Нормальный контроллер должен при обнаружении ошибки нечётности игнорировать команду, ничего не переключая, а также должен выдавать байт "ошибка нечётности", если используется протокол 2.0. Контроль ответов контроллера на выводе DTX осуществляется при помощи осциллографа с запоминанием.
Колонка в таблице с заголовком "при 44кГц" указывает работоспособность контроллера при повышении модулирующей частоты 22кГц в два раза. По работоспособности с этим параметром можно судить о чувствительности контроллера к изменению частоты несущей, а также о способе распознавания команд (подсчёт импульсов или измерение длительностей). Напомню, что спецификация протокола допускает 20%-отклонение частоты, т.е. от 17.6кГц до 26.4кГц. Предполагается, что читатель знаком с протоколом и его основными принципами, а также знаком со схемотехникой (СВЧ, аналоговая, цифровая) подобных устройств. Со схемотехникой DiSEqC-коммутаторов можно ознакомиться в статье Анатомия DiSEqC-переключателей, с протоколом DiSEqC можно ознакомиться на этой же странице выше, а также на сайте разработчика протокола Eutelsat. Ниже приводится сравнительная таблица по различным моделям коммутаторов. Для просмотра более подробного описания нажимайте по названию модели в таблице.
* - наличие сигналов на выводе DTX контроллера, что определяется его прошивкой, что в свою очередь определяет протокол** - измерение потребляемого тока производится без нагрузки при напряжении 18В
DIGITAL Telecom DT-2000
Герметичный, довольно аккуратный корпус, однако F-разъёмы не герметичные, из-за чего может проникать влага в корпус, если не принять меры. На наклейке указана поддержка протокола 2.0, а также другие параметры. Печатная плата двухсторонняя. При вскрытии задней крышки, глядя на плату, сразу бросается в глаза отсутствие PIN-диодов, которые заменены здесь резисторами номиналом 27 Ом. Это наверняка скажется на уровне полезного сигнала в конечном итоге. Отсутствует также электролитический конденсатор по питанию. Детали, необходимые для реализации протокола 2.0 отсутствуют, хотя плата разведена с учётом этих деталей. Указанный на лицевой крышке адрес устройства 15h не поддерживается контроллером, только адреса 00h и 10h. Бит чётности проверяется. Из всех команд, поддерживаемых обычно протоколом 1.0, поддерживается только 38h (это обязательная согласно протоколу команда), а также поддерживается команда 39h уровня протокола 1.1, чего быть не должно! В результате этого контроллер реагирует на команды протокола 1.1. Причём выполнение команд протокола 1.1 происходит следующим образом: при подаче команд "uncommitted port 0..3" включается порт A, при подаче "uncommitted port 4..7" включается порт B и так далее по аналогии. Контроллер питается напряжением 5В. В качестве транзисторов VT1-VT5 использованы транзисторы PMBS3904 (Philips) с маркировкой WO4 на корпусе, в качестве VT6-VT9 (коммутирующие по схеме) использованы транзисторы S8550LT1 (SHENZHEN TUOFENG) с маркировкой 2TY китайского производства с максимальным током коллектора 500мА. Однако, контроллер LZ53S выдаёт ответы на вывод DTX, что подтверждает протокол 2.0, несмотря на то, что на плате деталей для протокола 2.0 не хватает. При опознавании команды контроллер выдаёт байт E4h, при неподдерживаемой команде выдаёт E5h, при ошибке нечётности выдаёт байт E6h, что соответствует протоколу. Команды на вывод DTX выдаютя только в случае поступления на контроллер сообщений, начинающихся с байтов синхронизации E2h, E3h, которые согласно протоколу "требуют ответа" от контроллера DiSEqC. Итак, чтобы коммутатор смог работать по протоколу 2.0, не хватает всего 3-х деталей.
На схеме обведены участки с отсутствующими деталями для протокола 2.0, а также электролитический конденсатор по питанию. DIGITAL Telecom DT-2000Более старая версия
Вот пример DiSEqC-коммутатора такой же модели, как в предыдущем случае, но выпущенного несколько ранее. Отличается наклейка на корпусе и особенно отличается печатная плата внутри. На наклейке указана поддержка протокола 2.0, однако ни печатная плата, ни контроллер не поддерживают протокол 2.0. Питание контроллера FEGO 153S осуществляется от напряжения 5В, формируемого на стабилитроне. Электролитический конденсатор установлен с обратной стороны печатной платы. В качестве коммутирующих ключей использованы сдвоенные транзисторы BC807DS в корпусе SOT457 - 2 элемента на 4 канала. Поддержка команд контроллером минимальна. Поддерживается протокол 1.0, да и то по минимуму. Не поддерживается распознавание повторных сообщений, которые начинаются с E1h. Некоторые тюнера при повторной передаче сообщения этот бит (самый младший) в конце байта E0h уставнавливают. MULTISAT
Корпус герметичный, но F-разъёмы пропускают и воздух и влагу. Печатная плата - двухсторонняя, с большим количеством переходных отверстий на общий провод, разведена с учётом деталей под протокол 2.0, которые отсутствуют. На наклейке указана поддержка протокола 2.0. На контроллере типа RV803SN наклеена какая-то зелёная наклейка с надписью "01". PIN-диоды на плате присутствуют, однако последовательно с последними включены какие-то неизвестные диоды в корпусе SOD80C. Электролитический конденсатор по питанию присутствует. Питание контроллера осуществляется от напряжения 5В, формируемого на стабилитроне. При попытке подачи на контроллер команд протокола 2.0 (начинающихся с байтов синхронизации E2h и E3h), переключения портов не происходит, ответов на выводе DTX не наблюдается. Бит чётности проверяется. Поддерживается только один адрес 10h, а также только одна команда 38h групповой записи в порт. На команду 39h уровня 1.1 контроллер не реагирует. GOSPELL GP-41203
Крышка корпуса нормально загерметизирована, однако F-разъёмы не имеют герметизации. Наклейка на корпусе не несёт никакой информации о поддерживаемом протоколе. Печатная плата - двухстороння, с большим количеством переходных отверстий на общий провод, сделана довольно качественно. На плате есть установочные места для деталей поддержки протокола 2.0, однако эти детали отсутствуют. PIN-диоды на плате присутствуют, однако последовательно с последними включены какие-то неизвестные диоды в корпусе SOD80C. Электролитический конденсатор по питанию отсутствует. Питание контроллера осуществляется от напряжения 5В, формируемого на стабилитроне. Контроллер не имеет маркировки, а жаль. Поддерживает все команды уровня 1.0/2.0, все необходимые адреса и синхробайты. Но игнорирует ошибку бита нечётности, при которой всё равно обрабатывает команды, переключая порты. На выводе DTX присутствуют ответы в виде байта E4h при успешном выполнении команды в случае использования протокола 2.0 (синхробайты E2h или E3h в начале каждого сообщения уровня 2.0). Выдаёт E5h при неподдерживаемой команде и E6h при обнаружении ошибки нечётности, как и должен делать нормальный в программном отношении контроллер. Eurosat DSW-6107P
Герметичная крышка, F-разъёмы пропускают. На лицевой наклейке информации о протоколе нету. Печатная плата двухсторонняя, разведена под детали протокола 2.0, которые отсутствуют. PIN-диоды и электролитический конденсатор по питанию присутствуют. Питание контроллера осуществляется от напряжения 5В, формируемого на стабилитроне. Следует отметить, что в этой модели коммутатора используются сдвоенные транзисторы для коммутации головок, что уменьшает вероятность выхода их из строя при случайном коротком замыкании, повышает нагрузочною способность выходов примерно до 1А. Контроллер имеет маркировку EM78153S02. Поддерживает все команды уровня 1.0/2.0, все необходимые адреса и синхробайты. Игнорирует ошибку бита нечётности, при которой всё равно обрабатывает команды, переключая порты. На выводе DTX присутствуют ответы в виде байта E4h при успешном выполнении команды в случае использования протокола 2.0 (синхробайты E2h или E3h в начале каждого сообщения уровня 2.0). Выдаёт E5h при подаче неподдерживаемой команды и E6h при обнаружении ошибки нечётности, как и должен вести себя нормальный в программном отношении контроллер. ATOM 4102
Герметичная задняя крышка, но негерметичные F-разъёмы. На наклейке лицевой панели указана поддержка протокола 2.0. На двухсторонней печатной плате деталей для протокола 2.0 нету, равно как и разводка сделана так, что их и некуда вставить. Плата крепится внутри корпуса на 6-и заклёпках. Разводка платы значительно отличается от "типовой". При вскрытии задней крышки обнаружилась бумажка с надписью "QC PASS". Питание контроллера PT9601-0001 осуществляется от 5В, формируемого при помощи стабилитрона. PIN-диоды и электролитический конденсатор на плате присутствуют. Следует отметить, что контроллер поддерживает только одну команду 38h по только одному адресу 10h при только одном синхробайте E0h. При повторе команд DiSEqC тюнером, когда тюнер устанавливает синхробайт в E1h, этот коммутатор не будет реагировать. BEAUSAT II
Информация о названии коммутатора и поддерживаемом протоколе содержится на упаковке, на самом коммутаторе такой информации нету. В какую упаковку положишь, так и называться будет. Задняя крышка сделана из тонкого материала и легко вскрывается отвёрткой. F-разъёмы не имеют герметизации. Печатная плата односторонняя, из гетинакса, с множеством SMD-резисторов в роли джамперов. Плата закреплена на 4-х заклёпках. Гетинакс имеет плохие показатели в области СВЧ. Деталей для реализации протокола 2.0 на плате нету, хотя все компоненты установлены. Электролитического конденсатора по питанию нету. Вместо PIN-диодов установлены неизвестные диоды в корпусе SOD80C, хотя не исключено, что PIN-диоды могут быть в таких корпусах, но определить это невозможно. Контроллер HS108N - в 8-ми выводном корпусе, питается от напряжения 5В, формируемого на стабилитроне. Команды 22h, 23h, 26h, 27h распознаются контроллером, но интерпретируются неправильно, поэтому в таблице не указаны. При попытке подачи комманд уровня 2.0 контроллер ничего не делает.
WinQuest
С герметизацией та же история, что и в предыдущих случаях, правда расположение разъёмов играет положительную роль, к тому же к этой модели коммутатора прилагается специальный кожух для крепления и дополнительной влагозащиты (на фото не показан). На наклейке указан протокол 2.0, но контроллер и схема не поддепрживают 2.0. Программный тест не проводился, так как контроллер установлен такой же, как и в предыдущей модели (HS108N), да и схема электрическая принципиальная такая же, за исключением номиналов некоторых элементов. Отличие еще и в том, что электролитический конденсатор по питанию всё-таки установлен, с обратной стороны платы. На плате довольно много перемычек из SMD-резисторов номиналов 0 Ом. В общем, плата собрана очень аккуратно, без остатков флюса. Обсудить DiSEqC-коммутаторы на форумеОписание входных СВЧ-модулей от аналоговых спутниковых приёмниковТакой модуль может быть использован для построения панорамного индикатора для настройки на спутник. Иногда выяснить назначение выводов у попавшегося под руку тюнера бывает не так уж и просто. К тому же, не все модули имеют удобный I2C-интерфейс для управления. В этой части страницы я поделюсь своим опытом в этой области. Если назначение некоторых выводов не обозначено, значит эти выводы либо не используются, либо не исследовались, либо неизвестны. TBCE18210WM
Это 2-х входовый аналоговый СВЧ-модуль с управлением по 3-х проводному последовательному интерфейсу. Интерфейс несложный для реализации на микроконтроллере, однако не такой удобный, как SPI или I2C, так как нестандартный. В качестве синтезатора использован LC7215 с тактовой частотой 11.16МГц. В качестве опорной частоты, что выставляется по интерфейсу, может быть одна из 4-х: 1кГц, 5кГц, 9кГц и 10кГц. С учётом использования в модуле делителя типа uPB1505 с коэффициентом деления 128, включённого на входе PLL-синтезатора, минимальный шаг перестройки тюнера равен соответственно 128кГц, 640кГц, 1.152МГц и 1.28МГц. Как видно, шаг перестройки в любом случае не является "целым" числом, т.е. не 1МГц и не 2МГц к примеру, что несколько неудобно, однако это не является большой проблемой. FM-демодулятор - TDA8012. Описание интерфейса содержится в даташите на синтезатор, который доступен в сети. TBCE18117IN
Одновходовый СВЧ-модуль от аналогового приёмника. Встроенный синтезатор частот TSA5055 с управлением по шине I2C. Вывод ADDR (или P3 по даташиту синтезатора) определяет логический адрес синтезатора. Минимальный шаг перестройки тюнера составляет 125кГц. FM демодулятор - TDA8012. Описания микросхем, входящих в состав модуля, свободно доступны в сети. Модуль очень удобен для построения аналогового панорамного индикатора. Sharp BSFH77G08 (надпись на корпусе "SG492VA-A")
Это одновходовый аналоговый СВЧ-модуль, используемый с внешним синтезатором частот. Для этого в модуле имеется выход частоты гетеродина, делённой делителем с маркировкой 12079 (коэффициент 1/256). В аналоговом приёмнике, откуда был извлечен этот модуль, использовался синтезатор частот BU2611, тактируемый от кварцевого резонатора с частотой 5.625МГц. Синтезатор управляется по 3-х проводной последовательной шине, очень похожей на шину SPI. FM-демодулятор - Sharp IX1475PA. Напряжение для варикапов составляет 24В. Нашелся и даташит на этот модуль (BSFH77G08). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||