ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ СОЛНЕЧНЫХ НАБЛЮДЕНИЙ:
РЕГИСТРАЦИЯ, ОБРАБОТКА, АРХИВ

В.А. Шатилов

    1. ВВЕДЕНИЕ

    С 1982 г. наблюдения Солнца на РАТАН-600 стали проводиться с помощью разного рода комплексов автоматической регистрации. Основной отличительной чертой их являлось возможность управления усилением  в  реальном времени. Это прежде всего объяснялось самой спецификой солнечных  наблюдений: когда во время одного и того же наблюдения необходимо  реализовывать как предельную чувствительность радиометров  (;50  К  на  спокойном Солнце), так и  верхний предельный динамический диапазон  (;100000  К  в активных областях). Если раньше наблюдателю приходилось подбирать усиление исходя из собственного опыта прогнозирования эволюции  активной  области, то теперь эта ответственность стала возлагаться на  программное и аппаратурное обеспечение. Таким образом комплексам стал  присущ  некоторый "интеллект", связанный с выбором оптимального усиления.
   Первый   Интеллектуальный   Комплекс    Автоматической    Регистрации (ИКАР-16)[1] был предназначен для регистрации  наблюдений  Солнца  на  8 дискретных волнах в диапазоне 2-31 см. Дальнейшее его развитие было продолжено в комплексе ИКАР-24[2], а после перехода на ЭВМ нового поколения и модернизации аппаратурной части в комплексе ИКАР-32.
   Программное обеспечение регистрации занимало не более четверти ресурсов микро-ЭВМ, и поэтому появилась возможность развивать средства оперативной обработки. Оперативная обработка проводилась на  рабочем  месте наблюдателя между наблюдениями и в первую очередь служила  для  контроля качества приемно-регистрирующей аппаратуры. В своей работе она опиралась на средства графического представления данных, которые позволяли определять восходы корональных дыр, фиксировать развитие локальных источников, обнаружить пекулярность в спектре активной области (АО) и др. Развиваясь дальше, оперативная обработка стала решать и ряд астрофизических задач основанных на  спектрально-поляризационных  измерениях:  определение магнитных полей АО, меры эмиссии флоккул, обнаружение присутствия источников нетеплового излучения [3]. Полученные  данные  использовались  для выбора объекта исследования на Солнце, что являлось крайне актуальным  в период выполнения кооперативных программ с участием наземных и космических станций, работающих в ренгеновском, оптическом и радиодиапазонах.    В 1991 г. была проведена полная замена приемной и регистрирующей  аппаратуры,  связанная  с  переходом  на  Панорамные  Анализаторы  Спектра (ПАС)[4]. Для новых приемников была  разработана  низкочастотная  часть, которая уже существенно отличалась от ранее применяемой в ИКАРах[5].    В 1994 г. была внедрена в эксплуатацию новая плата
регистрации, включающая в себя 16-ти разрядное АЦП, 64-х канальный коммутатор и параллельные порты ввода-вывода.
   В настоящей работе приводится описание программного обеспечения:
      -регистрации
      -оперативной обработки
      -архивизации солнечных наблюдений.
 и находящееся в эксплуатации с этого периода.

   2. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ РЕГИСТРАЦИИ СОЛНЕЧНЫХ НАБЛЮДЕНИЙ

   2.1. ОБЩИЕ СВЕДЕНИЯ ИЛИ ЧТО МЫ РЕГИСТРИРУЕМ

   Для разработчика программы регистрации основное значение имеет  форма сигнала идущего на вход коммутатора АЦП. В версиях ИКАР регистрировалось два параметра Стокса I и V.  Аналоговый сигнал отражал реальную  картину эксперимента, его можно было в любое время и с любой  разумной  частотой опроса оцифровывать или выводить на самописец.
  В версиях же для Панорамных Анализаторов Спектра форма выходного  сигнала выполнена по принципу фазовой модуляции[5].  Это  означает,  что  в определенное время и с определенной длительностью со  всех  каналов  ПАС (канал ПАС -это одна длина волны)  поступают сигналы соответствующие левой круговой поляризации, эквивалента, правой поляризации и снова  эквивалента. Таким образом начало (фаза) и  время  (частота)  опроса  строго фиксируются. Длительность цикла опроса определяется количеством  каналов умноженным на время одного цикла преобразования АЦП  плюс  время  работы алгоритма анализа зашкалов в реальном времени. Если это время  превышает длительность сигнала то частоту опроса необходимо уменьшать.
   На рис. 2.1.1 показано временное соотношение между частотой работы таймера ЭВМ, частотой модуляции приемников и частотой опроса АЦП.
   Частота опроса равна частоте модуляции, а отсчет по всем длинам волн формируется за 4 ее периода (левая-эквивалент,правая-эквивалент).
   Разности между соседними парами отсчетов в дальнейшем суммируются, буферизуются и сбрасываются на накопитель, но анализируются на зашкал
