Радио-86РК/Радио 04-87/О вводе данных с магнитной ленты

Материал из Emuverse
Версия от 17:18, 8 июля 2012; Shattered (обсуждение | вклад) (исправил, сравнив со сканом ftp://ftp.radio.ru/pub/arhiv/1987/04.djvu)
Данный материал защищён авторскими правами!

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

Автор: А. ДОЛГИЙ

Источник: http://retro.h1.ru/RK86/Naladka/TapeProb.html

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

Описанные в журнале микро-ЭВМ «Радио-86РК» и «Микро-80» отвечают этим условиям, и обмен данными, записанными на магнитной ленте, между ними возможен, не забудьте только, что данные, вводимые интерпретатором языка Бейсик, не могут быть считаны МОНИТОРОМ и наоборот.

Другое важное условие, необходимое для правильного ввода, — соответствие скорости ввода данных при записи скорости их считывания при воспроизведении. Не исключено, что при выводе данных даже из одной ЭВМ могли быть использованы разные константы, а на машинах разных типов при одной и той же константе записи (КЗ) скорости вывода могут оказаться разными, Аналогичная ситуация возникает, если машины однотипные, но работают с кварцевыми резонаторами, различающимися по частоте. Как же добиться надежного ввода информации?

Скорость вывода данных S при известном (десятичном) значении константы КЗ и частоте кварцевого резонатора Р можно вычислить по формулам S80=F/(2072+240K3) и S86=F/(1376+450K3) для «Микро-80» и «Радио-86РК» соответственно. Если частота Р выражена в герцах, то результат получится в бодах (битах в секунду).

На рис.1 приведены графики, построенные по этим формулам для «Радио-86РК» с кварцевым резонатором на 16 МГц и «Микро-80» с резонаторами на 16 и 8 МГц. На графиках указаны десятичные и шестнадцатеричные значения констант.

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

При этом автоматически учитывается возможное различие скоростей движения ленты при записи и воспроизведении, Зная скорость, с которой выводились данные, можно, пользуясь приведенными выше формулами и графиками, определить КЗ. Например, если измеренная частота равна 920 Гц и известно, что источником была «Микро-80» с кварцевым резонатором на 16 МГц, то КЗ была равна 40Н. Для вывода данных с той же скоростью из «Радио-86РК» нужно использовать константу 24Н.

Измерить скорость вывода данных и определить необходимые константы может сам компьютер «Радио-86РК», если ввести в него программу, коды которой приведены в табл.1.

3000 31 00 30 21 1F 30 E5 0E 3F 21 23 30 E5 0D C2 0C
3010 30 11 02 80 21 FB FF 01 E2 00 3E 80 32 08 E0 31 
3020 80 2F 23 1A B8 C8 47 0D C0 29 29 29 29 29 7C 29 
3030 84 57 5C CD 2D F8 21 4B 30 CD 18 F8 7B CD 15 F8
3040 23 CD 18 F8 7A CD 15 F8 C3 6C F8 0D 0A 2A 72 2D 
3050 38 36 72 6B 2A 20 7A 61 70 69 73 78 20 00 0D 0A 
3060 20 20 20 20 20 20 20 20 20 77 6F 73 70 72 2E 20 
3070 00

Программу запускают директивой МОНИТОРА G3000 во время воспроизведения серии «нулевых» байтов. Измерив, период повторения входного сигнала, программа вычислит и выведет на экран дисплея шестнадцатеричные значения КЗ и константы воспроизведения (KB), причем KB будет в полтора раза больше КЗ.

Если при вводе с найденной константой все-таки наблюдаются сбои, можно попытаться подобрать ее в пределах нескольких единиц. Часто причиной сбоев являются дефекты магнитной ленты, поэтому рекомендуется всегда делать несколько копий одной и той же программы.

Объективно оценить качество ввода данных с магнитной ленты и выбрать оптимальную KB позволяет приведенная в табл.2 программа на языке Бейсик. Она измеряет длительность каждого из 255 последовательных интервалов времени между изменениями логического уровня сигнала на выходе компаратора узла сопряжения ЭВМ с магнитофоном.

По результатам измерений на экране дисплея строится гистограмма — график, по горизонтальной оси которого откладывается длительность интервала, а по вертикальной — частота появления интервала данной длительности. В идеальном случае она должна состоять из двух узких пиков, так как для принятого в «Радио-86РК» и «Микро-80» метода вывода данных [Л] уровень сигнала, подаваемого на вход записи магнитофона, изменяется через интервалы времени, принимающие только два фиксированных значения.

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

Оптимальная KB — такая, при которой момент выборки микропроцессором уровня сигнала лежит между пиками гистограммы соответствующими длительностям исходного неискаженного сигнала.

Гистограммы, полученные при воспроизведении реальных сигналов, показаны на рис. 2-4. Первые две из них соответствуют сигналограммам, записанным на разных магнитофонах (емкость конденсатора С5 на процессорной плате «Радио-86РК» была увеличена до 2,2 мкФ, а конденсатор С6 удален).

При наблюдении воспроизводимых сигналов на экране осциллографа они отличались длительностью фронтов — во втором случае эта длительность была значительно больше. На рис. 4 показана гистограмма того же сигнала, что и на рис, 3, но до изменения узла сопряжения. Ввести эту сигналограмму с константой 2АН не удавалось, с константой 22Н она ввелась без ошибок. После увеличения емкости конденсатора С5 данные вводились и с константой 2АН.

Можно рекомендовать следующую методику работы с программой анализа качества ввода.

Запустив программу анализа директивой RUN и дождавшись появления на экране надписи «Готов», включают магнитофон на воспроизведение, и после окончания серии нулевых байтов нажимают клавишу «F3». После окончания построения гистограммы должна вновь появиться надпись «Готов». Если полученная гистограмма неудовлетворительна, то, подбирая элементы узла сопряжения, изменяя положение органов регулировки магнитофона и т. д. и повторяя каждый раз, ввод и измерение нажатием клавиши «РЗ», добиваются получения гистограммы, аналогичной показанной на рис. 3.

Нажимая клавиши -> и <-, устанавливают разрыв горизонтальной оси в середине промежутка между пиками гистограммы. Эта метка указывает зону возможных моментов выборки уровня сигнала микропроцессором. Одновременно с перемещением метки соответствующее значение константы заносится в рабочую ячейку ОЗУ МОНИТОРА и выводится на экран.

Максимальная длительность интервала, отображаемая на экране дисплея, — около 1,8 мс. Если среди измеренных интервалов имеются более длительные, то в правой части экрана появится вертикальная черта. Нажав клавишу 2, 3 или 4, можно в соответствующее число раз изменить масштаб времени. При изменении масштаба новое измерение не выполняется, гистограмма строится по данным предыдущего измерения. Клавишей "1 " можно восстановить прежний масштаб.

Установив оптимальную KB, можно выйти из программы, нажав клавишу «F4», и вводить данные по директиве MLOAD. Если для ввода будет использоваться директива I МОНИТОРА, то из программы выходят нажатием клавиши «СТР». При нажатии клавиши «СБРОС» будет восстановлена константа воспроизведения 2АН.

А. ДОЛГИЙ

г. Москва

Примечание редакции. Как показали эксперименты. Надежность считывании данных существенно повышается, если сопротивление резистора R30 узла сопряжения с магнитофоном увеличить до 24 … 30 кОм.