Шина usb клавиатура это

Коротко о USB — откуда все начинается. D+ и D- это дифференциальная пара, данные передаются в противофазе с одной лишь целью уменьшить помехи. То есть линия передачи по сути одна ! Есть ведущее устройство (Хост) и ведомое (Device).

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

Вот на картинке ниже все отчетливо видно (один пакет от ведомого):

Шина usb клавиатура это

Сначала все просто:

Пакет всегда начинается с SYN (10000000).

Завершается пакет всегда EOP (End Of Packet ) . На картинке выше видна единственная ассиметрия в конце пакета, когда : 2 линии DP и DM различаются.

Примерная последовательность пакетов.

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

Периодические пакеты «НЕ СПАТЬ» SOF (Start Of Frame) — это примерно 1раз/1мс посылка от хоста ведомому («не спи»). Их лучше сразу как-то отфильтровывать для понимания.

Далее остается три типа пакетов типа . Ниже их PID (Packet Identificator) , он же токен :
SETUP это служебные пакеты стандартного протокола настройки устройства
OUT это хост передает данные
IN это хост запрашивает данные от девайса

Эти пакеты вкладываются между SYNK и EOP .

Шина usb клавиатура это

Получается примерно такая структура [SYNC] [PID] [Address(7 бит)] [EndPoint] (4 бит) [EOP ]. На картинке выше видно как девайс отвечает NAK практически сразу и это нормально. Это означает , что девайсу надо подумать и сразу он не может ответить на команду.

PID это токен или (Program Identificator) SETUP, IN , OUT.

Address — это адрес нашего устройства на шине USB . Сначала он всегда 0 после подключения USB. Потом хост перенумеровывает все устройства на шине и присваивает каждому устройству уникальный адрес (размер всего 1 байт).

EndPoint — хост всегда общается не просто с устройством по адресу , а еще и с конкретной конечной точкой (end-point) устройства , которых может быть несколько. Как же хост узнает какие значения у конечных точек (EP) ? Правильно для этого зарезервировано значение 0 (конечная точка EP0), служебный end-point , через который хост получает первичную информацию от других конечных точках. Как всегда все просто.

Допустим наш хост уже получил всю информацию о конечных точках , интерфейсах, конфигурациях через EP0.

Как происходит дальше работа на примере обычной клавиатуры

Хост долбит периодически PID IN по адресу устройства плюс Endpoint устройства (у нас EndP 0x01), который отвечает за прием данных от клавиатуры (IN для хоста).

Шина usb клавиатура это

Если никакая клавиша не нажата ведомый обязан ответить и отвечает NAK. Такие пакеты хост передает примерно 1 раз в 10ms и устройство если не нажата клавиша передает NAK.

А вот когда на клавиатуре нажимается какая-нибудь клавиша, ведомый ответит сначала DATA0 пакетом и следом пакет ACK.

Шина usb клавиатура это

Количество передаваемых байт в DATA0 зависит от типа клавиатуры, то есть каждый решает сколько использовать байт для передачи скан кода нажатой клавиши. Клавиатура сообщает по стандартному протоколу через EP0 о своих настройках.

Тут есть нюанс , что хост всегда посылает запрос устройству на конкретный EP. Если запрос идет на EP для передачи данных (у нас EP1 ) это одно , если запрос идет на служебный EP0 — это хост хочет подключить , настроить устройство. То есть хост всегда определяет логику обмена , а девайс обязан подстраиваться под запрос.

Вообще кто есть хост? Это драйвер например клавиатура или сетевого адаптера и у каждого драйвера соответственно свой протокол , своя логика.

Таким образом если вы разрабатываете USB устройство и ПК шлет вам все пакеты на EP0 , а до других EP не доходит дело, то значит что-то еще не закончено с настройками устройства, что-то хосту не нравится.

Хост вообще говоря может ждать ответ одновременно от 2 и более конечных точек . Это абсолютно нормально. Выглядит это в логах анализатора LA1010 примерно так:

