КАМАК (англ.CAMAC — Computer Automated Measurement and Control) — стандарт, определяющий организацию магистрально-модульнойшины, предназначенной для связи измерительных устройств с цифровой аппаратурой обработки данных в системах сбора данных. Появился в 1970-х годах.
В середине 1960-х годов стоимость вычислительных машин стала достаточно низкой для того, чтобы их можно было достаточно широко использовать в физических экспериментах. Относительное распространение машин создало необходимость в серийном выпуске измерительных устройств, способных работать с системами сбора данных. Из экономических соображений требовалось, чтобы эти устройства отвечали требованиям модульности и унификации способа подключения.
В технической литературе и стандартах, выпускавшихся на территории СССР, использовалась прямая транслитерация — КАМАК.
Первоначальная попытка наладить выпуск аппаратуры совместимой с КАМАК в СССР не снискала успеха,, в связи с тем, что НИИ Приборостроения, ответственный за разработку и выпуск этой аппаратуры, начал выпуск аппаратуры «Вектор», совместимой с КАМАК по протоколам, но с конструктивом крейтовой системы выполненным в метрических типоразмерах. Результатом стала несовместимость аппаратуры Вектор с уже широко употреблявшейся даже в СССР аппаратурой КАМАК и, как следствие, относительно низкая популярность этого оборудования. В итоге, КАМАК был стандартизирован в СССР только к 1980ому году в качестве ГОСТ 26.201-80[3]. Впоследствии, отечественный ГОСТ пересматривался, последняя актуальная редакция датируется 1994ым годом.
Назначение и состав оборудования КАМАК
Стандарт КАМАК описывает способ сопряжения оборудования с вычислительной машиной при помощи магистрально-модульной шины в конструктиве Евромеханика. Шина имеет иерархическую структуру и набирается из следующих блоков:
Русское название
Английское название
Назначение
Функциональный модуль
Functional module
Обязательный элемент. Модуль представляет собой базовое подключаемое устройство (или интерфейсную систему, к которой подключается устройство). Конструктивно модуль исполняется в виде платы, имеющей стандартную форму, разъёмы и крепления, помещаемую в крейт.
Крейт
Crate
Обязательный элемент. Структурная единица с группой функциональных модулей. Представляет собой ячейку стойки, обладающую стандартным конструктивом, имеющую 24 слота для подключения функциональных модулей.
Крейт-контроллер
Crate-controller
Обязательный элемент. Особый тип функционального модуля, обеспечивающий арбитраж на шине крейта и осуществляющий взаимодействие с внешним подключением.
Устройство, позволяющее объединить на одной параллельной шине до 8 крейтов. Предназначен для локального комплексирования крейтов.
Последовательный драйвер
Serial Driver
Устройство, позволяющее объединять на одной последовательной шине до 62 крейтов. Предназначен для распределённого комплексирования крейтов.
Конструкция оборудования
Устройство крейта
Крейт представляет собой «ящик» с одной открытой стенкой, через которую в него вставляются функциональные модули[4].
В крейте предусмотрены позиции для крепления 24 функциональных модулей. Каждый модуль подключается через специальный разъём, расположенный на задней стенке крейта. Все разъёмы, входящие в крейт, соединены параллельной шиной, называемой Dataway. Два правых слота предназначены для подключения контроллера крейта. Разводка шины Dataway для этих слотов несколько отличается.
В нижней части крейта имеется отсек, который может быть использован для установки блока, обеспечивающего питание и охлаждение модулей при помощи встроенных вентиляторов.
Конструкция функционального модуля
Функциональный модуль может занимать один или несколько слотов. Простейший модуль, занимающий один слот, должен иметь два ребра сверху и снизу, вставляемые в направляющие на крейте, предназначенные для точного позиционирования модуля. На задней части модуля располагается разъём, подключаемый к шине Dataway. На передней панели модуля могут располагаться внешние разъёмы, элементы управления или индикации.
Канал Highway
Несколько крейтов могут быть объединены на одной шине при помощи канала, называемого Highway. Имеются два типа канала Highway: параллельный и последовательный.
Для подключения к каждому типу каналов требовались особые контроллеры. При этом часть контроллера, работающая с шиной Dataway не менялась, менялся лишь интерфейс взаимодействия с каналом Highway.
Параллельная ветвь
Несколько позже стандарта EUR 4100 был подготовлен стандарт EUR 4600, описывающий параллельную ветвь (англ.Branch), содержащую до 8 крейтов, способный вмещать до 176 модулей. Этого количества в большинстве случаев хватало для проведения сложных лабораторных экспериментов.
Шина ветви содержит 65 сигнальных проводников. Для крейтов используется географическая адресация, тогда как для номера модуля, адреса подмодуля и функции используется адресация с дешифрацией. Двусторонняя передача данных осуществляется по 24 параллельным линиям в режиме половинного дуплекса.
В дополнение к стандарту EUR 4600 был также предложен стандарт EUR 6100, описывающий последовательную магистраль, позволяющую объединить 62 крейта, разнесённых на значительные расстояния. Такая система позволяла использовать до 1364 модулей при проведении экспериментов на значительных площадях.
Логический стандарт
Модули крейта КАМАК управляются определенным набором команд. Команды делятся на:
адресуемые (предназначенные конкретному модулю)
неадресуемые (общие).
Все адресуемые команды имеют форму NAF, где N — «адрес» — номер станции, на которой расположен модуль (может принимать значения от 1 до 23), A — «субадрес» — номер адреса устройства (регистра) внутри модуля, принимает значения от 0 до 15, F — код операции (функции), которую должен выполнить модуль. Для кодирования операции отводится 5 двоичных разрядов, то есть, это может число от 0 до 31. Каждый модуль может выполнять ограниченное число операций, и, приступая к работе с конкретным модулем, надо по его описанию ознакомиться со списком его функций и соответствующими кодами (см. подраздел Описание отдельных модулей). Однако существуют общепринятые коды для типичных операций:
Код команды (F)
Подгруппа операций
Комментарии
0 — 7
Чтение
F (2) — чтение и сброс содержимого регистра
8 — 15
Управление
F (8) — поверка L-запроса; F (9) — сброс L-запроса
16 — 23
Запись
-
24 — 31
Управление
F (24) — блокирование; F (25) — исполнение; F (26) — деблокирование; F (27) — проверка состояния
Развитие стандарта
Стандарт КАМАК-1 получил широкую популярность и мощную поддержку организаций по стандартизации. Это привело к закреплению стандарта и выпуску огромного числа готовых модулей, предназначенных для выполнения различных измерительных и вычислительных задач.
Тем не менее, имеющиеся в стандарте ограничения привели к появлению ряда новых совместимых стандартов.
ГОСТ 26.201.2-94 Система КАМАК. Требования к интерфейсу последовательной магистрали
КАМАК-2
Многоконтроллерный крейт
EUR 6500
IEEE 575
IEC 729
ГОСТ 27079-94 Система КАМАК. Требования к многоконтроллерному крейту
Литература
Автоматизация физического эксперимента: Учеб. пособие для физ. спец. вузов / Ю. Ф. Певчев, К. Г. Финогенов, 367 с. ил. 22 см, М.: Энергоатомиздат, 1986