Развернутый сценарий занятия: Конструкция, подключение и инсталляция периферийных устройств — часть 2

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

1. Сценарий основного регламента — 90 минут

Этап 1: Организационный момент и вводный проблемный кейс (5 минут)

Прямая речь преподавателя: «Здравствуйте, коллеги! На прошлом занятии мы досконально изучили физическую коммутацию: разбирали типы разъемов, спецификации интерфейсных кабелей, экранирование и оптические тракты. Сегодня мы делаем решающий шаг от аппаратной механики к системной инженерии: мы разберем, как операционная система оживляет подключенную плату или внешний прибор.

Представьте реальную ситуацию из практики системного администратора. Вы подключаете в порт USB новенький сканер штрихкодов или звуковую карту. В одном случае устройство через пару секунд издает приветственный сигнал и готово к работе, а во втором — система молчит, а в Диспетчере устройств появляется безымянное "Неизвестное устройство" с желтым треугольником и кодом ошибки 28 либо 43. Что происходит в недрах ядра ОС в первые 200 миллисекунд после того, как контакты разъема коснулись друг друга? Почему операционная система не может просто "догадаться", что в нее воткнули?»
Преподаватель: «Кто готов сформулировать, какой первый электрический и программный шаг делает контроллер шины при физическом подключении USB-устройства?»
Ожидаемый ответ студента: «Контроллер фиксирует замыкание линии питания и изменение напряжения на линиях данных D+ или D- за счет подтягивающих резисторов, понимает скорость шины и отправляет прерывание ядру ОС».

Этап 2: Архитектурная лекция-демонстрация (25 минут)

Прямая речь преподавателя: «Абсолютно верно. Контроллер хоста xHCI видит подтяжку линии к 3.3 вольтам и запускает процесс, который называется энумерацией шины (PnP Enumeration). Обратите внимание на слайд презентации.

Драйвер шины обращается к устройству по специальному нулевому адресу через нулевую конечную точку (Control Endpoint 0). Он запрашивает так называемый дескриптор устройства (Device Descriptor). И вот в этом 18-байтном блоке зашита вся судьба инсталляции: там находятся два ключевых 16-битных числа — Vendor ID (идентификатор производителя) и Product ID (идентификатор модели).

Давайте откроем консоль PowerShell на моем демонстрационном экране и выполним команду:
Get-PnpDeviceProperty -InstanceId "USB\\VID_046D&PID_C52B\\..." -KeyName "DEVPKEY_Device_HardwareIds".
Что мы видим? Диспетчер устройств формирует строку USB\\VID_046D&PID_C52B. Затем PnP Manager ядра Windows берет эту строку и идет сканировать системное хранилище Driver Store, расположенное по адресу C:\\Windows\\System32\\DriverStore\\FileRepository.

Как драйвер попадает в это хранилище? Пакет драйвера всегда состоит из трех компонентов:
  • Текстового файла .inf — это сценарий развертывания, где написано: "Если видишь VID_046D&PID_C52B, скопируй файл hidusb.sys и пропиши службу в реестре";
  • Файла каталога безопасности .cat — это цифровая подпись WHQL, гарантирующая, что файлы проверены Microsoft и не модифицированы вирусом;
  • И самого бинарного кода .sys или .dll.
Если в хранилище нет точного совпадения по Hardware ID, Windows начинает искать так называемый Compatible ID — совместимый класс. Например, класс 03h — это HID (мыши и клавиатуры), класс 08h — Mass Storage (флешки), класс 0Eh — UVC (веб-камеры). Если устройство соответствует стандартному классу USB-IF, ОС запускает свой собственный универсальный драйвер (In-box Driver). Но если устройству нужны специфические функции, как звуковой карте или промышленному сканеру, без вендорного драйвера мы получим "Код 28".»

Этап 3: Интерактивный инженерный анализ коллизий (15 минут)

Прямая речь преподавателя: «А теперь проведем эксперимент в рамках методики "Предсказание до объяснения". Посмотрите на экран.

Кейс 1: У нас подключен промышленный сканер штрихкодов. По умолчанию он работает в режиме эмуляции клавиатуры (USB HID). Мы берем сервисную книжку и сканируем настроечный штрихкод "Enable Virtual COM Port". Сканер издает двойной писк. В Диспетчере устройств вместо клавиатурного узла появляется устройство "CDC Serial" с желтым восклицательным знаком. Я открываю Блокнот и сканирую штрихкод с пачки чая. Что появится в Блокноте? Обсудите в парах 30 секунд и дайте ответ.»
Студенты (выдвигают гипотезы): «Напечатаются цифры», «Появится ошибка драйвера в окне», «Ничего не произойдет».
Разбор преподавателя: «В Блокноте не появится ровным счетом ничего! Потому что в режиме Virtual COM Port сканер больше не генерирует скан-коды клавиш. Он шлет байты в последовательный буфер драйвера usbser.sys. Чтобы прочитать штрихкод, администратор склада должен настроить программу (например, 1С или утилиту PuTTY), открыв конкретный виртуальный порт — COM3, со скоростью 9600 или 115200 бод, форматом кадра 8-N-1 и суффиксом CR/LF. Зато в таком режиме сканер никогда не сломается от того, что оператор случайно переключил язык Windows на русский!»

Этап 4: Лабораторный практикум в интерактивном листе zanyatie.html (35 минут)

Прямая речь преподавателя: «Переходим к индивидуальному практикуму. Откройте файл zanyatie.html в своих браузерах. Обратите внимание: форма автоматически сохраняет все вводимые данные в ваше локальное хранилище localStorage. Если вы случайно обновите страницу, данные не пропадут. Но помните: компьютеры в аудитории общие, поэтому по окончании работы обязательно нажмите "Сохранить в PDF" для отчета.

У нас 4 профильных инженерных варианта:
  • Вариант 1 (Сетевое МФУ): ваша задача — обосновать отказ от ненадежного протокола WSD в пользу порта Standard TCP/IP RAW 9100 со статическим IP-адресом, выбрать драйвер PCL6 либо PostScript 3 и проверить работу дуплексного модуля.
  • Вариант 2 (Профессиональный графический планшет): настроить электромагнитное перо с 8192 уровнями нажатия, отключить системную службу Windows Ink для ликвидации "залипания" кисти и калибровать рабочую область монитора.
  • Вариант 3 (Студийный USB Audio Class 2.0 интерфейс): установить специализированный драйвер ASIO в обход микшера Windows WASAPI, рассчитать сквозную задержку Round-Trip Latency для буфера 64 и 128 сэмплов и проверить систему на отсутствие дропаутов DPC Latency.
  • Вариант 4 (Промышленный сканер штрихкодов): сконфигурировать режим Virtual COM Port, настроить параметры UART (Baud rate 115200, 8-N-1), прописать аппаратные суффиксы каретки CR/LF и проверить чтение данных через терминал.
Приступайте к выполнению. Я подхожу к каждому для индивидуальных консультаций.»

Этап 5: Экспресс-защита и разбор ошибок (6 минут)

Прямая речь преподавателя: «Остановите заполнение, давайте подведем технический срез.

Главная ошибка, с которой столкнулись студенты на Варианте 1: многие указали порт WSD, потому что "Windows сама его нашла". Запомните раз и навсегда: в корпоративной инфраструктуре WSD — это бомба замедленного действия. Как только принтер перезагрузится или маршрутизатор обновит аренду DHCP, широковещательный мультикаст UDP 3702 между разными VLAN будет отсечен, и весь отдел останется без печати. Корпоративный стандарт — только статический IP-адрес и прямой порт RAW 9100!

На Варианте 3: кто-то попытался выставить буфер ASIO в 16 сэмплов на встроенном офисном процессоре. В результате звук превратился в пулеметную очередь щелчков. Почему? Потому что планировщик Windows DPC (Deferred Procedure Call) не успевает передавать аудиобуфер контроллеру шины за столь микроскопический промежуток времени (0.3 мс). Золотой баланс для студийной работы — 64 или 128 сэмплов, что дает суммарную задержку около 4–6 мс, совершенно незаметную для человеческого уха.»

Этап 6: Итог и инструктаж (4 минуты)

Прямая речь преподавателя: «Нажмите кнопку "Сохранить в PDF" внизу вашего рабочего листа. Сохраните готовый отчет с вашей фамилией. Работа оценивается по 4-балльной открытой шкале: 2 балла за протокол настройки, 1 балл за расшифровку идентификаторов и ошибок, 1 балл за чек-лист верификации.

Для тех, кто по уважительной причине пропустил занятие или получил оценку ниже удовлетворительной, предусмотрено резервное дистанционное домашнее задание domashnee_zadanie.html. Оно выполняется строго по назначению преподавателя. Спасибо за продуктивную инженерную работу!»

2. Сценарий сокращенного регламента — 60 минут

При сокращении занятия до 60 минут структура оптимизируется: лекционная часть сокращается до 18 минут с упором на базовые идентификаторы, а лабораторный практикум концентрируется на основном протоколе.

Хронометраж 60 минут:

Указание для преподавателя по оптимизации времени: В 60-минутном сценарии преподаватель не разбирает на доске математический расчет фаз RIP-растрирования PostScript и внутреннюю схемотехнику фильтр-драйверов upper/lower filter. Студентам сразу даются готовые целевые параметры (для варианта 3 — буфер 128 сэмплов; для варианта 4 — скорость 9600 бод), а расчет альтернативных задержек переносится для самостоятельного ознакомления в lekciya.html.