цифровая электроника
вычислительная техника
встраиваемые системы

 
» » Кодирование/декодирование данных и битовая вставка в интерфейсе USB 2.0

Кодирование/декодирование данных и битовая вставка в интерфейсе USB 2.0

Автор: Mike(admin) от 13-01-2020, 20:25

В USB при передаче пакетов применяется метод кодировки данных NRZI. В этом методе логическая единица («1») представлена без изменения уровня, а логический ноль («0») представлен изменением уровня. На следующем изображении представлен начальный поток данных и эквивалентная ему последовательность NRZI. Последовательность нулей NRZI заставляет переключать каждый бит данных. Последовательность единиц вызывает длительные периоды без переходов нулей и единиц в наборе данных.


метод кодирования NRZI

Чтобы обеспечить корректность перехода сигналов, передающее устройство использует битовую вставку (bit stuffing) при отправке пакета. При этом ноль вставляется после каждых шести последовательных единиц в потоке данных перед тем, как данные будут кодированы в формат NRZI, чтобы вызвать переход в потоке данных NRZI. В итоге логика приемника воспринимает переход данных по крайней мере один раз каждые семь битов, чтобы гарантировать корректную синхронизацию. Битовая вставка активируется с началом последовательности синхронизации (Sync). Битовая вставка передатчиком осуществляется всегда, кроме случаев формирования конца пакета (EOP) в высокоскоростном режиме.


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


принцип битовой вставки

Далее представлена блок-схема алгоритма битовой вставки.


блок-схема алгоритма битовой вставки

В случае высокоскоростной передачи данных намеренно генерируется ошибка заполнения битов, чтобы указать EOP. Приемник должен интерпретировать любую ошибку в битах как EOP. Для высокоскоростных пакетов, отличных от начала кадра (SOF), переданный ограничитель EOP должен быть байтом NRZ типа 01111111 без вставки битов. Например, если последний символ перед полем EOP является J, это приведет к формированию EOP типа KKKKKKKK. Для высокоскоростных пакетов SOF переданный разделитель EOP должен составлять 5 байтов NRZ без вставки битов и иметь вид 01111111 11111111 11111111 11111111 11111111. Хаб может добавить не более 4 случайных битов в конец поля EOP при повторении пакета. Таким образом, после 5 повторений пакет может иметь до 20 случайных битов, следующих за полем EOP.




© digitrode.ru


Теги: USB



   Благодарим Вас за интерес к информационному проекту digitrode.ru.
   Если Вы хотите, чтобы интересные и полезные материалы выходили чаще, и было меньше рекламы,
   Вы можее поддержать наш проект, пожертвовав любую сумму на его развитие.


Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Комментарии:

Оставить комментарий