Видно как хост тупо чередует EP0 и EP2.

Видео:Лекция 310. Шина USB - функциональная схемаСкачать

Лекция 310.  Шина USB - функциональная схема

Если не возникает какого-то прерывания у девайса

То есть если на шине пакеты бегут, а прерывание необходимое не возникает. Например тупо не возникает прерывание IN bulk у RNDIS адаптера (DataIn у EP2). То есть на шине вижу , что девайс отсылает NAK на IN EP2, но самого прерывания в девайсе не возникает.

Тут надо в регистры лезть и отсрочки уже не будет. Какие мысли возникают в первую очередь. Прерывания маскируются вроде (надо проверить).

Так как у нас есть один рабочий проект но без FreeRTOS , то сначала тупо начинаем сверять регистры USB ( OTG_FS_GLOBAL и OTG_FS_DEVICE ): после инициализации , после открытия конечных точек, после приема нужного пакета и т.д. Эти регистры кстати удобно просматривать на закладке SFRSAtollic true Studio), тут видна их внутренняя структура. И еще с момента последней точки остановки подсвечиваются изменения.

Шина usb клавиатура это

В процессе сверки регистров мы находим отличия в OTG_FS_GLOBAL, исправляем, заодно изучаем назначение регистров и в какой-то момент даже ловим __HAL_PCD_IS_INVALID_INTERRUPT (на картинке выше видно). Ура хоть что-то.

На самом деле не знач — не ведая мы подошли к главному моменту. Мы наконец-то обратили внимание на USBD_LL_Init, а точнее на загадочные функции HAL_PCDEx_SetRxFiFo(..) и HAL_PCDEx_SetTxFiFo(..) .

Момент истины

Огромное спасибо товарищу в интернете https://mcu.goodboard.ru/viewtopic.php?id=40 . Просто , кратко и доходчиво объяснил какие регистры отвечают за USB и самое главное что с ними делать (их нюансы).

И выяснилось , что мы не понимаем и половины логики работы USB . Не зная регистры вообще нет возможности понять что делать. В данном случае HAL это вред.

Читайте также: Сравнительная характеристика зимних шин легковых автомобилей

Итак HAL_PCDEx_SetRxFiFo / HAL_PCDEx_SetTxFiFo создает таблицу во внутренней памяти контроллера USB. Да именно контроллера USB , а не контроллера STM32. Так как у STM32F имеется как-бы свой встроенный контроллер , отвечающий за USB. И у него есть своя память 512К, в которой надо создать таблицу с буферами приема / передачи для каждой конечной точки.

Где эта таблица, где ее адреса.

#define USB_OTG_FS_PERIPH_BASE 0x50000000U [stm32f205xx.h]
.
#define USB_OTG_FS ((USB_OTG_GlobalTypeDef *) USB_OTG_FS_PERIPH_BASE) [stm32f205xx.h]
.

А вот сама структура USB_OTG_GlobalTypeDef .

HAL — кий код становится намного прозрачнее теперь.

Видео:USB клавиатура и мышка на обычной Arduino Nano! EasyHID ч.1Скачать

USB клавиатура и мышка на обычной Arduino Nano! EasyHID ч.1

Опять момент истины

Но проблемка и неотправкой по IN EP2 вдруг разрешается до неприличия банальным образом. Чтобы что-то отправить , надо что-то послать ! Ха-Ха! А кто сказал что , мы что-то посылаем? Дело в том , что функции класса устройства из структуры USBD_ClassTypeDef типа DataIn , DataOut , SOF , EP0_RxReady — ЭТО ВСЕ КОЛЛБЕК ФУНКЦИИ, то есть функции , вызываемы по факту , уже по результату команды.
А реально командой приема и отправки с девайса является USB_EP0StartXfer (USB_EPStartXfer) и отправки соответственно тоже USB_EP0StartXfer (USB_EPStartXfer) ! Смотрите еще раз внимательно стек вызовов функций:

