Гость
Форумы / Hardware [игнор отключен] [закрыт для гостей] / О том, как работает USB. / 9 сообщений из 9, страница 1 из 1
30.03.2011, 11:53
    #37189812
mriadus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О том, как работает USB.
Клавиатура - это "слейв", а в компе стоит хост. Слейвы, вроде как, не могут генерить что-то по своей воле, пока не получат запрос от хоста. Почему нажатия на USB-клавиатуре так быстро доходят до ОС?

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

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

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

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

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

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

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

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

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

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

зы: сугубо личное мнение,
возможно имеет смысл почитать какие нить википедии
...
Рейтинг: 0 / 0
30.03.2011, 18:04
    #37190905
Ken@t
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О том, как работает USB.
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
30.03.2011, 22:14
    #37191255
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О том, как работает USB.
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
02.04.2011, 16:16
    #37195732
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О том, как работает USB.
mriadusКлавиатура - это "слейв", а в компе стоит хост. Слейвы, вроде как, не могут генерить что-то по своей воле, пока не получат запрос от хоста.Это только по управляющему каналу не могут. А вот канал прерывания:
викиКанал прерывания позволяет доставлять короткие пакеты и в том, и в другом направлении, без получения на них ответа/подтверждения, но с гарантией времени доставки — пакет будет доставлен не позже, чем через N миллисекунд. Например, используется в устройствах ввода (клавиатуры/мыши/джойстики).
...
Рейтинг: 0 / 0
12.05.2011, 11:37
    #37256588
MsDatabaseru
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О том, как работает USB.
нашел весьма занятное описание как функционирует USB на русском
тынц
...
Рейтинг: 0 / 0
13.05.2011, 17:13
    #37259755
Kew
Kew
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О том, как работает USB.
Обмен в интерфейсе USB представляет собой классическую циклограмму, характерные моменты которой задаются хостом. Большой ее период - 1 мс (это во вмного-много-мнго раз меньше, чему нужно для для интерактивности, неощутимой "невооруженным взглядом"). Малый период -- вовсе 125 мкс. Для ввода текста этого достаточно с запасом в десятки и сотни раз. Это для приложений РВ, иногда, USB сильно плохо.
...
Рейтинг: 0 / 0
Форумы / Hardware [игнор отключен] [закрыт для гостей] / О том, как работает USB. / 9 сообщений из 9, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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