Как СИНХРОНИЗИРУЮЩИЕ слова выбраны?

Рискну сказать, что значительная часть веб-пользователей использует мониторы, которые обновляются с частотой 60 Гц, что соответствует одному кадру каждые 16,66 мс. Таким образом, чтобы сделать монитор узким местом, вам нужно создавать кадры быстрее, чем 16,66 мс.

Есть две причины, по которым вы выбрали бы значение, например, 13 мс. Во-первых, браузеру нужно немного времени, чтобы перекрасить экран (по моему опыту, не менее 1 мс). Это позволяет вам, скажем, обновлять каждые 15 мс, что является очень интересным числом - стандартное разрешение таймера в Windows составляет 15 мс (см. сообщение Джона Ресига в блоге ). Я подозреваю, что хорошо написанная анимация в 15 мс выглядит очень похоже на широкий спектр браузеров / операционных систем.

FWIW, fbogner совершенно не прав , что браузеры без Chrome запускают setInterval каждые 20-30 мс. Я написал тест для измерения скорости срабатывания setInterval и получил следующие числа:

  • Chrome - 4ms
  • Firefox 3.5 - 15ms
  • IE6 - 15 мс
  • IE8 - 15 мс

7
задан geschema 7 November 2009 в 13:26
поделиться

2 ответа

Вкратце:

  • высокая вероятность уникальности

  • высокая плотность переходов

Это зависит от нижележащего «серверного уровня» (в терминах связи). Если упомянутый серверный уровень не предоставляет средства различения данных полезной нагрузки от сигналов управления , тогда необходимо разработать протокол. На транспортном уровне, ориентированном на синхронный поток битов, принято полагаться на шаблон SYNC для определения единиц полезной нагрузки . Хорошим примером использования такой техники является SONET / SDH / OTN, основные оптические транспортные коммуникационные технологии.

Обычно, основным критерием выбора слова SYNC является высокая вероятность уникальности . Конечно, то, что делает его свойство уникальности , зависит от кодировки, используемой для полезной нагрузки .

Пример: в SONET / SDH, когда слово SYNC было найдено , оно проверяется для ряда суперкадров (я точно не помню многих) перед объявлением действительного состояния sync . Это необходимо, потому что может произойти ложное срабатывание : при кодировании в синхронном битовом потоке нельзя гарантировать генерацию кодированных шаблонов полезной нагрузки, ортогональных слову SYNC.

Существует еще один критерий: высокая плотность переходов. Иногда уровень сервера состоит из сигналов часов и данных (т. Е. не отдельно). В этом случае, чтобы приемник мог выделить символов из потока, важно обеспечить максимальное количество переходов 0-> 1, 0-> 1 в или для извлечения clock signal.

Надеюсь, это поможет.

Обновлено : эти презентации тоже могут быть интересны.

11
ответ дан 6 December 2019 в 11:49
поделиться

На физическом уровне еще одним соображением (помимо упомянутых в ответе jldupont) является то, что синхрослово может использоваться для синхронизации часов связи получателя с часами отправителя. Синхронизация может потребовать только обнуления часов получателя, но также может включать изменение частоты часов для более точного совпадения с частотой отправителя.

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

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

В промышленном протоколе HART слово синхронизации равно 0xFF плюс нулевой бит четности, повторяется несколько раз. Он представлен как аналоговый сигнал, закодированный с использованием FSK , и проявляется как 8 периодов (равных 8 разрядам) синусоидальной волны 1200 Гц, за которыми следует время одного бита при 2200 Гц. Этот шаблон позволяет приемнику обнаруживать действительный сигнал, а затем синхронизировать его с началом байта, обнаруживая переход от 2200 Гц обратно к 1200 Гц. При необходимости приемник также может использовать эту форму волны для настройки своих часов.

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

В промышленном протоколе HART синхрослово равно 0xFF плюс нулевой бит четности, повторяется несколько раз. Он представлен как аналоговый сигнал, закодированный с использованием FSK , и проявляется как 8 периодов (равных 8 разрядам) синусоидальной волны 1200 Гц, за которыми следует время одного бита при 2200 Гц. Этот шаблон позволяет приемнику обнаруживать действительный сигнал, а затем синхронизировать его с началом байта, обнаруживая переход от 2200 Гц обратно к 1200 Гц. При необходимости приемник также может использовать эту форму сигнала для настройки своих часов.

взятие нескольких выборок в точке, где ожидается середина каждого бита. В этом случае слово синхронизации является только стартовым битом и обеспечивает переход в начале сообщения.

В промышленном протоколе HART слово синхронизации равно 0xFF плюс нулевой бит четности, повторяется несколько раз. Он представлен как аналоговый сигнал, закодированный с использованием FSK , и проявляется как 8 периодов (равных 8 разрядам) синусоидальной волны 1200 Гц, за которыми следует время одного бита при 2200 Гц. Этот шаблон позволяет приемнику обнаруживать действительный сигнал, а затем синхронизировать его с началом байта, обнаруживая переход от 2200 Гц обратно к 1200 Гц. При необходимости приемник также может использовать эту форму сигнала для настройки своих часов.

и обеспечивает переход в начале сообщения.

В промышленном протоколе HART слово синхронизации равно 0xFF плюс нулевой бит четности, повторяемый несколько раз. Он представлен как аналоговый сигнал, закодированный с использованием FSK , и проявляется как 8 периодов (равных 8 разрядам) синусоидальной волны 1200 Гц, за которыми следует время одного бита при 2200 Гц. Этот шаблон позволяет приемнику обнаруживать действительный сигнал, а затем синхронизировать его с началом байта, обнаруживая переход от 2200 Гц обратно к 1200 Гц. При необходимости приемник также может использовать эту форму сигнала для настройки своих часов.

и обеспечивает переход в начале сообщения.

В промышленном протоколе HART синхрослово равно 0xFF плюс нулевой бит четности, повторяемый несколько раз. Он представлен как аналоговый сигнал, закодированный с использованием FSK , и проявляется как 8 периодов (равных 8 разрядам) синусоидальной волны 1200 Гц, за которыми следует время одного бита при 2200 Гц. Этот шаблон позволяет приемнику обнаруживать действительный сигнал, а затем синхронизировать его с началом байта, обнаруживая переход от 2200 Гц обратно к 1200 Гц. При необходимости приемник также может использовать эту форму волны для настройки своих часов.

кодируется с использованием FSK , и отображается как 8 периодов (равных 8 разрядам) синусоидальной волны 1200 Гц, за которыми следует время одного бита при 2200 Гц. Этот шаблон позволяет приемнику обнаруживать действительный сигнал, а затем синхронизироваться с началом байта, обнаруживая переход от 2200 Гц обратно к 1200 Гц. При необходимости приемник также может использовать эту форму волны для настройки своих часов.

кодируется с использованием FSK , и отображается как 8 периодов (равных 8 разрядам) синусоидальной волны 1200 Гц, за которыми следует время одного бита при 2200 Гц. Этот шаблон позволяет приемнику обнаруживать действительный сигнал, а затем синхронизироваться с началом байта, обнаруживая переход от 2200 Гц обратно к 1200 Гц. При необходимости приемник также может использовать эту форму сигнала для настройки своих часов.

6
ответ дан 6 December 2019 в 11:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: