DiSEqC 2.Х

Уровни 2.Х предполагают двустороннюю связь: как передачу команд от ресивера периферийным устройствам, так и ответов периферийных устройств ресиверу. Основное назначение этого уровня - автоматическое конфигурирование системы. По замыслу разработчиков, ресивер DiSEqC 2.Х должен самостоятельно обнаружить все подключенные к нему периферийные устройства, определить их типы и расположение в системе, и, возможно, их характеристики, например частоту гетеродина конвертера. Таким образом, ресивер с DiSEqC 2.Х, подобно персональному компьютеру, будет поддерживать технологию "Plug & Play".

Аппаратная реализация уровня довольно проста. Для формирования импульсов 22 кГц, 0.6 В периферийные устройства используют примитивный "модем" - ключ на одном транзисторе, включающий в цепь питания дополнительную нагрузку. Внутреннее сопротивление источника питания цепи конвертера в ресиверах, поддерживающий DiSEqC 2.Х, на частоте 22 кГц должно составлять 15 Ом. При изменении нагрузки в цепи питания изменяется ток, соответственно, изменяется падение напряжения на внутреннем сопротивлении источника. Все остальные функции второго уровня DiSEqC реализуются программно. Если ресивер отправляет на вход команду DiSEqC, требующую ответа периферийного устройства, сразу же после передачи он снимает с входа тон 22 кГц и ждет ответ в течение 150 мс.

Проблема возникает при включении ресивера, когда ему еще неизвестен состав периферийных устройств. Вполне вероятно, что одновременно к шине окажутся подключенными несколько устройств с одинаковыми адресами. Эти устройства будут пытаться одновременно ответить на запрос ресивера, что неизбежно приведет к конфликту. Чтобы избежать такой ситуации, во время инициализации желательно иметь в системе одновременно не более одного устройства, "прослушивающего" шину. Это требование почти всегда можно выполнить благодаря "цепочечной" архитектуре типичной системы: непосредственно к ресиверу подключено только одно устройство, следующие устройства подключены через первое и т.д. После включения питания каждое устройство размыкает цепь прохождения команд DiSEqC дальше по шине. В результате "слышит" шину только одно устройство - ближайшее к ресиверу. Ресивер дает команду "вернуть адрес" и по ответу распознает это устройство. Затем ресивер командует известному устройству сменить свой адрес по умолчанию на новый адрес, уникальный в данной системе. Только после того, как устройство получит новый адрес, оно замкнет цепь и разрешит прохождение команды к одному из устройств следующей ступени. Далее ресивер вновь выдает команду "вернуть адрес", по ответу распознает следующее устройство и так далее. Сколько каскадно включенных устройств можно будет автоматически обнаружить и распознать, зависит только от "интеллекта" программного обеспечения ресивера.

Однако архитектура сложных спутниковых систем может быть нетипичной, и вероятность того, что два устройства с одним адресом окажутся подключенными к ресиверу одновременно, все же существует. Для таких случаев предусмотрена процедура арбитража. Применяемый протокол сходен с протоколом CSMA/CD, который используется для разрешения конфликтов в технологии локальных сетей Ethernet, также основанной на подключении всех устройств к одной общей шине. Прежде чем ответить на первую после включения питания команду ресивера, периферийное устройство "прослушивает" кабель в течение некоторого промежутка времени, длительность которого выбирается в пределах 15-115 мс по случайному закону. Не обнаружив сигналов других устройств, это устройство передает свой ответ в кабель. Если за это время устройство обнаруживает чужую передачу, оно прерывает собственную попытку передачи, выставляет внутренний флаг "шина занята", выжидает около 130 мс, а затем передает свой ответ. Время ожидания выбрано заведомо большим, чем максимальная задержка ответа, это гарантирует, что не возникнет коллизия с передачей устройства, выигравшего арбитраж.

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

К сожалению, ресиверов, в полном объеме поддерживающих DiSEqC 2.Х, пока нет. В то же время, значительная часть периферийного оборудования (антенные переключатели, мультисвитчи DiSEqC2.0) уже готова к работе с такими ресиверами.
 

Другие публикации по теме:
  • Совместная работа нескольких устройств DiSEqC. Повтор команды
  • Как работает DiSEqC
  • DiSEqC™
  • DiSEqC 1.2
  • DiSEqC 1.1


  •   Обсудить на форуме  На главную