Перейти к содержимому

Приветствуем вас на Форуме PHILka.RU
Вы вошли на форум как ГОСТЬ. Убедительно просим вас зарегистрироваться! Для того, что бы вам был доступен весь функционал форума.
войти - или зарегистрироваться!
Фотография

SerialXp быстрый драйвер COM-портов 3.0.2.2532


  • Авторизуйтесь для ответа в теме
В этой теме нет ответов

#1
putinvovik

putinvovik

    Читатель

  • Участники
  • 6 сообщений
Надежный, универсальный, высокопроизводительный драйвер Windows 2000/XP/2003 для последовательных асинхронных портов и мультипортовых плат (адаптеров). В отличие от уже многих и многих других подобных проектов, SerialXp не основывается на стандартном системном драйвере (исходные тексты которого доступны в DDK), а полностью написан заново на С++ и ассемблере. Поэтому, в отличие от всех других проектов, SerialXp свободен от недостатков и ошибок serial.sys и его клонов.
Несколько причин чтобы использовать SerialXp:

1. SerialXp стабильнее и надежнее системного serial.sys, он не содержит ряда ошибок обнаруженных в стандартном системном драйвере. SerialXp корректно работает с асинхронными портами допускающими потерю прерываний (см. раздел FAQ).
2. SerialXp управляет питанием COM-портов по спецификации «OnNow», экономя энергию батарей мобильных компьютеров;
3. SerialXp быстрее, тратит меньше времени на обслуживание асинхронных портов. Он полноценно использует возможности асинхронных портов с расширенными возможностями и увеличенным FIFO, оптимизирован для современных процессоров, эффективно работает на многопроцессорных системах.
4. SerialXp удобнее и умнее. Он автоматически определяет максимальную скорость работы порта, реальный размер FIFO, наличие дополнительных возможностей. SerialXp единственный драйвер, который поддерживает все распространённые SuperIO-чипы. Кроме этого, драйвер может сам обнаруживать мультипортовые ISA-платы и определять их IRQ.
5. SerialXp бесплатен для конечных пользователей.

Значимые функциональные отличия от стандартного serial.sys и его клонов:

* Корректно обслуживаются UART-чипы с ошибками, допускающими потерю прерываний;
* Отсутствует ошибка управления потоком при изменении размера внутреннего буфера (функция SetupComm() в Win32);
* Отсутствует ошибка отправки повторного XON-символа;
* Отсутствует возможность «залипания» передатчика при отправке XON/XOFF символов на UART с аппаратной ошибкой потери прерывания;
* Отсутствует возможность зацикливания в обработчике прерывания при частом изменении статуса линии и логической паузе в передаче (запросе от удаленного устройства на паузу в передаче);
* Отсутствует ошибка в обработке таймаута IOCTL_SERIAL_XOFF_COUNTER;
* Отсутствует ошибка в проверке корректности параметров IOCTL_SERIAL_SET_HANDFLOW;
* Отсутствует несколько ошибок связанных с не восстановлением исходного IRQL (синий экран).
В Windows Server 2003 эта ошибка исправлена;
* Весь код драйвера резидентный, т.е. отсутствуют PAGEABLE-секции;
* Производится автоматическое управление питанием, неиспользуемые устройства отключаются;
* Производится тестирование оборудования;
* Определяется реальная скорость COM-портов (учитывается Turbo-режим);
* Определяется реальный размер FIFO-буферов;
* Определяется наличие дополнительных аппаратных возможностей COM-портов, например автоматического управление потоком (flow control);

Основные возможности драйвера:

* Поддержка как Port I/O так и Memory Mapped I/O оборудования;
* Полная поддержка PNP в соответствии с требованиями Windows 2000/XP/2003;
* Поддержка всех распространённых Super-IO контроллеров;
* Обслуживание COM-портов в соответствии с требованиями Windows DDK к драйверам последовательных асинхронных портов;
* Поиск ISA-карт и автоматическое определение IRQ (практически полный PNP);
* Поддержка мультипортовых плат как с регистром статуса прерываний, так и без него;
* Автоматическое определение формата регистра статуса прерываний, если таковой реализован в оборудовании;
* Поддержка регистра статуса прерываний шириной в 8, 16, 32, 64 бита;
* Автоматическое определение реальной глубины FIFO-буфферов, как на прием, так и на передачу;
* Автоматическое определение наличия аппаратного flow-control;
* Определение реальной скорости UART-портов и соответствующее управление;
* Управление питанием по спецификации «OnNow»;
* Возможность обслуживания UART-портов размещенных на другом комбинированном устройстве через SERIAL_XP_LINK_INTERFACE;
* Полный loopback тест всех портов;

Для достижения максимальной производительности (экономии процессорного времени) используется следующие методы:

* Несколько обработчиков прерываний, каждый из которых оптимизирован под конкретный режим работы UART в зависимости от требований приложения;
* Никогда не используется «Global Cancel Spin Lock»;
* На платформах Windows XP/W2K3 используются «Queued Spin Locks»;
* Используется более быстрые чем системные «Cancelable IRP Queues»;
* Более оптимальный, по сравнению с serial.sys, исходных код;
* Алгоритмическая совместимость с условиями «no aliasing» для возможности более существенной оптимизации средствами компилятора;
* Используется оптимизирующий компилятор MS C++ 13.0, в режиме единой глобальной оптимизации по всему исполняемому модулю;
* Используются прямые Interlocked-инструкции и набор команд процессоров Intel Pentium Pro (Intel Pentium Pro/II/III, AMD K6/K7/Athlon/Ahlon-XP/Ahlon-MP);

Основные изменения в этой версии:

* - Поддержка всех SuperIO-чипов (скорости более 115200 на системных COM-портах);
* - Устранена проблемы с некоторыми SuperIO-чипами от National Semiconductor;
* - Устранены проблемы с «проблемными» чипами. Некоторые UART-контроллеры вероятностно фиксируют ошибку приёма-передачи при частом изменении режима работы (значения в «Line Control Register»). В результате тест таких COM-портов мог заканчиваться неудачей или размер TX-FIFO определялся неправильно;
* - Новый код управления питанием;
* - Устранена несовместимость с некоторым ПО;
* - Множество улучшений, оптимизация;

Установка: В контекстном меню значка Мой компьютер выберите Управление > Диспетчер устройств.

Правым щелчком по COM-порту выберите Обновить драйвер > Нет, не в этот раз > Установка из указанного места > Не выполнять поиск, я сам выберу нужный драйвер > Установить с диска > Обзор, и укажите файл SerialXpMultiport.inf, который находится в папке с драйвером. Драйвер установится.

Драйвер лежит здесь.
_nunahren.ru




Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных

Вы вошли на форум как ГОСТЬ. Просим вас войти или зарегистрироваться! Для того, что бы вам был доступен весь функционал форума.