Устройство телеметрии

в 19:49, , рубрики: телетайп, устройство телеметрии

Николай Ситнов

Статья может оказаться интересной любителям ретро-электроники. В ней описывается устройство телеметрии, разработанное и созданное автором в конце восьмидесятых годов прошлого века. Устройство представляет собой аппаратно-программный комплекс, основой которого является микропроцессор КР580ВМ80А. Передача данных осуществлялась по телефонному каналу в виде частотно-модулированного сигнала, в коде МТК-2. Для визуализации принятых данных использовался телетайп.

Краткая история проекта

Создание устройства началось в 1987 году. В то время автор работал на предприятии, осуществляющем телевизионное вещание, где среди прочего оборудования имелись так называемые микроретрансляторы – небольшие приемопередатчики, устанавливаемые на границе зоны уверенного приема сигналов мощных станций. Работали они в необслуживаемом режиме. Появилась идея организовать дистанционный контроль их состояния.

Помимо этого, актуальной представлялась задача непрерывного автоматического мониторинга режимов работы различных узлов контролируемого оборудования с целью локализации «плавающих» неисправностей – то есть таких, которые проявляются в виде редких случайных отказов с последующим самовосстановлением. Подобные неисправности, зачастую, крайне трудно поддаются диагностике даже в лабораторных условиях. А уж тем более – тогда, когда объект расположен в десятках километров от центра обслуживания, и доступ к нему затруднен.

На создание устройства ушло более двух лет. Оно было разработано и изготовлено силами автора, в домашних условиях. Узнав о разработке, руководство предприятия проявило крайнюю заинтересованность в ней, пообещав всестороннее содействие и поддержку, в том числе – и при организации мелкосерийного производства. Однако, в то время промышленное изготовление печатных плат было слишком дорогостоящим делом, и выпуск даже небольшой серии не состоялся. Свою роль в снижении привлекательности проекта сыграла и слабая распространенность телефонной связи в местах расположения оборудования, которое предполагалось контролировать.

Тем не менее, один экземпляр устройства был внедрен, и проработал на объекте пять лет – до 1995 года. После этого оборудование перенесли в другое место, где возникли трудности с организацией телефонной связи. Устройство было выведено из эксплуатации и больше по назначению не использовалось.

При рассмотрении устройства нельзя не упомянуть и о приемной установке, которая применялась для получения от него данных. В состав установки входили пульт оператора, демодулятор и телетайп. Процесс приема данных предполагал участие человека. Пульт оператора имел выключатель телефонной линии, имитирующий снятие трубки, а также номеронабиратель. Телеграфный демодулятор был изготовлен по описанию из журнала «Радио» [1]. Сигнал с его выхода, посредством реле-повторителя, подавался на аппарат Т-63, либо РТА-80. Кроме того, был предусмотрен звуковой контроль процессов установления соединения и приема данных.

Технические характеристики устройства

Измеряемый параметр ........................................ напряжение
Пределы измеряемого напряжения, В ............... –5 ÷ +5
Количество входов ............................................... от 1 до 64
Выходной код ....................................................... МТК-2
Скорость, Бод ....................................................... 50
Вид модуляции выходного НЧ сигнала .............. ЧМ, АМ
Частота сигнала, соответствующая 1, Гц ........... 1126
Частота сигнала, соответствующая 0, Гц ........... 1276
Напряжения питания, В ....................................... +12, +5, –5, –15

Внешний вид устройства телеметрии показан на рис.1.

Рис. 1 – Устройство телеметрии

Рис. 1 – Устройство телеметрии

Устройство телеметрии (далее для краткости – устройство) предназначено для осуществления дистанционного контроля работы различной аппаратуры, а также для локализации неисправностей, проявляющихся в виде редких случайных сбоев в ее работе.
Устройство осуществляет:
1. Измерение напряжений и передачу их значений по телефонному каналу посредством НЧ-сигнала, модулированного телетайпным сигналом в коде МТК-2;
2. Анализ временной стабильности параметров в двух режимах и формирование специальной таблицы;
3. Передачу таблицы вышеуказанным способом;
4. Обмен данными с ЭВМ в параллельном коде.

Сеанс передачи данных начинается при поступлении на специальный вход сигнала "запрос передачи". Этот сигнал должен быть сформирован дополнительными средствами, состав и назначение которых зависит от конкретного применения устройства, а также от вида используемого канала связи. Например, в случае применения коммутируемого телефонного канала этот сигнал создается блоком сопряжения с АТС при поступлении от телефонной станции вызывного напряжения.

В ответ на "запрос передачи" устройство формирует сигнал "подтверждение передачи". В рассматриваемом случае он подается на блок сопряжения с АТС и вызывает имитацию поднятия трубки телефонного аппарата. Через некоторое время начинается передача данных, которая продолжается, пока они не будут переданы полностью. Состояние принимающей стороны (преждевременный отбой) при этом не контролируется. По окончании сеанса сигнал "подтверждение передачи" снимается, чем обеспечивается отбой телефонного соединения со стороны устройства.

В зависимости от конкретного применения, устройством могут быть задействованы от одного до шестидесяти четырех входов. Программа автоматически настраивается на используемое их количество. Для этого к последнему входу должен быть подключен источник заведомо ненулевого напряжения. Устройство содержит специальный источник напряжения –1 В, который дополнительно служит для контроля масштаба преобразования.

Имеется выход телетайпного сигнала (логические уровни ТТЛ). Существуют широкие возможности расширения системы.
Устройство состоит из следующих частей:
1. Процессорная плата,
2. Плата дополнительных элементов,
3. Соединительный узел,
4. Блок питания.

Процессорная плата представляет собой простейшую микро-ЭВМ и является функционально законченным блоком общего применения. Плата дополнительных элементов содержит входной коммутатор, АЦП, формирователи различных сигналов. Блок питания обеспечивает устройство напряжениями +12 В, +5 В, –5 В и –15 В и в данной статье рассматриваться не будет.

Процессорная плата имеет следующие технические характеристики:

Центральный процессор ..................................... КР580ВМ80А
Емкость ОЗУ, кбайт .............................................. 2
Емкость ПЗУ, кбайт .............................................. 2
Частота тактовых сигналов, МГц ........................ 2
Напряжения питания, В ....................................... +12, +5, –5

Принципиальная электрическая схема процессорной платы изображена на рисунке 2.

Рис. 2 – Процессорная плата. Схема принципиальная электрическая

Рис. 2 – Процессорная плата. Схема принципиальная электрическая

На процессорной плате расположен центральный процессор (DD7), ОЗУ(DD5), ПЗУ(DD6), тактовый генератор (DD1.1-DD1.3, DD2, V1, V2, R1–R8, C1–C5, Z1), устройство задержки (DD9.1, DD1.4), логическая схема (DD8, DD9.2), дешифратор выбора микросхем памяти и устройств ввода-вывода (DD3), а также параллельный программируемый адаптер (ППА) КР580ВВ55 (DD4).

Тактовый генератор состоит из собственно задающего генератора (DD1.1, DD1.2, R1, R2, C1, C2, Z1) и формирователя импульсов F1 и F2 (DD1.3, DD2, R3–R8, C3–C5, V1, V2). Цепочка R3C3 создает задержку фронта F2 относительно спада F1.

У дешифратора DD3 использованы только три выхода. Остальные предназначены для расширения памяти и добавления устройств ввода-вывода и имеют выходы на плате. ПЗУ выбирается сигналом с выхода f0, ОЗУ – с выхода f8, ППА – с выхода f15. Такое распределение адресного пространства дает возможность создавать расширенные ОЗУ и ПЗУ, представляющие со стороны процессора единый массив адресов. Сигнал с выхода f0 дешифратора также выведен с платы.

Кроме того, плата имеет выводы системных шин, каналов A, B, C ППА и некоторых других сигналов. Предусмотрена возможность питания ОЗУ от батареи (отдельный вывод питания на плате).

Для сопряжения временных диаграмм ОЗУ и процессора необходимо задержать цикл обращения к ОЗУ на один такт. Это осуществляет устройство задержки (DD9.1, DD1.4). Устройство функционирует следующим образом. При отсутствии циклов обращения к ОЗУ на входе 5 DD9.1, а значит и на входе Rdy процессора – логическая 1. Устройство не оказывает влияния на его работу. При обращении к ОЗУ, сигнал его выбора, логически суммируясь с сигналом Wait (0), дает 0 на входе Rdy процессора. Переходя в состояние ожидания, последний устанавливает 1 на своем выходе Wait. Сигнал готовности вновь устанавливается в 1. Обнаружив это, процессор выходит из состояния ожидания и сбрасывает Wait, в результате чего на входе Rdy опять появляется 0, но он уже не влияет, поскольку в данном машинном цикле больше не анализируется процессором. При снятии сигнала выбора ОЗУ, сигнал Rdy устанавливается в 1. При новом обращении к ОЗУ все повторяется в вышеописанной последовательности.

