logo
Отчеты по Лабораторным ИСТ (1-5)

1. Цель работы

Изучение элементов Universal Serial Bus (USB): распределения процессов с помощью маркеров; подключения; конфигурирования; использования и отключения устройства (Device). Устройства - цифровые кодеры, сканеры, принтеры, камеры для видеоконференций, дисковые накопители - могут обмениваться данными не только с PC, но и между собой на базе FireWire.

Интерфейс USB

Введение

Шина USB (Universal Serial Bus - универсальная последовательная шина) появилась по компьютерным меркам довольно давно - версия первого утвержденного варианта стандарта появилась 15 января 1996 года. Разработка стандарта была инициировна весьма авторитетными фирмами - Intel, DEC, IBM, NEC, Northen Telecom и Compaq.

Основная цель стандарта, поставленная перед его разработчиками - создать реальную возможность пользователям работать в режиме Plug&Play с периферийными устройствами. Это означает, что должно быть предусмотрено подключение устройства к работающему компьютеру, автоматическое распознавание его немедленно после подключения и последующей установки соответствующих драйверов. Кроме этого, желательно питание маломощных устройств подавать с самой шины. Скорость шины должна быть достаточной для подавляющего большинства периферийных устройств. Попутно решается историческая проблема нехватки ресурсов на внутренних шинах IBM PC совместимого компьютера - контроллер USB занимает только одно прерывание независимо от количества подключенных к шине устройств.

Технические характеристики

Возможности USB следуют из ее технических характеристик:

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

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

Питание непосредственно от USB возможно только для устройств с малым потреблением, таких как клавиатуры, мыши, джойстики и т.п.

Кабели и разъемы

Сигналы USB передаются по 4-х проводному кабелю

Предназначены только для подключения к источнику, т.е. к компьютеру или хабу

Предназначены только для подключения к периферийному устройству

Номер контакта

Назначение

Цвет провода

1

V BUS

Красный

2

D-

Белый

3

D+

Зеленый

4

GND

Черный

Оплетка

Экран

Оплетка

Здесь GND - цепь "корпуса" для питания периферийных устройств, VBus - +5V также для цепей питания. Шина D+ предназначена для передачи данных по шине, а шина D- для приема данных.

Кабель для поддержки полной скорости шины (full-speed) выполняется как витая пара, защищается экраном и может также использоваться для работы в режиме минимальной скорости (low-speed). Кабель для работы только на минимальной скорости (например, для подключения мыши) может быть любым и неэкранированным.

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

ПРОТОКОЛ Транзакции по USB состоят из трех пакетов. Каждая транзакция планируется и начинается по инициативе контроллера, который посылает пакет-маркер. Этот пакет описывает тип и направление передачи, адрес устройства ми номер конечной точки. В каждой транзакции возможен обмен между конечной точкой адресуемого устройства и хостом. Адресуемое маркером устройство USB распознает свой адрес и подготавливается к обмену. Источник данных передает пакет данных (или уведомление об отсутствии данных, предназначенных для передачи). После успешного приема пакета приемник посылает пакет подтверждения( или "рукопожатия" ) подтверждающий прием информации. Планирование транзакций обеспечивает управление поточными каналами. На аппаратном уровне использование отказа от транзакции (NACK) при недопустимой интенсивности транзакций на шине предохраняет буферы от переполнения или от перепустошения. Маркеры отвергнутых транзакций передаются вновь в свободное для шины время. Управление потоками позволяет гибко планировать обслуживание одновременных разнородных потоков данных. Устойчивость к ошибкам обеспечивают следующие свойства USB: 1. Высокое качество сигналов, обеспечиваемое дифференциальными приемниками, передатчиками и экранированием кабелей. 2. Защита полей управления и данных CRC-кодами. 3. Обнаружение подключения и отключения устройств, конфигурирование ресурсов на системном уровне. 4. Самовосстановление протокола с использованием тайм-аута при потере пакетов. 5. Управление потоком для обеспечения изохронности и управления аппаратными буферами. 6. Независимость одних функций от неудачных обменов с другими функциями, обеспечиваемая конструкцией каналов. Для обнаружения ошибок передачи каждый пакет использует контрольные поля CRC-кодов, позволяющие обнаруживать одиночные и двойные битовые ошибки. Аппаратные средства обнаруживают ошибки передачи, а контроллер производит трехкратную попытку передачи. Если эти попытки безуспешны, то сообщение об ошибке передается клиентскому ПО для программной обработки

Вся информация передается по шине USB в виде пакетов. Каждый пакет начинается с поля синхронизации (SYNC), за которым следует идентификатор пакета (PID). Идентификатор пакета состоит из четырехразрядного кода типа пакета и четырехразрядного контрольного поля, каждый разряд которого является инверсией соответствующего разряда кода типа пакета (код пакета и контрольное поле комплементарны). Принятые по стандарту USB 1.1 коды PID перечислены в табл. 8.1. Как видно из таблицы, имеется четыре группы идентификаторов, причем принадлежность к определенной группе задается в двух младших разрядах PID:

•           ООЬ — специальный пакет (Special),

•           01b — маркер (Token),

•           10b — подтверждение (Handshake),

•           lib — пакет данных (Data).

Таблица 8.1. Список кодов РЮ

Тип PID

Обозначение

Код типа

Описание пакета

Маркер

OUT

0001b

Адрес и номер конечной точки при передаче от хоста к функции

 

IN

1001b

Адрес и номер конечной точки при передаче от функции к хосту

 

SOF

0101b

Маркер начала кадра и номер кадра

 

SETUP

1101b

Адрес и номер конечной точки при передаче команды от хоста к функции

Данные

DATAO

0011b

Четный пакет данных

 

DATA1

1011b

Нечетный пакет данных

Подтверждение

АСК

0010b

Подтверждение приема пакета

 

NAK

1010b

Ответ на запрос не готов

 

STALL

1110b

Произошел сбой в конечной точке или запрос не поддерживается

Специальный

PRE

1100b

Преамбула запроса, которая разрешает замедленный трафик для низкоскоростных устройств

Структура пакета зависит от группы, к которой он относится.

•       Маркер начала кадра содержит 8-разрядное поле PID, 11-разрядный номер кадра и 5-разрядный циклический контрольный код. Маркер начала кадра, как следует из его названия, отмечает начало каждого нового кадра на шине USB.

•       Маркер транзакции содержит 8-разрядное поле PID, 7-разрядное поле адреса функции, 4-разрядное поле адреса конечной точки и 5-разрядный циклический контрольный код. Маркер транзакции отмечает начало очередной транзакции на шине USB.

•       Пакет данных начинается с 8-разрядного поля PID, за которым следует от 0 до 1023 байт данных и 16-разрядный циклический контрольный код.

•       Подтверждение содержит только 8-разрядное поле PID. Подтверждение завершает каждую транзакцию.

Лабораторная работа 4

Изучение DSL-300T