Дальше , если интересно немного о передаваемых скан кода клавиатуры . Проводная клавиатура Low Speed

Скан коды USB HID клавиатур это не ASCII коды и не не коды PS/2 клавы.

Простые нажатия возвращают DATA0 и DATA1
1 — 00 00 1E 00 00 00 00 00 00 (DATA0) 00 00 00 00 00 00 00 00 00 (DATA1)
2 — 00 00 1F 00 00 00 00 00 00 (DATA0) 00 00 00 00 00 00 00 00 00 (DATA1)
3 — 00 00 20 00 00 00 00 00 00 (DATA0) 00 00 00 00 00 00 00 00 00 (DATA1)
Назад Наверх

Видео:Как работает USB? Просто, доступно, с примерами.Скачать

Как работает USB? Просто, доступно, с примерами.

Шина usb клавиатура этоКомпьютерная Энциклопедия

Архитектура ЭВМ

Компоненты ПК

Интерфейсы

Мини блог

Самое читаемое

Автосервис скачать. В гостях Пуртов Министр Руководитель департамента.

Видео:⌨ДЕЛАЕМ ИЗ ПРОВОДНОЙ БЕСПРОВОДНУЮ КЛАВИАТУРУ ЭТО ОЧЕНЬ ПРОСТО!Скачать

⌨ДЕЛАЕМ ИЗ ПРОВОДНОЙ БЕСПРОВОДНУЮ КЛАВИАТУРУ ЭТО ОЧЕНЬ ПРОСТО!

Введение

USB (Universal Serial Bus — универсальная последовательная шина) является промышленным стандартом расширения архитектуры PC, ориентированным на интеграцию с телефонией и устройствами бытовой электроники. Версия стандарта 1.0 была опубликована в начале 1996 года, большинство устройств поддерживают стандарт 1.1, который вышел осенью 1998 года, — в нем были устранены обнаруженные проблемы первой редакции. Весной 2000 года опубликована спецификация USB 2.0, в которой предусмотрено 40-кратное увеличение пропускной способности шины. Первоначально (в версиях 1.0 и 1.1) шина обеспечивала две скорости передачи информации: полная скорость, FS (full speed) — 12 Мбит/с и низкая скорость, LS (low speed) — 1,5 Мбит/с. В версии 2.0 определена еще и высокая скорость, HS (high speed) — 480 Мбит/с, что позволяет существенно расширить круг устройств, подключаемых к шине. В одной и той же системе могут присутствовать и одновременно работать устройства со всеми тремя скоростями. Шина позволяет с использованием промежуточных хабов соединять устройства, удаленные от компьютера на расстояние до 25 м. Подробную и оперативную информацию по USB (на английском языке) можно найти на сайте http://www.usb.org. Разработку устройств и их классификацию и стандартизацию координирует USB-IF (USB Implementers Forum, Inc.).

Шина USB обеспечивает обмен данными между хост-компьютером и множеством периферийных устройств (ПУ). USB является единой централизованной аппаратно-программной системой массового обслуживания множества устройств и множества прикладных программных процессов. Связь программных процессов со всеми устройствами обеспечивает хост-контроллер с многоуровневой программной поддержкой. Этим USB существенно отличается от традиционных периферийных интерфейсов (портов LPT, COM, GAME, клавиатуры, мыши и т. п.), сравнение этих типов подключений приводится в таблице.

Таблица. Сравнение шины USB с традиционными периферийными интерфейсами

