Реферат: USB-порт. Flash-Память
· Частотой обращения к шине и требованиями к задержкам
· Необходимой полосой пропускания
· Номером конечной точки
· Требованиями к обработке ошибок
· Максимальным размером кадра который может быть принят или послан.
· Типом поддерживаемой передачи данных
· Направлением осуществления передачи между конечной точной и хостом.
Для низкоскоростных (low-speed) устройств возможно существование до двух дополнительных точек; для full-speed устройств их число ограничивается лишь возможностями протокола и может достигать 15-ти для ввода и 15-ти для вывода.
Вообще конечная точка - это конец логического канала данных между хостом и устройством. В свою очередь канал - это логическое соединение между хостом и устройством. Так как конечных точек у устройства предусматривается несколько, то это означает, что обмен данными между хост-контроллером и устройством на шине может проихсодить по нескольким каналам, так называемый многоканальный режим. Полоса пропускания шины делиться между всеми установленными каналами. В распоряжение шина USB может предоставить каналы следующих типов:
· Каналы сообщений. Являются двунаправленными каналами и служат, не трудно сообразить, для передачи сообщений, имеющих строго определенный в спецификации формат, необходимый для обеспечения надежной идентификации и передачи команд. Возникает канал при отсылке хостом запроса в устройства, и управляет передачей только хост. Каналы сообщений используется для передач только управляющего типа (что такое смотрим ниже).
· Потоковые каналы. Являются однонаправленными. В отличие от четко определенных сообщений не имеют определенного закрепленного в стандарте формата, что означает возможность передачи данных любого вида. Эти передачи могут контролироваться не только хостом, но и устройством. Используется для передач данных типа прерывание, групповая пересылка, изохронная (смотрим ниже). В спецификации в зависимости от типа передаваемых данных, предъявляемых требований к скорости обработки, задержки доставки и т.п. определены следующие типы передач.
· Управляющие передачи. Используются для конфигурирования устройств во время подключения и выполнения других специфических функций над устройством, включая организацию новых каналов.
· Прерывания. Используются для спонтанных, но гарантированных передач с гарантированными скоростями и задержками. Используются обычно для передачи введенных данных от клавиатуры или сведений об изменении положения указателя мыши, в устройствах обратной связи, и.т.д
· Групповая пересылка. Используется для гарантированной передачи данных больших объемов без предьявленных требований к скоростям и задержкам. Занимает под себя всю свободную пропускную способность шины. В любой момент доступная полоса может быть урезана при необходимости осуществления передач других видов с более высоким приоритетом, или добавлена, при освобождении другими устройствами. Обычно такие передачи используется между принтерами, сканерами, накопителями и др.
· Изохронная передачи. Используются для потоковых передач данных в реальном времени. Резервируют определенную полосу пропускания шины, гарантируют определенные величины задержек доставки, но не гарантируют доставку (в случае обнаружения ошибки повторной передачи не происходит. Передачи этого вида используются для передачи аудио и видео трафика.
Обмен данными может осуществляться в трех скоростных режимах:
· Low Speed. Низкоскоростной режим. Скорость передачи составляет 1.5 Мбит/с.
· Full Speed. Полноскоростной режим. Скорость передачи 12 Мбит/с.
· High Speed. Высокоскоростной режим. Появился лишь в спецификации 2.0. Скорость передачи 480 Мбит/с.
Информация по шине передается пакетами. Всего их определено 4 вида:
· Маркерные пакеты.
o In - информируют USB устройство, что хост хочет читать данные из устройства
o Out - информирует USB устройство, что хост хочет передавать данные в устройство
o Setup - используются для обозначения начала управляющего типа передачи данных
o SOF - пакеты начала кадра (Start of Frame Packets)
· Пакеты данных.
o Существуют два типа пакетов данных - DATA0, DATA1 , каждый из которых способен содержать до 1024 байтов данных. У высокоскоростных устройств для пакетов данных определены два других PID-a: DATA2 и MDATA.
· Пакеты подтверждения.
o ACK - подтверждение того, что пакет был успешно принят