Интерфейс USB
Введение Шина USB (Universal Serial Bus - универсальная последовательная шина) появилась по компьютерным меркам довольно давно - версия первого утвержденного варианта стандарта появилась 15 января 1996 года. Разработка стандарта была инициировна весьма авторитетными фирмами - Intel, DEC, IBM, NEC, Northen Telecom и Compaq. Основная цель стандарта, поставленная перед его разработчиками - создать реальную возможность пользователям работать в режиме Plug&Play с периферийными устройствами. Это означает, что должно быть предусмотрено подключение устройства к работающему компьютеру, автоматическое распознавание его немедленно после подключения и последующей установки соответствующих драйверов. Кроме этого, желательно питание маломощных устройств подавать с самой шины. Скорость шины должна быть достаточной для подавляющего большинства периферийных устройств. Попутно решается историческая проблема нехватки ресурсов на внутренних шинах IBM PC совместимого компьютера - контроллер USB занимает только одно прерывание независимо от количества подключенных к шине устройств. Технические характеристики Возможности USB следуют из ее технических характеристик: · Высокая скорость обмена (full-speed signaling bit rate) - 12 Mb/s · Максимальная длина кабеля для высокой скорости обмена - 5 m · Низкая скорость обмена (low-speed signaling bit rate) - 1.5 Mb/s · Максимальная длина кабеля для низкой скорости обмена - 3 m · Максимальное количество подключенных устройств (включая размножители) - 127 · Возможно подключение устройств с различными скоростями обмена · Отсутствие необходимости в установке пользователем дополнительных элементов, таких как терминаторы для SCSI · Напряжение питания для периферийных устройств - 5 V · Максимальный ток потребления на одно устройство - 500 mA Поэтому целесообразно подключать к USB практически любые периферийные устройства, кроме цифровых видеокамер и высокоскоростных жестких дисков. Особенно удобен этот интерфейс для подключения часто подключаемых/отключаемых приборов, таких как цифровые фотокамеры. Конструкция разъемов для USB рассчитана на многократное сочленение/расчленение. Возможность использования только двух скоростей обмена данными ограничивает применяемость шины, но существенно уменьшает количество линий интерфейса и упрощает аппаратную реализацию. Питание непосредственно от USB возможно только для устройств с малым потреблением, таких как клавиатуры, мыши, джойстики и т.п. Кабели и разъемы Сигналы USB передаются по 4-х проводному кабелю
Здесь GND - цепь "корпуса" для питания периферийных устройств, VBus - +5V также для цепей питания. Шина D+ предназначена для передачи данных по шине, а шина D- для приема данных. Кабель для поддержки полной скорости шины (full-speed) выполняется как витая пара, защищается экраном и может также использоваться для работы в режиме минимальной скорости (low-speed). Кабель для работы только на минимальной скорости (например, для подключения мыши) может быть любым и неэкранированным. Разъемы, используемые для подключения периферийных устройств, показаны на рисунке выше. ПРОТОКОЛ Вся информация передается по шине USB в виде пакетов. Каждый пакет начинается с поля синхронизации (SYNC), за которым следует идентификатор пакета (PID). Идентификатор пакета состоит из четырехразрядного кода типа пакета и четырехразрядного контрольного поля, каждый разряд которого является инверсией соответствующего разряда кода типа пакета (код пакета и контрольное поле комплементарны). Принятые по стандарту USB 1.1 коды PID перечислены в табл. 8.1. Как видно из таблицы, имеется четыре группы идентификаторов, причем принадлежность к определенной группе задается в двух младших разрядах PID: • ООЬ — специальный пакет (Special), • 01b — маркер (Token), • 10b — подтверждение (Handshake), • lib — пакет данных (Data). Таблица 8.1. Список кодов РЮ
Структура пакета зависит от группы, к которой он относится. • Маркер начала кадра содержит 8-разрядное поле PID, 11-разрядный номер кадра и 5-разрядный циклический контрольный код. Маркер начала кадра, как следует из его названия, отмечает начало каждого нового кадра на шине USB. • Маркер транзакции содержит 8-разрядное поле PID, 7-разрядное поле адреса функции, 4-разрядное поле адреса конечной точки и 5-разрядный циклический контрольный код. Маркер транзакции отмечает начало очередной транзакции на шине USB. • Пакет данных начинается с 8-разрядного поля PID, за которым следует от 0 до 1023 байт данных и 16-разрядный циклический контрольный код. • Подтверждение содержит только 8-разрядное поле PID. Подтверждение завершает каждую транзакцию.
Лабораторная работа 4
|