На плате имеются также восемь конденсаторов, шунтирующих шины питания. Плата имеет габариты 225*155 мм. Вид ее со стороны электронных компонентов и с обратной стороны показан на рисунках 3 и 4 соответственно.

Рис. 3 – Процессорная плата (вид стороны электронных компонентов)

Рис. 3 – Процессорная плата (вид стороны электронных компонентов)
Рис. 4 – Процессорная плата (вид с обратной стороны)

Рис. 4 – Процессорная плата (вид с обратной стороны)

В отличие от процессорной платы, плата дополнительных элементов является специфической для данного устройства и обеспечивает выполнение следующих функций:

  • формирование сигнала "сброс",

  • выбор источника входного напряжения (коммутацию входных цепей),

  • обеспечение достаточно высокого сопротивления измерительных входов,

  • аналого-цифровое преобразование,

  • формирование тонального сигнала,

  • формирование телетайпного сигнала,

  • некоторые другие функции, рассмотренные далее, в процессе описания. Принципиальная электрическая схема платы дополнительных элементов представлена на рисунке 5.

Рис. 5 – Плата дополнительных элементов. Схема принципиальная электрическая

Рис. 5 – Плата дополнительных элементов.
Схема принципиальная электрическая

Узел формирования сигнала Reset состоит из триггера Шмитта (DD5.5, DD11.2, R4–R6), выходной сигнал которого привязан к фазе F2, и цепочки R7C10, предназначенной для формирования сигнала "сброс" при включении устройства, а также для защиты от дребезга контактов кнопки SB7. Сигнал Reset формируется при нажатии на указанную кнопку, при подаче питания и при приходе сигнала с блока формирования сигнала "сброс" (замыкание входа "сброс" устройства на общий провод).

Для возврата в исходное состояние анализатора временной стабильности параметров, а также для обеспечения защиты от случайных сбоев, необходимо периодически (например, один раз в сутки) формировать сигнал "сброс". Это достигается применением специального устройства, рассмотрение которого выходит за рамки данной статьи. При отсутствии необходимости в анализаторе такое устройство может отсутствовать.

Коммутатор (DD12-DD20) предназначен для подключения входа операционного усилителя DA1 к одному из источников входного сигнала и отключения его при измерении "нуля".

C выхода операционного усилителя DA1, включенного по схеме повторителя, измеряемое напряжение через подстроечный резистор R13 поступает на вход АЦП (DD8). R13 предназначен для коррекции масштаба преобразования. При поступлении логического 0 на входы 1 и 15 DD9 и на вход 1 DD10, на шину данных поступают младшие восемь бит выходного кода АЦП, а при поступлении логического 0 на вход 15 DD10 – старшие два бита. Элементы DD9 и DD10 имеют три состояния выходов. Управляющие сигналы для них формируются элементами DD7.1 и DD7.2. Младшие биты кода могут быть считаны по адресам 5000H-57FFH, старшие – по адресам 6800H-6FFFH. Сигнал "запрос преобразования" с выхода PB7 микросхемы ППА DD4, расположенной на процессорной плате, поступает на вход "гаш." DD8.

Для обеспечения возможности измерения как положительных, так и отрицательных напряжений, применен следующий способ. Перед измерением группы параметров входной коммутатор закрывается (по входу S микросхемы DD12), и измеряется "нуль" АЦП. Затем коммутатор открывается, и измеренное значение "нуля" вычитается из каждого измеренного значения напряжения. Измерение "нуля" происходит один раз перед измерением параметров в режиме "Непосредственная телеметрия", и один раз – перед формированием X-блока параметров анализатора временной стабильности. "Нули" X-блока и Y-блока равны.

Модулированный по частоте сигнал формируется на выходе f14 дешифратора DD3, находящегося на процессорной плате и, после инвертирования элементом DD2.5, поступает на входы j и k триггера DD3, где приобретает форму меандра. Сформированный триггером сигнал подается на вход элемента DD6.2, и далее – через конденсатор C9 – на выход устройства.

На выходе f12 дешифратора формируется импульс при передаче нуля в телетайпном коде, а на выходе f11 – при передаче единицы. Сигналы поступают через инверторы DD5.1 и DD5.2 на входы j и k триггера DD4 соответственно. Триггер формирует телетайпный сигнал, поступающий через элемент DD2.6 на выход устройства.

На входы C обоих триггеров поступает короткий положительный импульс, сформированный из отрицательного фронта сигнала Wr схемой на элементах DD2.1–DD2.4, DD1.1, DD1.2.

При установке перемычки между одним из выходов триггера DD4 и входами 12, 13 элемента DD6.2 устройство формирует АМ-сигнал.

Сигнал "подтверждение передачи" появляется на выходе Inte микропроцессора в ответ на сигнал "запрос передачи". При этом разрешается формирование звукового сигнала (вход R DD3). На время отсутствия сигнала триггер переводится в нулевое состояние в целях снижения потребляемой устройством мощности (резистор R2). При отсутствии передачи триггер DD4 также блокирован по входу R.

Сигнал "подтверждение передачи" используется для включения реле, которое входит в состав устройства сопряжения с АТС и создает цепь постоянного тока по телефонному шлейфу. Между появлением этого сигнала и началом передачи существует временная задержка, достаточная для завершения оборудованием АТС коммутационных операций.

Порт "A" и часть канала "C" ППА использованы для обмена данными с ЭВМ в параллельном коде, и работают в режиме 2 [2].

Параметрический стабилизатор R8VD2 предназначен для питания микросхем DD12-DD20, DA1, а также делителя R10–R12. Этот делитель задает на специальном выходе устройства калиброванное напряжение –1В. Данный выход можно подключить к последнему используемому входу коммутатора с целью автоматической настройки программы на необходимое их количество, а также для контроля масштаба преобразования.

Вид платы со стороны электронных компонентов показан на рис. 6, а с обратной стороны – на рис. 7.

Рис. 6 – Плата дополнительных элементов (вид со стороны электронных компонентов)

Рис. 6 – Плата дополнительных элементов (вид со стороны электронных компонентов)
Рис. 7 – Плата дополнительных элементов (вид с обратной стороны)

Рис. 7 – Плата дополнительных элементов (вид с обратной стороны)

Переключение режимов устройства осуществляется посредством шести кнопок с раздельной фиксацией, входящих в состав соединительного узла (рис. 8). По мере необходимости, программа устанавливает логический 0 на линии порта "B" ППА, соответствующей той или другой кнопке, и анализирует состояние нулевого разряда порта "C", к которому все кнопки подключены через диоды VD1–VD6. Порт "B" используется также для выдачи управляющих сигналов на коммутатор. Сигнал "запрос передачи" приходит на вход PC2. К нему подключена схема защиты от статических зарядов (VD7, VD8), расположенная также на соединительном узле. Для формирования этого сигнала достаточно соединить соответствующий вход устройства с общим проводом. Здесь же расположена и кнопка "сброс" (SB7).

Рис. 8 – Узел соединительный. Схема электрическая принципиальная

Рис. 8 – Узел соединительный. Схема электрическая принципиальная

Изображение соединительного узла приведено на рисунке 9. На рисунках 10, 11 и 12 показана конструкция устройства.

Рис. 9 – Узел соединительный

Рис. 9 – Узел соединительный
Рис. 10 – Вид устройства без верхней крышки

Рис. 10 – Вид устройства без верхней крышки
Устройство телеметрии - 11
Устройство телеметрии - 12

Программа, прошитая в ПЗУ DD6 процессорной платы, написана на языке ассемблера и задает весь функционал данного устройства. Алгоритм ее работы изображен на рисунке 13.

Рис. 13 – Алгоритм работы программы

Рис. 13 – Алгоритм работы программы

В начальной стадии осуществляется определение количества используемых входов коммутатора. Для этого измеряется "нуль" АЦП, а затем происходит опрос всех входов, начиная с шестьдесят четвертого. Первые четыре двоичных разряда результата маскируются, что обеспечивает высокую помехоустойчивость системы при определении количества входов. Найдя вход, напряжение на котором больше 150 мВ, программа настраивается на требуемое их количество. При этом информация об остальных, незадействованных входах, телетайпом не печатается. Информация о количестве входов используется также анализатором временной стабильности параметров (далее анализатор).

