powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Hardware [игнор отключен] [закрыт для гостей] / О том, как работает USB.
9 сообщений из 9, страница 1 из 1
О том, как работает USB.
    #37189812
Фотография mriadus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Клавиатура - это "слейв", а в компе стоит хост. Слейвы, вроде как, не могут генерить что-то по своей воле, пока не получат запрос от хоста. Почему нажатия на USB-клавиатуре так быстро доходят до ОС?

Клавиатура 99% времени находится в режиме "приняла запрос, тяну с ответом"? Т.е. после инициализации клавиатуре, ей посылается запрос, на который она отвечает как только будет нажата клавиша, остальное время вися в состоянии "запрос принят, ответ будет скоро"? А если запрос потеряется? Они повторяются периодически? Как часто? Или всё не так вообще?

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

Спасибо от всего филологического факультета, кафедры индийского языка.
...
Рейтинг: 0 / 0
О том, как работает USB.
    #37189914
Фотография Гордый Корень
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а usb разве не дуплекс?

п.с. попобуйте в блокноте зажать сразу 4567890 клавиш... (больше 4х только на крутых игровых клавах работает емнмп)
...
Рейтинг: 0 / 0
О том, как работает USB.
    #37190004
Фотография mriadus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гордый Кореньа usb разве не дуплекс?

п.с. попобуйте в блокноте зажать сразу 4567890 клавиш... (больше 4х только на крутых игровых клавах работает емнмп)
Вопрос не в дуплексе. Хоть триплекс и квадрекс. Вопрос в том, что пока тебя не спросили ты не можешь базарить.
...
Рейтинг: 0 / 0
О том, как работает USB.
    #37190119
MsDatabaseru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
по сути интерфейс юсб это две линии
каждой линии соответствует пара проводов
одна линия передача данных - вторая прием
и прием и передача независимы друг от друга, роль хоста в другом

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

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

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

хид драйвер ловит коды и передает их ОС инициализируя события в определенных библиотеках.

в случае установки в юсб флешки или плеера роль юсб хоста остается также лишь в определении скорости и типа подключенного устройства - дальнейший обмен осуществляется под управлением соответствующего устройству драйвера

зы: сугубо личное мнение,
возможно имеет смысл почитать какие нить википедии
...
Рейтинг: 0 / 0
О том, как работает USB.
    #37190905
Фотография Ken@t
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MsDatabaseruпо сути интерфейс юсб это две линии
каждой линии соответствует пара проводов
одна линия передача данных - вторая прием
и прием и передача независимы друг от друга, роль хоста в другом

Ой, дальше не надо ибо лучше спецификацию прочитайте.

Физически USB двухнаправленная диф пара.

На каждый фрейм передачи ( IN|OUT) отводится 1ms для FULL|LOW speed и 125 us для HI speed девайсов.
В общем случае после подключения ( физического ) хост по EP0 ( end point ) назначает адрес устройства ( в терминах usb -функции ) и запрашивает дескрипторы функции . На логическом уровне шины присутствут передачи через EP - control размерам 8 , 16, 32 или 64 байта для конфигурации/комманд/статуса, isochronous - гарантирует доставку пакетов в пределах пропускной способности и постоянства скорости обмена, при ошибках не повторяет предачу на физическом уровне. Пакеты размером до 1024 байта. Interrupt - 64 или 1024 (HIspeed) байт. Период данного пакета задаётся от 1ms до 255ms. и Bulk повторяет трансфер при ошибках, гарантирует доставку, но не гарантирует когда и с какой скоростью. Размер пакетов 8 16 32 64 или 512 для HI Speed.

Дескрипторы все стандартизированы и описаны в соответсвующих спецификациях HID, CDC .... .

ч0 хотел автор и с какой целью - так и не понял .
...
Рейтинг: 0 / 0
О том, как работает USB.
    #37191255
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ken@tMsDatabaseruпо сути интерфейс юсб это две линии
каждой линии соответствует пара проводов
одна линия передача данных - вторая прием
и прием и передача независимы друг от друга, роль хоста в другом

Ой, дальше не надо ибо лучше спецификацию прочитайте.

Физически USB двухнаправленная диф пара.

На каждый фрейм передачи ( IN|OUT) отводится 1ms для FULL|LOW speed и 125 us для HI speed девайсов.
В общем случае после подключения ( физического ) хост по EP0 ( end point ) назначает адрес устройства ( в терминах usb -функции ) и запрашивает дескрипторы функции . На логическом уровне шины присутствут передачи через EP - control размерам 8 , 16, 32 или 64 байта для конфигурации/комманд/статуса, isochronous - гарантирует доставку пакетов в пределах пропускной способности и постоянства скорости обмена, при ошибках не повторяет предачу на физическом уровне. Пакеты размером до 1024 байта. Interrupt - 64 или 1024 (HIspeed) байт. Период данного пакета задаётся от 1ms до 255ms. и Bulk повторяет трансфер при ошибках, гарантирует доставку, но не гарантирует когда и с какой скоростью. Размер пакетов 8 16 32 64 или 512 для HI Speed.

Дескрипторы все стандартизированы и описаны в соответсвующих спецификациях HID, CDC .... .

ч0 хотел автор и с какой целью - так и не понял .

именно поэтому обычная ps/2 клавиатура произведенная до того как был придуман сам юсб его протоколы фреймы исправление ошибок легко работает через переходник не содержащий в себе активных компонентов
...
Рейтинг: 0 / 0
О том, как работает USB.
    #37195732
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mriadusКлавиатура - это "слейв", а в компе стоит хост. Слейвы, вроде как, не могут генерить что-то по своей воле, пока не получат запрос от хоста.Это только по управляющему каналу не могут. А вот канал прерывания:
викиКанал прерывания позволяет доставлять короткие пакеты и в том, и в другом направлении, без получения на них ответа/подтверждения, но с гарантией времени доставки — пакет будет доставлен не позже, чем через N миллисекунд. Например, используется в устройствах ввода (клавиатуры/мыши/джойстики).
...
Рейтинг: 0 / 0
О том, как работает USB.
    #37256588
MsDatabaseru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нашел весьма занятное описание как функционирует USB на русском
тынц
...
Рейтинг: 0 / 0
О том, как работает USB.
    #37259755
Kew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обмен в интерфейсе USB представляет собой классическую циклограмму, характерные моменты которой задаются хостом. Большой ее период - 1 мс (это во вмного-много-мнго раз меньше, чему нужно для для интерактивности, неощутимой "невооруженным взглядом"). Малый период -- вовсе 125 мкс. Для ввода текста этого достаточно с запасом в десятки и сотни раз. Это для приложений РВ, иногда, USB сильно плохо.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Hardware [игнор отключен] [закрыт для гостей] / О том, как работает USB.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]