Передовица » Hardware » Сеть » Ячейка межмашинного обмена

Ячейка межмашинного обмена

Служит для стыковки ПЭВМ с модемом и организациии локальной сети. Выпускалась НПО СВТ
Контроллером сети от НИИВК не совместима).

Скорость обмена - ~60 кбит/с, но может изменятся в широких пределах с высокой точностью. Контроллер последовательного интерфейса может работать в двух средах (на выбор): витая пара или rs232. Именно к этому устройству подключается Модем АМ-1200.

Принципиальная схема. Срисовал Михаил Ревзин страница на github.

Прошивка.

Страничка с софтом для сетевого комплекса.

* * *

Состоит из таймера кр580ви53, контроллера последовательного интерфейса кр580вв51, ПЗУ драйвера и их обвязки.

Обвязка контроллера последовательного интерфейса выглядит весьма примечательно. Она делится на две части:

  1. Классический преобразователь ТТЛ <-> rs232: он позволяет использовать ячейку как обычный COM-порт (с несколько урезанным набором сигналов). Вероятно, именно эта возможность упоминается производителем как "стыковка с модемом".
  2. Гальванически изолированный преобразователь для симметричной линии связи. Похоже, что в линии действовали три уровня: 0, 1 и -1. Положительная волна использовалась для передачи данных, а отрицательная - для передачи синхронизации. Не исключено, что из-за этого контроллеру важна полярность подключения линии связи. Предположительно, несколько ячеек в этом режиме могли быть соединены по топологии "общая шина". Реализована схема обнаружения конфликтов передачи.

Преобразователи могли работать только по отдельности, их выбор осуществляется обращением к соответствующим регистрам.

Таймер может быть использован как для управления скоростью обмена по последовательному интерфейсу, так и в качестве счётчика реального времени (если последовательный интерфейс не используется). Все каналы таймера тактируются частотой 1 МГц, при этом Gate0 всегда "1", а Gate1 всегда подключен на Out0. Gate2 тоже подключается к Out0 в режиме rs232.

Старшая страница ПЗУ драйвера (2 Кб) всегда отображается на адреса Cn00..CnFF. Если разрешён маппинг ПЗУ на адреса C800..CFFF - по ним ПЗУ будет доступно полностью.

Содержимое ПЗУ построено довольно странным образом: с точки зрения системного монитора ячейка является устройством возможной загрузки операционной системы (на что указывают характерные сигнатуры), но, фактически, процедура в ПЗУ лишь инициализирует оборудование карты и вектор прерывания, после чего передаёт управление интерпретатору командной строки системного монитора. Т.е. ячейка и не пытается загрузить ОС и не позволяет сделать это с других устройств (следующих за ней по ходу опроса) автоматически. Гипотеза: в определённых условиях (при наличии сервера загрузки), системный монитор будет прерван IRQ и загрузка продолжится автоматически.

Ячейка может вырабатывать прерывание IRQ в случае: 1) появления сигнала на внешнем разъёме (в стандарте rs232) при условии установки соответствующей перемычки; 2) появления сигнала на линии Syndet контроллера последовательного интерфейса, при условии работы ячейки в режиме двухпроводного канала.

Регистры

Адресное пространство C0nX разделено на 8 пар регистров. Внутри пары регистры различаются только при обращении к таймеру и контроллеру последовательного интерфейса, в остальных случаях оба регистра эквивалентны. Программные переключатели срабатывают как на чтение так и на запись.

C0n0..C0n1 - регистры вв51.

C0n2..C0n3 - включает режим двухпроводного канала.

C0n4..C0n5 - возвращает MAC-адрес, задаваемый переключателями на плате /запись в регистр категорически не рекомендуется!/.

C0n6..C0n7 - сброс вв51 и отключение маппинга ПЗУ на C800..CFFF.

C0n8..C0n9 - регистры 0, 1 ви53.

C0nA..C0nB - регистры 2, Mode ви53.

C0nC..C0nD - включает режим rs232-канала.

C0nE..C0nF - включает маппинг ПЗУ на C800..CFFF.

Процедура инициализации регистров (из ПЗУ)


	Инициализация таймера
