USB-контроллер крейта КАМАК для отладочного стенда на основе Arduino Mega 2560

Capa

Citar

Texto integral

Texto integral

В настоящее время интерфейс USB широко используется в различных системах управления, в том числе и в физических установках. В частности, на его основе был создан ряд контроллеров крейтов КАМАК (КК) [1, 2]

Для реализации данного КК была выбрана плата Arduino Mega 2560 (Arduino), характеризующаяся наличием большого числа программируемых цифровых входов-выходов (54 шт.), которые можно использовать непосредственно для генерации и приема как сигналов управления, так и сигналов данных. Функциональная схема КК представлена на рис. 1.

 

Рис. 1. Функциональная схема КК.

 

КК взаимодействует с ЭВМ путем обмена сообщениями через USB-интерфейс, используя для этого два независимых буфера в памяти контроллера – один из них предназначен для приема данных от ЭВМ, другой – для отправки данных в ЭВМ. Сообщения представлены в виде последовательности байтов. Программа на стороне микроконтроллера отслеживает состояние буфера, предназначенного для приема данных от ЭВМ. Формат передаваемых сообщений выбран так, что первым передается байт, содержащий код N, и он же первым анализируется при считывании его из буфера. Анализ кода N позволяет определить тип команды. Если N=30, то это соответствует внутренним командам КК – в этом случае на контакте 3 генерируется сигнал En(N), блокирующий дешифратор кода номера станции. Для внутренних команд дешифрация производится программным способом, по ее результатам происходит обращение к определенным контактам платы Arduino, выбранным для выполнения той или иной операции, например, генерации сигнала Z (контакт 5) или запуска цикла КАМАК сигналом Start (контакт 38).

Если 0 ≤ N ≤ 23, то это указывает на адресное взаимодействие КК с модулями крейта. Сигнал En(N) не вырабатывается. На контакты 22– 26 платы Arduino выводится код номера станции CN1-CN5, с этих контактов код поступает на 24-разрядный дешифратор (D3), после чего сформированный дешифратором сигнал выбора модуля N через буферную схему подается на соответствующую линию магистрали крейта.

Коды субадреса СA1-CA4 и функции CF1-CF5 выводятся, соответственно, на контакты 49– 46 и 33– 37 и далее через буферные схемы подаются на магистраль КАМАК. Аналогично коду N анализируется и код функции F.

Если код функции соответствует команде вывода данных на магистраль, то из буфера дополнительно считываются три байта данных – W(1– 8), W(9– 16) и W(17– 24), которые затем загружаются в регистр D6, организованный по схеме “последовательный вход– параллельный выход”. После загрузки регистра D6 высоким уровнем сигнала Start (при инициализации КК данный вывод устанавливается в нулевое состояние) запускается цикл КАМАК (генерируются сигналы B, S1 и S2). Функциональная схема генератора цикла КАМАК (CAMAC Cycle Generator) выделена на рис. 1 штриховой линией. Для формирования временных меток с шагом 100 нс используется сдвиговый регистр (D10), по разрядам которого под действием тактовых импульсов 10 МГц перемещается единичное состояние, начало и конец которого на соответствующих выводах задают временное положение сигналов B, S1 и S2. Появление единичного состояния на выводе 11 (D10) приводит к окончанию генерации цикла. Низким уровнем сигнала Start схема генерации цикла возвращается в исходное состоянии, после чего она готова к следующему запуску. Далее осуществляется проверка состояний линий CX (D1) и CQ (D2) магистрали КАМАК на предмет успешности прохождения команды и выполнения условий ее реализации адресуемым модулем.

Если код функции соответствует команде чтения данных с линий R1–R24, то, после того как сформируется соответствующая команда NAF, сигналом Start запускается цикл КАМАК. Затем проверяются состояния линий X и Q. Если команда прошла успешно, то полученные данные, которые к этому времени уже должны быть зафиксированы в 24-разрядном регистре D5 (“параллельный вход– последовательный выход”), поразрядно-последовательно байтами считываются в микроконтроллер, после чего эти данные через буфер обмена пересылаются в ЭВМ.

Сигналы с линий L1–L24 объединяются 24-разрядной схемой “ИЛИ”, выход которой подается одновременно на контакты 2 (LAM_Intr) и 9 (LAM). Контакт 2 при инициализации платы сконфигурирован как вход для сигнала прерывания. При появлении сигнала запроса на нем (LAM_Intr) будет вызваться подпрограмма обработки прерывания. Сигналы L1–L24 могут маскироваться содержимым 24-разрядного регистра D4, организованного по схеме “последовательный вход–параллельный выход”. Команда записи данных в этот регистр относится ко внутренним командам КК.

Загрузка регистров D6 (W1–W24), D4 (L1–L24) и, соответственно, чтение регистра D5 (R1–R24) производятся по SPI-протоколу (Serial Peripheral Interface) с частотой, кратной частоте работы микроконтроллера, которая равна 16 МГц. Коэффициент деления задается программным образом и выбирается из ряда 2, 4, 8, 16, 32, 64, 128. По умолчанию коэффициент деления равен 4.

