Сделай Сам Свою Работу на 5

Кодирование и синхронизация.

Кодирование:

Бинарные данные передаваемые через интерфейс USB кодируются методом NRZI.

Метод NRZI (Non Return to Zero Invert)заключается в изменении полярности сигнала при кодировании "0".

При передаче "1" полярность сигнала остаётся прежней.

NRZI кодированные сигналы Low Speed устройств противоположны сигналам Full Speed устройств USB.

Кодирование используется для увеличения информационной ёмкости сигнала, за счёт уменьшения количества встраиваемых синхробитов.

Синхронизация:

Синхронизация данных осуществляется от каждого переходного фронта сигнала.

Так как каждый "0" бит данных изменяет полярность сигнала при NRZI кодировании на противоположный, то каждый "0" бит создает переходной фронт сигнала, относительно которого синхронизируется приёмник данных.

Рис.21. NRZI кодирование.

 

Три метода синхронизации пакета данных в USB:

1.SOP(Start-of-Packet) Переход из сотяния Idle в состание K.

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

2."0" бит данных.

Каждый "0" бит данных дополнительно синхронизует приёмник.

В результате NRZI кодирования, все данные содержащие "0" бит не нуждаются в дополнительном синхробитах.

3. Stuffed Bit -вставляемый синхробит.

Если в пакете данных появляются подряд шесть "1", то чтобы не потерять синхронизацию приёмника вставляют "0", который считается синхробитом. То есть, "0" после шести "1" не является битом данных и программным уровнем игнорируется.

В байте существует только три комбинации с шестью "1" (3Eh, 7Eh, FCh), вероятность такой комбинации составляет 3/256, т.е. примерно 5,4%. В RS232 количество синхробитов составляет 20% от длины пакета, поэтому сигнал USB более информативен, то есть имеет более высокую энтропию.

Из рис.22 видно, что начальное положение Idle для FS и LS имеют разный знак, поэтому первый бит синхробайта должен изменить начальное положение на противоположное, иначе мы бы потеряли значение первого бита. Отсюда становится понятно, почему кодировка NRZI для FS и LS различаются.



Как видно из рис.22 синхронизация USB не хуже синхронизации RS232 (где синхронизируется каждый байт). Причем затрат времени на синхронизацию в USB почти в четыре раза меньше, и соответственно мы можем передать больше информации за единицу времени. Недостатки синхронизации с NRZI:

1.В пакете появляются байты длиною в 9 бит.

2.Каждый Stuff бит задерживает остаток пакета на время равное интервалу бита. Поэтому разные пакеты передаются с разным временем задержки.

3.Пакеты становятся плавающей длины.

В RS232 таких проблем нет. Отсюда вывод, что за всё приходиться расплачиваться.

Состояния линии связи.

Как видно из структуры физического уровня USB 1.1 (рис.20), в ней отсутствовали сервисные сигналы.

Это сильно ограничивало функциональность интерфейса, так как становилось трудно организовать процедуры: установки, обмена, повтора при ошибки, останова и разрыва связи.

Это являлось основным недостатком интерфейса RS-485, в котором можно обнаружить только два состояния: ведется передача или нет. В результате применения связки RS232-RS485 терялись все преимущества COM порта по организации процесса связи.

Рассмотрим как, разработчики USB порта решили эту проблему:

1. В структуру добавлены два линейных приёмника.

Они могут определить четыре состояния линии связи D+D-:00, 01, 10, 11.

Эти состояния определяются, когда по линии связи нет обмена данными.

Причем четырех состояний для организации полноценного обмена будет недостаточно.

2. Добавлен анализ временных интервалов состояний линии связи

Использование анализа временных интервалов состояний линии связи, позволяет генерировать 9 сервисных сигналов. Сервисные сигналы позволяют организовать управление обменом данных в линии связи.

Состояния линии связи USB 1.1 и генерируемые ими сигналы D+D- = 00 SE0(Single-ended 0) - состояние линии "однополярный ноль". Состояние определяется:

На разъеме источника: Vd+ и Vd- < VOL

На разъёме приёмника:Vd+ и Vd- < VIL (рекомендовано), Vd+ и Vd- < VIH (допустимо)

Это состояние когда обе линии закорочены генератором драйвера по сигналу SE0 (см. рис.20) или когда к шине не подключен Upstream драйвер.

 

Это состояние использется для генерации сигналов: EOP, Disconnect, Reset (рис. 23).

