Автор работы: Пользователь скрыл имя, 19 Марта 2015 в 16:13, реферат
Описание работы
Протокол DMX-512 был впервые разработан комитетом USITT в 1986 году, как средство управления диммерами с различных консолей через стандартный интерфейс. Протокол DMX-512 не является идеалом, однако к настоящему времени он получил наибольшее распространение. Его структура специально поддерживалась максимально простой для того, чтобы стимулировать как можно большее число производителей перейти на протокол DMX-512.
Стандарт DMX512 называет этот
первый байт, посылаемый после сигнала
break, стартовым кодом. Этот термин будет
далее использоваться во всем описании.
В том случае, когда после стартового кода
будет производиться передача информации
об уровнях диммеров, значение этого байта
будет нулевым. Итак, нулевой стартовый
байт означает, что передаваемые далее
байты являются 8-ми битной информацией
об уровнях диммеров.
Стартовый код называют также
стартовым байтом, байтом заголовка, заголовком
пакета, байтом режима или байтом типа.
Остальные 255 возможных стартовых
кодов не определяются стандартом DMX512,
хотя некоторые из них являются зарезервированными.
В некоторых устройствах пакет с ненулевым
стартовым кодом используется для пересылки
дополнительной информации, которая является
уникальной для данного устройства.
Дальнейшее расширение протокола
DMX512 приведет скорее всего к тому, что
пакеты с ненулевым стартовым кодом будут
использоваться для пересылки информации
о возникающих ошибках, для обратной связи
или для передачи информации не только
об уровнях каналов. Совместимость этих
систем с ранее разработанными гарантирована
благодаря тому, что нулевой стартовый
код всегда будет означать, что в пакете
передается информация об уровнях каналов
в формате 8 бит на канал.
Первоначально стандарт DMX512
был разработан для управления диммерами,
однако в дальнейшем он стал применяться
для управления интеллектуальными прожекторами,
сканерами и т.п. Несмотря на то, что эти
устройства не являются диммерами в прямом
смысле этого слова, очень удобно управлять
ими со стандартной консоли. Все существующие
в настоящее время устройства DMX512 работают
с нулевым стартовым кодом.
Однако не все устройства производят
проверку этого стартового кода. Некоторые
простейшие устройства просто пропускают
этот код, полагая его равным нулю и не
производят проверки правильности такого
предположения.
Устройства, которые
не производят проверки стартового кода
на ноль, могут быть причиной проблем при
работе с консолями, которые генерируют
и другие стартовые коды. Кроме того, такого
рода устройства вряд ли останутся совместимыми
с расширением стандарта DMX512 в будущем.
Частота обновления
информации.
Частота обновления информации
показывает количество пакетов, посылаемых
в 1 секунду. Так как стандарт DMX512 разрешает
наличие пауз между фреймами и определяет
только минимальную длительность сигнала
break, то для различных консолей частота
обновления информации может сильно различаться.
Максимальная частота обновления информации
также зависит от числа посылаемых каналов.
Расчет минимальной
длительности пакета из 512 каналов.
Название
Количество
Длительность
Общая длительность
Break
1
88 мкс
88 мкс
MaB
1
* 8 мкс
8 мкс
Стартовый код
1
44 мкс
44 мкс
Байты данных
512
44 мкс
22528 мкс
Всего
22668 мкс
* Версия стандарта DMX512 за
1986 год позволяет для импульса
MaB
использовать длительность 4 мкс. Пересмотренная
версия DMX512 (1990)
требует, чтобы она была не менее 8 мкс.
Таким образом, в том случае,
если происходит передача информации
о всех 512 каналах, частота обновления
информации не может превышать 44.115 Гц.
Это число показывает, сколько пакетов
посылается в 1 секунду. Это не значит,
что каждый посылаемый пакет содержит
новую информацию. Если консоль медленно
вычисляет переходные процессы и изменения
уровней каналов, то она может посылать
одинаковую информацию в нескольких пакетах,
пока происходит расчет новых уровней.
Теоретически пакет может состоять
только из одного канала. Если повторить
для такого пакета расчеты, аналогичные
приведенным выше, то мы получим, что длительность
пакета в этом случае составит 184 мкс, а
частота обновления информации - 5.434 кГц.
Это наибольшая частота обновления информации,
которая может быть получена с использованием
стандарта DMX512. Максимальная частота для
типичной консоли на 24 канала составит
836 Гц при длительности пакета 1196 мкс.
Расчет минимальной
длительности пакета из 24 каналов.
Название
Количество
Длительность
Общая длительность
Break
1
88 мкс
88 мкс
MaB
1
8 мкс
8 мкс
Стартовый код
1
44 мкс
44 мкс
Байты данных
24
44 мкс
1056 мкс
Всего
1196 мкс
Число 1196 мкс в последнем случае
является минимально допустимой длительностью
пакета DMX512 (для любого количества каналов).
Все эти вычисления были проведены в соответствии
с требованиями стандарта DMX512 (1990).
На практике небольшие консоли
обычно увеличивают длительность пакета,
т.к. используют более длинные паузы между
фреймами, а также более длинные импульсы
break и MaB (см. раздел«Настройка
длительностей сигналов »). Хотя длительность в 1196 мкс
является минимальной допустимой длительностью
пакета и соответствует 24 каналам при
передаче информации с максимальной скоростью,
нет никакого ограничения на уменьшение
количества каналов. Это означает, что
пакет из 6 каналов, имеющий такую же длительность
(1196 мкс), отвечает требованиям стандарта.
Получить такой пакет возможно,
вставив между фреймами паузы необходимой
длительности. В том случае, когда пакет
намеренно растягивается таким способом,
для того, чтобы искусственно уменьшить
частоту обновления информации, его удлинение
должно происходить за счет увеличения
длительности пауз между фреймами, интервалов
MaB или паузы между пакетами. Не рекомендуется
изменять длительность импульса break.
Настройка длительностей
сигналов.
Некоторые консоли, а также
ряд других устройств, передающих сигнал
DMX512, позволяют пользователю проводить
настройку длительности отдельных импульсов
или выбирать эту длительность из ряда
заранее заданных значений. Эта возможность
оказывается весьма полезной в том случае,
когда в линию включены устройства, которые
не полностью удовлетворяют требованиям
стандарта DMX512 и не могут принимать сигнал
DMX512 с максимально возможной скоростью.
Это являлось большой проблемой для целого
ряда устаревших устройств: диммеров,
сканеров, интеллектуальных прожекторов
и т.п.
Появление проблем обычно связано
с неадекватным тестированием устройства
при проверке всего диапазона длительностей
импульсов, соответствующих стандарту
DMX512. На заре возникновения стандарта
DMX512 очень немногие консоли могли передавать
сигнал DMX512 с максимально возможной скоростью.
Поэтому принимающие устройства, которые
были сконструированы в то время, работали
прекрасно. Однако, с появлением быстродействующих
процессоров ситуация изменилась.
Теперь многие современные
устройства могут производить передачу
информации на максимальной скорости
или скорости, близкой к ней. Из-за этого
у пользователей устаревших принимающих
устройств возникают проблемы. Обычно,
если новая консоль не управляет системой
DMX должным образом, пользователь склонен
видеть в ней главную причину проблемы.
На самом же деле причина редко кроется
в консоли.
Следует еще раз подчеркнуть,
что любое устройство, которое построено
в строгом соответствии со стандартом
DMX512, является полностью совместимым с
любым другим устройством DMX512. Это является
основным преимуществом и главным тестом
стандарта.
Далее в этой главе приводятся
некоторые советы по настройке временных
интервалов при работе с «норовистыми»
устаревшими устройствами.
Настройка длительности
импульса break.
Длительность импульса break является
критической для некоторых устройств.
Несмотря на то, что стандартом DMX512 не
определяется максимальная длительность
импульса break, некоторые устройства являются
очень чувствительными к этой длительности
и работают со сбоями, если она слишком
велика. Длительность импульса break в пределах
от 100 мкс до 200 мкс помогает решить эту
проблему. Некоторые устройства измеряют
длительность импульса break с помощью таймерной
схемы и проверяют, превышает ли она 88
мкс.
Если передающее устройство
посылает сигнал break длительностью ровно
88 мкс, то из-за различных искажений и погрешностей
принимающее устройство может решить,
как что длительность сигнала break была
больше 88 мкс, так и что она была меньше
88 мкс. В том случае, если принимающее устройство
решит, что длительность импульса break была
больше 88 мкс (или равна 88 мкс), то пришедший
пакет будет принят как верный. Если же
устройство решит, что длительность импульса
break была меньше 88 мкс, то пришедший пакет
будет отброшен как ошибочный. Поэтому
передающее устройство всегда должно
быть настроено таким образом, чтобы длительность
импульса break была больше 88 мкс (например,
100 мкс).
Некоторые другие устройства
распознают импульс break длительностью
всего 38 мкс. Это происходит потому, что
схема UART в этих устройствах выделяет
в посылке стартовый байт без последнего
стоп-бита и интерпретирует его как импульс
break. Это, однако, не должно приводить к
проблемам, т.к. все устройства, отвечающие
стандарту DMX512, генерируют два стоп-бита.
Все устройства, отвечающие
стандарту DMX512 должны определять импульс
break длительностью 88 мкс или больше.
Настройка длительности
импульса MaB.
Импульс MaB, определенный в стандарте
DMX512, является в настоящее время источником
проблем для производителей оборудования
DMX512. В первом варианте стандарта минимальная
длительность импульса MaB была установлена
равной 4 мкс. Для медленных принимающих
устройств этого времени иногда было не
достаточно для того, чтобы перейти от
приема импульса break к приему стартового
кода.
Поэтому очень часто такие устройства
запаздывали и принимали второй байт (соответствующий
первому каналу) в посылке за стартовый
код. Если для первого диммера был установлен
нулевой уровень, то такое устройство
полагало, что это нулевой стартовый код
и принимало следующие за ним байты как
уровни каналов. Однако при этом уже возникало
смещение на один канал.
Так как описанное явление то
возникало, то пропадало в зависимости
от загруженности принимающего устройства,
это приводило к тому, что происходило
перемешивание уровней соседних каналов.
Если наблюдается подобный эффект и у
вас есть возможность настройки длительности
интервала MaB, то рекомендуется установить
ее порядка 44 мкс. В пересмотренной версии
стандарта DMX512 (1990) минимальная длительность
импульса MaB установлена равной 8 мкс, что
в некоторых случаях устраняет описанные
выше проблемы.
Любое устройство,
соответствующее стандарту DMX512 (1990), должно
определять интервал MaB длительностью
8 мкс и более.
Период фреймов и
пауза между фреймами.
Периодом фрейма (inter-frame time)
называется временной интервал от начала
одного фрейма до начала следующего. Его
минимально возможная величина равна
44 мкс. Паузой между фреймами называется
временной интервал между концом одного
фрейма (концом второго стоп-бита) и началом
следующего фрейма (началом стартового
бита). Его минимально возможная величина
равна 0. Максимально возможная длительность
паузы между фреймами равна 1 секунде.
Если она превысит это значение, считается,
что произошел сбой на линии в передаче
сигнала.
Большинство консолей посылают
данные с частотой меньшей, чем максимальная
частота обновления информации, особенно
в том случае, когда эти консоли одновременно
с передачей сигнала выполняют сложные
вычисления. Тем не менее, некоторые консоли
способны работать с максимальной частотой
как в отдельные периоды времени (когда
консоль не сильно загружена), так и непрерывно
(если в консоли используется быстродействующий
процессор). Это может приводить к возникновению
проблем с отдельными принимающими устройствами.
Если устройство не в состоянии
принимать си
гнал с определенной скоростью, то оно
может время от времени пропускать канал
во входном пакете. При этом каналы, идущие
за пропущенным каналом, сдвигаются на
один. Если подобный пропуск каналов происходит
несколько раз за время приема одного
пакета, то результирующий сдвиг для каналов
с большими порядковыми номерами может
оказаться очень значительным. Если у
вас наблюдается подобный эффект, то рекомендуется
установить период фреймов в диапазоне
от 55 мкс до 60 мкс.