каждый из 4 отсчетов.

      2.2. КОНФИГУРАЦИЯ КОМПЛЕКСА РЕГИСТРАЦИИ

   Комлекс регистрации состоит из компьютера IBM PC AT-386, внешних часов СК Ч7-15, вырабатывающих код времени и блока питания платы регистрации. Плата регистрации вставляется в стандартный слот компьютера и состоит из 16-ти разрядного АЦП (время преобразования 40 мкс); 64-х канального коммутатора; 4-х 8-ми разрядных портов вывода, предназначенных для управления усилением, коммутатором, забралом облучателя, импульсами модуляции и запуском АЦП; 2-x 8-ми разрядных порта ввода для чтения кода времени и флага готовности АЦП.
   Малая насыщенность аппаратурой делает возможным использовать комплекс в экспедиционных условиях (солнечные затмения).

      2.3 ПРЕДЪЯВЛЯЕМЫЕ ТРЕБОВАНИЯ И КРАТКОЕ ОПИСАНИЕ АЛГОРИТМА

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

     Временное   Частота модуляции  Предельное кол-во
     разрешение      (опроса)          каналов ПАС
        1 мс          4 кГц                 4
       15 мс        260 Гц                 64

  Цифры получены исходя из того, что время работы с каждым отсчетом составляет 60 мкс (40 мкс - АЦП + 20 мкс алгоритм анализа).
   Поскольку частота опроса имеет зависимость от числа сконфигурированных каналов, то необходимо применять генератор прерываний, который бы работал с определенным набором частот.
   НО МЫ РЕШИЛИ ИСПОЛЬЗОВАТЬ ВСТРОЕННЫЙ СИСТЕМНЫЙ ТАЙМЕР ДЛЯ ВЫРАБОТКИ ЧАСТОТЫ МОДУЛЯЦИИ.
   Каждый тик таймера вырабатывает через выходной порт импульсы 0 или 5 В. Тем самым формируется прямоугольная модуляция. На 0 В происходит опрос АЦП, анализ полученных отсчетов, вычисление разницы и буферизация.
Все это делает подпрограмма обслуживающая прерывания от системного таймера.
   Не в реальном времени происходит визуализация, обслуживание прерываний от клавиатуры, запись данных на внешнее устройство (обычно виртуальный диск) и др.

     2.4 ВХОДНЫЕ ФАЙЛЫ ПРОГРАММЫ РЕГИСТРАЦИИ

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

   -    Конфигурация_каналов_ПАС.

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

    -            ствол_усиление

   Начальные коэффициенты усиления по каждому стволу ПАС (от 0  до  7).
Они выбираются наблюдателем в зависимости от типа источника. Для опорных источников  могут быть разогнаны (если будет зашкал то программа регистрации его исправит), при наблюдениях Солнца рекомендуется устанавливать средние значения.

          -     Делитель_частоты_таймера

   Этим параметром вырабатывается частота модуляции. Тактовая частота таймера примерно равна 1.19 МГц, что соответствует делителю 1. Если делитель максимальный (65535), то частота 18.2 Гц. Чтобы регистрировать все 64 канала необходима частота 260 Гц, что соответствует делителю
2300.
   Имя файла конфигурации, как и имя файла с эфемеридами источника занесены в файл zadanie. Кроме того имеется файл catalog, содержимое которого указывает на имя внешнего носителя куда будут записаны  данные.  Подробное описание этих файлов даны в разделе 2.6 ОРГАНИЗАЦИЯ И  ПЛАНИРОВАНИЕ НАБЛЮДЕНИЙ.
   Подчеркнем, что только при отсутствии файла с конфигурацией  наблюдение не состоится. Отсутствие эфемерид отразится только на часть содержимого выходного файла заголовка наблюдения, для файла каталог  зарезервированы значения по умолчанию.

                2.5 ВЫХОДНЫЕ ФАЙЛА ПРОГРАММЫ РЕГИСТРАЦИИ

   Программа регистрации создает в каждом наблюдении следующие  выходные файлы:
       YYMMDD.Nd YYMMDD.Nh YYMMDD.Np - двоичные и записываются   в архив, где

      YY - две цифры года наблюдения,
      MM -           месяца         ,
      DD -           дня
      N  - номер наблюдения за сутки.

   Расширение d указывает на файл с данными, h на файл заголовка  наблюдения куда входят имя источника, его эфемериды и конфигурация каналов, p на файл с протоколом переключений усилений.
       YYMMDD.Nc YYMMDD.Nx YYMMDD.Nj YYMMDD.Ne -текстовые и остаются
   на виртуальном диске до выключения компьютера.
   с- файл с результатами калибровочных измерений,
   х- текстовая копия файла р,
   j-                       h,
   e- протокол работы наблюдателя с клавиатурой и диагностических
      сообщений программы.
   Текстовые файлы копируются в месячный архивный журнал наблюдений