Рабочий цикл начинается с выявления сигнала "запрос передачи". При его наличии анализируется состояние кнопки SB1 – "Расширение по выводу". В случае нажатой кнопки происходит переход по адресу 45C5H (в ОЗУ), куда при помощи процедуры параллельного обмена данными с ЭВМ можно записать команду jmp adr, где adr – адрес программы-расширителя, записываемой в ОЗУ таким же способом. Программа-расширитель может выполнять самые разнообразные функции (например, передавать данные в другом коде). При отжатой кнопке осуществляется дальнейшее выполнение программы.

При нажатой кнопке SB2 – "Непосредственна телеметрия" – в канал связи выдается текст, идентифицирующий этот режим. Далее начинается опрос всех входов и передача информации о напряжении на них. Данные распечатываются на телетайпной ленте под номерами, соответствующими входам коммутатора. Они располагаются в шесть столбцов. При наличии перегрузки на каком-либо входе печатается "+ПЕР. " или "–ПЕР. " в зависимости от знака напряжения. При отжатой кнопке осуществляется обход этой части программы.

Следующая часть программы, обход которой включается кнопкой SB3, осуществляет передачу таблицы анализатора. Как и в предыдущем случае, сначала в канал выдается идентификатор режима – текст "Память.", а затем, в случае наличия в памяти вышеупомянутой таблицы, она передается по каналу связи. Таблица распечатывается на ленте в виде нескольких столбцов (максимум девять), количество которых зависит от текущего состояния анализатора. В первом столбце печатается номер параметра (входа), а в остальных – значения параметров. Каждый такой столбец несет информацию об определенном блоке параметров. Блоки отображаются парами, рядом (X-блок и Y-блок). Подробное изложение сведений об их назначении будет дано при описании анализатора.

Следующая часть программы, также имеющая обход, который включается при отжатии кнопки SB6, производит обмен данными с ЭВМ в параллельном коде. Обмен осуществляется через порт "A" ППА в режиме 2 [2]. Пересылка каждого байта данных происходит за четыре цикла работы программы. При этом сначала из ЭВМ должен быть введен указатель направления: 00H – для ввода, 0FFH – для вывода (по отношению к устройству). Затем, по порядку – младший и старший байты адреса. После этого ЭВМ может считать или записать в ОЗУ устройства по этому адресу байт.

После приема устройством указателя направления и каждого байта адреса содержимое счетчика циклов увеличивается на единицу. После обмена байтом данных счетчик обнуляется. Обнуление происходит и при отжатии кнопки SB6 до завершения процесса обмена, чем можно возобновлять нормальное состояние этого процесса при сбоях. Состояние процесса не влияет на выполнение остальных частей программы.

Для обмена данными между устройством и компьютером "Радио-86РК" [3] разработана специальная программа на языке Бейсик. С помощью нее можно записать (в ОЗУ) и считать байт по любому адресу, а также произвести пересылку группы байтов из буфера программы в некоторую область ОЗУ устройства и считать в буфер программы информацию из любой области памяти устройства. При этом выходы PC0 и PC1 ППА D14 компьютера использованы для выдачи сигналов Ack и Stb, а входы PC4 и PC5 – для ввода сигналов Obf и Ibf соответственно. Сигналы Ack и Stb перед подачей на устройство должны быть проинвертированы. Для ускорения процесса пересылки группы байтов можно отжать кнопки SB2 и SB3 и удерживать сигнал "запрос передачи" до окончания обмена.

 10 REM ПРОГРАММА ОБМЕНА ДАННЫМИ С УСТРОЙСТВОМ ТЕЛЕМЕТРИИ
 20 HIMEM &3FFF:I=&9A:O=&98
 30 PB=&A001:PC=&A002:RU=&A003
 40 PRINT "1-ЧТЕНИЕ БАЙТА"
 50 PRINT "2-ЗАПИСЬ БАЙТА"
 60 PRINT "3-ЧТЕНИЕ ПОСЛЕДОВАТЕЛЬНОСТИ БАЙТОВ В БУФЕР"
 70 PRINT "4-ЗАПИСЬ ПОСЛЕДОВАТЕЛЬНОСТИ БАЙТОВ ИЗ БУФЕРА"
 80 PRINT "НАЧАЛО БУФЕРА - 4000H."
 90 INPUT "ВВЕДИТЕ НОМЕР РЕЖИМА.",N
 100 ON N GOSUB 110, 120, 130, 160:GOTO 40
 110 GOSUB 210:GOSUB 220:PRINT @B:RETURN
 120 GOSUB 210:INPUT "ВВЕДИТЕ БАЙТ.",B:GOSUB 290:RETURN
 130 GOSUB 190:AB=&4000
 140 FOR A=A1 TO A2
 150 GOSUB 220:POKE AB,B:AB=AB+1:NEXT A:RETURN
 160 GOSUB 190:AB=&4000
 170 FOR A=A1 TO A2
 180 B=PEEK(AB):GOSUB 290:AB=AB+1:NEXT A:RETURN
 190 INPUT "ВВЕДИТЕ НАЧ.АДРЕС.",A1
 200 INPUT "ВВЕДИТЕ КОН.АДРЕС.",А2:RETURN
 210 INPUT "ВВЕДИТЕ АДРЕС.",А:RETURN
 220 REM /////////////// ЧТЕНИЕ БАЙТА //////////////
 230 Y=A/256:AS=INT(Y):AM=(Y-AS)*256
 240 POKE RU,&98:POKE PB,0:GOSUB 340:PRINT "1"
 250 POKE PB,AM:GOSUB 340:PRINT"2":POKE PB,AS:GOSUB 340
 255 PRINT "3"
 260 POKE RU,&9A
 270 IF PEEK(PC) AND &10 THEN 270
 280 POKE RU,1:B=PEEK(PB):POKE RU,0:RETURN
 290 REM /////////////// ЗАПИСЬ БАЙТА ////////////////
 300 Y=A/256:AS=INT(Y):AM=(Y-AS)*256
 310 POKE RU,&98:POKE PB,&FF:GOSUB 340:PRINT "1"
 320 POKE PB,AM:GOSUB 340:PRINT "2":POKE PB,AS:GOSUB 340
 325 PRINT "3"
 330 POKE PB,B:GOSUB 340:RETURN
 340 REM \\\\\\\\\\\\\\\\\\\\\\
 360 POKE RU,3:POKE RU,2
 370 IF PEEK (PC) AND &20 THEN 370
 380 RETURN

После процедуры обмена осуществляется переход в начало основного цикла программы, где анализируется состояние сигнала "запрос передачи". При отсутствии этого сигнала программа определяет состояние кнопки SB4 –"Расширение по анализу". В случае нажатой кнопки срабатывает переход на расширитель, аналогично описанному выше.

Далее, при достижении количеством блоков параметров своего максимального значения, срабатывает обход анализатора. В противном случае начинается формирование X-блока.

Анализатор временной стабильности параметров работает следующим образом. Измеряются напряжения на всех входах, и измеренные значения заносятся в ОЗУ, образуя X-блок. После временной задержки аналогично формируется Y-блок. Затем происходит поэлементное вычитание Y-блока из X-блока. Образуется результирующий блок, значения элементов которого характеризуют величину временной нестабильности соответствующих параметров. Следующим этапом является поэлементное вычитание этого блока из специально сформированной таблицы приращений. Если хотя бы одно число из результирующего блока (результат вычитания Y-блока из X-блока) больше соответствующего числа из таблицы приращений, дальнейшее формирование блоков происходит в других областях ОЗУ, а эти X-блок и Y-блок входят в таблицу анализатора, передаваемую по каналу связи в режиме "Память". В противном случае, в следующем цикле работы программы блоки формируются заново в тех же самых областях памяти, и в таблицу анализатора не входят. При распечатке X-блок и Y-блок располагаются рядом, один за другим. Максимальное количество блоков – восемь – ограничено шириной телетайпной ленты.

Константа первой задержки (рис. 13) записана в ПЗУ по адресам 0451H и 0452H, а для второй задержки – 04C8H и 04C9H (соответственно младший и старший байты). Обе константы равны 1FFFH.

Существуют два режима анализа. Первый не осуществляет формирование таблицы приращений. Ее в этом случае необходимо занести в ОЗУ по каналу параллельного ввода-вывода, или сформировать при помощи расширителя. При втором режиме таблица приращений формируется следующим способом. Организованный в программе счетчик проходов анализатора имеет коэффициент пересчета 15. При обнулении его происходит формирование таблицы приращений, каждый элемент которой в этом случае представляет собой 125 процентов +5 от соответствующего элемента результирующего блока (результат вычитания Y-блока из X-блока). Коэффициент пересчета счетчика можно изменить, если занести новое его значение, увеличенное на единицу, по адресу 04E4H (при программировании ПЗУ).

