Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Агуров П.В. -> "Интерфейсы USB. Практика использования и программирования" -> 18

Интерфейсы USB. Практика использования и программирования - Агуров П.В.

Агуров П.В. Интерфейсы USB. Практика использования и программирования — СПб.: БХВ-Петербург, 2004. — 576 c.
ISBN 5-94157-202-6
Скачать (прямая ссылка): interface2004.djvu
Предыдущая << 1 .. 12 13 14 15 16 17 < 18 > 19 20 21 22 23 24 .. 166 >> Следующая

31
1.5.1. Конвертер USB-Ethernet
Конвертер USB-Ethernet (рис. 1.19) обеспечивает подключение компьютера к сети Ethernet через порт USB без установки на компьютер специальной сетевой карты. Скорость обмена по такому соединению зависит от типа адаптера. Если адаптер поддерживает спецификацию USB 2.0, то скорость ограничивается 480 Мбит/с (естественно, оба компьютера также должны поддерживать USB 2.0, см. разд. 1.9.1), иначе скорость будет ограничена 12 Мбит/с.
По размерам преобразователь чуть больше спичечного коробка. Он годится как для настольного компьютера, так и для ноутбука, тем более, если PCMCIA-слот последнего занят под другие адаптеры.
Рис. 1.19. Конвертер USB-Ethernet (TRENDnet TU2-ET100 USB2.0)
Такой конвертер можно назвать "сетевой картой с интерфейсом USB", что принципиально отличает его от прямого соединения через порт USB.
1.5.2. Прямое соединение через USB-порт
Кабель-адаптер для прямого соединения через USB-порт является аналогом нуль-модемного кабеля, но обеспечивает обмен со скоростью 480 Мбит/с для USB 2.0 (это почти в 500 раз быстрее соединения по параллельному порту!) и 12 Мбит/с для USB 1.1. Можно сказать, что это идеальное решение при необходимости объединения в сеть двух компьютеров (например, настольного компьютера и ноутбука).
1.6. Передача данных
Интерфейс USB предоставляет разработчику множество возможностей, избавляя его от самостоятельной реализации байтовых протоколов обмена,
32
Часть I. Введение в USB
подсчета контрольных сумм и других забот, необходимых для обеспечения надежной связи с устройствами.
1.6.1. Принципы передачи данных
Механизм передачи данных является асинхронным и блочным. Блок передаваемых данных называется USB-фреймом или USB-кадром (см. разд. 3.5) и передается за фиксированный временной интервал. Оперирование командами и блоками данных реализуется при помощи логической абстракции, называемой каналом (см. разд. 3.7). Внешнее устройство также делится на логические абстракции, называемые конечными точками (см. разд. 3.6). Таким образом, канал является логической связкой между хост-контроллером и конечной точкой внешнего устройства. Канал можно сравнить с открытым файлом.
Для передачи команд (и данных, входящих в состав команд) используется канал по умолчанию, а для передачи данных открываются либо потоковые каналы, либо каналы сообщений (см. разд. 3.7).
1.6.2. Механизм прерываний
Для шины USB настоящего механизма прерываний (как, например, для последовательного порта) не существует. Вместо этого хост-контроллер опрашивает подключенные устройства на предмет наличия данных о прерывании. Опрос происходит в фиксированные интервалы времени, обычно каждые 1—32 мс. Устройству разрешается посылать до 64 байт данных.
С точки зрения драйвера, возможности работы с прерываниями фактически определяются хост-контроллером, который и обеспечивает поддержку физической реализации USB-интерфейса. Подробности механизма прерываний будут рассмотрены в разд. 3.10.
1.6.3. Интерфейсы хост-адаптера
На сегодняшний день существует три типа интерфейса хост-контроллера (НС, Host Controller):
? UHCI (Universal Host Controller Interface, универсальный интерфейс хост-контроллера), разработка компании Intel;
? OHCI (Open Host Controller Interface, открытый интерфейс хост-контроллера), разработка Compaq, Microsoft, National Semiconductor;
? EHCI (Enhanced Host Controller Interface, расширенный интерфейс хост-контроллера), разработка Intel.
гпава 1. Что такое USB
33
Интерфейс UHCI
Хост-контроллер UHCI отслеживает список кадров с 1024 указателями на структуры данных, соответствующих отдельному кадру. Он понимает два различных типа данных: описатели передач (TD, Transfer Descriptor) и начала очереди (QH, Queue Heads). Каждый TD представляет пакет, передаваемый от или в конечную точку устройства. QH имеют смысл для объединения TD (и QH) вместе.
Каждая передача состоит из одного или нескольких пакетов. Драйвер UHCI разделяет большие объемы передач на множество пакетов. Для каждой передачи, за исключением изохронных передач, формируется QH. Для каждого типа передачи эти QH объединяются в QH для этого типа. Изохронные передачи выполняются в первую очередь из-за фиксированных требований к устойчивости и непосредственно ссылаются по указателю на список кадров. Последний изохронный TD ссылается на QH для передачи прерываний для этого кадра. Все QH для передач прерываний указывают на QH для управляющих передач, которые, в свою очередь, указывают на QH для основных передач.
Более детальное описание UHCI содержится в главе 18.
Интерфейс OHCI
Спецификация UHCI разработана для уменьшения аппаратной сложности, требуя от драйвера хост-контроллера поддержки полного распределения передач для каждого кадра. Контроллеры типа OHCI гораздо более независимы и дают более абстрактный интерфейс, выполняя много работы самостоятельно.
Контроллер полагает, что имеется набор конечных точек, и заботится о планировании приоритетов и порядке следования типов передач в кадре. Основной структурой данных, используемой хост-контроллером, является описатель конечной точки (ED, Endpoint Descriptor), которому назначается очередь описателей передач (TD, Transfer Descriptors). ED хранит максимальный размер пакета, разрешенный для конечной точки, а аппаратура контроллера выполняет разбиение на пакеты. Указатели на буферы данных обновляются после каждой передачи, и когда начальный и конечный указатели совпадут, TD отбрасывается в очередь выполненных описателей. Четыре типа конечных точек имеют свои собственные очереди. Управляющие и обычные конечные точки ставятся каждая в свою собственную очередь. ED прерываний ставятся в очередь в дерево с уровнем в дереве, задающим частоту, с которой они выполняются.
Предыдущая << 1 .. 12 13 14 15 16 17 < 18 > 19 20 21 22 23 24 .. 166 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100