Открыть сервис

Non-Return-to-Zero Pulse Code

Non-Return-to-Zero Pulse Code (NRZ, код без возврата к нулю) — это метод физического кодирования (линейного кодирования) цифровых сигналов, при котором уровень сигнала (напряжение или ток) остаётся постоянным на протяжении всего битового интервала. В отличие от кодов с возвратом к нулю (RZ), в NRZ сигнал не возвращается к нулевому уровню между передачей двух последовательных битов с одинаковым значением. Это один из простейших и наиболее распространённых способов представления двоичных данных в виде электрических или оптических сигналов.

Принцип действия

В основе NRZ-кодирования лежит прямое отображение логических уровней на физические параметры сигнала. Обычно логической единице («1») соответствует высокий уровень напряжения (например, +5 В или +3,3 В), а логическому нулю («0») — низкий уровень (0 В или -5 В). В некоторых вариантах, например, в дифференциальных схемах, используется перепад полярности.

Ключевая особенность NRZ — отсутствие обязательного перехода сигнала через нулевой уровень в каждом такте. Если передаётся длинная последовательность одинаковых битов (например, «111111» или «000000»), сигнал остаётся на одном уровне в течение нескольких тактовых интервалов. Это приводит к двум основным проблемам: потере синхронизации и накоплению постоянной составляющей.

Разновидности NRZ

NRZ-L (Non-Return-to-Zero Level)

Наиболее распространённая разновидность. Уровень сигнала прямо соответствует логическому значению бита. Высокий уровень — «1», низкий — «0» (или наоборот, в зависимости от полярности). Используется в интерфейсах RS-232, UART, а также в некоторых вариантах Ethernet (10BASE-T).

NRZ-I (Non-Return-to-Zero Inverted)

В этом варианте кодирование происходит не по уровню, а по наличию или отсутствию перепада сигнала в начале битового интервала. Логическая «1» кодируется сменой уровня (переходом с высокого на низкий или наоборот), а логический «0» — отсутствием перехода. NRZ-I позволяет частично решить проблему синхронизации при длинных последовательностях нулей, но не решает её для последовательностей единиц. Применяется в некоторых протоколах последовательной передачи данных, например, в USB (Low-Speed и Full-Speed) и в Fibre Channel.

Дифференциальный NRZ (Differential NRZ)

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

Характеристики

Преимущества

  • Простота реализации: NRZ-кодеры и декодеры требуют минимального количества логических элементов.
  • Высокая скорость передачи: Поскольку сигнал не требует возврата к нулю, теоретическая пропускная способность канала равна тактовой частоте. Для NRZ полоса пропускания, необходимая для передачи сигнала, составляет примерно половину от тактовой частоты (для кода RZ она равна тактовой частоте).
  • Низкое энергопотребление: При передаче длинных последовательностей одинаковых битов переключения сигнала не происходит, что снижает динамические потери.

Недостатки

  • Проблема синхронизации: При длинных сериях одинаковых битов (особенно нулей в NRZ-L или единиц в NRZ-I) сигнал не меняется, и приёмник теряет тактовую синхронизацию. Для восстановления синхронизации требуется использование дополнительных методов, таких как скремблирование данных или вставка служебных битов (например, в протоколе USB используется бит-стаффинг).
  • Наличие постоянной составляющей: Если количество единиц и нулей в передаваемом потоке не сбалансировано, в сигнале возникает постоянная составляющая (DC-компонента). Это затрудняет передачу через трансформаторы, конденсаторы и другие элементы с гальванической развязкой, а также может вызывать дрейф нуля в усилителях.
  • Чувствительность к помехам: Поскольку информация кодируется абсолютным уровнем, NRZ-L более подвержен влиянию помех и дрейфа уровней, чем дифференциальные схемы.

Применение

NRZ-кодирование широко используется в различных областях цифровой передачи данных:

  • Последовательные интерфейсы: RS-232, RS-422, RS-485, UART, I²C (с некоторыми оговорками), SPI.
  • Локальные вычислительные сети: 10BASE-T (Ethernet на витой паре) использует манчестерский код, но некоторые ранние реализации Ethernet (например, 10BASE5 на толстом коаксиале) применяли NRZ. В современных стандартах Ethernet (100BASE-TX, 1000BASE-T) используется более сложное кодирование (4B/5B + MLT-3, PAM-5), но на физическом уровне они также основаны на принципах NRZ.
  • Оптические системы связи: В волоконно-оптических линиях связи (ВОЛС) NRZ является одним из основных форматов модуляции, особенно на скоростях до 10 Гбит/с. На более высоких скоростях (40 Гбит/с и выше) часто используются более сложные форматы, такие как RZ-DPSK.
  • Системы хранения данных: В интерфейсах жёстких дисков (SATA, SAS) и твердотельных накопителей (NVMe) используется NRZ-кодирование на физическом уровне.
  • Радиосвязь: В некоторых системах цифровой радиосвязи (например, в протоколах с частотной манипуляцией FSK) NRZ используется для модуляции несущей.

Сравнение с другими методами кодирования

ХарактеристикаNRZRZМанчестерский код
Полоса пропускания~0.5 * f_тактаf_тактаf_такта
Наличие постоянной составляющейДаНет (в среднем)Нет
СамосинхронизацияНетЧастичнаяДа
Сложность реализацииНизкаяСредняяСредняя
Устойчивость к помехамНизкаяСредняяВысокая

Интересные факты

  • Термин «Non-Return-to-Zero» возник в контексте магнитной записи, где сигнал не возвращался к нулевому уровню между битами, в отличие от кода RZ, используемого в ранних системах.
  • В некоторых источниках NRZ называют «кодом без возврата к нулю» или «потенциальным кодом».
  • Для борьбы с проблемой синхронизации в NRZ часто применяют скремблирование — псевдослучайное перемешивание битов перед передачей. Это позволяет избежать длинных последовательностей одинаковых символов.
  • В современных высокоскоростных интерфейсах (например, PCI Express, USB 3.0) используется более сложное кодирование, такое как 8b/10b или 128b/130b, которое обеспечивает баланс постоянной составляющей и достаточное количество перепадов для синхронизации, но на физическом уровне они часто основаны на NRZ-модуляции.

Источники

  • Таненбаум Э., Уэзеролл Д. «Компьютерные сети». 5-е изд. — СПб.: Питер, 2012.
  • Олифер В. Г., Олифер Н. А. «Компьютерные сети. Принципы, технологии, протоколы». 4-е изд. — СПб.: Питер, 2010.
  • Stallings W. «Data and Computer Communications». 10th ed. — Pearson, 2013.
  • IEEE Standard for Ethernet (IEEE Std 802.3-2018).

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →