OXPCIe952 (заказан через eBay из того же китая) – но стоит отметить что в отличии от первого данный чип разработан американской компанией. Драйвер представляет из себя не более чем inf-файл – чип полностью и аппаратно эмулирует LPT-порт и работает со стандартным драйвером parport.sys, правда регистры также находятся по нестандартным адресам.
Отличия в значках на скриншотах обусловлены применением разных наборов иконок, а не аппаратными особенностями.
По результатам тестирования (проводимых специально написанной для этого на коленке программой – об этом ниже) осталось положительное впечатление об обеих карточках (правда, как я уже говорил у первой с совместимостью туговато – драйвер кривоват). Единственно, что нужно учитывать - нестандартные адреса регистров порта, а также то, что переключение режимов (SPP, PS2, EPP, ECP) происходит программно! По умолчанию выставляется режим совместимости – SPP (т.е. однонаправленный). Другими словами для своих разработок проблем при использовании подобных карточек (с архитектурной точки зрения) практически нет, а вот использовать их со старым софтом (без исходников) может оказаться проблематично. Это все был разговор про работу в среде WinXP. Для MCS9901 формально есть драйвер не только под линукс но и под ДОС (работоспособность не проверялась). Для OXPCIe952 только под линукс. Карточки также имеют дрова для работы в среде Win x64.
Оказалось, что не существует (я не нашел) программ, позволяющих протестировать работу LPT порта, располагающегося по нестандартным адресам. Решил я тряхнуть стариной и сел кодить. Вобщем время на ее написание потратилось совсем немного – больше на косметическую отладку, прежде чем выкладывать ее в свет. Совместно с программой предполагается использовать вольтметр и резистор порядка 250 Ом (опционально удлинитель LPT порта разные распайки и крепежи – для удобства).
Картинка для программы позаимствована отсюда …
Скачать последнюю версию программы LPTester ...
Ничего глобально замысловатого тут нет – кто знает, зачем ему эта программа нужна – без труда с ней разберется.
Из исходников секрета я не делаю – скрывать там нечего, на оптимальность не претендую … главное функционал (меня он более чем устроил для тех целей, которые передо мной стояли).
И немного о нюансах. Разумеется под WinXP и более новыми нельзя работать с портами ввода/вывода напрямую – нужен драйвер, висящий на нулевом кольце ОСи (модуль ядра). Раньше я использовал для этих целей DLPortIO - хотя в народе более популярным был почему-то UsePort (который, несовместим с расширенной 16 битной адресацией карты портов), и, стало быть, не применим для карточек на PCIe-x1. Но решение нашлось достаточно быстро – inpout32 (кстати, есть и версия этого драйвера под x64), плюс в отличие от предыдущих он не требует от пользователя к.л. действий по установке его в систему.
MiGeRA. (сентябрь 2011)