с именем YYMM.j (рис.2.5.1).

                2.6 ОРГАНИЗАЦИЯ И ПЛАНИРОВАНИЕ НАБЛЮДЕНИЙ

   Опыт наблюдений Солнца на РАТАН-600 показал, что планирование  наблюдений лучше всего ограничить одними сутками. Однако, если план  наблюдения не изменяется на протяжениии  более  длительного  периода  (например один и тот же опорный источник вместе с  Солнцем),  то  составленный  на сутки план автоматически будет верен и на другие сутки.
   Программа регистрации начинает свою работу с чтения файла catalog и файла zadanie.
  Файл catalog состоит из имени виртуального диска и имени каталога с выходными данными:

   F:    E:\PASDAT\ .

   Файл zadanie имеет содержимое, отражающее план работы на сутки:

0       MOON   moon.cnf  Опейкина     mfeb95.dat         10  3 3 3.5
1       SUN    sun.cnf   Шатилов      sfeb95.dat         25  5 5 25
2       3С-84  moon.cnf  Шатилов      3cfeb95.dat        5   2 2 2.5
   где, каждая строка соответствует одному наблюдению; первая колока в строке  - его порядковому номеру, 2-ая - имя источника, 3- файл конфигурации и далее- фамилия наблюдателя, имя файла с эфемеридами откуда в частности берется время кульминации источника на дату наблюдения, 4-х моментов  времени в минутах означающих за сколько минут до кульминации провести  первую калибровку, начать регистрацию, закончить после кульминации  и  провести вторую калибровку.  Для проведения плановых наблюдений  достаточно правильно составить файл zadanie, убедиться что есть файлы с  конфигурациями, эфемеридами источников и в них присутствует строка с  нужной  датой.
   Выполнив одно наблюдение программа переключится  на  следующее.  Если задание на сутки выполнено полностью, то ожидается приход новых суток  и все повторяется заново. Этот режим работы можно назвать полным автопилотом, в нем предусмотрено управление  забралом  облучателя,  при  котором забрало открывается только на период проведения калибровочных  измерений и на время регистрации.
   Но нередко случается, что необходимо провести неплановое  наблюдение, связанное, например, с тестовыми измерениями  чувствительности  приемников, их динамического диапазона и  т.п. Неплановые  наблюдения  тоже можно спланировать, заведя специальный каталог и  составив  задание,  но можно ограничиться и режимом ручного управления.

    2.7 ПРОВЕДЕНИЕ НАБЛЮДЕНИЙ В РЕЖИМЕ РУЧНОГО УПРАВЛЕНИЯ

   На рис. 2.7.1 показан экран терминала, на котором высвечивается результат работы программы регистрации. Программа непрерывно находится  в режиме опроса-визуализации сконфигурированных каналов.
Обратим внимание на подчеркнутую строку, которая имеет смысл "quick help". Функциональные клавиши F1 F2 F3 и т.д. означают:
  - провести первую калибровку (cf-calibration first);
  - начать регистрацию (rg-registration)
  - остановить регистрацию (sr- stop registration)
  - провести вторую калибровку (cs- calibration second)
  - включить оба плеча модуляции (md-modulation)
  - выключить модуляцию (mz-modulation zero)
  - включить автоматическое управление усилением (Aon)
  - выключить ---------------------------------- (Aoff)
   Режим ручного управления имеет более высокий приоритет, чем режим автопилота. Выполненная в ручном режиме калибровка отменяет ее  запуск  по расчитанному времени. То же происходит и с регистрацией. В  режиме  ручного управления работают подпрограммы визуализации (от одного канала  до всех, включая визуализацию каналов любого выбранного приемника),  управления усилением, ввода эфемеридных данных и др.

                  2.8 ТЕСТОВОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ

   В дополнении к программе регистрации имеется еще несколько программ, которые проверяют работу отдельных узлов платы регистрации.
   1. Тест коммутатора и АЦП.
   В нем проверяется правильность выбора канала коммутатора, вычисляется время цикла преобразования  АЦП, анализируется код с графическим и  табличным представлением.
   2. Тест портов вывода платы регистрации.
   Проверяет выборочные разряды любого из  четырех  однобайтовых  портов вывода. В первую очередь предназначен для тестирования команд управления усилением.
   3. Тест показаний часов и вычисления тактовой частоты таймера.
   Проверяется порт ввода, к которому подключены внешние часы.  Одновременно, с помощью программы обслуживающей прерывания от таймера с  частотой 4 КГц, по фронтам секунды вычисляется тактовая частота таймера. Тест имеет первостепенное значение т.к. из него определяется  интервал  между отсчетами в процессе регистрации. В частности  было  обнаружено,  что  в поступившей IBM-386 тактовая частота не 1.19 МГц, а 1.183 МГц.
   3. Резидентная программа выработки частоты модуляции.
   Обслуживает прерывания от таймера с частотой 260  Гц  и  вырабатывает через выходной порт прямоугольные импульсы модуляции. Резидентное завершение позволяет одновременно проводить профилактические работы с  приемниками и выполнять различные задачи по счету (эфемериды, оперативную обработку и т.п).

   2.9 ОБЪЕМ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

   Программа регистрация занимает 80 Кб дисковой памяти (.exe) и  90  Кб оперативной. Тестовое обеспечение - 60 Кб, файл  конфигурации  -  2  Кб, инструкция к программе регистрации - 10 кб, дистрибутив - 98 Кб.
 
Back to Solar Obs Manual