Микро-80/Радио 1983-09/Модуль сопряжения

Материал из Emuverse
Данный материал защищён авторскими правами!

Использование материала заявлено как добросовестное, исключительно для образовательных некоммерческих целей.

Автор: Г. ЗЕЛЕНКО, В. ПАНОВ, С. ПОПОВ

Источник: http://retro.h1.ru/MK80/Io/M80Magnt.php

Для долговременного хранения информации в ЭВМ используют самые различные устройства. Наиболее распространенными являются устройства, в которых для записи и хранения информации применяют магнитные носители: магнитные ленты, магнитные диски и т. д. Обычно эти устройства из-за своей сложности имеют высокую стоимость, поэтому с появлением дешевых микро-ЭВМ для долговременного хранения информации стали все чаще и чаше использовать кассетные магнитофоны. Для этой цели были разработаны как специализированные цифровые магнитофоны, так и устройства сопряжения с бытовыми кассетными магнитофонами.

В этой статье вы познакомитесь с описанием модуля сопряжения бытового кассетного магнитофона с микроЭВМ, Модуль позволяет записывать и считывать информацию со скоростью 1500 бит/с. Плотность записи при этом составляет около 32 бит на миллиметр. Совместно с модулем авторы используют кассетный магнитофон «Романтик-306» и кассеты МК-60-2. однако возможно использование любого другого близкого по параметрам монофонического или стереофонического кассетного магнитофона. При указанной скорости записи и чтения данных на одну кассету МК-60-2 с двух сторон можно записать до 600 килобайт информации.

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

Запись информации на ленту производится последовательно бит за битом по методу двухфазного кодирования. На рис.1 приведены временные диаграммы, поясняющие принцип работы модуля сопряжения. На диаграмме «А» показан байт Е6Н (его двоичное представление имеет вид 11100110), преобразованный в последовательную форму. Отдельные разряды байта следуют с периодом Тслед причем запись байта начинается со старшего разряда, то есть сначала должен быть записан разряд D7, затем D6, D5 и т. д. Однако непосредственно записать такой сигнал на магнитную ленту нельзя, так как частотная характеристика магнитофона не соответствует спектру записываемого сигнала. Это происходит потому, что в потоке данных неравномерно чередуется количество нулей и единиц, а следовательно, имеется постоянная составляющая, которая не может быть записана на обычный магнитофон. Для того чтобы записать такой поток данных, обычно применяют один из известных способов модуляции несущей частоты — по амплитуде, частоте или фазе.

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

На диаграмме «Б» (см. рис.1) показан двухфазный код байта данных Е6Н, записываемый на ленту. Этот код формируется следующим образом. Всегда в середине передаваемого бита (моменты времени Тс) происходит изменение его значения на противоположное, причем изменение с 1 на 0 означает, что передан бит, равный 0, а обратное изменение, с 0 на 1 — бит, равный 1.

На границе двух одинаковых по значению смежных битов (моменты времени Тr) также всегда происходит изменение значения двухфазного кода. На границе разных по значению смежных битов изменение двухфазного кода не происходит.

Подобным образом должны быть закодированы все биты информации, записываемые на ленту. Период времени Тслед, выбран равным 0,666 мс. При этом скорость записи-считывания равна 1500 бит/с. Опыт показал, что при такой скорости можно обеспечить надежное, практически безошибочное считывание информации.

Рассмотрим теперь, каким образом при чтении происходит декодирование двухфазных кодов. Предположим, что считывание данных началось в момент времени, обозначенный на рис.2 t0. Подпрограмма чтения, которая будет описана ниже, позволяет считывать и распознавать информацию примерно 1 раз в 15 мкс. Начиная с момента времени t0, подпрограмма считывания производит чтение информации и ее анализ (момент времени ta на рис.2) до тех пор, пока не произойдет изменение уровня сигнала по сравнению с предыдущим считанным значением. На рис.2 эти моменты времени обозначены tб. Уровень сигнала, считанный в момент времени tб, рассматривается как полезная информация и поэтому запоминается.


После распознавания и запоминания принятого бита происходит задержка в работе программы, равная 0,75 Тслед, и весь процесс считывания информации начинается вновь.

Рассмотрим, каким образом описанный алгоритм работы модуля сопряжения реализован аппаратно и программно.

