Итак, как пишут в журналах, "не спешите выбрасывать свой старый"... в нашем случае Robotron :)
Предлагаемое решение заключается в переделке адаптера ИРПР принтера Robotron для подключения к параллельному порту Centronics компьютера IBM PC. Никакой программной доработки firm ware принтера не требуется. Адаптер выполняет лишь преобразование _протокола_ обмена, а такой недостаток принтера Robotron, как 7-битная таблица символов, остается, естесственно, на "совести" принтера и лечится другими методами. Например, в Windows, при установленном флажке "Print text as Graphics" (печатать текст как графику) все работает правильно, хотя и медленно. Под DOS-ом же русские буковки вряд ли будут выводиться корректно. Для исправления этой "горбатости" копать нужно гораздо глубже (драйвер под DOS или изменение firmware) - дешевле imho приобрести новый принтер :)
Возможно, существуют другие разновидности принтеров Robo tron, имеющие адаптеры, отличающиеся от того, который побывал у меня в руках. К сожалению, я не запомнил точное наименование прин тера, адаптер от которого подвергался переделке :(
В любом случае, перед тем как потрошить адаптер, убедитесь в следующем:
- на адаптере должно быть написано "ИРПР";
- внутри адаптера имеется микросхема Z80PIO или ее аналог UB855;
- сам адаптер представляет собой пластмассовую коробку из двух половинок, соединяемых посредством защелок. К верх ней половинке приклепана плоская железная пружина (соединенная внутри проводником с общим проводом) для фиксации адаптера в месте установки.
- адаптер имеет два трехрядных разъема и выполнен в виде сменного блока, втыкаемого в принтер сзади. Далее сопоставьте разводку выводов Z80PIO на схеме переделки и в имеющемся адаптере (если Вы найдете схему адаптера, задача значительно упростится) Все, что касается соединения Z80PIO с XB02 (разъем со стороны принтера), подключение резистора 27k между вы водами A5 и A1(+5V) разъема XB02, а также подключение (или непод ключение) выводов Z80PIO 18(ARDY), 27(B0), 21(BRDY), 15(ASTB) и 17 (BSTB) при переделке адаптера не изменяется. Убедитесь, что все эти цепи изначально присутствуют в адаптере.
Переделка заключается в следующем: Из адаптера выпаиваются все элементы, кроме Z80PIO и резис тора 27k между контактами A5 и A1(+5V) разъема XB02. Можно также оставить конденсаторы развязки по питанию. Далее на освободившееся пространство платы наклеиваются (вверх ногами) микросхемы (не за- будьте отметить первый вывод :) и выполняется проводный монтаж в соответствии с прилагаемой схемой переделки. Придется также изго- товить специальный кабель для подключения принтера. Для этого про- ще всего взять стандартный кабель Centronics (которым подключаются обычные принтеры) и вместо стандартного "принтерного" разъема под- паять ответную часть разъема, установленного на адаптере. Соответ ствие контактов разъема DB25 (оставшегося на кабеле) и разъема адаптера XB01 приведено на схеме. Номера контактов "земли" (GND) на схеме отсутствуют, но "земля" на разъеме адаптера видна сразу - она занимает почти полный ряд контактов разъема.
Резисторы R1...R8 в моем варианте представляли собой резис торную сборку "SIP 8 x 10k", припаянную непосредственно к выводам регистра U2.
Коротко о схеме.
Наименования и функции сигналов на выводах порта B Z80PIO при переделке не изменяются:
/SC (B1) - 1 = входные данные порта A достоверны (вход);
/S0 (B2) - 1 = принтер выбран внешним сигналом (вход);
/S2 (B3) - ? похоже на вход инициализации (вход);
(вроде бы работал не так, как следует, а долго разбираться было влом... )
/A4 (B4) - 1 = конец бумаги в принтере (выход);
/A0 (B5) - 1 = принтер выбран и готов к работе (выход);
/AC (B6) - 1 = готов к приему очередного байта (выход);
(импульс с уровнем лог.0 - подтверждение приема байта)
/A2 (B7) - 1 = ошибка печати (выход).
Байт, выставленный на шине данных D0...D7 по сигналу /STROBE защелкивается в регистр U2. Одновременно устанавливается триггер D5.1. Сигнал /SC становится равным лог.1 (данные достовер- ны), а сигнал BUSY = 1 (принтер занят). После того, как принтер считает байт с порта A Z80PIO, он устанавливает сигнал /AC в 0. По этому сигналу регистр U5.1 сбрасывается, BUSY вновь становится 0 и с помощью элементов C4, U3.5, U5.2, U6.3, R17 формируется отрица- тельный импульс подтверждения приема байта (/ACK) для интерфейса Centronics.
Автор не несет никакой ответственности за любые последствия использования данного материала. Отзывы, замечания, вопросы принимаю мылом по адресу:
FidoNet: 2:50/381.21 Victor Chernov