Какова цель кодирования 8b / 10b?

8

На физическом уровне USB 3.0 есть кодировщик 8b / 10b .

Википедия говорит, что это устраняет смещение постоянного тока, в то время как учебник, который я читаю, говорит

это общая схема кодирования в высокоскоростных последовательных проектах

Какова цель этой кодировки в контексте USB? Кроме того, какие другие приложения и преимущества обеспечивает эта кодировка в других типах устройств?

Vorac
источник
Оказывается, позже в уроке это объясняется. Все еще любопытно, в каких других областях используется эта кодировка.
Vorac
2
Можете ли вы уточнить их объяснение почему?
Andyz Smith 10.10.13

Ответы:

9

Простой ответ для кодирования, подобного 8b / 10b, состоит в том, что он гарантирует, что поток кодированных данных имеет по меньшей мере определенное количество переходов данных. Без такого кодирования длинный поток из 0 или 1 будет выглядеть как попытка отправить DC через канал.

Та же философия применима к манчестерскому кодированию, где чистая полоса пропускания для передачи по каналу в два раза превышает действительную полосу пропускания данных. Преимущества, рекламируемые для 8b / 10b, заключаются в том, что используемая полоса пропускания передачи намного меньше, чем 2X, установленная Манчестером.

Один хочет избежать DC через канал по ряду причин. Хотя каждый канал передачи предъявляет различные требования, основное внимание уделяется тому, что постоянный ток не проходит через конденсаторные или трансформаторные цепи очень хорошо. Другое большое соображение, даже для цепей с прямым соединением, заключается в том, что переходы необходимы для синхронизации схемы ФАПЧ на стороне приемника, чтобы можно было восстановить тактирование, чтобы позволить стробировать биты данных в нужное время.

Майкл Карас
источник
и причина, почему важно, чтобы он не «выглядел как DC» ...?
Andyz Smith
Смотрите добавленный комментарий в ответ ....
Майкл Карас
1
«Постоянный ток не проходит через конденсаторные или трансформаторные цепи очень хорошо», - с тем же успехом можно оставить последние два слова незаполненными :)
Mels
Я был бы немного обеспокоен, если бы перед чувствительным детектором сигнала в высокоскоростной цифровой трансмиссии был трансформатор или конденсатор, но да, я с тобой, и тактирование и стробирование - это то, о чем я действительно думаю. Я имею в виду, что это основное различие между синхронной и асинхронной передачей. и причина, по которой асинхронный выбирается снова и снова, даже если он тратит впустую биты, из-за его устойчивости к шуму.
Andyz Smith
@AndyzSmith «Электрические аспекты каждого тракта характеризуются как передатчик, канал и приемник; они вместе представляют однонаправленную дифференциальную линию. Каждая дифференциальная линия связана с переменным током с конденсаторами, расположенными на стороне передатчика дифференциальной линии». USB 3.0, раздел 3.2.1
Vorac
2

Помимо приятных свойств, упомянутых другими, 8B10B предоставляет вам и другие полезные свойства: 1. Простое распознавание в приемнике между управлением каналом и символами данных 2. Легкое обнаружение ~ 75% ошибок.

Также на удивление легко построить 8b10b передатчики и приемники в программируемой логике; в оригинальном патенте IBM указаны все необходимые логические операции (и если вам лень это делать , Чак Бенц сделал это для вас в Verilog).

В Википедии также есть очень полезная страница на 8b10b.

Markt
источник
1

Это объяснено позже в связанном руководстве, на странице 15.

Ниже перечислены причины применения этой кодировки к USB 3.0:

  • восстановление тактового сигнала - без кодирования длинные потоки, равные 1 или 0, будут выглядеть как DC
  • обнаружение ошибок - когда приемник декодирует 10-битный символ, появляется много невозможных символов; получение одного из них сигнализирует об ошибке.

У коллеги есть другая гипотеза. Перефразируя:

Кабель имеет индуктивность и емкость. Это сглаживает атакующий фронт импульсов. Таким образом, передача одного 1 оставит шину в определенном электрическом состоянии, в то время как передача нескольких 1 оставит ее в другом электрическом состоянии (ближе к стационарному состоянию). Следовательно, отправка послесловия 0 будет с разной вероятностью в двух сценариях.


В-третьих, вот цитата из стандарта, раздел 3.2.1

Приемнику нужно достаточно переходов, чтобы надежно восстановить тактовые импульсы и данные из потока битов. Чтобы гарантировать, что адекватные переходы происходят в битовом потоке независимо от содержимого передаваемых данных, передатчик кодирует данные и управляющие символы в символы с использованием кода 8b / 10b.

Vorac
источник