Страница 1 из 1

PCI LPT контроллер и EPP

Добавлено: Ср янв 23, 2013 19:38:58
CircuitBreaker
Доброго времени суток, уважаемые. Прошу меня извинить, если затрагиваю несвежую тему, но поиск как-то не помог.
Имеется компьютер без встроенного LPT-порта, PCI-платка ST-Lab I-210 - контроллер LPT на 2 выхода на микросхеме Moschip MCS9815CV-BA (даташит прикрепил ниже, если кого заинтересует), а также устройство, с которым нужно общаться по протоколу EPP. Судя по документу, расположение регистров у микросхемы контроллера стандартное.
Теперь, собственно, о проблеме: инициализацию провожу стандартным образом: в ECR устанавливается режим EPP (пишу "100" в старшие 3 бита), на nINIT подаётся кратковременный "0", после чего в регистр адреса EPP записывается адрес. Контроллер делает вид, что байт пошёл, EPP Timeout при этом не взводится - в общем, всё как будто бы идёт по плану, ничто не предвещает. При попытке же прочитать данные начинается интересное: если устройство не подключено, я честно получаю от контроллера Timeout = "1" в регистре состояния. Если же устройство есть, я получаю в регистр данных то, что выставил на шине адреса, причём стабильно. Поначалу грешил на кривую прослойку между пользовательским и системным уровнем, но даже в реальном режиме под DOS симптоматика та же. Само устройство на других машинах с "бортовым" LPT ведёт себя адекватно. Адреса пространства ввода/вывода используются правильные.
Кто-нибудь может поделиться соображениями на тему того, что и где пошло не так?
MCS9815CV.pdf
Даташит
(409.82 КБ) 458 скачиваний

Re: PCI LPT контроллер и EPP

Добавлено: Чт янв 24, 2013 21:09:03
BOB51
Так та платка адресуется как расширенное пространитво УВВ...
У меня, к примеру,
netmos pci ecp parallel port (LPT3)
Диапазон ввода-вывода (I/O) A000-A007
Диапазон ввода-вывода (I/O) A400-A407
а эти (расширенные) адреса не всякая программа берет... 8)