Интерфейс USB и программная реализация операций обмена
Автор: Petrenko45 • Декабрь 13, 2021 • Лабораторная работа • 1,150 Слов (5 Страниц) • 241 Просмотры
Министерство науки и образования Российской Федерации
Федеральное государственное бюджетное образовательное учреждение высшего образования
УФИМСКИЙ ГОСУДАРСТВЕННЫЙ АВИАЦИОННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
Лабораторная работа №5
ИНТЕРФЕЙС USB И ПРОГРАММНАЯ РЕАЛИЗАЦИЯ
ОПЕРАЦИЙ ОБМЕНА
Выполнил:
Студент группы ИБ-208
Петров Т.А.
Проверил:
Доцент
Идрисов Р.В.
Уфа-2020
Цель работы:
Целью работы является знакомство с принципами организации
интерфейса USB и практическое изучение процесса инсталляции USB
устройств класса Communications Device Class (CDC) в ОС Windows, а
также методики программирования операций информационного об-
мена с подобными устройствами.
Посмотрим состав контроллеров USB на компьютере с помощью диспетчера устройств:
[pic 1]
Информация о контроллерах и концентраторах шины USB ПК
Познакомимся с составом драйверов USB:
[pic 2]
Файлы, начинающиеся на USB, в C:\Windows\System32\drivers
Можно также найти файл Usbccgp.sys. Компонента Usbccgp.sys (англ. USB Common Class Generic Parent Driver ) является поставляемым Microsoft драйвером составных USB устройств.
Иногда встречаются названия, которые начинаются не со слова USB, но имеют отношение к драйверам USB, например Human interface device (hid):
[pic 3]
Утверждается, что часть драйверов USB располагаются в каталоге System32. Если задаться целью отыскать в каталоге System32 что-нибудь имеющее отношение к USB, то можно перейти в System32 и набрать в FAR слово USB, при нажатом ALT:
[pic 4]
На рисунке видим, что и здесь немало динамически загружаемых библиотек. На данном этапе складывается впечатление о том, что интерфейс USB настолько сложен, что для его поддержки приходится в системе заводить огромное количество программных компонент. При этом только часть из них что-то понимает в устройствах внешних, а значительная часть посвящена организации кадров, транзакций, пакетов и их корректной передаче.
Проведем следующий эксперимент: скопируем драйвер usbser.sys в каталог D:\Work313\АСВТ5
[pic 5]
Удалим этот драйвер из каталога D:\Work313\АСВТ5 :
Теперь попробуем удалить этот файл из C:\Windows\System32\drivers:
[pic 6]
На рисунке видно, что ничего не происходит. А для достаточно медленного компьютера , медленно работающего фара видно, что он исчезает и тут же восстанавливается, то есть система считает, что файлы драйверов – это такая важная вещь, которую потерять нельзя, и если потеряли, сразу надо восстановить из архива драйверов в C:\Windows\System32\DriverStore\FileRepository
Теперь попытаемся перейти к экспериментам уже связанным с использованием диспетчера устройств. Выбираем любое устройство, нажимаем правую кнопку мышки и смотрим свойства:
Если открыть вкладку драйвер, в сведениях будет видно, какие программные компоненты, которые имеются в каталоге drivers отвечают за поддержку того или иного устройства:
[pic 7]
окно сведений для контроллера
Мы видим, что свойства контроллеров и концентраторов хорошо отображается в диспетчере устройств.
Запустим программу USBDeview.exe с включенной и выключенной опцией
Options->Display Disconnected Devices.
[pic 8]
опция Options->Display Disconnected Devices включена
На рисунке 9 мы отображаем, какие устройства подключены в данный момент, а на рисунке 10 показываем историю, то, что было подключено неделю назад, месяц назад.
Откроем окно диспетчера устройств (Win+Pause/Break ->Диспетчер устройств) и будем подключать и отключайте доступные USB-устройства,
После подключения USB-флэш-накопителя в списке контроллеров USB появляется Запоминающее устройство для USB:
...