Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Поля USB пакета




Структура USB пакета

Описание протоколов используемых при передаче данных

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

Каждая USB транзакция состоит из следующих частей:

· Признак пакета (Заголовок определяющий что далее будет следовать)

· Пакет данных (Опционально)

· Пакет статуса транзакции (Используется для подтверждения нормального завершения транзакции и обеспечения коррекции ошибок при передаче)

Мастером на USB шине является хост. Он и является инициатором всех транзакций. Первым передаваемым пакетом является Признак (Token Packet). Он генерируется хостом для определения что будет следовать далее, какая это будет транзакция: чтение или запись, к какому устройству и конечной точке будет обращение. Следующим пакетом, как обычно, следует пакет данных (Data Packet). И в завершении транзакции следует пакет статуса (Status Packet), который либо подтверждает успешное принятие данных, либо указывает что конечная точка приостановлена (STALL) или не готова принимать данные.

Данные по USB шине всегда передаются младшими битами вперед. USB пакет состоит из следующих полей:

· Поле синхронизации (Sync Field)

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

· Поле идентификатора пакета (PID Field)

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

(LSB)             (MSB)
PID0 PID1 PID2 PID3 PID0 PID1 PID2 PID3

Рисунок 2. Формат поля PID.

Контрольная область PID генерируется как инверсия четырехбитного типа пакета и необходима для устранения ложного декодирования следующих за этим полем данных. Ошибка PID детектируется в том случае, когда инвертированная контрольная область не совпадает с соответствующими битами идентификатора пакета. Любой PID полученный с ошибкой или неуказанный в нижеследующей таблице, должен быть проигнорирован получателем пакета.

PID Тип Имя PID PID[3…0] Описание
Признак (Token) Out   Адрес + номер конечной точки для транзакции ХОСТ -->Функция
  In   Адрес + номер конечной точки для транзакции ХОCT <-- Функция
  SOF   Маркер начала пакета и его номер
  SETUP   Адрес + номер конечной точки для SETUP транзакции ХОСТ ® Функция в канале управления
Данные DATA0   Четный PID пакета данных
  DATA1   Нечетный PID пакета данных
Статус ACK   Приемник принял пакет данных без ошибок
  NAK   Принимающее устройство не может принять данные, или передающее не может их отправить
  STALL   Конечна точка приостановлена (HALT) или запрос по управляющему каналу не поддерживается
Спец. PRE   ХОСТ инициирует преамбулу, разрешая трафик для низкоскоростных устройств

Рисунок 3. Типы PID.

PID биты приведены в таблице в MSB порядке. Когда они передаются по шине, правый бит (бит 0) выдается первым.

· Поле адреса устройства (Addr Field)

Поле адреса используется для идентификации к какому устройству направлен текущий пакет. Размерность поля - 7 бит, что позволяет адресовать 127 уникальных USB устройств. После сброса или включения питания, адрес устройства устанавливается по умолчанию в 0 и должен быть запрограммирован хостом в ходе процесса энумерации. Адрес 0 (заданный по умолчанию) зарезервирован для вновь подключаемых устройств и не может быть назначен для нормальной работы.

· Поле адреса конечной точки (Endpoint Field)

Поле адреса конечной точки имеет размерность 4 бита и позволяет размещать в устройстве до 16 конечных точек. Все функции должны поддерживать одну управляющую '0' конечную точку. Низкоскоростные устройства поддерживают только три канала передачи: управляющий канал, связанный с нулевой конечной точкой и два дополнительных канала (две Interrupt конечные точки). Полноскоростные устройства поддерживают максимум до 16 конечных точек.

· Поле номера кадра (Frame Number Field)

Поле номера кадра представляет собой 11-битное поле, которое инкрементируется хостом при инициировании нового кадра. Поле номера кадра начинается заново с нуля при достижения максимального значения 0х7FF, и используется только для SOF маркеров в каждом начале кадра.

· Поле циклического контроля по избыточности (CRC)

Циклический контроль по избыточности (CRC) используются для защиты всех полей кроме PID в маркерах и пакетах данных. Защита Маркера и пакета данных обеспечивает 100% нахождение всех одиночных и двойных битовых ошибок. Для маркеров предусмотрено пяти-битное поле CRC, которое используется для защиты полей ADDR и ENDP пакетов IN, SETUP,OUT или поле отметки времени маркера SOF. Для пакета данных используется 16-битный полином, кодирующий всё поле данных пакета.

· Поле конца пакета (EOP)

Поле конца пакета представляет собой сигнал окончания пакета и устанавливается на шине путем выставления сигнала "Single Ended Zero " SE0 в течении двух битовых интервалов следующего за J состоянием, установленным на время одного битового интервала.




Поделиться с друзьями:


Дата добавления: 2014-11-20; Просмотров: 926; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.