Страница 1 из 1
Приём компьютером сигнала через LPT - аппаратная часть.
Добавлено: Вс авг 29, 2010 19:00:47
KSergey
Имеется большое количество материала по управлению разнообразными устройствами по LPT. Хочется осуществить аналогичное по простоте схеме, изображённой на приложенном рисунке, только с обратным эффектом - при нажатии на кнопку, например, на определённую ножку LPT-порта поступить логическая "1".
Какой должен использоваться принцип и какова может быть его простейшая техническая реализация в "железе"?
Re: Приём компьютером сигнала через LPT - аппаратная часть.
Добавлено: Вс авг 29, 2010 19:15:25
VT1
Аппаратная реализация это кнопка на выводе LPT порта.
Нажимайте, а дальше програмно в компьютере это обрабатывайте.
Само собой опять же програмно скофигурируйте ваш порт в соответствии с вашими задачами.Он же после загрузки скофигурирован у вас как порт печати. Пойдет такая конфигурация, то пользуйтесь просто ей.
Re: Приём компьютером сигнала через LPT - аппаратная часть.
Добавлено: Пн авг 30, 2010 08:14:05
asteroid7
Схемотехнично LPT шина данных подтянута к +5V через 1,2 кОм (должна быть подтянута по спецификации стандарта).
- 1.gif
- (7.3 КБ) 886 скачиваний
Подключать можно на любой порт D0...D7. При чтении "1" не нажата и "0" кнопка нажата.
Re: Приём компьютером сигнала через LPT - аппаратная часть.
Добавлено: Пн авг 30, 2010 23:02:22
KSergey
То есть фактически изменение состояния осуществляется за счёт замыкания/размыкания данного вывода с землёй? Наподобие
http://azbukavb.narod.ru/teorie/LPT.html - 3-я схема. Это ясно, а в чём суть схем, что идут там дальше - с резистором? И на
http://cxem.net/comp/comp88.php - просто подача +5 вольт от другого источника что-ли?
Re: Приём компьютером сигнала через LPT - аппаратная часть.
Добавлено: Сб окт 02, 2010 19:53:09
Евгений В
Re: Приём компьютером сигнала через LPT - аппаратная часть.
Добавлено: Чт апр 28, 2011 17:35:03
v_mil
Можно для ввода использовать линии статуса по той же схеме, предложенной asteroid7
http://radiokot.ru/forum/download/file.php?id=41841. Или просто замыкать их кнопкой на землю, желательно через защитный резистор.
Для проверки читаем значение из аппаратного порта <Базовый адрес>+1 (только чтение). У порта есть один инвертированный статусный вход, который возвращает нуль, когда кнопка отпущена и на входе логическая 1 (точно как Вы просили). Это - /Busy (ножка 11 на разъеме DB25F на компьютере) Соответствует биту 7. Есть еще 4 неинвертированных входа, возвращающих биты 3-6, соответственно, Fault(ножка 15), Select(13), PaperEnd(12), Ack(10). Возвращают 1 когда на линии единица (кнопка отпущена). Биты 0-2 не используются (по идее 0, но могут быть и 1). Почему-то в одной статье нашел, что линия 10 тоже инвертирована, но у меня на машине это не так. Проверьте...
Преимущество

использования статусных линий для ввода: все восемь линий данных к Вашим услугам и их можно использовать для управления устройствами.
Недостаток

- драйвер ОС может перехватить изменение состояния статусных линий и начать переключать значения линий управления (1, 14, 16, 17), а также, линии данных. В таком случае, если нет LPT-принтеров, стоит отключить драйвер (в Windows, например, через диспетчер устройств) и проверить реакцию.
Re: Приём компьютером сигнала через LPT - аппаратная часть.
Добавлено: Вс май 01, 2011 07:03:10
coredumped
asteroid7 писал(а):Подключать можно на любой порт D0...D7. При чтении "1" не нажата и "0" кнопка нажата.
Только это будет работать в Bi-directional портах, которые есть не на всех мамках, в остальных D0..D7-только выходы. Ввод гарантировано, на всех мамах, можно получить только по линиям статуса. Их всего 5 - ack, busy, paper out, error, select.
Re: Приём компьютером сигнала через LPT - аппаратная часть.
Добавлено: Вс май 01, 2011 18:32:56
asteroid7
coredumped писал(а):Только это будет работать в Bi-directional портах...
Согласен.
Чтобы считывать через D0-D7 в биосе указать LPT порту, что он не
SPP, а
EPP.
ИМХО однонаправленные LPT порты умерли при частотах процессора 166-200 MHz.