Переключение режимов производится кнопкой SB5 – "Режим анализа". Ее нажатому состоянию соответствует второй режим. Выход из анализатора осуществляется только в одну точку программы – на процедуру параллельного ввода-вывода.

Стрелками с числом на алгоритме обозначены точки перехода на расширители. Они заслуживают особого рассмотрения. В этих местах, в программе, расположены команды call adr, где adr – адрес первой ячейки в группе из трех ячеек в таблице расширителей, находящейся в ОЗУ. Начальная стадия работы программы записывает в первую ячейку каждой группы, начиная с третьей, код команды ret. Переходы на первые две группы происходят при помощи команд jz adr и включаются кнопками SB1 и SB2. Пользуясь процедурой параллельного ввода-вывода, в любую группу ячеек можно записать команду перехода на расширитель. При приходе сигнала "сброс" во все группы, кроме первых двух, вновь помещаются команды ret. Первый или второй расширители могут заполнять таблицу необходимыми командами переходов.

Все значения параметров, печатаемые программой – четырехзначные. Они имеют два разряда перед запятой, что соответствует напряжению, измеренному без входного делителя. Имеется возможность при помощи расширителей устанавливать запятую в любое место числа в зависимости от примененных делителей или усилителей. При этом все входы подразделяются на группы по количеству разрядов числа перед запятой. Для изменения числа разрядов перед запятой при передаче непосредственных данных, расширитель должен записать в ячейку 46F7H количество параметров в этой группе, а в ячейку 46D0H – 80H, если перед запятой – 0 разрядов, 81H – если 1 разряд, 82H – если 2 разряда и т. д. Затем он должен вызвать подпрограмму передачи этой группы данных, после чего может определить аналогичным образом следующую группу. После завершения непосредственной передачи данных должен быть произведен переход по адресу 01FCH. Подпрограмма передачи группы данных имеет адрес вызова 00f0H.

Процесс аналогичной настройки подпрограммы передачи таблицы анализатора (адрес вызова – 023CH) отличается лишь тем, что размер группы данных необходимо ей передавать в аккумуляторе микропроцессора. После передачи таблицы переход должен произойти по адресу 0362H.

Для изменения скорости передачи данных и частот сигнала, соответствующих единице и нулю, необходимо заменить коды в ячейках ПЗУ, указанных ниже. В них расположены соответствующие скоростные (z) и частотные (f) константы.
061AH – f1 (39H) , 0618H – z1 (2DH)
0610H – f0 (32H) , 060EH – z1 (33H)

В скобках указаны константы, соответствующие вышеуказанным частотам и скорости 50 Бод (при частоте кварцевого генератора 8 МГц).

Для вычисления констант при заданной частоте и скорости предназначена специальная программа на Бейсике. Результатом ее работы является пара констант (частотная и скоростная) и скорость в бодах, вычисленная с учетом их значений. Для каждой из частот вычисления производятся отдельно. При помощи программы можно также вычислить скорость при известных константах.

 10 REM ПРОГРАММА ДЛЯ ВЫЧИСЛЕНИЯ КОНСТАНТ И СКОРОСТИ
 20 PRINT:PRINT:PRINT “1 - ВЫЧИСЛЕНИЕ СКОРОСТИ”
 30 PRINT “2 - ВЫЧИСЛЕНИЕ КОНСТАНТ F И Z”
 40 INPUT “ВВЕДИТЕ НОМЕР РЕЖИМА.”,R
 50 IF R=1 THEN GOSUB 80
 60 IF R=2 THEN GOSUB 100
 70 GOTO 20
 80 INPUT “ВВЕДИТЕ F И Z”,F,Z:GOSUB 170
 90 S=N/((F*15+33)*Z):PRINT S;“БОД”:RETURN
 100 INPUT “ВВЕДИТЕ ЧАСТОТУ СИГНАЛА (ГЦ)”,E
 110 INPUT “ВВЕДИТЕ СКОРОСТЬ (БОД)”,Y:GOSUB 170
 120 F=(1/(E*2)-33/N)/(15/N)
 130 Z=N/((15*F+33)*Y):REM E-ЧАСТ.СИГН.,N-ТАКТ.Ч.
 140 PRINT “F=”;@F;“H , Z=”;@Z;“H”
 150 Z=INT(Z):F=INT(F)
 160 PRINT “ПРОВЕРКА:”:PRINT “СКОРОСТЬ -”;:GOSUB 90:RETURN
 170 INPUT “ТАКТ.ЧАСТОТА (МГЦ)”;N:N=N*10^6:L=1/N:RETURN

Заключение

Использование телетайпа для приема информации было обусловлено тем фактом, что на предприятии в то время отсутствовали компьютеры. Однако, уже скоро – через несколько лет – ситуация кардинально изменилась, и появилась актуальная задача интеграции устройства в современную на тот момент технологическую среду. Было разработано программное обеспечение, позволяющее не только принимать и обрабатывать данные, но и визуализировать их в более удобном виде – с названиями параметров, а также накапливать в базе данных. Подверглась изменениям и программа самого устройства – в новой версии вместо МТК-2 использовался код КОИ-7, а передача велась уже на скорости 600 Бод. На приемной стороне применялся модем ИСМ-1200.

Но тестирование этого комплекса началось всего лишь за неделю до вывода устройства из эксплуатации по указанной ранее причине. Работы по данному направлению приостановились из-за отсутствия перспективы быстрого внедрения, а в дальнейшем – прекратились совсем.

Конечно же, по прошествии трех с половиной десятилетий с момента разработки устройства, оно едва ли может рассматриваться как нечто практически полезное для решения актуальных задач удаленного мониторинга. Но, возможно, найдутся любители электронной старины, желающие повторить рассмотренную конструкцию. Тем более, что необходимые для этого микросхемы до сих пор можно приобрести в магазинах. Автор желает им успехов в изготовлении данного устройства телеметрии.

Список источников

  1. Демиденко А. Низкочастотный RTTY конвертер.— Радио, 1985, № 9, с. 19 — 22.

  2. Зеленко Г., Панов В., Попов С. Микросхема КР580ВВ55.— Радио, 1983, № 6, с. 42-46.

  3. Горшков Д., Зеленко Г., Озеров Ю., Попов С. Персональный радиолюбительский компьютер «Радио-86РК».— Радио, 1986, № 4, с. 24 — 26.


Текст программы

;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    ASEG
    ORG 0
;MОДУЛЬ ПЕРЕДАЧИ (1 ЧАСТЬ).
MW1 EQU 46FFH
SV  EQU 46FEH
P1  EQU 46FDH
RI0 EQU 46FBH
SPT EQU 46FAH
G6  EQU 46F8H
N   EQU 46F7H
ISS EQU 46F6H
SBT EQU 46F5H
WY  EQU 46F4H
SCHS EQU 46F3H
S1  EQU 46F2H
C25 EQU 46F1H
O1  EQU 46F0H
O2  EQU 46EFH
UX  EQU 46EDH
UY  EQU 46EBH
U0  EQU 46E9H
SCA EQU 46E8H
DSV EQU 46E7H
PP  EQU 46E6H
RDTH EQU 46E5H
@63 EQU 46E4H
@58 EQU 46E3H
@50 EQU 46E1H
@51 EQU 46E0H
@52 EQU 46DEH
@53 EQU 46DCH
SB  EQU 46DBH
MB  EQU 46DAH
IM  EQU 46D9H
@3F2 EQU 46D8H
@3F1 EQU 46D7H
@1F2 EQU 46D6H
@1F1 EQU 46D5H
@2F2 EQU 46D4H
@2F1 EQU 46D3H
KT2 EQU 46D2H
JA1  EQU 46D0H
U2  EQU 46CFH
KT2P EQU 46CEH
NT2 EQU 46CCH
@1FK2 EQU 46CBH
@1FK1 EQU 46CAH
STEK  EQU 46C8H
RP1   EQU 46C5H
RP2   EQU 46C2H
RP3   EQU 46BFH
RP4   EQU 46BCH
RP5   EQU 46B9H
RP6   EQU 46B6H
RP7   EQU 46B3H
RP8   EQU 46B0H
RP9   EQU 46ADH
RP10  EQU 46AAH
RP11  EQU 46A7H
RP12  EQU 46A4H
RP13  EQU 46A1H
KOL   EQU 46A0H
KDT   EQU 469EH
SCHB   EQU 469DH
NB1   EQU 469BH
RF    EQU 4699H
TU0 EQU 4697H
BE10 EQU 4687H
KN1 EQU 0FEH
KN2 EQU 0FDH
KN3 EQU 0FBH
KN4 EQU 0F7H
KN5 EQU 0EFH
KN6 EQU 0DFH
PA1 EQU 7800H
PB1 EQU 7801H
PC1 EQU 7802H
RGU1 EQU 7803H
SZR  EQU 6800H
MZR  EQU 5000H
@CR  EQU 02H
@LF  EQU 08H
MINUS   EQU 18H
SPACE  EQU 04H
TCK   EQU 07H
NP    EQU 06H
US1   EQU 0D9H ;B-НА ВЫВОД,МЛ.C-НА ВВОД (РЕЖИМ 0),A-РЕЖ.2
DT    EQU 4000H
   LXI SP,BE10
   MVI A,US1
   STA RGU1
   MVI A,09H;РЗПР ПО ВВОДУ
   STA RGU1
   MVI A,0CH;ЗАПРЕТ ПР. ПО ВЫВОДУ
   STA RGU1
   MVI A,0FFH
   STA MW1
