Поделиться через


Руководство по проектированию драйвера последовательного контроллера

Вы можете разработать драйвер или приложение, использующее интерфейс запроса последовательного ввода-вывода для взаимодействия с периферийным устройством, подключенным к последовательному порту. Последовательный порт — это аппаратный интерфейс связи на последовательном контроллере, который является устройством 16550 UART или совместимым устройством. Чтобы управлять последовательным портом, к которому подключено периферийное устройство, можно создать пользовательский драйвер последовательного контроллера, который работает с версией 2 расширения последовательной платформы (SerCx2), которая заменяет версию 1 (SerCx).

В более ранних версиях Windows использовался именованный последовательный COM-порт, расположенный на корпусе ПК, и входящие драйверы Serial.sys и Serenum.sys. Дополнительные сведения см. в разделе "Предыдущие версии драйверов последовательного контроллера Windows" и разделе "Коды основных функций IRP для последовательной передачи".

Заметка

В этом разделе описывается программирование традиционных COM-портов. Информация о последовательных портах, подключенных через USB, см. в драйвер USB последовательных портов (Usbser.sys).

SerCx2

Вы можете написать драйвер последовательного контроллера, который работает вместе с версией 2 расширения последовательной платформы (SerCx2) для управления последовательным контроллером. Вы также можете написать периферийный драйвер для периферийного устройства, подключенного к порту на последовательном контроллере, который совместно управляется SerCx2 и драйвером последовательного контроллера. Этот периферийный драйвер использует последовательный интерфейс запроса ввода-вывода для передачи данных на устройство и с устройства. Драйвер последовательного контроллера на основе расширений обрабатывает все аппаратные задачи для последовательного контроллера, но использует SerCx2 для выполнения многих системных задач, которые являются общими для всех последовательных контроллеров. SerCx2 — это системный компонент, начиная с Windows 8.1.

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

Дополнительные сведения о SerCx2 см. в разделе Использование версии 2 расширения последовательного интерфейса (SerCx2).

В этом разделе