На рис.3 приведена принципиальная электрическая схема</a> блока сопряжения кассетного магнитофона с микроЭВМ. Шинный формирователь D1 связывает блок с младшим разрядом шины данных ШД[0]. На элементах D2 и D3.1 собран дешифратор адреса устройства. При наличии на младших восьми разрядах шины адресов адреса 01Н он формирует низкий уровень на входе «выбор модуля» (ВМ) микросхемы D1, разрешая тем самым работу шинного формирователя. На вход ВШ шинного формирователя поступает сигнал ЧТВВ с шины управления микро-ЭВМ. Если на входе ВШ низкий уровень, то информация со входа DI1 поступает 1 линию ШД[0] шины данных.

При записи на магнитную ленту на D — триггере D4 очередной бит данных хранится до прихода следующего сигнала записи в устройство с адресом 01Н. С выхода триггера D4 через инвертор D3.3 и фильтр нижних частот закодированный бит данных поступает на вход «запись с звукоснимателя» кассетного магнитофона.

При воспроизведении сигнал с линейного выхода магнитофона через фильтр нижних частот поступает на вход операционного усилителя А1. На выходе усилителя формируются прямоугольные импульсы амплитудой ±5 В. Диод V1 срезает отрицательную составляющую сигнала. Далее считанный и сформированный сигнал через микросхему D1 поступает на шину данных микро-ЭВМ.

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

Программное обеспечение блока сопряжения выполняет следующие функции:

  • при записи данных сначала производит преобразование записываемого байта на параллельного в последовательный вид. то есть все биты одного записываемого байта последовательно заносятся в триггер D4;
  • затем каждый записываемый бит кодирует в соответствии с методом двух-фазного кодирования, который был описан выше;
  • и наконец, формирует соответствующие временные интервалы.

На рис.4 представлен текст подпрограммы записи ЗПМАГ. Эта подпрограмма производит запись одного байта информации. Для записи последовательности байтов необходимо несколько раз обратиться к этой подпрограмме. Для этого основная программа помещает байт информации, который необходимо записать, в регистр А и после этого вызывает подпрограмму по команде CALL ЗПМАГ.

 
F100 C5		ЗПМАГ:	PUSH 	B	;СОХРАНИТЬ СОДЕРИИМОЕ ВС
F101 D5			PUSH 	D	;СОХРАНИТЬ СОДЕРЖИМОЕ DE
F102 F5			PUSH 	PSW	;СОХРАНИТЬ СОДЕРЖИМОЕ PSW
F103 57			MOV 	D,A	;D=ЗАПИСЫВАЕМОМУ БАЙТУ
F104 0E08		MVI	С,8	;С=8 (СЧЕТЧИК БИТОВ В БАЙТЕ)
F106 7A		ЗПЦКЛ:	MOV	А,0	;А=ЗАПИСЫВАЕМОМУ БАЙТУ
F107 07			RLC		;МЛ. РАЗРЯД А=ЗАПИС. БИТУ
F108 57			MOV 	D,А	;D=ЗАПИСЫВАЕМОМУ БАЙТУ
;ФОРМИРОВАНИЕ ДВУХФАЗН. КОДА
F109 3E00		MVI 	A,1	;МЛ. РАЗРЯДА А=1
F10B АА			XRA 	D	;"ИСКЛ. ИЛИ" С ЗАПИС. БИТОМ
F10C D301		OUT 	01	;ВЫВОД РЕЗУЛЬТАТА
F10E CD21F1		CALL	ЗАДР05	;ЗАДЕРЖКА ПОЛПЕРИОДА Тслед.
F111 3E00		MVI 	А,0	;МЛ. РЯЗРЯД А=0
F113 AA			XRA 	D	;"ИСКЛ. ИЛИ" С ЗАПИС. БИТОМ
F114 D301		OUT 	01	;ВЫВОД РЕЗУДЬТАТА
F116 CD21F1		CALL	ЗАДР05	;ЗАДЕРЖКА ПОЛПЕРИОДА Тслед.
F119 0D			DСR 	С	;ВСЕ БИТЫ ЗАПИСАНЫ?
F11A C206F1		JNZ 	ЗПЦКЛ	;ЕСЛИ НET, ТО ПОВТОРИТЬ
F11D F1 		POP 	РSW	;ВОССТАНОВИТЬ СОДЕРЖ. PSW
F11E D1			POP 	D	;ВОССТАНОВИТЬ СОДЕРЖ. DE
F11F C1			POP 	В	;ВОССТАНОВИТЬ СОДЕРЖ. ВС
F120 С9			RET		;ВОЗВРАТ В ОСНОВНУЮ ПРОГР.
F121 0628	ЗАДР05:	MVI B,40D	;В КОНСТАНТЕ ЗАДЕРЖКИ
F123 05		ЗАДР55:	DCR В		;В=В - 1
F124 C223F1		JNZ 	ЗАДР55	;ЕСЛИ В НЕ РАВНО 0, ТО ПОВТОР
F127 C9			RET		; ВОЗВРАТ ИЗ ПОДПРОГ. ЗАДР05