;####### ОПРЕДЕЛЕНИЕ КОЛИЧЕСТВА ВХОДОВ ######
   MVI A,0C0H
   STA P1
   STA PB1
   CMA
@222:DCR A
   JNZ @222
   CALL ACP
   MOV H,D
   MOV A,E
   ANI 0F0H
   MOV L,A
   MVI C,3FH
?333: MOV A,C
   STA P1
   CALL ACP
   MOV A,D
   CMP H
   JNZ ?444
   MOV A,E
   ANI 0F0H
   CMP L
   JNZ ?444
   DCR C
   JNZ ?333
?444: INR C
   MOV A,C
   STA KOL
   ADD A
   MOV E,A
   MVI D,00H
   LXI H,DT
   DAD D
   SHLD RF
   DCX H
   DCX H
   SHLD KDT
   LHLD RF
   DAD D
   SHLD NB1
;УСТАНОВКА КОМАНД RET В ПЕРЕКЛЮЧАТЕЛИ
   LXI B,03H
   LXI H,RP13
   MVI A,0C9H
   MVI D,0BH
?111:MOV M,A
   DAD B
   DCR D
   JNZ ?111
;///////////////////////////////////
A06:CALL RP11
   LDA PC1   ;НАЛИЧИЕ ЗАПРОСА
   ANI 04H   ;НА ПЕРЕДАЧУ
   JNZ R2 ;НА РАСШ.ПО АНАЛИЗУ.
   MVI A,KN1
   STA PB1
   LDA PC1
   ANI 01H   ;РАСШ. ПО ВЫВОДУ
   JZ  RP1
   MVI A,TCK
   STA NT2+2
   MVI A,SPACE
   STA JA1+1
   STA JA1+2
   CALL RP3  ;РАСШИРЕНИЕ
   EI
;------------- ЗАДЕРЖКА ------------
   LXI H,0FFFFH
A1Z:DCX H
   NOP
   NOP
   NOP
   NOP
   NOP
   NOP
   MOV A,L
   ORA H
   JNZ A1Z
;НЕПОСРЕДСТВ.ПЕРЕДАЧА.
   MVI A,KN2
   STA PB1
   LDA PC1
   ANI 01H   ;ОБХОД?
   JNZ @001
   LXI H,NT1
   LXI B,KT1
   CALL TTYP
   MVI A,0C0H  ;ОЧИСТКА,ЗАКР.КОМMУТАТОРА,ОТКР Р.КЛЮЧА
   STA P1      ;ПРОМ.ЯЧЕЙКА ПОРТА PB1
   CALL ACP
   XCHG
   CALL DK
   SHLD RI0   ;НОЛЬ АЦП
   MVI A,80H  ;ОТКР.КОММУТАТОРА
   STA P1
   MVI A,NP+1 ;КОЛ.ЧИСЕЛ В СТРОКЕ+1.
   STA SPT    ;СЧЕТЧИК ЧИСЕЛ В СТР.
   XRA A
   STA SV ;СЧЕТЧИК ВХОДОВ
   CALL RP12
   MVI A,82H  ;ЗПT.ПОСЛЕ 2 ЗНАКА
   STA JA1     ;В ТЕКСТ (ЗАПРОС ЧИСЛА)
   LDA KOL    ;КОЛИЧ.ВХОДОВ
   STA N
   CALL @002
   JMP @001
@002: LDA SPT
   DCR A
   STA SPT
   JNZ ?0
   LXI H,ZH
   LXI B,ZH+1
   MVI A,NP
   STA SPT
   CALL TTYP
?0:   MVI C,0FH
   CALL TR
   JMP EN
TR:   LDA SV 
   INR A
   STA SV ;НОМЕР ЧИСЛА В ТЕКСТЕ
   MOV C,A
   MVI B,00H
   CALL KP ;ДВОИЧНО-ДЕС.ПРЕОБР.
   MOV E,C
   LXI H,RX  ;АДРЕС ТАБЛ.ТЕЛЕТАЙПН.ЦИФР
   MVI A,0FH
   ANA E
   MVI B,00H
   MOV C,A
   DAD B
   MOV A,M
   STA NT2+1
   LXI H,RX
   MVI A,0F0H
   ANA E
   RRC
   RRC
   RRC
   RRC
   MOV C,A
   DAD B
   MOV A,M
   STA NT2
   RET
EN:   CALL ACP
   MOV A,D   ;ОПР.НАЛИЧИЯ ПЕРЕГРУЗКИ
   ORA A
   JNZ ZV
   MOV A,E
   ORA A
   JNZ ZV
   JMP PRG1
ZV:   MVI A,80H
   ANA D
   JNZ PRG2
   CALL E4 ;ВЫЧИТАНИЕ НОЛЯ(РЕЗ.В DE)
;В РЕГИСТРЕ D D7=1 -В DE  ОТРИЦАТЕЛЬНОЕ ЧИСЛО
   LXI H,G6  ;АДРЕС 1-Й ПРОМ.ЯЧЕЙКИ.
   MOV M,E
   INX H
   MVI A,7FH
   ANA D
   MOV M,A
   MVI A,80H
   ANA D
   JZ  H0
   MVI A,MINUS
   JMP Z9
H0:   MVI A,SPACE
Z9:   STA U2
   LXI H,NT2 ;АДР.НАЧ.ТЕКСТА
   LXI B,KT2 ;АДР.КОН.
   LXI D,G6
IC:   CALL TTYP
   LDA N
   DCR A
   STA N
   RZ 
   LDA P1
   INR A  ;СЛЕДУЮЩИЙ ВХОД
   STA P1
   JMP @002
PRG1: LXI H,NT2  
   LXI B,KT2P
   CALL TTYP
   LXI H,NTP1
   LXI B,KTP1
   JMP IC
PRG2: LXI H,NT2
   LXI B,KT2P
   CALL TTYP
   LXI H,NTP2
   LXI B,KTP2
   JMP IC
E4:   LHLD RI0
E6:   DAD D
   JC  WA
   CALL DK
   XCHG
   MVI A,80H
   ORA D
   MOV D,A
   RET
WA:   XCHG
   RET
NT1:  DB  00H   ;РУССКИЙ РЕГ.
   DB 02H  ;ВК
   DB 08H  ;ПС
   DB 08H  ;ПС
   DB 08H  ;ПС
   DB 06H   ;Н
   DB 10H   ;Е
   DB 0DH   ;П
   DB 03H   ;О
   DB 14H   ;С
   DB 0AH   ;Р
   DB 10H   ;Е
   DB 12H   ;Д
   DB 14H   ;С
   DB 01H   ;Т
   DB 19H   ;В

;   DB 1BH   ;РЕГ.ЦИФР
;   DB 07H   ;.
;   DB 00H   ;РУССКИЙ РЕГ.

   DB 10H   ;Е
   DB 06H   ;Н
   DB 06H   ;Н
   DB 18H   ;А
   DB 1DH   ;Я
   DB 04H   ; 
   DB 01H   ;Т
   DB 10H   ;Е
   DB 09H   ;Л
   DB 10H   ;Е
   DB 07H   ;М
   DB 10H   ;Е
   DB 01H   ;Т
   DB 0AH   ;Р
   DB 0CH   ;И
   DB 1DH   ;Я
   DB 1BH   ;РЕГИСТР ЦИФР
   DB 07H   ;.
   DB 08H   ;ПС
ZH:   DB  02H   ;ВК
KT1:  DB  08H   ;ПС
NTP2: DB  11H   ;ПЛЮС
   DB  00H   ;РУС.
   DB  0DH   ;П
   DB  10H   ;Е
   DB  0AH   ;Р
   DB  1BH   ;ЦИФР.
   DB  07H   ;.
   DB  04H   ; 
   DB  04H   ; 
