Subversion Repositories pentevo

Rev

Rev 370 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
370 chrv 1
                       AY-PRN подключение принтера.
2
                          (www.NedoPC.com 2011)
3
 
4
Простое подключение принтера к интерфейсным портам AY38910 или YM2149.
5
Таким же образом можно подключить принтер к портам TurboSoundFM.
6
NedoPC рекомендует такое подключение принтера к ZXEvo rev.B
7
 
8
                         Принципиальная схема.
9
 
10
             ┌──┬───┬──┐                    Замечания:
11
 AYA0────────┤D0│REG│Q0├────────DATA0       * ИР22 используется исключительно в режиме буфера
12
 AYA1────────┤D1│   │Q1├────────DATA1       (от io порта А AY38910 в интерфейс принтера).
13
 AYA2────────┤D2│   │Q2├────────DATA2       Поэтому можно заменить на любой, имеющийся в
14
 AYA3────────┤D3│   │Q3├────────DATA3       наличии буферный элемент (АП5, АП6).
15
 AYA4────────┤D4│   │Q4├────────DATA4
16
 AYA5────────┤D5│   │Q5├────────DATA5
17
 AYA6────────┤D6│   │Q6├────────DATA6
18
 AYA7────────┤D7│   │Q7├────────DATA7
19
             ├──┤   ├──┤
20
          ┌──┤LE│   │OEo──┐
21
    +5v<──0──┤V │D01│G ├──0
22
             └──┴───┴──┘  │
23
                ИР22     ─┴─
24
                (373)
25
 
26
         ┌──[10K]──>+5v                     Замечания:
27
         │  ┌───┐  ┌───┐                    * Для работы большинства програм с принтером
28
 AYB0────0──┤1  O──┤1  O────────STROBE      достаточно использовать только управляющие
29
            └───┘  └───┘                    сигналы STROBE и BUSY.
30
                 ┌───┐                      * ЛН1 можно заменить на любые инвертирующие
31
 AYB5────[680]───0  1├──────────PAPER END   элементы (ЛА3,ЛЕ1).
32
                 └───┘
33
                 ┌───┐
34
 AYB6────[680]───0  1├──────────ERROR
35
                 └───┘
36
                 ┌───┐
37
 AYB7────[680]───0  1├──────────BUSY
38
                 └───┘
39
                 ЛН1
40
                 (04)
41
 
42
                             Принцип работы.
43
 
44
* Через io порт A происходит передача текущего байта данных принтеру.
45
* Через io порт B происходит установка строба (активный низкий уровень) для принтера
46
и анализ состояния принтера.
47
* Сигнал BUSY имеет состояние эквивалентное логической 1, когда принтер занят.
48
* Сигнал ERROR имеет состояние эквиалентное логическому 0, когда ошибка со стороны принтера.
49
* Сигнал PAPER END имеет состояние эквивалентное логической 1, когда бумага кончиласьу принтера.
50
 
51
                      Минимальный алгоритм работы.
52
 
53
1. Инициализация.
371 chrv 54
1.1. В случае TS или TSFM, установить текущим чип к портам которого подключен принтер.
55
1.2. Записать в io порт B значение 0.
56
1.3. Установить io порта A на передачу, io порт B на прием
370 chrv 57
(с помощью внутреннего регистра 7 у AY).
58
2. Вывод символа.
59
2.1. Анализируем состояние сигнала BUSY (проверяем значение 7бита io порта B,
60
если бит установлен в 1 значит идем дальше).
61
2.2. Записываем код символа в io порт A.
62
2.3. Устанавливаем io порты на передачу (при этом уровень на сигнале STROBE
63
установится в логический 0).
64
2.4. Выдерживаем необходимый принтеру таймаут строба.
65
2.5. Устанавливаем io порт B на прием.
66
3. Переходим к пункту 2 для вывода на печать следующего символа.
67
 
68