Рис. 4

Перед началом своей работы подпрограмма «сохраняет» содержимое всех регистров микропроцессора в стеке, а по окончании — восстанавливает содержимое регистров. Параллельно-последовательное преобразование происходит при выполнении команды циклического сдвига содержимого аккумулятора — RLC. При этом в младший разряд аккумулятора при каждом выполнении этой команды оказывается записанным очередной бит данных, начиная со старшего бита записываемого байта данных.

Двухфазное кодирование реализовать очень просто, если использовать операцию «исключающее ИЛИ» над содержимым аккумулятора и какого-либо внутреннего регистра микропроцессора.

Напомним, что при выполнении операции «исключающее ИЛИ» над двумя битами в результате будет 1 в том и только в том случае, если входные величины имеют разные значения. Первые полпериода (0,5Тслед), в этот временный интервал формирует специальная подпрограмма «ЗАДР05», выполняется операция «исключающее ИЛИ» над передаваемым битом и 1, вторые полпериода аналогичная операция выполняется с 0.

Теперь несколько слов о подпрограмме «ЗАДР05». При обращении к этой подпрограмме в работе основной программы происходит временная задержка (в нашем случае полпериода тактовой частоты), длительность которой определяется числом, помещенным в регистр В. При частоте тактовых сигналов С1 и С2 микропроцессора, равной 2 МГц. это число равно 40. При любой другой (меньшей) частоте задающего генератора эта величина может быть пересчитана по формуле:

константа=40 * Fтакт/2.

где Fтакт — в МГц.

В поле комментариев приведены соответствующие разъяснения для каждой команды.

Подпрограмма чтения несколько сложнее подпрограммы записи и вот по каким причинам. Во-первых, информация записывается на ленту в виде сплошного потока битов, а нам важно выделить из этого потока отдельные байты, так как разрядность микроЭВМ равна 8 битам, то есть 1 байту, поэтому для достижения байтовой синхронизации должны быть предусмотрены дополнительные меры. Во-вторых, общая проблема при использовании метода двухфазного кодирования - это задача распознавания: не является ли считанный сигнал инвертированным (в магнитофоне сигнал может инвертироваться как четное, так и нечетное число раз).

