-
15.11.2004, 10:20 #1
- Регистрация
- 18.10.2004
- Адрес
- Красноярск
- Сообщений
- 43
- Поблагодарили
- 0
- Поблагодарил
- 0
Инициализация Epp
Я как-то спаял приблуду, которая работала с параллельным портом в EPP режиме. Пока дело происходило под досом все было ок - там я мог непосредственно управлять состоянием порта. А когда я захотел перенести это дело под винды я столкнулся проблемой.
Под виндами можно
а) написать свой драйвер для параллельного порта (ака драйвер принтера), который может делать все что необходимо
б) пользоваться уже готовым виндовым драйвером, который в том числе поддерживает EPP режим.
Естественно я выбрал второе, но переключении режима (SPP->EPP) винда видимо как-то пытается согласовать EPP режим с устройством. Это у нее не получается и режим остается EPP.
Проблема: я не знаю последовательность сигналов, которые выдает порт под управлением винды при переключении в EPP режим. И нигде этой последовательности найти не могу.
Подскажите, если кто знает, пожалуйста!!!
-
15.11.2004, 16:37 #2
- Регистрация
- 09.07.2003
- Адрес
- Москва
- Возраст
- 55
- Сообщений
- 375
- Поблагодарили
- 13
- Поблагодарил
- 2
М. Гук "Аппаратные средства IBM PC". Энциклопедия. - СПб.: "Питер", 2000, с. 654-656.
-
15.11.2004, 19:50 #3
- Регистрация
- 11.10.2004
- Адрес
- Барнаул
- Возраст
- 41
- Сообщений
- 29
- Поблагодарили
- 0
- Поблагодарил
- 0
Вы в Biose чего поставили какой порт??? Посмотрите и поставьте то что надо. скорее всего это там проблема кроется а там и др. будет
-
15.11.2004, 22:56 #4
- Регистрация
- 09.08.2003
- Адрес
- Дюссельдорф, Германия
- Возраст
- 71
- Сообщений
- 1,252
- Поблагодарили
- 169
- Поблагодарил
- 52
RA9YKZ
Точно! Проблемка была со сканером, устанавливаемым на принтер порт - он требовал определённой установки параллельного порта в BIOSe, при двух других отказывался работать, а там только три возможности было - SPP, EPP, ECP. Windows перенимает эти установки для управления принтером. При изменении в BIOSe и новом старте Windows переустанавливает драйвер, либо меняет его установки, что выражается в сообщении типа "Найден новый дивайс (или принтер)..."
Кроме того, можно изменить порт, a по умолчанию port 378, interrupt 7
-
16.11.2004, 08:14 #5
- Регистрация
- 18.10.2004
- Адрес
- Красноярск
- Сообщений
- 43
- Поблагодарили
- 0
- Поблагодарил
- 0
Не, тут дело в том, что я на своем девайсе никак не контролирую сигнал nWAIT (ACK). Он просто заземлен (если его оставить висеть в воздухе, винда говорит что к порту вообще ничего не подключено).
Но сегодня я кажется придумал решение - надо на каждый сигнал (nDATASTB, nADDRSTB, nWRITE) навесить детектор фронта/среза, который будет генерить, скажем, миллисекундные импульсы при любом изменении этих сигналов. Ну а nWAIT подключить к выходу детектора.
Сегодня вечером спаяю такое. О результатах доложу
А в биосе я ничего поставить не могу, потому что порт... как бы это сказать... "внешний" ? Вобщем не встроенный в матплату
-
17.11.2004, 12:14 #6
- Регистрация
- 11.10.2004
- Адрес
- Барнаул
- Возраст
- 41
- Сообщений
- 29
- Поблагодарили
- 0
- Поблагодарил
- 0
А в биосе я ничего поставить не могу, потому что порт... как бы это сказать... "внешний" ? Вобщем не встроенный в матплату
Это лажа какаято если к компу чтото потключается значит что то за это отвечает..... а отвечать должен bios т.к. без разници паралельный порт или последовательный, да плевать хоть в psi agp или isa подключен всеровно и в biose и в винде должны указоваться тип ресурса и так называемый его i/o
И всетаки чтоза приблуда я так понял что самопаяная????
-
18.11.2004, 08:02 #7
- Регистрация
- 18.10.2004
- Адрес
- Красноярск
- Сообщений
- 43
- Поблагодарили
- 0
- Поблагодарил
- 0
Это лажа какаято если к компу чтото потключается значит что то за это отвечает.....
а отвечать должен bios т.к. без разници паралельный порт или последовательный, да плевать хоть в psi agp или isa подключен всеровно и в biose и в винде должны указоваться тип ресурса и так называемый его i/o
Карточка у меня типа такой:
http://www.iocards.ru/index.php?sect...fe7ff4cb8f51e2
Приблуда самопаянная. Фактически пара микрух PPI (580ВВ55А, если не ошибаюсь) подключенных к параллельному порту. Схемку которуя я придумал (про которую сказал что вечером спаяю) я все никак не могу спаять времени не хватает катастрофически.Последний раз редактировалось Констaнтин; 18.11.2004 в 08:51.
-
18.11.2004, 09:01 #8
- Регистрация
- 18.10.2004
- Адрес
- Красноярск
- Сообщений
- 43
- Поблагодарили
- 0
- Поблагодарил
- 0
Точнее вот такая карта:
http://arkom.tuchola.pl/popup_image.php/pID/362?osCsid=b288227f62e41a8659f773b48a643e8c
-
19.11.2004, 22:50 #9
- Регистрация
- 04.08.2003
- Адрес
- Ростов-н/Д
- Сообщений
- 83
- Поблагодарили
- 0
- Поблагодарил
- 0
Вот здесь шли горячие дебаты по теме:
http://borland.xportal.ru/forum/viewtopic.php?t=7699
Не совсем переключение режимов, но около того. Лично я сам там ни фига не понял.
Так же есть некое описание, уже теплее:
http://junglewin.narod.ru/lpt.html
Если можно, пара нескромных вопрос по Вашей махарайке: обмен данными у вас в обоих направлениях? А используется ли режим ДМА?
Мне самому необходимо организовать двунапрвленный и-фейс между ПК и микросхемой программ. логики. Альтернатив ЛПТ-порту по прежнему нету. Всякие УСБ, фары-вары не в счёт в виду геморности аппаратной раелизации, остается только проверенный временем центроникс.
Прогресс, млин...
-
20.11.2004, 07:30 #10
- Регистрация
- 18.10.2004
- Адрес
- Красноярск
- Сообщений
- 43
- Поблагодарили
- 0
- Поблагодарил
- 0
http://junglewin.narod.ru/lpt.html - собственно эту статью я и использовал при написании софта.
Если можно, пара нескромных вопрос по Вашей махарайке: обмен данными у вас в обоих направлениях? А используется ли режим ДМА?
Плата была сделана под ISA шину, но на моем новом компе ее нету. А опыт подключения PPI к параллельному порту был и он был успешным - я собирал этакий программатор и даже зашивал в микруху свой собственный биос :-) Так что теперь надо сделать так чтобы микрухи PPI можно было программировать через параллельный порт под виндами и сразу же настанет бетона футура (светлое будущее). Потому как параллельные порты под виндами все программируются одинаково - будь это встроенный на маму порт, или на отдельном контроллере как у меня или вообще мост USB-LPT.
P.S. Уже злость на самого себя появляется. Хочу спаять схемку, а некогда!!!! =)
-
20.11.2004, 12:50 #11
- Регистрация
- 04.08.2003
- Адрес
- Ростов-н/Д
- Сообщений
- 83
- Поблагодарили
- 0
- Поблагодарил
- 0
А опыт подключения PPI к параллельному порту был и он был успешным
-
20.11.2004, 15:57 #12
- Регистрация
- 18.10.2004
- Адрес
- Красноярск
- Сообщений
- 43
- Поблагодарили
- 0
- Поблагодарил
- 0
Опыт был успешным под досом, совершенно верно.
А под виндой так грубо не стоит поступать - данные напрямую в порт писать Обращение к портам напрямую делается без проблем - для этого имеются соответсвующие драйвера.
Но я предпочитаю работу с портами перепоручить виндам. Потому что параллельные порты бывают, как я уже сказал, разные. Бывают порты встроенные на маму и их программирование широко известно. А бывают порты в виде отдельных плат PCI или в виде USB устройств. Вот как их программировать я не знаю (да и не хочу знать - это техника).
Поэтому я хочу все сделать правильно - чтобя для работы с моей приблудой мне не надо было ставить какие-то дополнительные драйвера или что-то еще.
-
20.11.2004, 17:29 #13
- Регистрация
- 04.08.2003
- Адрес
- Ростов-н/Д
- Сообщений
- 83
- Поблагодарили
- 0
- Поблагодарил
- 0
Аааа..... Тогда сдаюсь.
-
22.11.2004, 06:38 #14
- Регистрация
- 18.10.2004
- Адрес
- Красноярск
- Сообщений
- 43
- Поблагодарили
- 0
- Поблагодарил
- 0
Я балда =) У меня все время была дока, где описываются переговоры IEEE-1284 (см. например http://rtfm.vn.ua/hw/man/ieee_1284/ieee_1284.htm), там все есть. А со схемкой, естественно, ничего не получилось. Теперь вопрос в том, как EPP Negotiation реализовать в железе.
Идея уже есть - надо взять RSD-триггер (например ТТЛ ТМ2), вход сброса припаять к инвертированному сигналу nInit, а по фронту HostClk (в обозначениях IEEE-1284 Neg.) переносить седьмой бит - запрос режима EPP, в Select - подтверждение запрошенного режима. Проблема в том, как вычислить что порт находится в режиме переговоров и перепад HostClk означает запрос режима.
-
22.11.2004, 19:35 #15
- Регистрация
- 04.08.2003
- Адрес
- Ростов-н/Д
- Сообщений
- 83
- Поблагодарили
- 0
- Поблагодарил
- 0
Не пробовали для таких закрученных вещей использовать программируемую логику? Например, Xilinx...
|
Социальные закладки