Радио-86РК/Радио 10-87/Принимаем RTTY

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

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

Автор: А. ПОКЛАДОВ, Ю. КОНСТАНТИНОВ (UO5QIL)

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

Данная программа составлена для обработки RTTY сигналов блоком, описанным в журнале «Радио» [1]. Она «работает» совместно с программой обработки CW сигналов (используется та часть, в которой идет речь об очистке экрана и проверке положения переключателя «CW-RTTY»). Прием сигналов RTTY возможен на четырех различных скоростях. В программе указаны константы только для двух: 45,45 и 50Вод.

Перед началом приема необходимо замкнуть контакты переключателя «CW-RTTY» и нажать на кнопку «Сброс». После очистки экрана и появления на нем сообщения «RTTY ГОТОВ» программа готова к работе. Пользуясь таблицей, нужно установить переключателями SA1 и SA2 (см. рис.1 в [1]) константу приема.

Как видно из текста программы, она состоит из нескольких частей. С адреса 200Н по 242Н происходит начальная установка, проверка контрольной суммы микросхемы DD6 и выдача результата проверки на экран. Если контрольная сумма совпадает с «заложенной», высвечивается «RTTY ГОТОВ». В противном случае появляется надпись «RTTY КС НЕ РАВНА».

Прием начинается с проверки наличия логической 1 на выводе 3 микросхемы DD5 (элемент DD5.1). Далее устанавливают регистры В и С микропроцессора и путем опроса переключателя «CW-RTTY» и «Рус--Лат» вводят константу задержки 27,5мс (здесь и далее по тексту и в программе указаны значения задержки для скорости приема 45,45бод), которая равна 460*60*1/(9050/9)мс. В приведенном выражении 460 — число циклов задержки, 60 — число тактов в цикле, 1/(9050/9)мс — длительность такта микропроцессора (9050--тактовая частота в килогерцах, 9 коэффициент деления тактовой частоты в микросхеме КР580ГФ24). Если в этот промежуток времени (27,5мс) на выводе 3 DD5 логическая 1 сохранится, то устройство переходит к ожиданию стартового импульса. В противном случае продолжится поиск стопового импульса.

По приходу стартового импульса происходит задержка на 11мс, после чего последовательно через 22мс принимается пять информационных бит, которые записываются в регистр В микропроцессора.

Анализ принятого символа начинается со сравнения его с кодами управляющих символов, отработка которых не связана с изменением положения курсора. Если код в регистре В соответствует одному из кодов установки признака регистра, то происходит запись соответствующего кода в регистр D и переход к метке «ПРИЕМ». При совпадении содержимого регистра В с кодами «Возврат каретки» или «Перевод строки» курсор устанавливается в начало строки или переводится на следующую строку и происходит переход к метке «КУРСОР».

Если принятая информация отличается от управляющих символов, то отрабатывается часть программы по высвечиванию символа. В регистровую пару (ВС) заносится код 0380Н (адрес начала таблицы), который складывается с кодом принятого символа. Таким образом, вычисляют адрес ячейки, в которой находится код принятого символа в коде КОИ-7. Оттуда код переносится в область экранной памяти по адресу, определяемому регистровой парой (HL). После этого происходит маскирование счетчика позиций для того, чтобы адрес не вышел за пределы экранной памяти 17EFH — 1000Н (так как в отличие от компьютера «Микро-80» в контроллере использована не инвертированная магистраль адреса, и данные коды являются инверсией адресов экранной памяти «Микро-80» Е800Н — EFEFH), и сохранение в регистре указателя стека.

В случае если есть, необходимость в принудительной установке регистров приема (русского, латинского, цифрового), следует ввести дополнения в блок обработки согласно рис.1. Переключатели, резисторы и микросхему располагают на дополнительной плате. Однако программа выполняется и без данном доработки.

Константы приема заносят и ячейки 370Н и 371H, 374Н и 375H, 378Н и 379Н, 37СН и 37DH. В смежные с ними ячейки 372Н и 373Н, 376Н и 377Н, 37АН и 37ВН, 37ЕН и 37FH записывают код, являющийся инверсией кода константы. В этом случае всегда при сложении кодов в смежных ячейках, например 370Н н 372Н, их сумма будет равна FEH. Это сделано для того, чтобы при изменении константы контрольная сумма оставалась прежней.

В тексте программы приведены константы для блока обработки, выполненного с применением микросхемы КР580ГФ24 и кварцевого резонатора на 9050 кГц. При других значениях частоты константу задержки К в десятичном коде вычисляют по формуле

K=F/2*9*24S,

где F — частота кварцевою резонатора, Гц;

S — скорость, бод.

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

Если синхрогенератор выполнен на микросхемах серии К155. константу рассчитывают по формуле:

K=F/2*2*24S.

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

Все неиспользуемые (не указанные в тексте программы) ячейки микросхемы DD6 должны содержать код FFH.

При прожиге микросхемы DD6 следует учитывать, что адрес 200Н программы соответствует адресу 000Н микросхемы, адрес 201 Н — 001Н… 3FFH — 1FFH.

В качестве входного устройства использован RTTY конвертер, описанный в [2].

Блок обработки смонтирован на двухсторонней печатной плате. Ее фотошаблон со стороны установки деталей изображен на рис.2 в тексте, а с противоположной стороны — на с. 2 вкладки. Расположение элементов на плате показано на рис.3, схема распайки разъема — на рис.4.


Константа «Рус — Лат» «CW-RTTY»
CONS1 Замкнут Замкнут
CONS2 Разомкнут Замкнут
CONS3 Разомкнут Разомкнут
CONS4 Замкнут Разомкнут

Конденсаторы, не указанные на принципиальной схеме в [1], являются блокировочными. Емкость конденсаторов С3, С5 — 5мкФ (на 15 В), остальных — 0,047-0,1мкФ.

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

По вине авторов в таблице программирования ПЗУ, помещенной в [1], допущены ошибки: вместо сообщения «RTTY НЕТ ПЗУ» высвечивается «RTTW НЕТ ПЗУ»; при приеме символа «.» — высвечивается «>». Чтобы исправить их, необходимо по адресу 13FH записать 2ЕН вместо ЗЕН, по адресу 1Е7Н — 59Н вместо 57Н. Так как при этом меняется контрольная сумма, то в ячейку по адресу 1Е3Н (ячейка подбора контрольной суммы) вместо 44Н нужно записать 52Н. Новое значение ячейки по адресу 1E3Н образуется из равенства 2ЕН+59Н+52Н=3ЕН+57Н+44Н.

А. ПОКЛАДОВ, Ю. КОНСТАНТИНОВ (UO5QIL)

г. Кишинев

  1. Покладов А., Константинов Ю. КР580ИК80А в любительском дисплее. — Радио. 1986, № 2, с. 17-19.
  2. Демиденко А. Низкочастотный RTTY конвертер Радио. 1985, № 9, с. 19-22.