Традиционные интерфейсы (COM, LPT, Game…)Шина USB
Подключение каждого устройства в общем случае требует присутствия собственного контроллера (адаптера) 1Все устройства подключены через один хостконтроллер
Каждый контроллер занимает свои ресурсы (области в пространстве памяти, ввода/вывода, а также запросы прерывания)Ресурсы занимает только хост-контроллер
Малое количество устройств, которые возможно одновременно подключить к компьютеруВозможность подключения до 127 устройств
Драйверы устройств могут обращаться непосредственно к контроллерам своих устройств, независимо друг от другаДрайверы устройств обращаются только к общему драйверу хост-контроллера
Независимость драйверов оборачивается непредсказуемостью результата одновременной работы с множеством устройств, отсутствием гарантий качества обслуживания (возможность задержек и уменьшения скорости передачи)
для различных устройств
Централизованный планируемый обмен обеспечивает гарантии качества обслуживания, что позволяет передавать мультимедийные изохронные данные наряду с обычным асинхронным обменом
Разнообразие интерфейсов, разъемов и кабелей, специфичных для каждого типа устройствЕдиный удобный и дешевый интерфейс для подключения устройств всех типов. Возможность выбора скорости работы устройства (1,5–15–480 Мбит/с) в зависимости от потребности
Отсутствие встроенных средств обнаружения подключения/отключения и идентификации устройств, сложность поддержки PnPВозможность «горячего» подключения/отключения устройств, полная поддержка PnP, динамическое конфигурирование
Отсутствие средств контроля ошибокВстроенные средства обеспечения надежной передачи данных
Отсутствие штатного питания устройствВозможность питания устройств от шины, а также наличие средств управления энергопотреблением

1 — Возможностью подключения к одному контроллеру множества устройств обладает и шина SCSI, но ее параллельный интерфейс по сравнению с USB слишком дорог, громоздок и более ограничен в топологии.

Видео:Не работают USB порты - 3 способа Решения! Windows 7/8/10/11Скачать

Не работают USB порты - 3 способа Решения! Windows 7/8/10/11

Транзакции и пакеты

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

Все транзакции (обмены) с устройствами USB состоят из двух-трех пакетов, типовые последовательности пакетов в транзакциях приведены на рис. 1. Каждая транзакция планируется и начинается по инициативе хост-контроллера, который посылает пакет-маркер транзакции (token packet). Маркер транзакции описывает тип и направление передачи, адрес выбранного устройства USB и номер конечной точки. Адресуемое маркером устройство распознает свой адрес и готовится к обмену. Источник данных, определенный маркером, передает пакет данных. На этом этапе транзакции, относящиеся к изохронным передачам, завершаются — здесь нет подтверждения приема пакетов. Для остальных типов передач работает механизм подтверждения, обеспечивающий гарантированную доставку данных. Форматы пакетов приведены на рис. 2, типы пакетов — в таблице. Во всех полях пакетов, кроме поля CRC, данные передаются младшим битом вперед (на временных диаграммах младший бит изображается слева). Пакет начинается с синхропоследовательности Sync и завершается признаком конца — EOP. Тип пакета определяется полем PID. Назначение остальных полей раскрывается далее. Длина полей Sync и EOP указана для передач на FS/LS, для высокоскоростных передач поле Sync удлинено до 32 битовых интервалов, а EOP до 8 (в пакетах SOF поле EOP имеет длину 40 бит).

Читайте также: Как определить радиальная шина или диагональная

Шина usb клавиатура это

Шина usb клавиатура это

Таблица. Типы пакетов и их идентификаторы PID