F128 C5 	ЧТМАГ:	PUSH	В	; СОХРАНИТЬ СОДЕРЖИМОЕ ВС
F129 D5			PUSH	D	; СОХРАНИТЬ СОДЕРЖИМОЕ DE
F12A 0E00		MVI 	C,0	; В НАЧАЛЕ РЕЗУЛЬТАТ 0
F12C 57			<span class="Mono">MOV 	D,A	; D=ПРИЗНАКУ; БЫЛА ЛИ СИН-
; ХРОНИЗАЦИЯ ДОСТИГНУТА РАНЕЕ
F12D DВ01		IN	01	; ВВОД С МАГНИТОФОНА
F12F 5F			MOV	Е,A	; Е=ПРИНЯТОМУ БИТУ
F130 79		ЦКЛЧТ:	MOV	А,С	; А=РЕЗУЛЬТАТУ
F133 07			RLC		; СДВИГ РЕЗУЛЬТАТА ВЛЕВО
F134 4F 		MOV 	С,А	; ЗАМЕНИТЬ РЕЗУЛЬТАТ
F135 DB01	ИЗМСИГ:	IN	01	; ВВЕСТИ БИТ ДАННЫХ
F137 ВВ 		СМР 	Е	; ТАКОИ ЖЕ КАК И ПРЕДЫ-
; ДУЩИЙ СЧИТАННЫИ БИТ?
F138 CA35F1		JZ 	ИЗМСИГ	; ДА -> ПОВТОРИ ВВОД
F13B E601		ANI 	1	; ТОЛЬКО МЛАДШИЙ БИТ
F13D B1 		ORA 	С	; ОБЪЕДИНИТЬ С ПРЕДЫД. РЕ3.
F13E 4F			MOV 	С,A	; НОВЫЙ РЕЗУЛЬТАТ
F13F CD6EF1		CALL	ЗАДР75	; ЗАДЕРЖКА НА 0,75 Тслед.
F142 DB01		IN	01	; ВВОД БИТА
F144 5F			MOV	Е,А	; СОХРАНИТЬ ПРИНЯТЫЙ БИТ
F145 7A			MOV	A,D	; А=ПРИЗНАКУ ДОСТИЖ. СИНХР.
F146 B7			ORA	A 	; СИНХРОНИЗАЦИЯ ДОСТИГНУТА
F147 F263F1		JP	СТАРТ	; ДА -> ПЕРЕХОД НА СТАРТ
F14A 79			MOV 	A,С	; А=РЕЗУЛЬТАТУ
F14B FEE6		СРI 	0Е6Н	; СРАВНИТЬ С БАИТОМ СИНХР. Е6Н
F14D C257F1		JNZ 	ПИНВС	; ПОПРОВОВАТЬ СРАВНЕНИЕ С
; ИНВЕРСНЫМ БАЙТОМ СИНХР.
F150 AF			XRA 	A	; ОЧИСТИТЬ АККУМУЛАТОР
F151 3200F2		STA 	ИНВЕРС	; УСТАНОВИТЬ ПРИЗНАК ИНВЕРСИИ
F154 C361F1 		JMP 	СТAРТ1	; СИНХРОНИЗАНИЯ ДОСТИГНУТА
F157 FE19	ПИНВС:	СРI 	19Н	; СРАВНИТЬ С ИНВЕРСН. БАЙТОМ
; СИНХРОНИЗАЦИИ
F159 C230F1		JNZ 	ИЗМСИГ	; НЕТ -> ПОВТОР
F15C 3EFF		MVI 	A,0FFH	; А=ПРИЗНАКУ ИНВЕРСИИ
F15E 3200F2		SТA 	ИНВЕРС	; ЗАПОМНИТЬ ЕГО
F161 1609	СТAРТ1:	MVI 	D,9	; D=8 ВИТ + 1
F163 15		СТAРТ:	DCR 	D	; D=D - 1
F164 C230F1		JNZ 	ИЗМСИГ	; ЕСЛИ # 0 -> ПОВТОР
F167 3A00F2		LDA 	ИНВЕРС 	; А=ПРИPНАКУ ИНВЕРСИИ
F16A A9			XRA 	С	; "ИСКЛЮЧ. ИЛИ" С РЕЗУЛЬТАТОМ
F16B D1			POP	D	; ВОССТАНОВИТЬ СОДЕРЖИМОЕ DE
F16C C1			POP	В 	; ВОССТАНОВИТЬ СОДЕРЖИМОЕ ВС
F16D С9			RET		; ВОЗВРАТ В OCHOBHУЮ ПРОГР.
; ПОДПРОГРАММА ЗАДЕРЖКИ
; НА 0,75 ПЕРИОДА Тслед.
F16E 063С	ЗAДР75:	MVI	В,60D	; В=КОНСТАНТЕ ЗАДЕРЖКИ
F170 05		ЗAДР77:	DCR	В	;'B=B - 1
F171 C270F1		JNZ 	ЗАДР77	; В=0 ?
F174 C9			RET				;
F175 		ИНВЕРС:	EQU 	0F175H	;ЯЧЕЙКА ДЛЯ ПРИЗНАКА ИНВЕРСИИ</span>

Рис. 5