Текущее состояние КК представлено значениями логических уровней на линиях X, Q, I*, LAM. Сигналы с указанных линий поступают, соответственно, на контакты 6, 7, 9 и 8. Их логические состояния считываются по отдельности, после чего из них формируется байт, представляющий слово-состояние КК, который затем передается в ЭВМ.

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

К преимуществам данного КК прежде всего можно отнести простоту программирования при использовании встроенных команд ИСР. К недостаткам – относительно невысокое быстродействие при некоторых операциях КК из-за отсутствия в составе ИСР команд побайтного ввода/вывода данных. Например, вывод на магистраль КАМАК 24-разрядного слова занимает примерно 66 мкс. В составе команд самого микроконтроллера ATmega2560 такие операции есть, но их использование приводит к усложнению кода (при этом нередко требуется использование сторонних ИСР) и, как следствие, к росту вероятности появления трудно устранимых ошибок. Для задач, решаемых на отладочном стенде, приоритетом является достоверность измерений за счет минимизации источников ошибок, а не быстродействие. Данный КК был разработан для замены другого контроллера, использовавшегося для связи с компьютером шину ISA.

Внутренние команды, используемые в данном КК:

N(30)A(0)F(0) – чтение слова-состояния КК;

N(30)A(0)F(25) – генерация сигнала Z;

N(30)A(1)F(25) – генерация сигнала C;

N(30)A(2)F(25) – установка Inhibit;

N(30)A(3)F(25) – сброс Inhibit;

N(30)A(4)F(25) – генерация сигнала Start (эта команда введена специально на случай многократного перезапуска какой-либо команды, загруженной в предыдущем цикле);

N(30)A(5)F(25) – запрет прерывания;

N(30)A(6)F(25) – снятие запрета прерывания;

N(30)A(0)F(16) – запись кода маски для сигналов LAM (W1-W24);

N(30)A(7)F(25) – генерация сигнала CReset;

N(30)A(8)F(25) – генерация сигнала ClrW;

N(30)A(9)F(25) – генерация сигнала Clr-Msk-L.

×

Sobre autores

В. Сидоркин

Объединенный институт ядерных исследований

Autor responsável pela correspondência
Email: sidorkin@jinr.ru

Лаборатория ядерных проблем, Сектор № 1 научно-экспериментального отдела физики элементарных частиц

Rússia, Дубна, Московская обл.

Bibliografia

  1. Темников А.Н. // ПТЭ. 2010. №1. С.81-86.
  2. Тубольцев Ю.В., Чичагов Ю.В., Хилькевич Е.М., Симуткин В.Д. // ПТЭ. 2010. №1. С.87.

Arquivos suplementares

Arquivos suplementares
Ação
1. JATS XML
2. Fig. 1. Functional diagram of the QC.

Baixar (642KB)

Declaração de direitos autorais © Russian Academy of Sciences, 2024

Согласие на обработку персональных данных с помощью сервиса «Яндекс.Метрика»

1. Я (далее – «Пользователь» или «Субъект персональных данных»), осуществляя использование сайта https://journals.rcsi.science/ (далее – «Сайт»), подтверждая свою полную дееспособность даю согласие на обработку персональных данных с использованием средств автоматизации Оператору - федеральному государственному бюджетному учреждению «Российский центр научной информации» (РЦНИ), далее – «Оператор», расположенному по адресу: 119991, г. Москва, Ленинский просп., д.32А, со следующими условиями.

2. Категории обрабатываемых данных: файлы «cookies» (куки-файлы). Файлы «cookie» – это небольшой текстовый файл, который веб-сервер может хранить в браузере Пользователя. Данные файлы веб-сервер загружает на устройство Пользователя при посещении им Сайта. При каждом следующем посещении Пользователем Сайта «cookie» файлы отправляются на Сайт Оператора. Данные файлы позволяют Сайту распознавать устройство Пользователя. Содержимое такого файла может как относиться, так и не относиться к персональным данным, в зависимости от того, содержит ли такой файл персональные данные или содержит обезличенные технические данные.

3. Цель обработки персональных данных: анализ пользовательской активности с помощью сервиса «Яндекс.Метрика».

4. Категории субъектов персональных данных: все Пользователи Сайта, которые дали согласие на обработку файлов «cookie».

5. Способы обработки: сбор, запись, систематизация, накопление, хранение, уточнение (обновление, изменение), извлечение, использование, передача (доступ, предоставление), блокирование, удаление, уничтожение персональных данных.

6. Срок обработки и хранения: до получения от Субъекта персональных данных требования о прекращении обработки/отзыва согласия.

7. Способ отзыва: заявление об отзыве в письменном виде путём его направления на адрес электронной почты Оператора: info@rcsi.science или путем письменного обращения по юридическому адресу: 119991, г. Москва, Ленинский просп., д.32А

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

9. Порядок уничтожения персональных данных при достижении цели их обработки или при наступлении иных законных оснований определяется Оператором в соответствии с законодательством Российской Федерации.

10. Я согласен/согласна квалифицировать в качестве своей простой электронной подписи под настоящим Согласием и под Политикой обработки персональных данных выполнение мною следующего действия на сайте: https://journals.rcsi.science/ нажатие мною на интерфейсе с текстом: «Сайт использует сервис «Яндекс.Метрика» (который использует файлы «cookie») на элемент с текстом «Принять и продолжить».