Имя
Код PIDСодержимое и назначение
Пакеты-маркеры (Token)
OUT0001Маркер транзакции вывода, несет идентификатор конечной точки (адрес устройства и номер точки; направление точки определяется кодом PID)
IN1001Маркер транзакции ввода, несет идентификатор конечной точки (адрес устройства и номер точки; направление точки определяется кодом PID)
SETUP1101Маркер транзакции управления, несет идентификатор конечной точки (адрес устройства и номер точки)
SOF0101Маркер начала микрокадра, несет 11-битный номер кадра (вместо полей Addr и EndP)
PING0100Пробный маркер управления потоком (в USB 2.0)
Пакеты данных
DATA00011Пакеты данных; чередование PID позволяет различать четные и нечетные пакеты для контроля правильности подтверждения
DATA11011
DATA20111Дополнительные типы пакетов данных, используемые в транзакциях с широкополосными изохронными точками (в USB 2.0 для HS)
MDATA1111
Пакеты квитирования (Handshake)
ACK0010Подтверждение безошибочного приема пакета
NAK1010Индикация занятости (неготовности конечной точки к обмену данными, незавершенности обработки транзакции управления)
STALL1110Конечная точка требует вмешательства хоста
NYET0110Подтверждение безошибочного приема, но указание на отсутствие места для приема следующего пакета максимального размера (в USB 2.0)
Специальные пакеты (Special)
PRE1100Преамбула (маркер) передачи на низкой скорости (разрешает трансляцию данных на низкоскоростной порт хаба)
ERR1100Сигнализация ошибки в расщепленной транзакции (в USB 2.0)
SPLIT (SS и CS)1000Маркер расщепленной транзакции (в USB 2.0). В зависимости от назначения обозначается как SS (маркер запуска) и CS (маркер завершения), назначение определяется битом SC в теле маркера

Видео:Всё о USB 4 и Thunderbolt 4 — где инновации?Скачать

Всё о USB 4 и Thunderbolt 4 — где инновации?

Скорость обмена данными

Скорость последовательной передачи (1,5, 12 и 480 Мбит/с для LS, FS и HS соответственно) является только отправной точкой для определения реальной производительности обмена с конкретным устройством и всеми устройствами на шине в целом. Пропускная способность шины в целом определяется еще и соотношением накладных расходов и передаваемых полезных данных. Ниже рассматриваются источники накладных расходов, доля накладных расходов в общем трафике и загрузка шины транзакциями разных типов с разным размером блока данных. Для оценки возможной скорости обмена данными с конкретным устройством, подключенным к USB, отметим ряд моментов:

  • c обычной конечной точкой периодических передач (изохронные и прерывания) в каждом n-м микрокадре производится лишь одна транзакция (n определяется параметром bInterval дескриптора конечной точки);
  • с широкополосной конечной точкой в микрокадре может производиться до трех транзакций. Широкополосные точки представлены размером поля данных 1024–3072 байт, и загрузка шины, которую они дают, относится ко всем (от 1 до 3) их транзакциям в микрокадре. Пропускная способность Vmax точки с периодической передачей определяется делением размера поля данных пакета максимальной длины Dmax на длительность периода обслуживания T: Vmax = Dmax/T. Период обслуживания T определяется следующим образом:
    —— для изохронных конечных точек T = Tk×2bInterval–1, где Tk — период посылки маркеров SOF (1 мс для полной скорости и 125 мкс для высокой); bInterval лежит в диапазоне 1–16. Таким образом, для FS период обслуживания может быть в пределах 1–32768 мс, для HS — 0,125–4096 мс;
    —— для FS/LS конечных точек прерываний T = 1×bInterval (мс), bInterval лежит в диапазоне 1–255 (период обслуживания может быть в пределах 1–255 мс);
    —— для HS-конечных точек прерываний T = 0,125×2bInterval–1 (мс); bInterval лежит в диапазоне 1–16, период обслуживания может быть в пределах 0,125– 4096 мс.
  • при передаче массивов число транзакций с конечной точкой в одном микрокадре не определено, но его максимум не превосходит указанного в таблицах. Драйвер USB может использовать и простую политику обслуживания очередей, при которой для каждой точки в микрокадре будет выполняться не более одной транзакции. В каждом микрокадре при самом плотном изохронном потоке есть место для 1–2 транзакций передач массивов, но когда на такие передачи претендует множество устройств, средняя скорость передачи для каждого из них, очевидно, будет невысокой.

Видео:Как включить usb клавиатуру и мышь для установки ВиндоусСкачать

Как включить usb клавиатуру и мышь для установки Виндоус

Кабели и разъемы