KTP2: DB  04H   ; 
NTP1: DB  18H   ;МИНУС
   DB  00H   ;РУС.
   DB  0DH
   DB  10H
   DB  0AH
   DB  1BH
   DB  07H
   DB  04H
   DB  04H
KTP1: DB  04H

;МОДУЛЬ ПЕРЕДАЧИ (2 ЧАСТЬ).
;ПЕРЕДАЧА СОДЕРЖИМОГО ПАМЯТИ .
@001:CALL RP4
   MVI A,KN3
   STA PB1
   LDA PC1
   ANI 01H   ;ОБХОД?
   JNZ A04
   LXI H,NT3 ;АДР.НАЧ.ТЕКСТА
   LXI B,KT3 ;АДР.КОН.ТЕКСТА
   CALL TTYP   ;ПЕРЕДАЧА
   XRA A
   STA ISS   ;ИНКР.СЧЕТЧИК СТРОК
   STA SBT
   STA WY
   STA SV ;ЯЧ.НОМЕРА СТРОКИ
   LXI H,BE10
   SHLD TU0
   LHLD NB1 ;АДР.НАЧ.1 БЛОКА
   CALL RP13
   MVI A,82H
   STA JA1
   LDA KOL    ;КОЛ.ДАННЫХ
   CALL @009  ;ПЕРЕДАЧА ДАННЫХ
   JMP A04
@009: STA SCHS   ;СЧЕТЧИК СТРОК
   XRA A
   STA SBT
   MVI A,0FFH
   STA IM ;ПРИЗНАК 1 ПРОХОДА
   JMP ?79
?78:  POP H
?79: LDA KOL
   ADD A
   MOV C,A
   MVI B,00H
;(BC-РАЗН.АДР.БЛОКОВ-2)
   MOV E,M
   INX H
   MOV D,M
   DCX H
   DAD B
   PUSH H
; ОПРЕДЕЛЕНИЕ  ПЕРЕГРУЗКИ
   XRA A
   CMP D
   JNZ MP
   CMP E
   JNZ MP
   MVI A,0FH ;ПРИЗНАК ОТР.ПЕРЕГРУЗКИ
   STA WY
MP:   MVI A,40H
   ANA D
   JZ  DP
   MVI A,0F0H  ;ПРИЗН.ПОЛОЖИТЕЛЬНОЙ ПЕРЕГР.
   STA WY
DP:   CALL E5 ;ВЫЧИТАНИЕ НУЛЯ
   XCHG
   SHLD G6
   MOV A,H
   ANI 80H
   JZ  LD
   MVI A,MINUS
   JMP AP
LD:   MVI A,SPACE
AP:   STA U2
   LDA SBT
   ORA A
   JNZ ?01
   LDA SCHB   ;СЧЕТЧИК БЛОКОВ
   ANA A
   JNZ R01
   POP H
   JMP A04
R01:STA SBT
   LXI H,BE10
   SHLD TU0
   LXI H,ZH
   LXI B,ZH+1
   CALL TTYP
   POP H
   LDA SCHS
   ORA A
   JZ  AE
   DCR A
   STA SCHS
   LDA IM
   ORA A
   JZ  XI
   LDA ISS
   JMP FY
XI:   MVI B,00H
   LDA ISS
   MOV C,A
   LHLD NB1 ;АДР.НАЧ.БЛОКА 1
   DAD B
FY:   INR A
   INR A
   STA ISS
   PUSH H
   CALL TR ;НУМЕРАЦИЯ СТРОК
   LXI H,NT2
   LXI B,NT2+2
   CALL TTYP
   LDA IM
   ORA A
   JNZ ZL
   XRA A
   STA WY
   JMP ?78
ZL:   XRA A
   STA IM
; ИНДИКАЦИЯ  ПЕРЕГРУЗКИ
?01:  LDA WY
   ANI 0FH
   JZ  RO
   LXI H,NTP1
   LXI B,KTP1
   JMP NV
RO:   LDA WY
   ANI 0F0H
   JZ  TX
   LXI H,NTP2
   LXI B,KTP2
   JMP NV
TX:   LXI H,U2
   LXI B,KT2
   LXI D,G6
NV:   CALL TTYP
   XRA A
   STA WY
   LDA SBT
   DCR A
   STA SBT
   LHLD TU0
   INX H
   INX H
   SHLD TU0
   JMP ?78
AE:   LHLD NB1
   MVI B,00H
   LDA ISS
   MOV C,A
   DAD B
   RET
NT3:  DB  02H   ;ВК
   DB  08H   ;ПС
   DB  08H   ;ПС
   DB  00H   ;РУС.
   DB  0DH   ;П
   DB  18H   ;А
   DB  07H   ;М
   DB  1DH   ;Я
   DB  01H   ;Т
   DB  17H   ;Ь
   DB  1BH   ;ЦИФР.
   DB 07H    ;.
KT3:DB 08H   ;ПС
E5:PUSH H
   PUSH D
   LHLD TU0
   MOV E,M 
   INX H
   MOV D,M
   XCHG
   POP D
   CALL DK
   CALL E6
   POP H
   RET

;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
A04:CALL RP10
   DI
   CALL A05
   JMP  A06
;ВВОД ИЛИ ВЫВОД БАЙТА ЧЕРЕЗ ППА (РЕЖИМ 2).
A05:MVI A,KN6
   STA PB1
   LDA PC1
   ANI 01H
   JZ  A07
   XRA A
   STA S1
   RET        ;ОБХОД
A07:  LDA S1
   CPI 01H
   JZ  C03
   CPI 02H
   JZ  C04
   CPI 03H
   JZ  C05
   LXI H,$+6
   JMP WB ;ВВОД БАЙТA
   STA C25
   MVI A,01H
   STA S1
   RET
C03:  LXI H,$+6
   JMP WB
   STA O1
   MVI A,02H
   STA S1
   RET
C04:  LXI H,$+6
   JMP WB
   STA O2
   MVI A,03H
   STA S1
   RET
C05:  LDA O1
   MOV E,A
   LDA O2
   MOV D,A
   LDA C25
   ORA A
   JNZ A09
   XCHG
   MOV A,M
   STA PA1
   XRA A
   STA S1
   RET
A09:  LXI H,$+6
   JMP WB
   XCHG
   MOV M,A
   XRA A
   STA S1
   RET
WB:   LDA PC1
   ANI 08H
   RZ
   LDA PC1
   ANI 20H
   RZ
   LDA PA1
   PCHL

KZ    EQU 1FFFH
MKB   EQU 08H
MPS   EQU 0FH
;/////////////// МОДУЛЬ АНАЛИЗА //////////////
R2:MVI A,KN4
   STA PB1
   LDA PC1
   ANI 01H
   JZ  RP2 ;РАСШ.ПО АНАЛИЗУ
   CALL RP5 ;РАСШИРЕНИЕ
   LDA MW1   ;ПРИЗНАК 1 ПУСКА
;( УСТАНАВЛИВАЕТСЯ ПРИ ЗАПУСКЕ СИСТЕМЫ )
   ORA A  
   MVI A,00H
   STA MW1
   JZ  UV
   LHLD NB1 ;АДРЕС 1 БЛОКА
   SHLD UX ;УКАЗАТЕЛЬ Х-БЛОКА
   LDA KOL
   ADD A
   MOV E,A
   MVI D,00H
   DAD D
   SHLD UY ;УКАЗАТЕЛЬ Y-БЛОКА
   LXI H,BE10 ;АДРЕС НУЛЯ 1 БЛОКА
   SHLD U0 ;УКАЗАТЕЛЬ ЯЧЕЙКИ С "НУЛЕМ"
   XRA A
   STA SCHB   ;СЧЕТЧИК БЛОКОВ
   STA SCA   ;СЧ.ЦИКЛ.АНАЛИЗА
UV:LDA SCHB
   CPI MKB   ;МАКС.КОЛ.БЛОКОВ
   JZ  B05   ;ОБХОД ПОСЛЕ ФОРМ.ВСЕХ БЛОКОВ
;$$$$$$$$$$$$ ИЗМЕРЕНИЕ НУЛЯ АЦП $$$$$$$$$$$
   MVI A,0C0H ;ОТКР.КЛ.,ЗАКР.КОММУТАТОРА
   STA P1        ;ПРОМ.ЯЧ.PB1
   CALL ACP
   LHLD U0
   MOV M,E
   INX H
   MOV M,D
   INX H
   MOV M,E
   INX H
   MOV M,D    ;НУЛИ X-БЛОКА И Y-БЛОКА РАВНЫ
;%%%%%%%%%%% ЗАПОЛНЕНИЕ X-БЛОКА %%%%%%%%%%%
   LHLD UX ;УКАЗАТЕЛЬ X-БЛОКА
   CALL IY
   CALL RP6
