Универсальная последовательная шина 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Универсальная последовательная шина



Система USB состоит из хоста USB и устройств USB. Категория устройств состоит из концентраторов (hub) и узлов (node). В любой системе существует один хост (host) USB. Этот модуль содержит интерфейс, который предоставляет контроллер хоста USB. Фактически котроллер представляет собой комбинацию аппаратного, программно-аппаратного и программного обеспечения.

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

Порты соединяются со стандартными соединителями с помощью дополнительного кабеля задней панели, устанавливаемого в свободное отверстие в задней стенке системного блока.

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

По своим возможностям передачи данных устройства USB разделяются на полноскоростные и низкоскоростные устройства. Предельная длина кабеля, обслуживающего полноскоростное устройство составляет 5 м. Предельная длина кабелей, используемых между низкоскоростными устройствами, равна 3 м.

Передача данных через USB

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

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

Для передачи команд (и данных, входящих в состав команд) используется канал по умолчанию, а для передачи данных открываются либо потоковые каналы, либо каналы сообщений.

Информация по каналу передается в виде пакетов (Packet). Каждый пакет начинается с поля синхронизации SYNC (SYNChronization), за которым следует идентификатор пакета PID (Packet IDentifier). Поле Check представляет собой побитовую инверсию PID.

Систему USB следует разделить на три логических уровня с определенными правилами взаимодействия. Устройство USB содержит интерфейсную, логическую и функциональную части. Хост тоже делится на три части - интерфейсную, системную и программное обеспечение. Каждая часть отвечает только за определенный круг задач. Логическое и реальное взаимодействие между ними показано на рисунке.

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

 

Уровень клиентского ПО в хосте:

· обычно представляется драйвером устройства USB;

· обеспечивает взаимодействие пользователя с операционной системой с одной стороны и системным драйвером с другой.

Уровень системного обеспечения USB в хосте (USBD, Universal Serial Bus Driver):

· управляет нумерацией устройств на шине;

· управляет распределением пропускной способности шины и мощности питания;

· обрабатывает запросы пользовательских драйверов.

Хост-контроллер интерфейса шины USB (HCD, Host Controller Driver):

· преобразует запросы ввода/вывода в структуры данных, по которым хост-контроллер выполняет физические транзакции;

· работает с регистрами хост-контроллера.

Уровень клиентского программного обеспечения определяет тип передачи данных, необходимый для выполнения затребованной прикладной программой операции. После определения типа передачи данных этот уровень передает системному уровню следующее:

· буфер памяти, называемый клиентским буфером;

· пакет запроса на в/в (IRP, Input/output Request Packet), указывающий тип необходимой операции.

· IRP содержит только сведения о запросе (адрес и длина буфера в оперативной памяти). Непосредственно обработкой запроса занимается системный драйвер USB.

Уровень системного драйвера USB необходим для управления ресурсами USB. Он отвечает за выполнение следующих действий:

· распределение полосы пропускания шины USB;

· назначение логических адресов устройств каждому физическому USB-устройству;

· планирование транзакций.

Логически передача данных между конечной точкой и ПО производится с помощью выделения канала и обмена данными по этому каналу, а с точки зрения представленных уровней, передача данных выглядит следующим образом.

Клиентское ПО посылает IPR-запросы уровню USBD.

Драйвер USBD разбивает запросы на транзакции по следующим правилам:

· выполнение запроса считается законченным, когда успешно завершены все транзакции, его составляющие;

· все подробности отработки транзакций (такие как ожидание готовности, повтор транзакции при ошибке, неготовность приемника и т. д.) до клиентского ПО не доводятся;

· ПО может только запустить запрос и ожидать или выполнения запроса или выхода по тайм-ауту;

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

Драйвер контроллера хоста принимает от системного драйвера шины перечень транзакций и выполняет следующие действия:

· планирует исполнение полученных транзакций, добавляя их к списку транзакций;

· извлекает из списка очередную транзакцию и передает ее уровню хост-контроллера интерфейса шины USB;

· отслеживает состояние каждой транзакции вплоть до ее завершения.

Хост-контроллер интерфейса шины USB формирует кадры.
Кадры передаются последовательной передачей бит по методу NRZI.

Таким образом, можно сформировать следующую упрощенную схему:

· каждый кадр состоит из наиболее приоритетных посылок, состав которых формирует драйвер хоста;

· каждая передача состоит из одной или нескольких транзакций;

· каждая транзакция состоит из пакетов;

· каждый пакет состоит из идентификатора пакета, данных (если они есть) и контрольной суммы.

 

 



Поделиться:


Последнее изменение этой страницы: 2021-03-10; просмотров: 67; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.224.246.203 (0.007 с.)