» Файлы » Драйвер SerialXp
Драйвер SerialXp
Высокопроизводительный драйвер последовательных асинхронных портов и мультипортовых плат SerialXp.sys для семейства операционных систем Windows XP/2K в отличие от многих подобных проектов полностью написан на ассемблере и языке программирования С++ и не использует исходные тексты стандартного системного драйвера из Driver Development Kit, предлагаемого для этих целей компанией Microsoft.
Сильные стороны драйвера SerialXp
SerialXp не содержит ошибок, обнаруженных в стандартном системном драйвере serial.sys, и поэтому корректно работает с асинхронными портами допускающими потерю прерываний.
SerialXp управляет питанием COM-портов по спецификации «OnNow», экономя энергию батарей мобильных компьютеров.
SerialXp тратит меньше времени на обслуживание асинхронных портов, полноценно используя расширенные возможности и буфер FIFO, так как оптимизирован под современные процессоры и многопроцессорные системы.
SerialXp автоматически определяет максимальную скорость работы порта, размер FIFO и наличие дополнительных возможностей, например, автоматического управления потоком (flow control).
SerialXp единственный драйвер, который поддерживает все распространённые SuperIO-чипы, и кроме того сам автоматически распознает мультипортовые ISA-платы и определяет назначенные им ресурсы: IRQ, адреса портов ввода-вывода и т.п.
Отличия от стандартного драйвера serial.sys
Корректно обслуживаются UART-чипы с ошибками, допускающими потерю прерываний;
Отсутствует ошибка управления потоком при изменении размера внутреннего буфера;
Отсутствует ошибка отправки повторного XON-символа;
Более точное управление сигналом RTS в режиме RTS_Transmit_Toggle, который часто используется для взаимодействия с интерфейсом RS-485. Доступны четыре варианта деактивации RTS в том числе с латентностью близкой к нулю;
Отсутствует возможность «залипания» передатчика при отправке XON/XOFF символов на UART с аппаратной ошибкой потери прерывания;
Отсутствует возможность зацикливания в обработчике прерывания при частом изменении статуса линии и логической паузе в передаче (запросе от удаленного устройства на паузу в передаче);
Отсутствует ошибка в обработке таймаута IOCTL_Serial_XOFF_Counter; Отсутствует ошибка в проверке корректности параметров IOCTL_Serial_Set_Handflow;
Отсутствует несколько ошибок связанных с невосстановлением исходного IRQL (вероятность «синего экрана», в Windows Server 2003 эта ошибка исправлена);
Весь код драйвера резидентный, т.е. отсутствуют PAGEABLE-секции;
Автоматическое управление питанием, неиспользуемые устройства отключаются;
Производится тестирование оборудования;
Определяется реальная скорость COM-портов (учитывается Turbo-режим);
Определяется реальный размер FIFO-буферов;
Определяется наличие дополнительных аппаратных возможностей COM-портов, например автоматического управления потоком (flow control);
05.02.2025