Обе эти задачи решены следующим образом. Перед записью блока информации на ленту сначала записывают специальный байт синхронизации. Его значение в данном случае Е6Н. При чтении программа прежде всего определяет, равен ли считанный байт байту синхронизации. Возврат в основную программу не происходит, пока на ленте не будет обнаружен либо байт синхронизации, либо его инверсное значение (19Н). Если обнаруженный байт синхронизации инвертирован, то перед возвратом из подпрограммы инвертируются и все остальные считываемые байты.

Текст подпрограммы чтения «ЧТМАГ» приведен на рис.5. Основная программа вызывает подпрограмму «ЧТМАГ», помещая в аккумулятор величину FFH, что «говорит ей» о необходимости поиска байта синхронизации, или величину 08Н — указатель того, что синхронизация уже была достигнута ранее. Подпрограмма «ЧТМАГ» не изменяет содержимого регистров микропроцессора, за исключением содержимого регистра А, в котором при возврате из подпрограммы находится байт информации, считанный с ленты. Подпрограмма производит считывание информации с ленты бит за битом, пока не будут «накоплены» все 8 битов одного байта.

F000 31FFF0		LXI SP,0F0FFH		;HАCTPОЙKА УКАЗАТЕЛЯ СТЕКА
F003 110020 		LXI D,2000H		;DE=КОЛИЧ. ЗАПИСЫВ. БАЙТОВ
F006 3E00 		MVI A,00Н		;"ПУСТОЙ" БАЙТ ПЕРЕД СИНХРО
F008 CD00F1		CALL ЗПМАГ		; ЗАПИСЬ БАЙТА
F00B 3EE6		MVI A,0EH		;БАЙТ СИНХРОНИЗАНИИ
F00D CD00F1		CALL ЗПМАГ		;ЗАПИСЬ БАИТА
F010 3E22	ЗАП22:	MVI A,22H		;"ТЕСТ" БАЙТ
F012 C000F1		CALL ЗПМАГ		;ЗАПИСЬ БАЙТА
F015 1В			DCX D 			;УМЕНЬШИТЬ СЧЕТЧИК БАЙТОВ
F016 7			MOV A,D			;
F017 ВЗ			ОRА Е 			;ПРОВЕРКА НА DE=0
F018 C210F0		JNZ ЗАП22		;ПОВТОР ЗАПИСИ 22Н
F01B 74			HLT			;KOHEЦ РАБОТЫ ПРОГРАММЫ
Рис. 6
F100 		ЗПМАГ:	EQU 0F100H		;АДРЕС ПОДПРОГРАММЫ ЗАПИСИ
F01C 31FFF0		LXI SP,0F0FFH		;НАСТРОЙКА УКАЗАТЕЛЯ СТЕКА
F01F 110020		LXI В,2000Н		;DE=КОЛИЧ. БАЙТОВ В ЗАПИСИ
F022 3EFF 		MVI A,0FFH		;ПРИЗНАК=ИСКАТЬ СИНХРОБАЙТ
F024 CD28F1	ЧТ22:	CALL ЧТМАГ		;ЧТЕНИЕ ОДНОГО БАЙТА
F027 FE22		СРI 22Н			;ПРАВИЛЬНО ЛИ СЧИТАН БАЙТ?
F029 C239F0		JNZ ОШБК		;ПЕРЕХОД, ЕСЛИ ОШИБКА
F02C 1В			DСХ D 			;DE=DE - 1
F02D 7А			MOV A,D			;ПРОВЕРКА НА D=Е=0
F02E ВЗ			ORA Е			;
F02F 3Е08		MVI А,О8Н		;СИНХРОВАЙТ НАЙДЕН РАНЕЕ
F031 С224F0		JNZ ЧТ22		;ЧТЕНИЕ СЛЕДУЮЩЕГО БАЙТА
F034 3Е81		MVI А,81Н		;CООБЩЕНИЕ О ВЕРНОМ ЧТЕНИИ
F036 D300		OUT 00H			;BЫBОД НА СВЕТОДИОДЫ
F038 76			HLT			;КОНЕЦ РАБОТЫ
F039 3E0F	ОШБК:	MVI A,0FH		;СООБЩЕНИЕ ОБ ОШИБКЕ ЧТЕНИЯ
F0ЗВ D300		OUT 00Н			;ВЫВОД НА СВЕТОДИОДЫ
F03D 76			HLT			;КОНЕЦ РАБОТЫ
ЧТМАГ:	EQU 0F128Н		;АДРЕС ПОДПРОГРАММЫ ЧТМАГ