Кабель USB содержит две пары проводов: одну для сигнальных цепей (D+ и D-) и одну пару для схемной земли (GND) и подачи питания +5 В (Vbus). Допустимая длина сегмента (кабеля от устройства до хаба) — до 5 м. Ограничения на длину сегмента диктуются затуханием сигнала и вносимыми задержками. Задержка распространения сигнала по кабельному сегменту не должна превышать 26 нс, так что при большой погонной задержке допустимая длина кабеля может сократиться. Максимальное удаление устройства от хост-контроллера определяется задержкой, вносимой кабелями, промежуточными хабами и самими устройствами.

В кабеле USB 1.x для сигнальных цепей используется витая пара проводов калибра 28AWG с импедансом 90 Ом. Характеристики кабеля нормированы в частотном диапазоне до 16 МГц. Для питания используется неперевитая пара проводов калибра 20AWG–28AWG. Требований к экранированию кабелей в USB 1.x не выдвигалось. Для низкой скорости может использоваться кабель с неперевитой парой сигнальных проводов (он дешевле и тоньше), но его длина не должна превышать 3 м.

Читайте также: Иммобилизация голени если нет шины

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

Разъемы USB сконструированы с учетом легкости подключения и отключения устройств. Для обеспечения возможности «горячего» подключения разъемы обеспечивают более раннее соединение и позднее отсоединение питающих цепей по отношению к сигнальным. В USB определено несколько типов разъемов:

  • тип «A»: гнезда (рисунок а) устанавливаются на нисходящих портах хабов, это стандартные порты подключения устройств. Вилки типа «A» устанавливаются на шнурах периферийных устройств или восходящих портов хабов;
  • тип «B»: используются для шнуров, отсоединяемых от периферийных устройств и восходящих портов хабов (от «мелких» устройств — мышей, клавиатур и т. п. кабели, как правило, не отсоединяются). На устройстве устанавливается гнездо (рисунок б), на кабеле — вилка;
  • тип «Mini-B» (рисунок в): используются для отсоединяемых шнуров малогабаритных устройств;
  • тип «Mini-A»: введен в спецификации OTG, вилки используются для подключения устройств к портам малогабаритных устройств с гнездом «mini-AB».
  • тип «Mini-AB»: гнезда введены в спецификации OTG для портов двухролевых устройств, которые могут вести себя как хост (если в гнездо вставлена вилка miniA) или как периферийное устройство (если в гнездо вставлена вилка mini-B).

Шина usb клавиатура это

Назначение выводов разъемов USB приведено в таблице, нумерация контактов показана на рисунке выше. Штырьковые разъемы, устанавливаемые на системной плате (рисунок г), предназначены для кабелей-«выкидышей», которыми подключаются дополнительные разъемы USB, устанавливаемые на передней или задней стенках корпуса компьютера (иногда и на боковых). На эти разъемы порты выводятся парами, причем у разных производителей подход к универсальности и защите от ошибочных подключений различен. Подключение «выкидыша», не подходящего к разъему, приводит к неработоспособности порта (к счастью, как правило, временной). Ошибка в подключении цепей GND и +5V может приводить к нагреванию кабелей и разъемов из-за короткого замыкания питающей цепи.

Все кабели USB «прямые» — в них соединяются одноименные цепи разъемов, кроме цепи ID, используемой для идентификации роли устройства в OTG. На вилке mini-A контакт 4 (ID) соединен с контактом 5 (GND), что заставляет порт, к которому подсоединена такая вилка, взять на себя роль нисходящего порта хаба. На вилке miniB такого соединения нет.

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

Таблица. Назначение выводов разъема USB

ЦепьКонтакт стандартного разъемаКонтакт миниразъема
VBus (+5 В)11
D–22
D+33
GND45
ID4

Видео:Как работает usb клавиатура в Linux?Скачать

Как работает usb клавиатура в Linux?

Структура устройства с интерфейсом USB

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

Шина usb клавиатура это