CFBC -   A9 14 ..   ")."    LDA   #14		00 01 010 0; канал 0, мл только, двоичный, режим 2: делитель частоты 
CFBE -   9D 8B C0   "..@"   STA   C08B, X	ви53.Mode
CFC1 -   A9 10 ..   ")."    LDA   #10
CFC3 -   9D 88 C0   "..@"   STA   C088, X	cnt0: итого получаем на выходе 62500 Гц
CFC6 -   A9 5A ..   ")z"    LDA   #5A		01 01 101 0; канал 1, мл только, двоичный, режим 5: ?????????????
CFC8 -   9D 8B C0   "..@"   STA   C08B, X	ви53.Mode
CFCB -   A9 06 ..   ")."    LDA   #06
CFCD -   9D 89 C0   "..@"   STA   C089, X	cnt1: те же 62 КГц, но сдвинутые на 7 тактов
CFD0 -   A9 9A ..   ")."    LDA   #9A		10 01 101 0; канал 2, мл только, двоичный, режим 5:
CFD2 -   9D 8B C0   "..@"   STA   C08B, X
CFD5 -   A9 04 ..   ")."    LDA   #04
CFD7 -   9D 8A C0   "..@"   STA   C08A, X	cnt2; 62 КГц либо входной сигнал от декодера синхро, сдвинутый на 6 тактов

	Инициализация контроллера последовательного интерфейса
CFDA -   A9 3C ..   ")."    LDA   #3C		0011 1100; РЕЖИМ: синхронный, 8 бит, контроль чётности, внутренняя синхро, 
                                                                  2 синхросимвола
CFDC -   9D 81 C0   "..@"   STA   C081, X	вв51.Mode
CFDF -   A0 07 ..   " ."    LDY   #07
CFE1 -   B1 06 ..   "1."    LDA   (06), Y	При инициализации здесь 1000 0001
CFE3 -   9D 81 C0   "..@"   STA   C081, X	вв51.Mode; SyncC1
CFE6 -   A0 22 ..   " ."    LDY   #22
CFE8 -   B1 06 ..   "1."    LDA   (06), Y	MAC-адрес
CFEA -   9D 81 C0   "..@"   STA   C081, X	вв51.Mode; SyncC2
CFED -   A9 94 ..   ")."    LDA   #94		1001 0100
CFEF -   9D 81 C0   "..@"   STA   C081, X	вв51.Mode; Поиск Sync, сброс ошибок, приём разрешен

CFF2 -   58 .. ..   "x"     CLI   
CFF3 -   60 .. ..   "ю"     RTS   

* * *

Список и назначение отдельных микросхем ячейки

D 1 - 1533лп8	коммутатор MAC-адреса
D 2 - 1533лп8	коммутатор MAC-адреса
D 3 - 1533ид4	дешифратор адресов групп регистров
D 4 - 555тл2	формирователь сигналов от системной магистрали
D 5 - 1533ли1	россыпчатая логика
D 6 - 1533ла3	россыпчатая логика
D 7 - 559ип7	россыпчатая логика
D 8 - 1533ле1	россыпчатая логика
D 9 - 580ва86	шинный формирователь
D10 - 573рф5	ПЗУ драйвера
D11 - 555кп11	селектор адреса старших разрядов ПЗУ
D12 - 580ви53	таймер
D13 - 1533лп8	усилитель-формирователь
D14 - 580вв51а	контроллер последовательного канала
D15 - 1533ле1	россыпчатая логика
D16 - 1нт251	выходные транзисторы
D17 - 170ап2	преобразователь ТТЛ -> rs232 (аналог sn75150)
D18 - 170ап2	преобразователь ТТЛ -> rs232 (аналог sn75150)
D19 - 170уп2	преобразователь rs232 -> ТТЛ (аналог sn75154)
D20 - 555кп11	селектор источника входных данных
D21 - 554са2	компаратор входного сигнала
D22 - 554са2	компаратор входного сигнала
D23 - ?
D24 - 1533тм2	россыпчатая логика
D25 - 1533ла3	россыпчатая логика
D26 - ?
D27 - ?
D28 - 1533тм2	элемент декодера

D99 - 155аг3
D98 - 155аг3

* * *

Кермит, нуль-мoдeм Агат-IBM
НазваниеDB25 (IBM)DB9 (IBM)AгaтНазвание
TxD23C8RxD
RxD32C2TxD
SG75C9Земля

Кроме того, необходимо на обоих разъемах замкнуть:
НазваниеDB25DB9СНП
RTS,CTS4,57,8С6,С4
DTR,DSR20,64,6С5,С1

На сайте "Проект создания реплик ПЭВМ Агат" выложен проект Ячейка межмашинного обмена.

* * *

Использование материалов проекта agatcomp без получения предварительного письменного разрешения agatcomp запрещено.


Почта для обратной связи: mail@agatcomp.ru


Живое общение по теме Агата: Telegram группа Agatcomp.


Накопленные знания и проекты: тематический ФОРУМ.


© 2004-2024 agatcomp.su / agatcomp.ru

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *