Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...
Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...
Топ:
Теоретическая значимость работы: Описание теоретической значимости (ценности) результатов исследования должно присутствовать во введении...
Комплексной системы оценки состояния охраны труда на производственном объекте (КСОТ-П): Цели и задачи Комплексной системы оценки состояния охраны труда и определению факторов рисков по охране труда...
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов...
Интересное:
Что нужно делать при лейкемии: Прежде всего, необходимо выяснить, не страдаете ли вы каким-либо душевным недугом...
Как мы говорим и как мы слушаем: общение можно сравнить с огромным зонтиком, под которым скрыто все...
Подходы к решению темы фильма: Существует три основных типа исторического фильма, имеющих между собой много общего...
Дисциплины:
2019-06-06 | 224 |
5.00
из
|
Заказать работу |
|
|
Одна из основных проблем интерфейса USB, это необходимость синхронизации работы сети с частотой подачи кадров(1000Гц).
Хост и устройства должны заранее спланировать свою работу так, чтобы уместить целое число пакетов в период кадра. Хост посылает пакет SOF (начала кадра) независимо от состояния устройств в этот момент, при этом надо отметить, что сигнала конца кадров не существует. Устройства сами должны вычислять конец кадра отсчитывая время от сигнала SOF. Контроллер хаба имеет таймер кадра, который запускается сигналом SOF. Этот таймер вырабатывает два флага конца кадра EOF1 и EOF2(End of Frame). Флаг EOF1 выставляется за 32 битовых интервала до начала следующего кадра. Любой сигнал EOP (конец пакета) полученный после EOF1 и до EOF2 считается концом кадра. Флаг EOF2 выставляется за 10 битовых интервалов до начала следующего кадра. Если после флага EOF2 на порт Downstream продолжает поступать данные или сигнал EOP не был получен, то хаб отключает этот порт от сети.
Перед началом нового кадра по шине не должны передаваться данные, это время используется хабами для анализа линейных сигналов D+/D-. Это позволяет определить подключение/отключение устройств к портам хаба. Чтобы хаб синхронизовал свою работы с хостом, необходимо чтобы он принял два последовательных сигнала SOF. Хаб сообщает о своей синхронизации с хостом установкой флага в своём статусе. Спецификация допускает работу не синхронизированного хаба не более 3 кадров подряд.
Состояние хаба и его инициализация
В отличие от функции хаб различает большее количество состояний:
-состояния по Downstream порту;
-состояния по Upstream порту;
-состояния по внутреннему порту;
-состояния повторителя.
|
Дескрипторы хаба
Хаб является устройством, поэтому он поддерживает стандартные дескрипторы устройств (таблица 23). Для класса устройств типа хаб спецификация определила код HUB_CLASSCODE=0х09H. Кроме стандартных дескрипторов устройств спецификация определяет класс-специфицированные дескрипторы для класса хабов.
Таблица 23 – Дескриптор хаба (8 байт или более)
BDescLength | bDescriptorType | bNbrPorts | wHubCharacteristics | bPwrOn2PwrGood | bHubContrCurrent | DeviceRemovable | PortPwrCtrlMask | |
Byte00 | Byte01 | Byte02 | Byte03 | Byte04 | Byte05 | Byte06 | Byte7..39 | Byte08.. |
Описание полей дескриптора хаба (Hub Descriptor):
byte00(bDescLength) -число, длина дескриптора в байтах
byte01(bDescriptorType) -константа, тип дескриптора =0x29h (Hub Descriptor)
byte02(bNbrPorts) -число, количество Downstream портов, поддерживаемых хабом
byte03..04(wHubCharacteristics) -битовое поле:
D1..D0= 00-все порты запитаны к одному; 01-каждый порт включается отдельно; 1Х-неопределено
D2= 0-хаб не входит в составное устройство; 1- хаб является частью составного устройства;
D4..D3= 00-глобальная защита от перегрузки, суммированием тока всех портов; 01-защита каждого порта; 1Х-нет защиты от перегрузки
D15..D5=резерв
byte05(bPwrOn2PwrGood) -число, в 2мс единицах, показывает время необходимое для запитки порта
byte06(bHubContrCurrent) -максимальный ток в мА потребляемый контроллером хаба
byte07..39(DeviceRemovable) -битовое поле, которое показывает является устройство съёмным, значение бита 0-съёмное; 1-не съёмное. Всего 256 бит (bit0-неиспользуется, bit1-порт1 ит.д. до 255)
byte40(bNumConfigurations) -битовое поле, которое нужно для согласования с версией USB 1.0 количество бит равно числу портов плюс битов кратности 8. Все биты должны быть установлены в 1.
Запросы хаба хостом
Хаб как устройство поддерживает запросы стандартных устройств. Для хаба определенны класс-специфицированные запросы (таблица 24).
В таблице 24 приняты следующие обозначения: bRequest -код запроса.
GET_STATUS=0;
CLEAR_FEATURE=1;
GET_STATE=2;
SET_FEATURE=3;
Reserved=4-5;
GET_DESCRIPTOR=6;
SET_DESCRIPTOR=7;
Таблица 24 – Класс-специфицированные запросы Хаба
|
Request | bRequestType | bRequest | wValue | wIndex | wLenght | Data |
Name | Byte00 | Byte01 | Byte02..03 | Byte04..05 | Byte06..07 | N*Byte |
ClearHubFeature | 00100000B | CLEAR_ FEATURE | Feature Selector | Zero | Zero | None |
ClearPortFeature | 00100011B | CLEAR_ FEATURE | Feature Selector | Port | Zero | None |
GetBusState | 10100011B | GET_ STATE | Zero | Port | One | Per-Port Bus State |
GetHubDescriptor | 10100000B | GET_DESCRIPTOR | Descriptor Type and Descriptor Index | Zero or Language ID | Descriptor Length | Descriptor |
GetHubStatus | 10100000B | GET_ STATUS | Zero | Zero | 4 | Hub Status and Hub Change Indicators |
GetPortStatus | 10100011B | GET_ STATUS | Zero | Zero | 4 | Port Status and Port Change Indicators |
SetHubDescriptor | 00100000B | SET_DESCRIPTOR | Descriptor Type and Descriptor Index | Zero or Language ID | Descriptor Length | Descriptor |
SetHubFeature | 00100000B | SET_ FEATURE | Feature Selector | Zero | Zero | None |
SetPortFeature | 00100011B | SET_ FEATURE | Feature Selector | Port | Zero | None |
Feature Selectors - выбор возможностей;
C_HUB_LOCAL_POWER =0 (Получатель Hub)-возможность изменения локального питания;
C_HUB_OVER_CURRENT =1 (Получатель Hub)-возможность изменения контроля перегрузки по току для хаба;
PORT_CONNECTION =0 (Получатель Port)-возможность подсоединения порта;
PORT_ENABLE=1(Получатель Port)-возможность разрешения порта;
PORT_SUSPEND=2 (Получатель Port)-возможность приостановки порта;
PORT_OVER_CURRENT=3 (Получатель Port)-возможность контроля перегрузки по току для порта;
PORT_RESET=4(Получатель Port)-возможность сброса порта;
PORT_POWER=8 (Получатель Port)-возможность контроля питания порта;
PORT_LOW_SPEED=9 (Получатель Port)-возможность работы на низкой скорости;
C_PORT_CONNECTION=16 (Получатель Port)-возможность изменения подключения порта;
C_PORT_ENABLE =17 (Получатель Port)-возможность изменения разрешения порта;
C_PORT_SUSPEND =18 (Получатель Port)-возможность изменения приостановки порта;
C_PORT_OVER_CURRENT=19 (Получатель Port)-возможность изменения контроля перегрузки;
C_PORT_RESET =20 (Получатель Port)-возможность изменения сброса порта;
Hub Status -битовое поле (16 бит), состояние хаба
Bit0 -Источник локального питания (Local Power Source) 0-локальное питание включено; 1-локальное питание выключено;
Bit1 -Индикатор перегрузки (Over-current Indicator) 0-перегрузка по току; 1-нет перегрузки по току;
Bit15..2 – резерв;
Hub Change Indicators - битовое поле (16 бит), изменение индикаторов;
Bit0 -Изменения состояния локального питания (Local Power Status Change), 0-нет изменения локального питания; 1-было изменение локального питания;
Bit1 -Изменение индикатора перегрузки (Over-current Indicator Change), 0-изменение индикатора перегрузки по току; 1-нет было изменение индикатора;
Bit15..2 – резерв;
Per-Port Bus State -битовое поле(8 бит), состояние линий D+,D-;
Bit0 -значение на линии D-;
Bit1 -значение на линии D+;
|
Bit7..Bit2 -резерв.
Port Status -битовое поле (16 бит), состояние порта;
Bit0 -Состояние текущего соединения (Current Connect Status) 0-нет подсоединённого устройства; 1-к порту присоединено устройство;
Bit1 -Вкл/Выкл порта (Port Enabled/Disabled) 0-порт выключен; 1-порт включен;
Bit2 -Приостановлено(Susped) 0-нет приостановки; 1-приостановка или возобновление;
Bit3 -Индикатор перегрузки (Over-current Indicftor) 0-нет перегрузки; 1-есть перегрузка;
Bit4 -Сброс (Reset) 0-сброса не было; 1-сброс был;
Bit7..5 -резерв;
Bit8 -Питание порта (Port Power) 0-питание порта выключено; 1-питание порта включено;
Bit9 -Присоединение низкоскоростного устройства (Low Speed Device Attached) 0-к порту подключено FS устройство; 1-к порту подключено LS устройство;
Bit15..10 -Резерв.
Port Change Indicators - битовое поле (16 бит), изменение индикаторов порта
Bit0 -Изменения состояния соединения (Connect Status Change) 0-нет изменения текущего соединения; 1-было изменение соединения;
Bit1 -Изменение состояния порта Вкл/Выкл(Port Enable/Disable Change) 0-было изменение вкл/выкл; 1-нет было изменение;
Bit2 -Изменение состояния приостановки (Suspend Change) 0-нет изменений; 1-Восстановлено (Resume complete);
Bit3 -Изменение индикатора перегрузки (Over-Current Indicator Change) 0-нет изменений; 1-есть изменения;
Bit4 -Изменение состояния сброса (Reset Change) 0-нет изменений; 1-был сброс;
Bit15..5 -Резерв.
Логическая структура хоста
Хост является единственным и основным ведущим устройством сети. Он определяет с кем и на каких условиях будет происходить обмен данными. Устройство не может самостоятельно вызывать хост, оно ожидает обращение хоста к устройству. Поэтому хост должен спланировать всю работу в сети. Логически связь хоста с устройством разбита на три уровня (рисунок 16).
Рисунок 16 – Логическая структура Хост - Устройство
Три логических уровня: 1. Клиентский уровень (Client-Function). Организует логическую связь программы пользователя с функцией устройства. Обеспечивает передачу и приём пользовательских данных между ПК и устройством. Делает невидимым для пользователя работу системного и физического уровня. Использует каналы точек 1..15.
2.Системный уровень (USB System). Организует логическую связь между USB драйвером хоста и устройства. Обеспечивает конфигурацию и настройку устройства. Делает невидимым для драйвера работу физического уровня. Использует канал по умолчанию (0-точка)
|
3.Физический уровень (USB Interface).
Обеспечивает физическую передачу данным между контроллерами хоста и устройства.
Рисунок 17 – Структура хоста
Client Soft - клиентское программное обеспечение.
Клиентское программное обеспечение общается с устройством через интерфейс.
Интерфейс – это набор логических каналов связи с конечными точками.
В интерфейсе каждый канал может быть настроен на передачу, или на приём.
Интерфейсов может быть несколько и ПО клиента выбирает номер интерфейса, по которому оно будет общаться с устройством.
Физически связь клиентского ПО с USB драйвер осуществляется с помощью пакетов, содержащих команды ввода/вывода (IRP).
IRPs(I/O Request Packets) -протокол обмена ПО клиента с драйвером USB.
Пакет содержащий запрос к драйверу USB о вводе или выводе информации через указанный логический канал.
В этом пакете определён тип передачи, адрес буфера памяти и размер данных для обмена по заданному каналу.
USB драйвер сам забирает или помещает даные в этот буфер, клиент только указывает размер и адрес буфера.
Host Software- программное обеспечение хоста.
Это не обязательный элемент хоста.
Если он присутствует, то его конфигурацию должно выполнять ПО клиента.
Обычно применяется если система не использует стандартный USB драйвер.
USB Driver(USBD)- драйвер USB.
Этот драйвер организует базисный интерфейс хоста(USBDI), который обеспечивает взаимодействие клиентов с устройствами USB.
Организует логический канал по умолчанию, используемый для настройки устройства.
Назначает адрес каждому физическому устройству сети.
Распределяет полосу пропускания шины между устройствами.
Планирует все транзакции.
Связь между USBD и HCD (HC Driver) известна как HCDI-интерфейс (Host Controller Driver Interface)
Этот интерфейс никогда не доступен непосредственно клиентам и таким образом не определяется спецификацией USB.
Однако особенности HCDI, определены каждой операционной системой, которая поддерживает различные реализации хост контроллеров.
USBD получает пакеты запросов ввода/вывода от клиентского ПО и формирует задание для HC драйвера.
HC Driver (HCD-Host Conttroller Driver)-драйвер хост контроллера.
Этот драйвер отвечает за подключение USB драйвера к различным хост контроллерам.
Принимает от USBD перечень текущих транзакций.
Планирует выполнения транзакций выстраивая их в очередь на исполнение
Сообщает в USBD о выполнении транзакции.
HW-Defined (Hard Ware Defined) -интерфейс между HC Driver и Host Controller.
Этот интерфейс описывается (definition) в драйвере HCD аппаратной частью контроллера.
Host Controller -контроллер хоста.
Физическое устройство, которое формирует и физически выполняет транзакции из очереди установленной драйвером HCD.
|
Контроллер формирует кадры, выставляя каждую 1мс пакет начала кадра.
Кодирует данные в NRZI.
Вставляет синхробиты.
Контроллер подает текущую транзакцию в схему последовательной передачи данных SIE (Serial Interface Engine) в сигнальные линии USB.
Serial Interface Engine (SIE) -физический последовательный интерфейс.
Физическое устройство, которое формирует последовательный сигнал, передающийся по проводам.
Содержание отчёта
Отчет по лабораторной работе должен содержать:
- титульный лист;
- название и цель работы;
- ответы на контрольные вопросы.
6 Контрольные вопросы
1) Приведите диаграммы сигналов при передаче пакетов Low Speed и Full Speed по интерфейсу USB1.1 и их описание.
2) Назовите типы пакетов, предаваемых по интерфейсу USB1.1: приведите структурк пакета и описание его полей.
3) Структура дескрипторов устройства, интерфейса, конфигурации, конечной точки и строки.
4) Структура дескриптора хаба и класс-специфицированные запросы Хаба.
5) Урофни логической структуры «Хост-Устройство».
|
|
Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...
Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...
Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...
Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!