;################ ЗАДЕРЖКА ###############
   LXI B,KZ  ;КОНСТ.ЗАДЕРЖКИ 
B02:  DCX B
   XRA A
   CMP B
   JNZ B02
   CMP C
   JNZ B02
;&&&&&&&&&&& ЗАПОЛНЕНИЕ Y-БЛОКА &&&&&&&&&&&
   LHLD UY   ;УКАЗАТЕЛЬ Y-БЛОКА
   CALL IY
   CALL RP7
;<<<<<<<<<<<<<< ВЫЧИТАНИЕ <<<<<<<<<<<<<
   LHLD UY
   XCHG
   LHLD UX
   LDA KOL
   ADD A
   SUI 02H
   MOV C,A
   MVI B,00H
   DAD B
   MOV B,H
   MOV C,L
   LHLD UX
   CALL MF ;ВЫЧИТАТЕЛЬ
   CALL RP8
;++++++++++++++++++++++++++++++++++++++
   MVI A,KN5
   STA PB1
   LDA PC1
   ANI 01H   ;ТИП АНАЛИЗА
   JZ  T2 ;ТИП 2
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
B06:  LHLD KDT  ;АДРЕС КОНЦА ТАБЛ.ПРИРАЩЕНИЙ
   PUSH H
   POP  B
   LHLD RF ;АДРЕС РЕЗ.ВЫЧИТАТЕЛЯ
   XCHG
   LXI  H,DT ;АДР.ТАБЛ.ПРИРАЩЕНИЙ (ДЕЛЬТА-ТАБЛИЦЫ)
   CALL MF
   LDA PP
   ORA A
   JZ  B14
   LDA KOL
   MOV L,A
   MVI H,00H
   DAD H
   DAD H
   PUSH H
   POP B
   LHLD UX
   DAD B
   SHLD UX
   LHLD UY
   DAD B
   SHLD UY
   LHLD U0
   INX H
   INX H
   INX H
   INX H
   SHLD U0
   LXI B,KZ
   XRA A
B03:DCX B
   CMP B
   JNZ B03
   CMP C
   JNZ B03
   LDA SCHB
   INR A
   INR A
   STA SCHB
B14:  LDA SCA   ;СЧЕТЧИК ЦИКЛОВ АНАЛИЗА
   INR A
   STA SCA
   CPI MPS   ;МАКС.ПОЛОЖЕНИЕ СЧЕТЧИКА
   JNZ B05
   XRA A
   STA SCA
B05:  JMP A04   ;В МОДУЛЬ ПЕРДАЧИ
;  (НА ВВОД-ВЫВОД ЧЕРЕЗ ППА)
;"""""""""""""" 2 ТИП АНАЛИЗА """""""""""""
T2:   LDA SCA   ;СЧЕТЧИК ЦИКЛОВ АНАЛИЗА
   ORA A
   JNZ B06
   CALL RP9
;&&&&&&& ФОРМИРОВАНИЕ ТАБЛИЦЫ ПРИРАЩЕНИЙ &&&&&&
   LDA KOL   ;РАЗМЕР ТАБЛ.ПР.
   STA RDTH
   LHLD RF   ;ПАМЯТЬ РЕЗ.ВЫЧИТАТЕЛЯ
   LXI D,DT  ;АДР.ТАБЛ.ПРИРАЩЕНИЙ
B10:  MOV C,M
   INX H
   MOV B,M
   INX H
   PUSH H
   PUSH B
   POP H
   CALL DL2
   CALL DL2
   DAD B
   INX H
   INX H
   INX H
   INX H
   INX H
   MOV A,L
   STAX D
   INX D
   MOV A,H
   STAX D
   INX D
   POP H
   LDA RDTH
   DCR A
   STA RDTH
   JNZ B10
   JMP B14

IY:LDA KOL   ;ОБЩEЕ КОЛ-ВО ВХОДОВ
   STA DSV   ;ДЕКРЕМЕНТНЫЙ СЧ. ВХОДОВ
   LDA P1
   ANI 80H
   STA P1
B01:   CALL ACP
   MOV M,E
   INX H
   MOV M,D
   INX H
   LDA P1
   INR A
   STA P1
   LDA DSV
   DCR A
   STA DSV
   JNZ B01
   RET
;$$$$$$ ПОДПРОГРАММА ДЕЛЕНИЯ НА 2 $$$$$$
DL2:  MOV A,C
   RAR
   JNC B07
   CMC
B07:  MOV C,A
   MOV A,B
   RAR
   JNC B08
   CMC
   MOV B,A
   MVI A,80H
   ORA C
   MOV C,A
   JMP B11
B08:  MOV B,A
B11:  RET

;HL-АДРЕС НАЧАЛА ТЕКСТА
;BC-АДРЕС КОНЦА ТЕКСТА
;DE-АДРЕС НАЧАЛА ЧИСЛОВОГО БЛОКА
;(ТЕКСТ В ТЕЛЕТАЙПНЫХ КОДАХ) 
;D7=1 - ЗАПРОС НА ПРЕОБРАЗОВАНИЕ ЭЛЕМЕНТА
;ЧИСЛОВОГО БЛОКА.
;В ЭТОМ СЛУЧАЕ D0-D2 - КОЛИЧЕСТВО РАЗРЯДОВ 
;ПЕРЕД ЗАПЯТОЙ
ZPT   EQU 06H
RGCF  EQU 1BH
TTYP:  PUSH PSW
   INX B
@61:  MOV A,M
   ANI 80H
   JNZ @60
   MOV A,M
   CALL TELETYPE
@67:  INX H
   MOV A,H
   CMP B
   JNZ @61
   MOV A,L
   CMP C
   JNZ @61
   POP PSW
   RET
@60:  MOV A,M
   ANI 0FH
   STA @63
   MVI A,RGCF
   CALL TELETYPE
   PUSH H
   PUSH B
   XCHG
   MOV C,M
   INX H
   MOV B,M
   INX H
   XCHG
   CALL KP
   PUSH B
   MOV A,B
   ANI 0F0H
   RRC
   RRC
   RRC
   RRC
   CALL EA
   POP B
   DCX SP
   DCX SP
   MOV A,B
   ANI 0FH
   CALL EA
   POP B
   DCX SP
   DCX SP
   MOV A,C
   RRC
   RRC
   RRC
   RRC
   ANI 0FH
   CALL EA
   POP B
   MOV A,C
   ANI 0FH
   CALL EA
   POP B
   POP H
   JMP @67

EA:   LXI H,RX
   MVI B,00H
   MOV C,A
   DAD B
   MOV A,M
   CALL TELETYPE
   LDA @63
   DCR A
   STA @63
   JNZ @65
   MVI A,ZPT
   CALL TELETYPE
@65: RET
RX:DB  0DH
   DB  1DH
   DB  19H
   DB  10H
   DB  0AH
   DB  01H
   DB  15H
   DB  1CH
   DB  0CH
   DB  03H

;ПЕРЕДАЧА ТЕЛЕТАЙПН. КОДА (2-ЧАСТОТН.)
F1 EQU 57 ;1126 ГЦ
F0 EQU 50 ;1276 ГЦ
Z1 EQU 45
Z0 EQU 51 ;50 БОД
TELETYPE:PUSH B 
     PUSH D
     PUSH H
     MOV  C,A 
     CALL NUL
     MVI  B,05H
CIKL:   ANI  10H
     CZ   NUL
     CNZ  EDIN
     MOV  A,C
     RLC
     MOV  C,A
     DCR  B
     JNZ  CIKL
     CALL EDIN
     CALL EDIN
     POP  H
     POP  D
     POP  B
     RET
NUL:MVI  H,Z0
     MVI  E,F0
     STA  6000H
     JMP  SIGN
EDIN:  MVI  H,Z1
     MVI  E,F1
     STA  5800H
SIGN: PUSH PSW
@33: MOV  D,E
TON: DCR  D
     JNZ  TON
     STA  7000H  ;ПЕРЕКЛ.ТРИГЕРА
     DCR  H
     JNZ  @33
     POP  PSW
     RET

;ДВОИЧНО-ДЕС.ПРЕОБР.
KP:  PUSH D
     PUSH H
     PUSH PSW
     MVI  A,0FFH
     STA  @58
     LXI  H,0000H
     DAD  SP
     SHLD @50
     LXI  H,@56
     MOV  A,C
     ANI  0FH
     MOV  E,A
     MVI  D,00H
     DAD  D
     MOV  A,M
     STA  @51
     MVI  H,00H
     MOV  A,C
     RRC
     RRC
     RRC
     RRC
     ANI  0FH
     MOV  L,A
     DAD  H
     LXI  D,@55
     DAD  D
     SPHL
     POP  H
     SHLD @52
     MVI  H,00H
     MOV  A,B
     ANI  0FH
     MOV  L,A
     DAD  H
     LXI  D,@54
     DAD  D
     SPHL
     POP  H
     SHLD @53
     LDA  @51
     LHLD @52
     MVI  B,00H
     MOV  C,A
