Почему на месте четырёх нулей могут появляться импульсы
Чередование
Полярность обычных импульсов чередуется.
Подстановка
Шаблон подстановки выбирается по числу обычных импульсов после последнего V.
Декодирование
При допустимой подстановке декодер восстанавливает четыре нулевых бита.
Контрольный список для стендовой проверки
Используйте известную битовую последовательность и регистрируйте ошибки линейного кода отдельно от битовых ошибок в полезных данных.
Рассмотрим на испытательном стенде электрический порт E1 оптического терминала. На вход поступает поток двоичных битов, но на осциллографе можно увидеть положительные и отрицательные импульсы, а также интервалы без импульсов. Импульс может появиться даже там, где во входном потоке идут четыре нуля подряд. Почему приёмник не принимает его за единицу данных? Передатчик и приёмник следуют одному правилу подстановки. При декодировании линейного сигнала приёмник учитывает полярность импульсов и их контекст.
Начнём с электрического порта
В характеристиках сменного оптического терминала PDH компании Feichang с 16 интерфейсами E1 и четырьмя интерфейсами Fast Ethernet для портов E1 указан линейный код HDB3, а для электрических интерфейсов — несимметричное исполнение на 75 Ом и симметричное на 120 Ом. В этом материале рассматривается кодирование на медном интерфейсе E1. Получив электрический сигнал E1, терминал может восстановить тактовую синхронизацию и биты, а затем передать их по оптической линии с мультиплексированием. Формат сигнала в этой линии определяется оптическим оборудованием. Обозначение HDB3 на электрическом порту не означает, что по волокну передаются соответствующие положительные и отрицательные импульсы напряжения.
Номинальная битовая скорость E1 составляет 2.048 Мбит/с, поэтому один битовый интервал длится около 488 нс. В каждом интервале передатчик должен либо послать положительный или отрицательный импульс, либо не посылать импульса. Приёмник должен различать эти три состояния и брать отсчёт в нужный момент. Номинальная скорость задаёт приблизительную длительность интервала. Во время работы приёмная схема отслеживает тактовую синхронизацию по изменениям сигнала в линии, чтобы момент отсчёта не смещался относительно заданного момента принятия решения.
На пояснительной схеме представим сигнал тремя символами: положительным, нулевым и отрицательным. У реального импульса E1 нормируются форма, амплитуда и длительность. Он не обязательно занимает весь битовый интервал. На схемах показано, в каком интервале находится каждый импульс. При приёмочных испытаниях электрических параметров используйте подходящий интерфейс, контрольную точку и маску импульса, а не сравнивайте осциллограмму с условной ступенчатой диаграммой.

Почему одного чередования полярности недостаточно
Начнём с AMI (Alternate Mark Inversion) — кодирования с чередованием полярности импульсов единиц. Единице соответствует импульс, а нулю — пустой битовый интервал. Каждый обычный импульс единицы имеет полярность, противоположную полярности предыдущего ненулевого импульса. Если предыдущая единица была положительной, следующая будет отрицательной, сколько бы нулей между ними ни было. Чередование снижает вероятность длительного перекоса полярности. Оно также даёт приёмнику дополнительный ориентир: если два следующих друг за другом ненулевых импульса имеют одинаковый знак, нужно проверить, соответствует ли это правилам кодирования.
При длинной последовательности нулей код AMI не создаёт новых переходов для тактовой синхронизации. Если в данных много нулей подряд, битовый такт передатчика продолжает идти, а импульсов в линии нет. По одному такому участку сигнала приёмнику трудно определить границы каждого битового интервала. Код HDB3 заменяет каждую группу из четырёх последовательных нулей заданной комбинацией с импульсами. Подстановка занимает те же четыре интервала, поэтому битовая скорость в линии не меняется, а в полезных данных не появляется дополнительных позиций.
V — импульс нарушения. Он повторяет полярность предыдущего ненулевого импульса и тем самым нарушает обычное правило чередования. B — балансирующий импульс, который подчиняется обычному правилу чередования полярности. При обнаружении V приёмник проверяет предыдущие интервалы, чтобы определить, какая подстановка использована: 000V или B00V. Сам по себе импульс того же знака ещё не доказывает, что передатчик намеренно закодировал последовательность нулей.
Разберём обе подстановки для четырёх нулей
Передатчик подсчитывает обычные ненулевые импульсы данных после последнего V. Если их число нечётное, он использует 000V. Если предыдущий ненулевой импульс был положительным, четыре интервала выглядят так: ноль, ноль, ноль, положительный импульс. Последний импульс повторяет предыдущий положительный знак и потому является V. Например, если последний V был отрицательным и за ним последовал всего один обычный положительный импульс, новый положительный V сохраняет противоположную полярность двух импульсов нарушения.
Если число чётное, передатчик использует B00V. Допустим, предыдущий V был положительным, и к моменту поступления следующих четырёх нулей после него не было ни одного обычного импульса. Ноль — чётное число. Передатчик начинает группу с отрицательного B, меняя полярность относительно предыдущего положительного импульса, оставляет два пустых интервала и завершает группу отрицательным V. Получается следующая комбинация: отрицательный импульс, ноль, ноль, отрицательный импульс. Последний отрицательный импульс повторяет полярность B и тем самым нарушает правило чередования. Этот V отрицательный, тогда как предыдущий V был положительным.
Учитываются обычные импульсы после последнего нарушения, а не все когда-либо переданные импульсы. Знать только то, что предыдущий ненулевой импульс был положительным, тоже недостаточно. В обоих примерах выше последний импульс перед подстановкой может быть положительным, но разная чётность числа обычных импульсов приводит к разным комбинациям в четырёх интервалах. Кодеру нужны и полярность, и состояние, накопленное с предыдущей подстановки.

