Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: И вновь LPT...
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Интерфейсы
Wolfsoul
Возможно этот вопрос и не совсем по назначению, но поскольку предполагается использование ПЛИС, то все же задам.

Исходные данные:
Имеется ПЛИС со встроенной схемой, которая предполагает программирование ее работы с использованием LPT порта. Рекомендуемый LPT порт - с однонаправленной шиной данных, т.е. желательно использовать шину данных только для записи в ПЛИС. (можно использовапь и ECP вариант)

Суть проблемы: не могу найти описания того, как считать значение на служебных входах порта и установить информацию на служебных выходах. Интересуют языки C, C++ или Pascal.

Если кто-нибудь даст ссылки на подобную информацию, то буду очень благодарен. Сразу хочу сказать, что проблем с работой при записи на шину данных нет. Вопрос именно об управляющих сигналах.

Заранее благодарен.
SM
Цитата(Wolfsoul @ Mar 6 2006, 00:23) *
Если кто-нибудь даст ссылки на подобную информацию, то буду очень благодарен. Сразу хочу сказать, что проблем с работой при записи на шину данных нет. Вопрос именно об управляющих сигналах.


Просто писать в другой порт. Не в тот, что оканчивается на 8 (например 378), а в 37A (base+2). Там все эти сигналы и живут. Наиболее грамотно доступ для Win 2000/XP реализовать при помощи написания класс-драйвера, об этом есть в DDK. Там-же в ддк описано, какими ф-циями правильно писать-читать прорты/регистры. Если лениво - можно воспользоваться левыми DLL'ками, которые открывают прямой доступ к портам в юзер-моде при помощи недокументированных ф-ций винды. Например DlPortIo. Правда они тоже свой хитрый драйверок цепляют.

там раскладка бит регистров на пины...
http://www.rs232.ru/docs/lpt/doc007.html
DSIoffe
Цитата
там раскладка бит регистров на пины...

Гы, так это у меня взято. И положено честно, со ссылкой, только старой. Приятно осознавать себя классиком. Только там не всё, только основное. Вот здесь остальное:
http://www.dsioffe.narod.ru/stuff/stuff.htm#parport
darbin
Может еще такая простенькая книжечка пригодится:
Сопряжение компьютеров с внешними устройствами
SpyBot
Ещё желательно указать операционную систему, тогда проще будет подсказать.
Wolfsoul
Всем спасибо за отклик. Прошу простить, что не поблагодарил сразу: не было доступа в инет.

А отвечая на встречный вопрос: какая ОС? Операционная система семейства Win2k т.е. Windows 2000 и WinXP.

С уважением, Wolfsoul.
SpyBot
Тогда если вы хотите "вручную" дергать выводами, вам понадобится DLPortIO
http://www.ln.com.ua/~real/avreal/dlportio.zip
Либо надо, чтобы ваше устройство поддерживало необходимый протокол обмена. Тогда просто можно работать с портом как с файлом и в этом случае при режиме EPP, ECP можно рассчитывать на макситмальные скорости.
affon
Цитата(Wolfsoul @ Mar 6 2006, 01:23) *
Возможно этот вопрос и не совсем по назначению, но поскольку предполагается использование ПЛИС, то все же задам.

Исходные данные:
Имеется ПЛИС со встроенной схемой, которая предполагает программирование ее работы с использованием LPT порта. Рекомендуемый LPT порт - с однонаправленной шиной данных, т.е. желательно использовать шину данных только для записи в ПЛИС. (можно использовапь и ECP вариант)

Суть проблемы: не могу найти описания того, как считать значение на служебных входах порта и установить информацию на служебных выходах. Интересуют языки C, C++ или Pascal.

Если кто-нибудь даст ссылки на подобную информацию, то буду очень благодарен. Сразу хочу сказать, что проблем с работой при записи на шину данных нет. Вопрос именно об управляющих сигналах.

Заранее благодарен.

Используй ассемблерную вставку, как cделано вот здесь http://affon.narod.ru/LPT.html
Я бы использовал EPP порт, он очень прост в работе. Там достаточно один бит установить и порт готов к работе.
iosifk
Цитата(Wolfsoul @ Mar 6 2006, 00:23) *
Исходные данные:
Имеется ПЛИС со встроенной схемой, которая предполагает программирование ее работы с использованием LPT порта. Рекомендуемый LPT порт - с однонаправленной шиной данных, т.е. желательно использовать шину данных только для записи в ПЛИС. (можно использовапь и ECP вариант)


И учтите, что ПЛИС гораздо быстрее порта, поэтому желательно принять меры для того, чтобы ПЛИС не жрала дребезг. Я делал проверку по трем полседовательным отсчетам на стробах.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.