Centronix (LPT)
Moderator: Shaos
-
- God
- Posts: 1078
- Joined: 03 Feb 2003 13:53
Centronix (LPT)
Как собственно сабж на спринтере прогится?
-
- Retired
- Posts: 1474
- Joined: 03 Aug 2003 22:37
- Location: Moscow
-
- Doomed
- Posts: 413
- Joined: 11 Dec 2003 14:34
LPT
Не знаю, к месту это или нет, но на всякий случай брошу одну инфу от Ивана, завалялась в архивеShiru Otaku wrote: С линком Спринтер-PC пока никак. Через LPT не получается. Без доработки порта в Спринтере он не может читать данные с PC (D0-D7), с ней (подтягивающие резисторы, я имею в виду) читается какая-то фигня (нестабильно). В любом случае, это уже плохо, т.к. у меня в основе - 'никаких доработок и нестандартных проводов' (купил, воткнул, работай). Сигнальными линиями LPT со Спринтера (чтобы заюзать их как входные) управлять напрямую нельзя, они недоступны. Сейчас думаю над вариантом линка через последовательный порт (через нуль-модемный шнурок), но шнурка нужной длины пока не купил (ты знаешь, у меня ТВ в другой комнате, нужен трёхметровый провод, а их постоянно нет в продаже).

Code: Select all
Краткая информация по LPT порту компьютера Sprinter
---------------------------------------------------
В дополнение к этой информации необходимо иметь
техническое описание на Z80SIO и Z80PIO фирмы ZILOG
---------------------------------------------------
Порты Z84C15:
SIO1_DATA - 18h
SIO1_CONTROL - 19h
SIO2_DATA - 1Ah
SIO2_CONTROL - 1Bh
PIO1_DATA - 1Ch
PIO1_CONTROL - 1Dh
PIO2_DATA - 1Eh
PIO2_CONTROL - 1Fh
---------------------------------------------------
LPT signals Z84C15 signals
DATA <-> PIO1_D[7..0] подключено через DATA_BUFER
STROBE <- PIO1_RDY - подключено через инвертор
INIT <- PIO2_RDY - подключено через инвертор
AUTOLF <- PIO2_D6 - подключено через инвертор
SLCT <- PIO2_D7 - подключено через инвертор
BUSY -> SIO2_CTS - подключено через инвертор
BUSY -> PIO1_STB - напрямую на вход Z84C15 **
ACK -> SIO2_DCD - подключено через инвертор
PE -> SIO1_CTS - подключено через инвертор
SELECT -> SIO2_DCD - подключено через инвертор
ERROR -> PIO2_STB - напрямую на вход Z84C15
SIO1_RTS -> CS_DATA_BUFER - включение буфера (нулем)
SIO1_DTR -> DIR_DATA_BUFER - направление передачи
данных буфером - 1 - вывод, 0 - ввод
** два места подключения BUSY - это не ошибка
Подача сигнала STROBE осуществляется автоматически при записи
данных в порт PIO1 в режиме вывода данных.
Аналогично на принтер подается сигнал INIT (записью данных в PIO2
в режиме вывода)
Сигнал BUSY принимается автоматически и следить за окончанием цикла
передачи данных надо по состоянию сигнала SIO2_CTS
Z84C15 был рассчитан на установку в принтерах, поэтому у него
сигналы RDY и STB имеют обратные назначения относительно STROBE и BUSY
LPT порта.
Сигнал ERROR напрямую принят быть не может, его можно отфиксировать
по приходу прерывания от параллельного порта (в режиме ввода/вывода
данных на PIO1 - Mode 2). Появление прерывания и будет означать,
что возникла ошибка.
Сигналы AUTOLF, SLCT подаются независимо и обычно просто
устанавливаются в одно состояние.
BUSY, ACK, PE и SELECT могут быть приняты независимо, но специфика
портов Z84C15 такова, что появление этих сигналов вызывает установку
внутренних тригеров, которые не сбрасываются после исчезновения сигналов,
и их надо сбрасывать программно. (При простой работе с принтером
достаточно обрабатывать только сигнал BUSY.)
Режим порта PIO2 - ВСЕГДА побитный ввод/вывод (Mode 3).
При работе с сигналами AUTOLF и SLCT следует помнить, что шесть младших бит
порта LPT2 подключены к ISA. (В простейшем случае, младшие шесть бит порта
LPT2 надо инициализировать как входные.)
Режим порта PIO1 может устанавливаться произвольно. Он полностью работает
на принтер. В DOS PIO1 инициализируется только на выдачу данных (Mode 0).
Vasil Ivanov
vasil-i@yandex.ru
vasil-i@yandex.ru
-
- Retired
- Posts: 490
- Joined: 16 Mar 2002 17:00