- •Лабораторная работа
- •Структура usb.
- •Физический интерфейс.
- •Модель передачи данных.
- •Типы передачи данных.
- •Протокол.
- •Форматы пакетов.
- •Работа с мышью.
- •Листинг программы для работы с мышью через интерфейс usb (ос Dos):
- •Блок-схема алгоритма:
- •Работа с принтером.
- •Листинг программы: печать заштрихованного квадрата на струйном принтере epson Stylus с интерфейсом usb.
- •Блок-схема алгоритма программы: печать заштрихованного квадрата на струйном принтере epson Stylus с интерфейсом usb
- •Листинг программы для работы с принтером (ос Windows хр) через интерфейс usb.
- •Блок-схема алгоритма:
- •Результат работы программы:
- •Контрольные вопросы:
- •1. Опиши те все, что вы знаете о хост-контроллерах.
- •3. Опишите четыре базовых типа передачи данных, предусмотренных протоколом usb.
- •4. Опишите реализацию запросов к usb устройствам.
- •5. Что такое Human Interface Devices?
- •6. Опишите все, что вы знаете о рапортах.
- •7. Опишите разряды слова состояния конечной точки.
- •8. Опишите модель передачи данных.
- •9. Перечислите и опишите основные операции при работе с интерфейсом usb.
- •10. Опишите формат пакетов передаваемых данных.
- •11. Что вы знаете об однонаправленном и двунаправленном интерфейсах?
- •12. Как проверить принадлежность устройства к классу принтеров?
- •13. Опишите особенности и принцип работы с принтером через usb интерфейс.
- •14. Какие командные языки используются для управления процессом печати?
- •15. Как производится программный сброс принтера?
- •16. Опишите назначение полей bDeviceClass, bDeviceSubClass, bDeviceProtocol в дескрипторе устройства.
- •17. Что происходит по запросу Get Port Status?
- •18. Что происходит по запросу Get Device id?
8. Опишите модель передачи данных.
Каждое устройство USB представляет собой набор независимых конечных точек (Endpoint), с которыми хост-контроллер обменивается информацией. Конечные точки описывются следующими параметрами:
требуемой частотой доступа к шине и допустимыми за- держками обслуживания;
требуемой полосой пропускания канала; номером точки; требованиями к обработке ошибок;
максимальными размерами передаваемых и принимаемых пакетов;
типом обмена;
направлением обмена (для сплошного и изохронного обменов).
Каждое устройство обязательно имеет конечную точку с номером 0, используемую для инициализации, общего управления и опроса его состояния. Эта точка всегда сконфигурирована при включении питания и подключении устройства к шине. Оно поддерживает передачи типа «управление» (см. далее).
Кроме нулевой точки, устройства-функции могут иметь дополнительные точки, реализующие полезный обмен данными. Низкоскоростные устройства могут иметь до двух дополнительных точек, полноскоростные —до 16 точек ввода и 16 точек вывода (протокольное ограничение). Точки не могут быть использованы до их конфигурирования (установления согласованного с ними канала).
9. Перечислите и опишите основные операции при работе с интерфейсом usb.
Установить режим прямой адресации памяти; Инициализировать дескрипторы USB; Цикл хост-контроллеров: найти контроллер USB; произвести глобальный сброс контроллера; ожидать не менее 10 мс; снять сигнал сброса; ожидать не менее 10 мс; обнулить счетчик номеров; Загрузить указатель на список кадров в регистр адреса списка кадров; Активизировать хост-контроллер; Проверить регистр состояния порта 1; Проверить регистр состояния порта 2; Остановить контроллер; Сконфигурировать утстроуство; определить адрес конечно точки и размер пакета; Сбросить тригер даных; остановить контролер.
10. Опишите формат пакетов передаваемых данных.
Байты передаются по шине последовательно, начиная с младшего бита. Все посылки организованы в пакеты. Каждый пакет начинается с поля синхронизации Sync, которое представляется последовательностью состояний KJKJKJKK (кодированную по NRZI), следующую после состояния Idle. Последние два бита (КК) являются маркером начала пакета SOP, используемым для идентификации первого бита идентификатора пакета PID. Идентификатор пакета является 4-битным полем PID[3:0], идентифицирующим тип пакета
за которым в качестве контрольных следуют те же 4 бита, но инвертированные.
В пакетах-маркерах /Л/, SETUP и OUT следующими являются адресные поля: 7-битный адрес функции и 4-битный адрес конечной точки. Они позволяют адресовать до 127 функций USB (нулевой адрес используется для конфигурирования) и по 16 конечных точек в каждой функции.
В пакете SOF имеется 11-битное поле номера кадра (Frame Number Field), последовательно (циклически) увеличиваемое для очередного кадра.
Поле данных может иметь размер от 0 до 1023 целых байт. Размер поля зависит от типа передачи и согласуется при установлении канала.
11. Что вы знаете об однонаправленном и двунаправленном интерфейсах?
Однонаправленный интерфейс (Unidirectional Interface) поддерживает только передачу данных с хоста на принтер через выходную точку. Данные о состоянии принтера передаются через Основной канал сообщений по запросу GET_PORT_STATUS;
Двунаправленный интерфейс (Bi-directional Interface) поддерживает передачу данных с хоста на принтер через выходную точку и позволяет хосту получать информацию о принтере и состоянии процесса печати через входную точку. Данные о текущем состоянии принтера можно также получить через Основной канал сообщений по запросу GET_PQRT_STATUS.