@57: MOV  A,L
     STA  MB
     MOV  A,H
     STA  SB
     DAD  B
     LDA  MB
     ADD  C
     MOV  A,L
     DAA
     MOV  E,A
     MVI  D,00H
     JNC  S
     MOV  A,L
     ANI  0FH
     DAA
     RRC
     RRC
     RRC
     RRC
     ANI  0FH
     MOV  D,A
     MOV  A,L
     RRC
     RRC
     RRC
     RRC
     ANI  0FH
     ADI  00H
     DAA
     ADD  D
     DAA
     RRC
     RRC
     RRC
     RRC
     ANI  0FH
     MOV  D,A
S:   LDA  SB
     ADD  B
     MOV  A,H
     DAA
     ADD  D
     DAA
     MOV  D,A
     LDA  @58
     ORA  A
     JZ   @59
     XRA  A
     STA  @58
     LHLD @53
     MOV  B,D
     MOV  C,E
     JMP  @57
@59: MOV  B,D
     MOV  C,E
     LHLD @50
     SPHL
     POP  PSW
     POP  H
     POP  D
     RET
@54: DW   0000H
     DW   256H
     DW   512H
     DW   768H
     DW   1024H
     DW   1280H
     DW   1536H
     DW   1792H
     DW   2048H
     DW   2304H
     DW   2560H
     DW   2816H
     DW   3072H
     DW   3328H
     DW   3584H
     DW   3840H
@55: DW   0000H
     DW   16H
     DW   32H
     DW   48H
     DW   64H
     DW   80H
     DW   96H
     DW   112H
     DW   128H
     DW   144H
     DW   160H
     DW   176H
     DW   192H
     DW   208H
     DW   224H
     DW   240H
@56: DB   00H
     DB   1H
     DB   2H
     DB   3H
     DB   4H
     DB   5H
     DB   6H
     DB   7H
     DB   8H
     DB   9H
     DB   10H
     DB   11H
     DB   12H
     DB   13H
     DB   14H
     DB   15H

;16-РАЗР.ВЫЧИТАТЕЛЬ
MF:PUSH PSW
   XRA A
   STA PP
   SHLD @1F1;@1F1 И @1F2 
   XCHG
   SHLD @2F1;@2F1 И @2F2 
   INX B 
   INX B
   MOV A,B
   CMA
   MOV H,A
   MOV A,C
   CMA
   MOV L,A
   INX H
   SHLD @1FK1;@1FK1 И @1FK2 
   LHLD RF
   SHLD @3F1 ;@3F1 И @3F2
   LXI H,00H
   DAD SP
   SHLD STEK
CKL: LHLD @1F1 
   SPHL
   POP B
   LXI H,00H 
   DAD SP
   SHLD @1F1
   LHLD @2F1
   SPHL
   POP D
   LXI H,00H
   DAD SP
   SHLD @2F1
   XCHG
   MOV A,B
   ANI 0FH
   MOV B,A
   MOV A,H
   ANI 0FH
   CMA
   MOV H,A
   MOV A,L
   CMA
   MOV L,A
   INX H
   MOV A,H
   ORA L
   JZ  IB
   DAD B
   JC  IA
   MVI A,0FFH
   STA PP
   MOV A,H
   CMA
   MOV H,A
   MOV A,L
   CMA
   MOV L,A
   INX H
IA:XCHG
   LHLD @3F1
   INX H
   INX H
   SPHL
   PUSH D
   LXI H,02H
   DAD SP
   SHLD @3F1
   LHLD @1FK1
   XCHG
   LHLD @1F1
   DAD D
   MOV A,H
   ORA A
   JNZ CKL
   MOV A,L
   ORA A
   JNZ CKL
UI:LHLD STEK
   SPHL
   POP PSW
   RET

IB:DAD B
   NOP
   JMP IA

DK:MOV A,H
   CMA
   MOV H,A
   MOV A,L
   CMA
   MOV L,A
   INX H
   RET

ACP: PUSH H
   PUSH B
   PUSH PSW
   LDA  P1
   STA  PB1

   LDA  P1
   ORI  80H
   STA  PB1     ;ПУСК АЦП
   POP  H
   PUSH H
   POP  H
   PUSH H
   POP  H
   PUSH H
   POP  H
   PUSH H
   POP  H
   PUSH H
   LDA  P1
   ANI  7FH
   STA  PB1
   POP  H
   PUSH H
   POP  H
   PUSH H
   POP  H
   PUSH H
   POP  H
   PUSH H
   POP  H
   PUSH H

   LDA  MZR
   MOV  E,A
   LDA  SZR
   ANI  3
   MOV  D,A
   CPI  3
   JNZ  N56
   MOV  A,E
   ADI  10
   JNC  N56
   LXI D,0FFFFH ;ПЕРЕГРУЗКА
N56:POP PSW
   POP B
   POP H
   RET
   END

ПЕРЕЧНИ ЭЛЕМЕНТОВ К СХЕМАМ ПРИНЦИПИАЛЬНЫМ ЭЛЕКТРИЧЕСКИМ

ПЛАТА ПРОЦЕССОРНАЯ

РЕЗИСТОРЫ
          R1, R2     МЛТ-0,25          1К0
          R3         МЛТ-0,25          200
          R4, R5     МЛТ-0,25          1К2
          R6, R7     МЛТ-0,5           510
          R8, R9     МЛТ-0,25          1К0

КОНДЕНСАТОРЫ
          C1, C2    КТ-1               1000ПФ
          C3        КТ-1               330ПФ
          C4, C5    КТ-1               390ПФ
          C6-C12    КЛС                100Н

ТРАНЗИСТОРЫ
          VТ1, VТ2   КТ315И

МИКРОСХЕМЫ
          DD1       К155ЛА3
          DD2       К155ТМ2
          DD3       К155ИД3
          DD4       КР580ВВ55
          DD5       КР537РУ8Б1                  ВОЗМОЖНА
                                                УСТАНОВКА
                                                К537РУ9А, 
                                                К537РУ9Б
          DD6       К573РФ2
          DD7       КР580ВМ80А
          DD8, DD9  К555ЛР11
          Z1    РЕЗОНАТОР КВАРЦЕВЫЙ   8МГЦ


ПЛАТА ДОПОЛНИТЕЛЬНЫХ ЭЛЕМЕНТОВ

РЕЗИСТОРЫ
         R1         МЛТ-0,25           1К0
         R2         МЛТ-0,5            160
         R3         МЛТ-0,25           20К
         R4         МЛТ-0,25           2К0
         R5         МЛТ-0,25           2К4
         R6         МЛТ-0,25           27К
         R7         МЛТ-0,25           5К6
         R8         МЛТ-0,5            820
         R9         МЛТ-0,25           100К
         R10        МЛТ-0,25           3К6
         R11        СП5-3              1К0
         R12        МЛТ-0, 25          510
         R13        СП5-3              200

КОНДЕНСАТОРЫ
         C1-C8      КЛС                100Н
         C9         К50-6              200МКФ 10В
         C10        К50-6              100МКФ 10В
         C11-C13    КЛС                100Н
         C14        К50-6              100МКФ 10В
         C15        К50-6              100МКФ 10В
         C16        К50-6              100МКФ 25В

ДИОДЫ
         VD1        КД510А
         VD2        КС156А

МИКРОСХЕМЫ
         DD1        К555ЛР11
         DD2        К155ЛН1
         DD3, DD4   К155ТВ1
         DD5        К155ЛН1
         DD6        К155ЛА7
         DD7        К155ЛИ1
         DD8        К1113ПВ1
         DD9, DD10  К155ЛП11
         DD11       К155ТМ2
         DD12-DD20  К561КП2
         DA1        К140УД7


УЗЕЛ СОЕДИНИТЕЛЬНЫЙ

РЕЗИСТОРЫ
         R1         МЛТ-0,25           3К3
         R2         МЛТ-0,25           16К

ДИОДЫ
         VD1, VD2   КД510А
         VD3-VD8    Д2В

КНОПКИ
         SB1-SB6    П2К                         С ФИКСА-
                                                ЦИЕЙ
         SB7        П2К                         БЕЗ ФИК-
                                                САЦИИ

Автор: NSitnov

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js