Восстановление битов и проверка на нужном уровне
В нужный момент отсчёта приёмник сначала определяет, что находится в каждом интервале: положительный импульс, отрицательный импульс или ничего. Затем он проверяет соотношение между импульсами по правилам HDB3. Обычные импульсы данных с чередующейся полярностью соответствуют единицам. Обнаружив нарушение, декодер анализирует соответствующие четыре интервала. Если подстановка допустима, он восстанавливает все четыре нуля, в том числе в позиции импульса B, если он присутствует. Поэтому осциллограф может показывать импульсы, тогда как измеритель битовых ошибок декодирует только нули. Для принятия такого решения декодеру нужен достаточный контекст. Способ его хранения и задержка обработки зависят от аппаратной реализации.
Пропущенный импульс, а также отражение или помеха, ошибочно принятые за импульс, могут нарушить этот контекст. Различайте нарушения линейного кода и битовые ошибки в полезных данных. Первые показывают, соответствует ли принятый линейный сигнал правилам кода. Для выявления вторых нужно сравнить декодированные данные с известной тестовой последовательностью. Преднамеренно введённый допустимый импульс V — часть кода HDB3, поэтому при измерении линейных ошибок не следует считать каждую допустимую подстановку ошибкой. Чтобы точно узнать, что регистрируют счётчики оборудования и измерительного прибора, обратитесь к их документации.
На стенде используйте совместимый тестер E1 и короткий кабель, чтобы получить исходные результаты измерений в одном направлении. В согласованное окно технического обслуживания подключите вместо короткого кабеля рабочую линию. Используя известную тестовую последовательность, фиксируйте вместе линейные и битовые ошибки, состояние синхронизации и время измерений. Если с коротким кабелем всё работает, а при подключении рабочей линии число ошибок растёт, проверьте согласование нагрузки, разъёмы и затухание. Если на линейном уровне ошибок нет, а услуга не работает, проверьте кадровую структуру, распределение канальных интервалов и сквозную передачу данных. Каждое измерение относится к определённому уровню. Ни индикатор синхронизации, ни одна лишь осциллограмма не подтверждают работоспособность услуги.

Фиксируйте, где проводилось каждое измерение
Два наблюдения легко перепутать. Во-первых, ноль в линейном сигнале означает отсутствие импульса в данном интервале. Базовый уровень на приборе может меняться в зависимости от режима входной связи, шума и положения щупа, поэтому точное совпадение с отметкой нулевого напряжения на экране не служит критерием. Во-вторых, восстановленная тактовая синхронизация линии задаёт моменты взятия отсчётов. Она не подтверждает, что кадр E1 найден правильно, что телефонная сигнализация работает или что данные распределяются правильно. Указывайте, где проведено каждое измерение: на электрическом порту, на выходе декодера или в конечной точке услуги. Так другой инженер сможет его воспроизвести.
Для упражнения без подключения к линии запишите предшествующее состояние и входную последовательность. Укажите полярность последнего V, перечислите все обычные импульсы после него, а затем отметьте четыре нуля. На осциллограмме, которая начинается с середины последовательности, не видно предшествующих импульсов, определяющих чётность. По одним лишь четырём видимым интервалам нельзя установить, какой вариант выбрал кодер. Полная последовательность также позволяет проверить, чередуется ли полярность последовательных импульсов V и восстанавливает ли декодер четыре нуля в исходных четырёх позициях.
Источники и область применимости
ITU-T G.703, приложение A · Технические характеристики сменного терминала PDH Feichang 16E1 (на китайском языке)
Переведено с китайской технической статьи: Прочитать оригинальную статью на китайском языке.
Частые вопросы
Почему четыре нуля порождают импульсы в линии?
HDB3 подставляет 000V или B00V в пределах тех же четырёх интервалов, чтобы сохранить переходы сигнала, необходимые для восстановления тактовой синхронизации.
Как в коде HDB3 выбирается подстановка 000V или B00V?
При нечётном числе обычных импульсов после последнего нарушения используется 000V, при чётном — B00V.
Всегда ли импульс V указывает на ошибку?
В допустимой подстановке HDB3 импульс V используется намеренно. Прежде чем восстановить исходные нули, декодер проверяет полярность и соседние интервалы.
Дополнительные материалы
Почему классический CAN вставляет дополнительные биты · Что передаёт гигабитный оптический порт между кадрами


