Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
арх_лекция_14.doc
Скачиваний:
6
Добавлен:
17.04.2019
Размер:
196.61 Кб
Скачать

Центральный концентратор шины usb передает кадры каждую миллисекунду

В кадрах 0 и 2 не происходит никаких действий, поэтому в них содержится только пакет SOF (Start of Frame — начало кадра). Этот пакет всегда посылается всем устройствам. Кадр 1 — упорядоченный опрос (например, сканеру посылается запрос на передачу битов сканированного им изображения). Кадр 3 состоит из отсылки данных какому-нибудь устройству (например, принтеру).

Шина USB поддерживает 4 типа кадров: кадры управления, изохронные кад­ры, кадры передачи больших массивов данных и кадры прерывания. Кадры управ­ления используются для конфигурации устройств, передачи команд устройствам и запросов об их состоянии. Изохронные кадры предназначены для устройств ре­ального времени (микрофонов, акустических систем и телефонов), которые долж­ны принимать и посылать данные через равные временные интервалы. Задержки хорошо прогнозируются, но в случае ошибки такие устройства не производят по­вторной передачи. Кадры следующего типа используются для передач большого объема от устройств и к устройствам без требований реального времени (напри­мер, принтеров). Наконец, кадры последнего типа нужны для того, чтобы осуще­ствлять прерывания, поскольку шина USB не поддерживает прерывания. Напри­мер, вместо того чтобы вызывать прерывание всякий раз, когда происходит нажатие клавиши, операционная система может вызывать прерывания каждые 50 млс и «собирать» все задержанные нажатия клавиш.

Кадр состоит из одного или нескольких пакетов. Пакеты могут посылаться в обоих направлениях. Существует четыре типа пакетов: маркеры, пакеты данных, пакеты квитирования и специальные пакеты. Маркеры передаются от концентра­тора к устройству и предназначены для управления системой. Пакеты SOF, IN и OUT на рис. 3.50 — маркеры. Пакет SOF (Start of Frame — начало кадра) является первым в любом кадре и показывает начало кадра. Если никаких действий выпол­нять не нужно, пакет SOF единственный в кадре. Пакет IN — это запрос. Этот пакет требует, чтобы устройство выдало определенные данные. Поля в пакете IN содер­жат информацию, какой именно канал запрашивается, и таким образом устрой­ство определяет, какие именно данные выдавать (если оно обращается с несколь­кими потоками данных). Пакет OUT объявляет, что далее последует передача данных для устройства. Последний тип маркера, SETUP (он не показан на рисун­ке), используется для конфигурации.

Кроме маркеров существует еще три типа пакетов. Это пакеты DATA (использу­ются для передачи 64 байтов информации в обоих направлениях), пакеты квити­рования и специальные пакеты. Формат пакета данных показан на рис. 3.50. Он состоит из 8-битного поля синхронизации, 8-битного указателя типа пакета (PID), полезной нагрузки и 16-битного CRC (Cyclic Redundancy Code — циклический избыточный код) для обнаружения ошибок. Есть три типа пакетов квитирования: АСК (предыдущий пакет данных был принят правильно), NAC (найдена ошибка CRC) и STALL (подождите, пожалуйста, я сейчас занят).

Центральный концентратор дол­жен отсылать новый кадр каждую миллисекунду, даже если не происходит ника­ких действий. Кадры 0 и 2 содержат только один пакет SOF, что говорит о том, что ничего не происходит. Кадр 1 представляет собой опрос, поэтому он начинается с пакетов SOF и IN, которые передаются от компьютера к устройству ввода-выво­да, а затем следует пакет DATA от устройства к компьютеру. Пакет АСК сообщает устройству, что данные были получены без ошибок. В случае ошибки устройство получает пакет NACK, после чего данные передаются заново (отметим, что изо­хронные данные повторно не передаются). Кадр 3 похож по структуре на кадр 1, но в нем поток данных направлен от компьютера к устройству.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]