EOP(End-of-Packet)- сигнал конец пакета Сигнал определяется:

На разъеме источника: SE0 в течении 2 бит с последующим J-сигналом в течений 1 бит

На разъёме приёмника:SE0 более 1 бит с последующим J-сигналом в течении 1 бит

Этот сигнал подаётся в линию связи в конце каждого пакета данных.

Он служит для разделения пакетов данных во времени (как стоп-бит в RS232).

После состояния SE0, которое длится на протяжении двух битовых интервалов 160нс..175нс(Full Speed) или 1,25мкс..1,50мкс(Low Speed) передаётся сигнал J в течении 1 бита. После чего может быть передан новый пакет или шина перейти в состояния Idle.

Disconnect-сигнал отсоединение Upstream от Downstream порта, определяется на Downstream Сигнал определяется:

На разъеме источника: не измеряют.

На разъёме приёмника: SE0 более 2,5мкс.

Этот сигнал фиксируется на Downstream порту, когда Upstream драйвер подал сигнал SE0 или был физически отсоединён от шины USB. При физическом отсоединении низкий уровень линейных сигналов обеспечивают подтягивающие резисторы драйвера Downstream RPD=15kOm.

Reset -сигнал сброс шины Сигнал определяется:

На разъеме источника: SE0 более 10мс.

На разъёме приёмника: SE0 более 10мс (рекомендовано), более 2,5мкс (допустимо)

Это сигнал генерируется после сигнала Disconnect, оно инициализирует перезапуск опроса устройств USB.

 

Рис. 22. Синхронизация пакета данных USB.

 

D+D- = 01/10 Idle- свободное (незанятое) состояние линии связи . Состояние определяется:

На разъеме источника: не измеряют

На разъёме приёмника (Low Speed):Vd+ < VIL и Vd- > VIH

На разъёме приёмника (Full Speed):Vd+ > VIH и Vd- < VIL

Это состояние когда к порту Downstream подключено устройство и обмена данными не производится.

С помощью этого состояния генерируются сигналы: Connect, Suspend

Connect- сигнал соединения устройства с Downstream портом Сигнал определяется на Dowmstream порту:

На разъеме источника: не измеряют

На разъёме приёмника: Idle более 2мс (рекомендовано), более 2,5мкс (допустимо)

Этот сигнал сообщает Downstream порту, что к нему подлючилось устройство.

Suspend- сигнал приостановки обмена данных по шине Сигнал определяется на Upstream порту:

На разъеме источника: не измеряют

На разъёме приёмника: Idle более 3мс

Этот сигнал сообщает устройству, что обмен данных с ним приостановлен.

Возобновление работы осуществляется выставлением сигнала Resume.

Дифференциальный "1" - состояние высокого уровня сигнала на линии связи.

Состояние определяется:

На разъеме источника: Vd+ > VOH и Vd- < VOL

На разъёме приёмника: Vdi >+0.2v и Vd+>VIH(рекомендовано), Vdi >+0.2v (допустимо)

Дифференциальный "0" -состояние низкого уровня сигнала на линии связи.

Состояние определяется:

На разъеме источника: Vd- > VOH и Vd+ < VOL

На разъёме приёмника: Vdi <-0.2v и Vd->VIH(рекомендовано), Vdi <-0.2v (допустимо)

С помощью этих состояний генерируются сигналы: J, K, Resume, SOP J- сигнал J(Jump), возврат линии связи к уровню исходного состояния (Idle)

Синал определяется:

Low Speed: состояние дифференциальный "0"

Full Speed: состояние дифференциальный "1"

K- сигнал K(Kill), сброс исходного(Idle) уровня состояния линии связи.

Сигнал определяется:

Low Speed: состояние дифференциальный "1"

Full Speed: состояние дифференциальный "0"

Resume - сигнал возобновление работы после останова.

Состояние определяется:

На разъеме источника и приёмника: K сигнал не менее 20мс с последующим сигналом EOP

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

SOP - сигнал (Start of Packet) начала пакета.

Состояние определяется:

На разъеме источника и приёмника: переход из состояния Idle к сигналу K D+D- = 11

Данная комбинация линейных сигналов технически не реализована в структуре USB 1.1

На рис. 23 приведены сигналы и состояния линии связи USB 1.1.

 



©2015- 2020 stydopedia.ru Все материалы защищены законодательством РФ.