Рис. 7

Для временного хранения результата использован регистр С, в который первоначально записывают величину 00Н. В начале роботы подпрограммы «ЧТМАГ» происходит считывание информации из порта 01Н до тех пор, пока не произойдет изменение сигнала из 0 в 1 или наоборот из 1 в 0. После этого выполняется операция логического сложения (ИЛИ) считанного бита и предыдущего результата, находящегося в регистре С, содержимое которого предварительно должно быть сдвинуто влево, для освобождения места для нового бита. Далее происходит задержка работы программы на 0,75Тслед (подпрограмма «ЗАДР75»). Это необходимо для уверенного считывания данных в середине «полубита».

После декодирования принятого бита программа всегда проверяет: была ли синхронизация достигнута или нет. Об этом можно узнать по содержимому аккумулятора, которое определяется основной программой, как было описано выше. Если синхронизация не достигнута, то после приема каждого бита происходит сравнение результата с байтом синхронизации (Е6Н) или его инверсией (19Н) до тех пор, пока байт синхронизации не будет принят. Если он инвертирован, то в специально отведенную ячейку памяти «ИНВЕРС» записывается величина FFH — признак инверсии, в противном случае в эту ячейку записывается 00Н. Если синхронизация уже достигнута и в ячейке «ИНВЕРС» записан код FFH, то «собранный» в аккумуляторе байт перед возвратом в основную программу инвертируется. Напомним, что константу. определяющую время работы подпрограммы «ЗАДР75», необходимо изменить, если частота сигналов С1 и С2 отличается от 2 МГц. Дополнительные разъяснения по программе даны в поле комментариев.

Подпрограммы «ЧТМАГ» и «ЗПМАГ» входят в состав основной управляющей программы микро-ЭВМ. Приведенные на рис.4 и 5 подпрограммы специально оттранслированы для работы в той части адресов памяти, где в нашей микро-ЭВМ находится ОЗУ. Подпрограммы можно ввести в ОЗУ с помощью описанного ранее отладочного модуля и использовать для тестирования модуля сопряжении. Кроме этих подпрограмм, нам потребуются еще две небольшие программы. На рис.6 приведена программа, позволяющая записать на ленту длинную серию байтов, имеющих значение 22Н. С помощью этой программы можно получить «тест-ленту» для проверки модуля сопряжения.

Если в магнитофоне отсутствует АРУЗ, уровень записи необходимо установить по индикатору так же, как и при записи музыки. Допускается несколько превысить номинальный уровень записи. Уровень записи устанавливают при неподвижной ленте после запуска в работу программы, приведенной на рис.6. Затем программу запускают вновь и производят запись. После записи ленту перематывают на начало записи и магнитофон включают в режим воспроизведения. Щуп осциллографа подключают к выходу усилители А1. Резистором R1 устанавливают уровень входного сигнала, при котором на экране осциллографа видны прямоугольные импульсы с крутыми фронтами и плоской вершиной.

После этого ленту опять перематывают в начало, запускают в работу программу, приведенную на рис.7, и включают в магнитофоне режим «Воспроизведение». Программа сравнивает считанный с ленты байт с байтом 22Н. Если будет обнаружено несоответствие. то на светодиодах D0-D7 отладочного модуля появится комбинация 0FH — сообщение об ошибке и работа программы прекратится. Если при считывании не будет обнаружено ни одной ошибки, то после прочтения всей записи на светодиодах отладочного модуля появится комбинация 81Н — сообщение о верном считывании.

При работе с основной управляющей программой микро-ЭВМ информация на ленту записывается в определенном формате. Кроме полезной информации, на ленту записываются и специальные служебные байты. Формат, таких записей будет подробно рассмотрен при описании основной управляющей программы микро-ЭВМ.

Описанный модуль сопряжения отличают простота, высокая достоверность и большая скорость записи-считывания информации.

Г. ЭЕЛЕНКО, В. ПАНОВ, С. ПОПОВ

Отсканировано с журнала Радио № 9 1983 г.
Отредактировано Лесных Ю. И. 1999 г.