Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Периферийные устройства вычислительной техники....docx
Скачиваний:
2
Добавлен:
17.09.2019
Размер:
159.24 Кб
Скачать

12. Usb. Модель и типы передачи данных.

Логическое устройство USB представляет собой набор конечных точек.

Конечная точка (Endpoint) — это часть устройства USB, которая имеет уникальный идентификатор и является получателем или отправителем информации, передаваемой по шине USB.

Основными для конечной точки являются следующие параметры:

• частота доступа к шине;

• допустимая величина задержки обслуживания;

• требуемая ширина полосы пропускания канала;

• номер конечной точки;

• способ обработки ошибок;

• максимальный размер пакетов, которые конечная точка может принимать или отправлять;

• используемый конечной точкой тип посылок;

• направление передачи данных.

Любое USB-устройство имеет конечную точку с нулевым номером, которая в документации именуется Endpoint Zero или Endpoint 0. Нулевая точка позволяет хосту опрашивать устройство с целью определения его типа и параметров, выполнять инициализацию и конфигурирование устройства.

Каждая конечная точка может работать только с одним типом посылок (типы посылок описаны ниже). Нулевая точка поддерживает управляющие посылки и поэтому может выполнять как прием, так и передачу данных.

Кроме нулевой точки, функции обычно имеют дополнительные конечные точки, которые используются для обмена данными с хостом. Дополнительные точки могут работать либо только на прием, либо только на передачу информации. Точки, передающие данные хосту, именуются входными (IN), а точки, принимающие данные от хоста — выходными (OUT). Низкоскоростные устройства могут иметь до двух дополнительных точек, а полноскоростные — до 15 дополнительных входных и до 15 дополнительных выходных точек. Хост получает доступ к нулевой конечной точке после того, как устройство присоединено к шине, включено и получило сигнал сброса по шине. Все остальные конечные точки, кроме точки с нулевым номером, после включения питания или сброса устройства находятся в неопределенном состоянии и недоступны для работы до тех пор, пока хост не выполнит процедуру конфигурирования устройства. Для описания порядка прохождения информации через буфер данных между программным обеспечением и конечной точкой в спецификации USB введено понятие канала.

Канал (pipe) — это модель взаимодействия конечной точки с программным обеспечением хоста. Имеется два типа каналов:

• поток (stream) — это канал для передачи данных, структура которых определяется клиентским программным обеспечением. Потоки используются для передачи массивов данных, передачи данных по прерываниям и изохронной передачи данных.

• канал сообщений (message pipe) — это канал для передачи данных, структура которых определяется спецификацией на шииу USB. Каналы сообщений применяются для передачи управляющих посылок.

Основными характеристиками каналов являются:

• полоса пропускания канала;

• используемый каналом тип передачи данных;

• характеристики, соответствующие конечной точке: направление передачи данных и максимальный размер пакета.

Канал сообщений, связанный с нулевой конечной точкой, называется в документации Основным каналом сообщений (Default Control Pipe). Спецификация USB запрещает для канала сообщений одновременную обработку нескольких запросов: нельзя начинать передачу нового сообщения, пока не завершена обработка предыдущего. В случае возникновения ошибки, однако, передача сообщения может быть прервана хостом, после чего хост может начать передачу нового сообщения.