5.4 Периферийные USB устройства

Предыдущая  Содержание  Следующая V*D*V

Универсальная последовательная шина (Universal Serial Bus, USB) представляет собой коммуникационную шину ведущий-ведомый для подключения к ПК разных периферийных устройств. Топология шины похожа на дерево, где корнем является USB хост (host, контроллер узла). USB хост/корневое устройство обслуживается драйвером USB контроллера, отвечающего за управление устройствами, подключенными к шине. Новые устройства могут подключаться или отключаться к или от шины на лету. Хост отвечает за определение этих событий и настройку шины так, как это требуется. Кроме того, устройства, подключенные к шине, используют уникальный идентификатор для передачи данных к или от хоста. Все передачи данных выполняются по сигналу хоста. Это означает, что даже если устройство имеет некоторые данные, они не могут быть переданы, пока хост не попросит сделать это. Система также позволяет настраивать пропускную способность шины в зависимости от устройств. Это позволяет хосту резервировать полосу пропускания для каждого устройства. Например, видео или аудио устройство может запросить другие параметры пропускной способности по сравнению с устройствами для взаимодействия с человеком, такими как клавиатура или мышь. Последними стандартами разрешаются высокоскоростные USB соединения с теоретической скоростью передачи 480 Мбит/с.

Драйверная платформа USB в Linux обеспечивает поддержку как для хоста, так и для ведомых устройств. Часть, связанная с хостом, обычно используется, когда к системе Linux необходимо подключить устройство. Например, КПК на базе Linux может обнаружить USB устройство хранения данных, подключённое к его шине. Часть, связанная с ведомым устройством, используется для встраиваемых устройств, которые работают под управлением Linux и подключены к шине другого хоста. Рассмотрим, например, портативный MP3 плеер, работающий под управлением Linux, с USB интерфейсом для передачи песен с ПК.

Эта глава описывает инфраструктуру/драйверную платформу, предоставляемую ядром Linux на стороне ведомого (или периферийного) устройства. Эта драйверная платформа называется драйверами периферийных устройств USB (gadget-ов, гаджетов). Прежде чем углубляться в детали этих драйверов, сделаем общий обзор архитектуры устройств USB.

 

Предыдущая  Содержание  Следующая