Аппаратура для научных исследований.
В нашей стране разрабатывались и изготовлялись системы, в основном, трех стандартов: САМАС (или КАМАК), ВЕКТОР, МЭК-685. Последний стандарт ориентирован на приборостроение и мы на нем останавливаться не будем. ВЕКТОР является модификацией САМАСа. В настоящее время практически не используется. Основной причиной этого является то, что модули, изготавливаемые в других странах, не совместимы с САМАСом.
КАМАК представляет собой систему электронных модулей, предназначенных для построения цифровых измерительных установок, управляемых от ЭВМ. Первоначально разрабатывался для управления работой синхрофазотрона. В дальнейшем использовался более широко. В частности, в Санкт-Петербурге на его базе был реализован диагностический комплекс для исследования технических характеристик тракторов «Кировец». Общий вид КАМАК представлен на рис. 9.
Крейт источник питания
|
|
рис. 9
КАМАК удачно объединяет в себе, с одной стороны, богатый набор электронных функциональных модулей самого разнообразного назначения (усилители, счетчики, таймеры, аналого-цифровые преобразователи, запоминающие устройства и т.д.), а с другой стороны – средства связи всей этой аппаратуры с ЭВМ, для чего предусмотрен специальный управляющий модуль –контроллер КАМАК. Характерным для системы КАМАК является наличие унифицированного канала передачи данных (магистрали) между отдельными модулями и контроллером. И модули, и контроллер имеют выход на магистраль, по линиям которой происходит обмен рабочей и служебной информацией, а также питание модулей: контроллер кроме того связан с ЭВМ (рис 10). Всеми процессами на магистрали управляет (по командам от ЭВМ) контроллер, однако если в модуле возникла ситуация, требующая вмешательства ЭВМ, модуль может послать в контроллер запрос на обслуживание и иницировать тем самым конкретную программу обработки.
ФМ ВУ
Рис77
рис. 10
Стандартизация модулей по конструкции, способу подсоединения к магистрали, характеристикам электрического питания, параметрам входных и выходных сигналов позволяет быстро собирать и модернизировать экспериментальные установки, комплектуя их требуемыми модулями, а единая система команд существенно облегчает разработку алгоритмов управления системой. При этом компоновка любой системы сводится по существу к составлению программы взаимодействия ЭВМ с модулями (порядок опроса состояния модулей, записи и съема информации и т.д.), технические же вопросы согласования модулей друг с другом или с контроллером отпадают ввиду стандартизации системы.
Конструктивной основой системы КАМАК является специальный каркас – крейт, содержащий 25 станций – направляющих, по которым в крейт вдвигаются модули. В зависимости от сложности модуль может иметь единичную ширину 17,2 мм и занимать одно место в крейте либо ширину, кратную указанной. Контроллер обычно занимает два крайних правых места. Таким образом, в крейте может размещаться до 23 различных модулей. Каждый модуль имеет стандартный 86-контактный разъем для подсоединения к магистрали. Разводка линий магистрали по контактам разъемов всех станций (кроме крайней правой, принадлежащей контроллеру) выполнена единообразно, что позволяет устанавливать любые модули на любые места крейта.
На рис. 11 приведено схематическое изображение магистрали крейта. Большая часть линий магистрали – параллельные линии, соединяющие одноименные контакты всех разъемов; сигналы, передаваемые по этим линиям, доступны всем модулям.
Модули контроллер
1 2 3 23 24 25
R
W
A
F
Управление питанием
N
Рис.11
Рабочая информация в системе КАМАК передается 24-разрядным двоичным параллельным кодом, для чего служат 24 линии чтения R (передача из модулей в контролер) и 24 линии записи W (передача данных из контролера в модули). Поскольку в каждом модуле могут размещаться несколько функциональных узлов (например, несколько счетчиков) и, кроме того, еще имеются многочисленные обслуживающие схемы, для адресации к элементам модуля служат 4 линии субадреса А, по которым номер узла в модуле или его субадрес передается также двоичным параллельным кодом. Всего, таким образом, в каждом модуле может использоваться до 24 = 16 субадресов.
В процессе обращения контроллера к модулю может быть задано выполнение различных операций – чтение или запись информации, опрос состояния регистра и т.д. Для передачи кода операции предусмотрены 5 линий функций F, что дает возможность использовать до 32 различных функций. Значения функций стандартизированы, например, функция F(2) никогда не используется для записи информации в регистр, а только для чтения его содержимого с последующим его сбросом. Назначение же регистров и характер содержащейся в них информации зависят от функционального назначения и конкретной схемы модуля.
Группа параллельных линий отводится для управления и передачи служебных сигналов. Сюда относятся линии (и соответственно сигналы) Z, C, I, B, Q, S1, S2. Некоторые из этих сигналов (B, S1, S2) генерируются контроллером или модулями автоматически в процессе обмена информацией по магистрали, на них нельзя воздействовать программным образом; другие сигналы устанавливаются, снимаются либо контролируются программно, и их назначение необходимо понимать для правильного составления программ управления.
Например, сигнал С (Сброс) вызывает сброс регистров модулей крейта.
Сигнал Х (Команда принята) вырабатывается модулем всякий раз при получении им «законной» команды, которую данный модуль в состоянии выполнить. Нулевое значение сигнала Х = 0 указывает на наличие неисправности (например, отсутствие адресуемого модуля) или серьезной ошибки в программе обслуживания (в модуль послана команда, которую он не может выполнить).
Две группы линий (N и L) служат для установления связи контроллера с определенными модулями. В отличие от остальных линий магистрали линии N и L имеют радиальный характер; каждый модуль связан с контроллером индивидуальной парой линий N и L. Когда контроллер генерирует команду обращения к какому-то модулю, он устанавливает соответствующую функцию КАМАК на линиях F, требуемый адрес на линиях А и возбуждает линию N, соответствующую адресуемому модулю. Сигналы F и A поступают во все модули. Однако воспринимает их только тот модуль, который подсоединен к возбужденной линии N, т.е. модуль, установленный на станции с номером N.
Если в модуле создалась ситуация, требующая вмешательства ЭВМ (АЦП преобразовал входной сигнал в код, счетчик зарегистрировал заданное число импульсов и т.д.), модуль может послать в контроллер запрос на обслуживание, установив логическую 1 на линии. Обычно возбуждение линии L (L-запрос) приводит к прерыванию текущей программы и переходу на программу обработки прерывания от данного модуля. Поскольку от каждого модуля в контроллер идет индивидуальная линия L, контроллер, получив запрос, может определить, из какого именно модуля он пришел.
Как уже отмечалось, каждая команда, с которой контроллер обращается к какому-то модулю, состоит из трех элементов: функции F, субадреса А и номера адресуемого модуля N. Управление аппаратурой КАМАК и заключается в выполнении последовательности команд NAF (команд КАМАК), соответствующей заданному алгоритму функционирования установки. Требуемая последовательность команд NAF записывается в виде машинной программы.
Как и в любой программе реального времени, последовательность выполняемых операций не является фиксированной, а определяется ходом эксперимента. Например, получив от модуля АЦП запрос на обслуживание, ЭВМ выполняет программу приема из модуля и записи в оперативную память подготовленного модулем кода входного сигнала. Если, однако, при этом выясняется, что общий объем накопленной информации достиг заданного значения, ЭВМ выполняет программу выключения модуля АЦП – блокировки его входа, запрещение генерации им L- запросов и т.д.
Дата добавления: 2016-04-06; просмотров: 902;