Все протокольные и сигнальные функции USB обеспечивает блок последовательного интерфейса, SIE (Serial Interface Engine). В сторону USB блок SIE «смотрит» своим портом USB (комплектом приемопередатчиков). Блок SIE занимается последовательным приемом и передачей пакетов, выполняя подсчеты и проверки CRC, вставку битов (bit stuffing) при передаче и их удаление при приеме, кодирование NRZI, проверку форматов, отработку подтверждений и отслеживание корректной последовательности пакетов. С функциональной частью устройства блок SIE обменивается только «чистыми» пользовательскими данными. SIE сигнализирует о приходе очередного пакета к той или иной конечной точке, принимает от функциональной части данные к выдаче (вводу по запросу хоста), сообщает о выполнении этой операции. Количество и тип поддерживаемых конечных точек зависят от реализации SIE. Самые сложные в плане поддержки — точки типа Control, по этой причине многие устройства USB поддерживают лишь одну (обязательную) управляющую точку — EP0. С каждой поддерживаемой точкой в SIE связана буферная память, объем которой должен соответствовать максимальному размеру пакета, заявленному в дескрипторе точки. Блок SIE ведает и всеми дескрипторами (они размещаются в его локальной памяти) — сообщает их хосту по запросам, устанавливает конфигурацию и альтернативные установки. SIE отрабатывает и все запросы хоста, стандартные и специфические (управляет конечными точками, организует засыпание и пробуждение).

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

Как правило, периферийные устройства с USB имеют встроенный микроконтроллер, который и является источником и приемником информации, посылаемой через конечные точки. Микроконтроллер должен подчиняться указаниям от шины — выполнять сброс и приостановку по сигналам от порта, отрабатывать установки конфигурации и интерфейсов. Запросы управления стандартными свойствами (остановка и разблокирование точек, разрешение посылки удаленного пробуждения) доходят до контроллера опосредованно — в первую очередь их отрабатывает SIE.

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

  • Свежие записи
    • Нужно ли менять пружины при замене амортизаторов
    • Скрипят амортизаторы на машине что делать
    • Из чего состоит стойка амортизатора передняя
    • Чем стянуть пружину амортизатора без стяжек
    • Для чего нужны амортизаторы в автомобиле

    🎬 Видео

    ❓ Неизвестное устройство в Windows. Как решить проблему?Скачать

    ❓ Неизвестное устройство в Windows. Как решить проблему?

    AT-клавиатура (DIN-5) в USB - возможно?Скачать

    AT-клавиатура (DIN-5) в USB - возможно?

    Подключение USB и MIDI – как правильно и что лучше?Скачать

    Подключение USB и MIDI – как правильно и что лучше?

    PS/2 порт: разгружаем USB и ускоряем клавиатуруСкачать

    PS/2 порт: разгружаем USB и ускоряем клавиатуру

    Как подключить проводную клавиатуру к ноутбуку через USBСкачать

    Как подключить проводную клавиатуру к ноутбуку через USB

    Как развивался USB? От USB 1.0 до USB Type-C: этого вы не знали!Скачать

    Как развивался USB? От USB 1.0 до USB Type-C: этого вы не знали!

    Цифровая USB клавиатура на 19 клавиш или дополнительный блок цифровых клавиш.Скачать

    Цифровая USB клавиатура на 19 клавиш или дополнительный блок цифровых клавиш.

    Не работает USB клавиатура и мышка при установке Windows. Решение ПроблемыСкачать

    Не работает USB клавиатура и мышка при установке Windows. Решение Проблемы

    Механика или мембранка? ⚔️ #обзорСкачать

    Механика или мембранка? ⚔️ #обзор

    Контроллер универсальной последовательной шины USBСкачать

    Контроллер универсальной последовательной шины USB

    Как включить подсветку на любой клавиатуреСкачать

    Как включить подсветку на любой клавиатуре

    ЗАЛЕЗ В ТРУБУ И НАШЕЛ КЛАВИАТУРУСкачать

    ЗАЛЕЗ В ТРУБУ И НАШЕЛ КЛАВИАТУРУ
Поделиться или сохранить к себе:
Технарь знаток