Электроника МС 6313: различия между версиями

Материал из Emuverse
Нет описания правки
Нет описания правки
Строка 11: Строка 11:
* 080791/LX800/FX800 — выложил KALDYN [http://zx-pk.ru/showthread.php?p=345907#post345907], 32 КБ неполная
* 080791/LX800/FX800 — выложил KALDYN [http://zx-pk.ru/showthread.php?p=345907#post345907], 32 КБ неполная
* 010391/LX800/FX800 — выложил BYTEMAN [http://zx-pk.ru/showthread.php?p=359390#post359390], 48 КБ полная
* 010391/LX800/FX800 — выложил BYTEMAN [http://zx-pk.ru/showthread.php?p=359390#post359390], 48 КБ полная
== Сигналы ==
* ВК0Н..ВК7Н — выбор микросхемы для ввода/вывода, формируются на D4.
Управление головкой и бумагой:
* ПГ0Н..ПГ8Н (W) — 9 сигналов использования иголок печатающей головки при ударе.
* ЛЕВК/ПРК (W) — управление шаговым двигателем головки, влево/вправо.
* ВЕРХВ/НИЗВ (W) — управление шаговым двигателем бумаги, вверх/вниз.
* УЛН (R) — ??, B0 D33
* ОБРБ (R) — «обрыв бумаги», датчик конца бумаги, B1 D33.
* ОСТН (R) — ??, B2 D33
* ПСН (R) — ??, B3 D33
* ПФН (R) — ??, B4 D33
* ЧПН (R) — ??, B5 D33
* ТЕСТН (R) — ?? тестовый режим.
* ОШН (R) — ??
* ИГОТН (W) — ??, C5 D33
* ИОШН (W) — ??, C6 D33
* ИЧП (W) — ??, C7 D33
Частоты, тайминг:
* F2 — частота 2? МГц, получается из D3.
* F4 — частота 4? МГц, получается из триггера D6.4.
* ТАЙМ (W) — ??, получается на выходе C4 D5.
* ТОКН — выход OUT0 таймера D27, задаёт частоту звукового сигнала на триггере D6.2.
* СС2 — выход OUT1 таймера D27.
* СТРПГН — конец строки, получается на выходе OUT0 D30, вызывает прерывание.
* УДАРН — выход OUT1 таймера D30, вызывает прерывание.
* ШАГ — получается инверсией OUT2 таймера D30.
Параллельный интерфейс:
* ВП0..ВП7 (R) — данные с параллельного интерфейса.
* ~ERROR (W) — выход «ошибка» на параллельный интерфейс, получается из сигнала СП4 на выходе C4 D28.
* ~BUSY (W) — выход «занят» на палаллельный интерфейс, получается из выхода C1 на D28.
* ~ACKNLG — получается из сигнала СС2.
* STROBE (R) — вход с параллельного интерфейса, сигнал СП2, идёт на С2 D28.
* ~INIT (R) — может быть отключен SA3.5, сигнал INIT.
* ИПАР1 — получается на выходе C0 D28, вызывает прерывание.
* ИПАР2 — выход триггера D19.1, на входе которого ~АВАР, вызывает прерывание.
Последовательный интерфейс (D34):
* ИПОСЛ1 — выход TRDY D34, вызывает прерывание.
* ИПОСЛ2 — выход RRD D34, вызывает прерывание.
Прочее:
* AUTOFEED (R) — может быть отключен SA3.7, сигнал АП0 идёт на A0 D28.
* SELIN (R) — может быть отключен SA3.6, сигнал АП1 идёт на A1 D28.
* ~АВАР (R) — ??, вход A2 D28, сохраняется в триггере D19.1, на выходе сигнал ИПАР2, вызывающий прерывание.
* ОСТН — кнопка «ГОТ»??
* ЧПН — кнопка «КАЧ»??
* КЛАВ — логическое ИЛИ между ЧПН и ОСТН; КЛАВ1 — получается на триггере D19.2 из сигнала КЛАВ, вызывает прерывание.


== Порты ==
== Порты ==
Строка 94: Строка 140:
| 7 || ИПАР2 ||
| 7 || ИПАР2 ||
|-
|-
| 8 || КЛАВ1 ||
| 8 || КЛАВ1 || Выход триггера D19.2, на входе которого сигнал КЛАВ
|}
|}

Версия от 23:51, 15 июля 2018

Этот документ создан для Emuverse и распространяется на условиях лицензии CC-BY-SA-3.0.

«Электроника МС 6313» — матричный принтер.

  • ЦП: КР580ВМ80А, 2? МГц
  • ПЗУ: 48К — нижние адреса
  • ОЗУ: 16К — верхние адреса

Версии прошивки ПЗУ

Известно несколько версий прошивок ПЗУ. Версия прошивки выводится при само-тестировании, есть в самой прошивке, почти в самом начале файла.

  • 081289/МС6307 — упоминается в Руководстве по эксплуатации
  • 080791/LX800/FX800 — выложил KALDYN [1], 32 КБ неполная
  • 010391/LX800/FX800 — выложил BYTEMAN [2], 48 КБ полная

Сигналы

  • ВК0Н..ВК7Н — выбор микросхемы для ввода/вывода, формируются на D4.

Управление головкой и бумагой:

  • ПГ0Н..ПГ8Н (W) — 9 сигналов использования иголок печатающей головки при ударе.
  • ЛЕВК/ПРК (W) — управление шаговым двигателем головки, влево/вправо.
  • ВЕРХВ/НИЗВ (W) — управление шаговым двигателем бумаги, вверх/вниз.
  • УЛН (R) — ??, B0 D33
  • ОБРБ (R) — «обрыв бумаги», датчик конца бумаги, B1 D33.
  • ОСТН (R) — ??, B2 D33
  • ПСН (R) — ??, B3 D33
  • ПФН (R) — ??, B4 D33
  • ЧПН (R) — ??, B5 D33
  • ТЕСТН (R) — ?? тестовый режим.
  • ОШН (R) — ??
  • ИГОТН (W) — ??, C5 D33
  • ИОШН (W) — ??, C6 D33
  • ИЧП (W) — ??, C7 D33

Частоты, тайминг:

  • F2 — частота 2? МГц, получается из D3.
  • F4 — частота 4? МГц, получается из триггера D6.4.
  • ТАЙМ (W) — ??, получается на выходе C4 D5.
  • ТОКН — выход OUT0 таймера D27, задаёт частоту звукового сигнала на триггере D6.2.
  • СС2 — выход OUT1 таймера D27.
  • СТРПГН — конец строки, получается на выходе OUT0 D30, вызывает прерывание.
  • УДАРН — выход OUT1 таймера D30, вызывает прерывание.
  • ШАГ — получается инверсией OUT2 таймера D30.

Параллельный интерфейс:

  • ВП0..ВП7 (R) — данные с параллельного интерфейса.
  • ~ERROR (W) — выход «ошибка» на параллельный интерфейс, получается из сигнала СП4 на выходе C4 D28.
  • ~BUSY (W) — выход «занят» на палаллельный интерфейс, получается из выхода C1 на D28.
  • ~ACKNLG — получается из сигнала СС2.
  • STROBE (R) — вход с параллельного интерфейса, сигнал СП2, идёт на С2 D28.
  • ~INIT (R) — может быть отключен SA3.5, сигнал INIT.
  • ИПАР1 — получается на выходе C0 D28, вызывает прерывание.
  • ИПАР2 — выход триггера D19.1, на входе которого ~АВАР, вызывает прерывание.

Последовательный интерфейс (D34):

  • ИПОСЛ1 — выход TRDY D34, вызывает прерывание.
  • ИПОСЛ2 — выход RRD D34, вызывает прерывание.

Прочее:

  • AUTOFEED (R) — может быть отключен SA3.7, сигнал АП0 идёт на A0 D28.
  • SELIN (R) — может быть отключен SA3.6, сигнал АП1 идёт на A1 D28.
  • ~АВАР (R) — ??, вход A2 D28, сохраняется в триггере D19.1, на выходе сигнал ИПАР2, вызывающий прерывание.
  • ОСТН — кнопка «ГОТ»??
  • ЧПН — кнопка «КАЧ»??
  • КЛАВ — логическое ИЛИ между ЧПН и ОСТН; КЛАВ1 — получается на триггере D19.2 из сигнала КЛАВ, вызывает прерывание.

Порты

D33 — ВК0Н — КР580ВВ55А — порт ввода/вывода:

  • #C0: (W) — канал A — печатающая головка: ПГ1Н(2)..ПГ8Н(2)
  • #C1: (R) — канал B — УЛН/ОБРБ/ОСТН/ПСН/ПФН/ЧПН/ТЕСТН/ОШН
  • #C2: (W) — канал C — ЛЕВК/ПРК/ВЕРХВ/НИЗВ / ПГ0Н(2)/ИГОТН/ИОШН/ИЧП
  • #C3: (W) — настройка #82 (канал A вывод, канал B вывод, канал C вывод; группа A режим 0, группа B режим 1)

D27 — ВК1Н — КР580ВИ53 — таймер:

  • #C8 (R/W) — счётчик 0 (вх.частота F4, гейт УДАРН), выход ТОКН
  • #C9 (R/W) — счётчик 1 (вх.частота F2, гейт ~BUSY), выход СС2
  • #CA (R/W) — счётчик 2 (вх.частота F4, гейт ТАЙМ), выход используется как входная частота счётчиков 1 и 2 таймера D30
  • #CB (W) — настройка #36 #76 #94

D30 — ВК2Н — КР580ВИ53 — таймер:

  • #D0 (R/W) — счётчик 0 (вх.частота F4, гейт УДАРН), выход СТРПГН(1,2) — счётчик длины строки
  • #D1 (R/W) — счётчик 1 (вх.частота сч.2 D27, гейт ТАЙМ), выход УДАРН
  • #D2 (R/W) — счётчик 2 (вх.частота сч.2 D27, гейт ТАЙМ), выход ~ШАГ — задаёт скорость перемещения каретки
  • #D3 (W) — настройка #74 #32 #94

D18 — ВК3Н — КР580ВН59 — контроллер прерываний:

  • #D8 (W)
  • #D9 (R/W)

D28 — ВК4Н — КР580ВВ55А — порт ввода/вывода:

  • #E0: канал A — АП0/АП1/~АВАД, A3..A7=0
  • #E1: канал B — ВП0..ВП7
  • #E2: (W) — канал C — C0=ИПАР1, С1=BUSY?, C2=СП2, C4=СП4=ERROR?
  • #E3: (W) — настройка #96 (канал A вывод, канал B ввод, канал Cст ввод, Cмл вывод), #09 (C4=1)

D5 — ВК5Н — КР580ВВ55А — порт ввода/вывода:

  • #E8: (R) — канал A — SA1 4/3/2/1/5/6/7/8
  • #E9: (R) — канал B — SA2 6/7/8/5/4/3/2/1
  • #EA: (R) — канал C — SA3 1/2/3/4, C4=ТАЙМ, C6=ЗВонок?
  • #EB: (W) — настройка #93, #0B

D34 — ВК6Н — КР580ВВ51А — последовательный ввод/вывод:

  • #F0 (W)
  • #F1 (W) — настройка #FE #23

Порты детально

     #C0 (W) D33 канал A        #C1 (R) D33 канал B        #C2 (W) D33 канал C
  ┌──┬──┬──┬──┬──┬──┬──┬──┐  ┌──┬──┬──┬──┬──┬──┬──┬──┐  ┌──┬──┬──┬──┬──┬──┬──┬──┐
  │ 7  6  5  4│ 3  2  1  0│  │ 7  6  5  4│ 3  2  1  0│  │ 7  6  5  4│ 3  2  1  0│
  └─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┘  └─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┘  └─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┘
   ПГ8 .  .  .  .  .  . ПГ1   ОШН │ ЧПН │ ПСН │ОБРБ │    ИЧП │  │ ПГ0 │  │ ПРК ЛЕВК — головка
                                 ТЕСТН  ПФН  ОСТН  УЛН  ИОШН─┘ИГОТН НИЗВ ВЕРХВ — бумага

     #E0 (R) D28 канал A        #E1 (R) D28 канал B        #E2 (RW) D28 канал C
  ┌──┬──┬──┬──┬──┬──┬──┬──┐  ┌──┬──┬──┬──┬──┬──┬──┬──┐  ┌──┬──┬──┬──┬──┬──┬──┬──┐
  │ 7  6  5  4│ 3  2  1  0│  │ 7  6  5  4│ 3  2  1  0│  │ 7  6  5  4│ 3  2  1  0│
  └─┬┴─┬┴─┬┴─0┴─0┴─0┴─0┴─0┘  └─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┘  └─┬┴─┬┴─?┴─┬┴─?┴─┬┴─┬┴─┬┘
  АП0 АП1 └─~АВАД             ВП7 .  .  .  .  .  . ВП0   С7 С6     │     │ BUSY│
 AUTO SELIN                                                     ERROR  STROBE  ИПАР1
 FEED
     #E8 (R) D5 канал A         #E9 (R) D5 канал B         #EA (RW) D5 канал C
  ┌──┬──┬──┬──┬──┬──┬──┬──┐  ┌──┬──┬──┬──┬──┬──┬──┬──┐  ┌──┬──┬──┬──┬──┬──┬──┬──┐
  │ 7  6  5  4│ 3  2  1  0│  │ 7  6  5  4│ 3  2  1  0│  │ 7  6  5  4│ 3  2  1  0│
  └─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┘  └─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┘  └─┬┴─?┴─?┴─┬┴─┬┴─┬┴─┬┴─┬┘
SA1.8 .7 .6 .5 .1 .2 .3 .4 SA2.1 .2 .3 .4 .5 .6 .7 .8    ЗВ        │ .4 .3 .2 .1 SA3
                                                                 ТАЙМ

Прерывания

Названи Примечание
1 УДАРН Выход со сч.1 таймера D30
2 СТРПГН(1,2) Выход со сч.0 таймера D30 — конец строки?
3 ШАГН
4 ИПОСЛ2 Выход с D34
5 ИПОСЛ1 Выход с D34
6 ИПАР1 Выход C0 D28
7 ИПАР2
8 КЛАВ1 Выход триггера D19.2, на входе которого сигнал КЛАВ