Приборы и техника эксперимента, 2020, № 2, стр. 32-51

МОДУЛЬ АНАЛОГО-ЦИФРОВОГО ПРЕОБРАЗОВАТЕЛЯ С ОЦИФРОВКОЙ ФОРМЫ СИГНАЛА ДЛЯ ЭКСПЕРИМЕНТА ВЕС

Е. В. Волков ab, Д. Р. Еремеев a, А. В. Ивашин a*, В. В. Календарёв ac, В. Д. Матвеев a, М. О. Михасенко ad, В. П. Сугоняев a, Ю. А. Хохлов ae, А. А. Шумаков a

a Институт физики высоких энергий имени А.А. Логунова Национального исследовательского центра “Курчатовский институт”
142281 Московской обл., Протвино, пл. Науки, 1, Россия

b ООО “Базовые технологии”
125124 Москва, 3-я ул. Ямского поля, 2, корп. 7, Россия

c АО “Рентгенпром”
142281 Московской обл., Протвино, ул. Ленина, 35, Россия

d CERN, European Organization for Nuclear Research
Geneva, Switzerland

e Московский физико-технический институт (национальный исследовательский университет)
141701 Московской обл., Долгопрудный, Институтский пер., 9, Россия

* E-mail: Anton.Ivashin@ihep.ru

Поступила в редакцию 11.09.2019
После доработки 11.09.2019
Принята к публикации 13.10.2019

Полный текст (PDF)

Аннотация

Представлены разработанный для эксперимента ВЕС на ускорительном комплексе У-70 32-канальный 12-битный модуль аналого-цифрового преобразования ADC-32ATC с оцифровкой формы сигнала с частотой 40 МГц, согласующие формирователи входных сигналов для него, методы измерений и их обработки. Описан опыт применения модуля в эксперименте ВЕС. Модуль предназначен для регистрации одиночных импульсов с фиксированной формой или линейной комбинации небольшого числа таких импульсов с положительными коэффициентами и может применяться для калориметров, черенковских и сцинтилляционных счетчиков в физике высоких энергий в экспериментах с фиксированной мишенью.

1. ВВЕДЕНИЕ

Разработанный для эксперимента ВЕС 12-битный 32-канальный модуль амплитудно-цифрового преобразования ADC-32ATC [1, 2] с частотой оцифровки 40 МГц предназначен для регистрации импульсов с постоянной формой с характерной шириной несколько десятков наносекунд или линейной комбинации небольшого числа таких импульсов с положительными коэффициентами. Модуль представляет собой аналого-цифровой преобразователь (а.ц.п.)11 выборочного типа (в.а.ц.п., SADC – Sampling ADC), т.е. выполняет оцифровку мгновенного значения напряжения входного сигнала в нескольких точках по времени. Оцифрованные значения будут в дальнейшем называться выборками. Особенностью модуля является использование достаточно малого числа выборок (до 16) на канал в одном событии c целью повысить число принимаемых событий в единицу времени.

Хорошо известно, что теорема Котельникова является достаточным, а не необходимым условием для возможности восстановления сигнала по дискретному набору выборок. Если, например, априори известно, что сигнал имеет фиксированную треугольную форму:

$f(t) = \left\{ \begin{gathered} a(1 - \,{\text{|}}t - {{t}_{0}}{\text{|}}),\quad {\text{|}}t - {{t}_{0}}{\text{|}} \leqslant 1 \hfill \\ 0,\quad {\text{|}}t - {{t}_{0}}{\text{|}} > 1 \hfill \\ \end{gathered} \right.,$
где a, ${{t}_{0}}$ – некоторые неизвестные числа, подлежащие определению, то легко проверить, что амплитуда и время прихода сигнала могут быть найдены по следующим формулам с использованием только выборок сигнала $f(k)$ при целочисленных $k$:
$a = \sum\limits_{k = - \infty }^{ + \infty } f (k),\quad {{t}_{0}} = \frac{1}{a}\sum\limits_{k = - \infty }^{ + \infty } k f(k),$
в то время как указанный импульс, как и любой другой финитный по времени импульс, очевидно не является финитным в частотной области, как того требует теорема Котельникова. При этом любой сигнал имеет не более двух выборок с ненулевой амплитудой.

Подход к обработке сигналов, основанный на оцифровке импульсов постоянной формы с малым числом выборок (не более, скажем, 20), широко использовался, например, в пучковых испытаниях калориметров эксперимента ATLAS [3, 4]. Ясно, что в реальности форма импульсов никогда не бывает в точности постоянной, тем не менее, во многих ситуациях такого приближения достаточно. В частности, в данной работе экспериментально продемонстрирована работоспособность такого подхода для электромагнитного калориметра (э.м.к.) [5] эксперимента ВЕС.

Целью разработки было создание относительно недорогого, удобного в эксплуатации универсального модуля, который мог бы применяться с различными детекторами ВЕС с фотоэлектронными умножителями: электромагнитным калориметром, черенковским и сцинтилляционным счетчиками.

Модуль является самодостаточным устройством (т.е. не требующим для своей работы магистрально-модульной системы) с единственным питанием +12 В, встроенной буферной памятью объемом 64 Мбайт, минимумом внешних сигналов, использует стандартный интерфейс Gigabit Ethernet 1000BASE-T для подключения к системе сбора данных (с.с.д.). Для запуска регистрации сигналов применяется асинхронный триггер в виде одиночного импульса, фронт которого привязан по времени к времени пролета пучковой частицы.

Одной из ключевых особенностей модуля по сравнению с применяющимися в данный момент в эксперименте ВЕС интегрирующими а.ц.п. (и.а.ц.п.) [6] является оцифровка в конвейерном режиме с использованием не синхронизованного с триггером внутреннего тактового сигнала, что позволяет организовать регулируемую в процессе работы цифровую задержку входных сигналов и избавиться от массивных аналоговых кабельных задержек, характерных для интегрирующих а.ц.п.

На момент публикации этой статьи стоимость модуля (без учета усилителей-формирователей входных сигналов) при изготовлении в России от 50 штук (комплектация, печатные платы, автоматизированный монтаж) составляет около $27/канал.

Аналогом модуля ADC-32ATC с точки зрения использованной элементной базы можно считать модуль DT5740 [7] производства CAEN. Отличительными особенностями ADC-32ATC являются: возможность измерения фазы триггера с субнаносекундной точностью и поддержка режимов с чередованием ×2 и ×4 (подробнее это будет рассмотрено в разделе 3); использование интерфейса Gigabit Ethernet в качестве основного вместо USB2.0 или проприетарного Optical Link, что позволяет строить разветвленные сети из сотен модулей с характерным пространственным размером до нескольких сотен метров с применением дешевого коммерчески доступного коммутационного оборудования; возможность удаленной загрузки необходимого программного обеспечения (п.о.) и прошивки программируемой логической интегральной схемы (п.л.и.с.) по сети при подаче питания, что существенно облегчает эксплуатацию в условиях экспериментальной установки, когда п.о. модифицируется исходя из текущих требований.

Модуль предназначается для установки в том числе вблизи детекторов и не подвергался специальным испытаниям на радиационную стойкость. Потенциально слабым местом является использование операционной системы Linux на микроконтроллере (МК) модуля с большим объемом исполняемого кода в динамической памяти, что приводит к повышенной вероятности отказа из-за обратимых радиационных повреждений отдельных битов в памяти.

В эксперименте ВЕС уже несколько лет успешно эксплуатируется система накамерной электроники для трековых детекторов на основе около 80 модулей TDC-48DT и TDC-32MWC [8], построенная по похожей идеологии. С другой стороны, испытания22 в эксперименте СПИН в горячей зоне ускорителя У-70 модуля TDC-32MWC показали его непригодность (среднее время до зависания операционной системы составляло порядка 1 ч). Поэтому следует ожидать, что модуль ADC-32ATC должен быть пригоден к массовой эксплуатации прямо на детекторах экспериментальной установки в экспериментах с пучками легких частиц интенсивностью $ < {{10}^{7}}$ частиц за цикл ускорителя и заведомо непригоден при интенсивностях пучка $\sim {\kern 1pt} {{10}^{{12}}}$ частиц за цикл ускорителя.

По сравнению с TDC-48DT/TDC-32MWC модуль ADC-32ATC использует для МК память с коррекцией ошибок (ECC – Error Correcting Code) , что повышает его устойчивость к воздействию заряженных частиц.

Система сбора данных эксперимента ВЕС описана в [9].

2. ОПИСАНИЕ И СТРУКТУРА МОДУЛЯ ADC-32ATC

Модуль предназначен для регистрации импульсных сигналов с детекторов частиц в двухтактном цикле, определяемом работой ускорителя (см. рис. 1). В 1-м такте цикла, названном нами СБРОС33, происходит вывод частиц из ускорителя на установку. При этом модуль по каждому внешнему триггерному сигналу Start осуществляет запись в буферную память порции последовательных по времени выборок с каждого канала а.ц.п. из некоторого временного окна, привязанного к фронту сигнала Start.

Рис. 1.

Временная диаграмма работы модуля ADC-32ATC. Типичная длительность сигнала Gate в экспериментах на ускорителе У-70 составляет 2–3 c, период повторения Gate около 10 с, мертвое время модуля Tdead – 2.0–2.5 мкс.

Во 2-м такте, во время подготовки ускорителя к следующему такту СБРОС, буферизованные в течение 1-го такта данные передаются в компьютер с.с.д. Такт СБРОС’а задается активным уровнем сигнала Gate. Для ускорителя У-70 длительность цикла составляет около 10 с, длительность СБРОС’а около 2–3 с. Описываемый в данной статье модуль не предназначен для участия в выработке триггера. Оба сигнала Gate и Start поcтупают на модуль извне и генерируются отдельной подсистемой установки. Фронт Start синхронизирован с приходом пучковой частицы.

Каждый экземпляр модуля имеет собственный автономный кварцевый генератор для тактирования микросхем а.ц.п. Тем не менее, на случай будущих модификаций в модуле имеется вход CLK_EXT, предназначенный для подачи внешнего тактового сигнала.

Блок-схема модуля представлена на рис. 2.

Рис. 2.

Блок-схема модуля ADC-32ATC.

Для снижения тока во внешних цепях питания экспериментальной установки модуль питается от единственного источника питания с относительно высоким напряжением $ + 12$ В. Необходимые другие напряжения питания вырабатываются внутри модуля преимущественно с использованием импульсных преобразователей.

Для оцифровки сигналов используются 8-канальные 12-битные конвейерные а.ц.п. AD9222 [10] с последовательным выходом с частотой от 40 до 65 МГц. В данной статье частота оцифровки выбрана равной 40 МГц. Сопряжение источников сигналов с дифференциальными входами а.ц.п. выполняется с помощью отдельного модуля усилителя-формирователя (у.ф.), присоединяемого через соответствующий разъем. Сборка у.ф. + в.а.ц.п. по размерам совместима с каркасом “Евромеханики 6U”, но может использоваться и без него. Через разъем формирователя поступает также мощное питание $ \pm 5$ В, 3 А для собственно усилителей-формирователей, слаботочное питание +3.3 В и +1.8 В для вспомогательных целей и несколько цифровых управляющих сигналов, которые могут быть использованы для программирования режимов работы формирователя.

Для выработки тактовых сигналов а.ц.п. используется программируемый формирователь частот на основе фазовой автоподстройки частоты (ФАПЧ) AD9516-0 [11] с опорным кварцевым генератором. Формирователь позволяет независимо управлять частотой и сдвигом фазы для каждой из 4 микросхем а.ц.п. Для отладочных целей путем перепайки перемычек также возможно тактирование а.ц.п. непосредственно от кварцевого генератора через простой разветвитель ADCLK846.

Прием данных с а.ц.п. и их обработка и буферизация выполняются с использованием п.л.и.с. Altera/Intel Cyclone III EP3C40F484C6N [12], в качестве буферной памяти п.л.и.с. используется DDR SDRAM объемом 64 Мбайт. Общее управление модулем и передачу данных из буферной памяти в с.с.д. осуществляет микроконтроллер Freescale/NXP MPC8308 [13] с операционной системой Linux.

Основным интерфейсом для подключения к с.с.д. является Gigabit Ethernet 1000BASE-T. Для целей отладки без использования МК реализован отдельный интерфейс USB2.0 с контроллером Cypress CY7C68001 [14], он может быть использован для параллельной разработки прошивки п.л.и.с. и п.о. для МК.

Применение микросхем а.ц.п. с последовательным выходом позволило снизить число слоев в печатной плате. Модуль выполнен на 6-слойной плате размером 233.3 × 162 мм со сквозными переходными отверстиями. Потребляемая мощность без учета у.ф. составляет не более 10 Вт.

3. ПРОШИВКА П.Л.И.С.

Блок-схема прошивки п.л.и.с. приведена на рис. 3. Блок приема данных с а.ц.п. работает без остановки в полностью конвейерном режиме с частотой сигнала CLK_ADC. Десериализаторы 1:12 тактируются синхронизованной с CLK_ADC шестикратной частотой CLK_DES. Обе частоты вырабатываются с помощью встроенного в п.л.и.с. блока ФАПЧ (PLL – Phase Locked Loop) с использованием сигнала CLK_FR с одной из микросхем а.ц.п. (сигнал с выхода FCO, обозначающий границы 12-битных последовательных посылок).

Рис. 3.

Блок-схема прошивки п.л.и.с.

Задержка данных осуществляется с помощью регистров сдвига и ее значение может индивидуально программироваться для каждого канала в диапазоне от 64 до 79 тактов. Фиксированная ее часть реализована на блочной памяти п.л.и.с., программируемая – при помощи сегментированного регистра сдвига на D-триггерах с длиной подключаемых/отключаемых сегментов, равных степеням 2.

Корректор фазового сдвига обеспечивает прием данных от а.ц.п., которые тактируются со сдвигом по фазе, кратным 2π/12 относительно CLK_FR. С учетом всех блоков и длины конвейера в самих микросхемах а.ц.п. общая длина конвейера на каждом канале от аналогового входа модуля до входа блока отбора данных составляет от 78 до 93 тактов в зависимости от величины запрограммированной задержки.

Асинхронный триггер (Start) синхронизируется с частотой CLK_ADC, задерживается на счетчике и поступает на блоки отбора данных и формирования события. Диапазон программируемой задержки триггера составляет от 7 до 134 тактов. Одновременно с синхронизацией измеряется также фаза триггера.

Таким образом, модуль может принимать сигналы во временном диапазоне как минимум $ \pm 56$ тактов ($ \pm 1.4$ мкс) относительно триггера с возможностью индивидуальной подстройки каналов по задержке в диапазоне от 0 до 15 тактов (375 нс).

Блок отбора данных после поступления сигнала триггера отбирает $N$ последовательных по времени выборок (число $N$ программируется в диапазоне от 1 до 16) в каждом канале, а также формирует после отбора маску, которая указывает информацию с каких каналов следует записать в событие, а с каких – отбросить. Отбрасывание информации возможно только для всех выборок канала целиком. Реализованы следующие алгоритмы отбора данных:

1) полное выключение любого подмножества выбранных каналов из данных;

2) отбрасывание каналов, все отобранные выборки которых меньше заданного порога;

3) отбрасывание каналов, в которых среднее отобранных выборок меньше заданного порога.

Величины порогов и подмножество каналов программируются в процессе работы по каналу управления.

Блок формирования события по сигналу триггера формирует заголовок события, который содержит сигнатуру, временной штамп события от фронта сигнала Gate (см. в [9] подробности сборки событий в с.с.д. ВЕС), фазу триггера, размер данных события, маску присутствующих каналов. После заголовка записываются данные от присутствующих каналов в одном из двух возможных режимов: без упаковки – 12-битные выборки помещаются в 16-битные слова, с упаковкой – четыре 12-битные выборки помещаются в три 16-битных слова. Режим с упаковкой позволяет поднять верхний предел на число событий за СБРОС, связанный с конечным объемом буферной памяти, а также снизить мертвое время из-за конечной пропускной способности памяти и внутренних трактов блока формирования события. Блок формирования события работает на повышенной частоте 160 МГц.

Во время активного уровня сигнала Gate события записываются в буферную память, а между активными уровнями Gate выдаются из памяти через интерфейс МК или интерфейс с USB-контроллером. Память DDR SDRAM c 16-битной шиной данных работает на эффективной частоте 192 МГц (96 МГц по фронту и спаду).

Размер заголовка события составляет 16 байт, размер буферной памяти 64 Мбайт. В режиме с упаковкой это позволяет принять около 85 000 событий при 16 выборках/канал без отбрасывания незначащей информации. В принципе, при необходимости размер буферной памяти может быть увеличен в несколько раз переходом на память DDR2.

Мертвое время модуля Tdead, определяющее минимальный временной интервал между двумя последовательными сигналами Start, который должна обеспечить триггерная система установки, можно вычислить по формулам:

$\begin{gathered} {{T}_{{{\text{dead}}}}} = {\text{max}}({{T}_{1}},T_{2}^{{{\text{max}}}},T_{3}^{{{\text{max}}}}), \\ {{T}_{2}} = (M + 3.5){{t}_{{adc}}} + [KM{\text{max}}({{N}_{0}},N - {{N}_{0}}) + 7]{{t}_{{sys}}}, \\ {{T}_{3}} = (KMN + 8){{t}_{{sys}}}, \\ \end{gathered} $
где ${{T}_{1}}$ – задержка триггера, ${{T}_{2}}$ – суммарное время приема полезных данных события от блока приема данных а.ц.п. и их предварительной подготовки во внутренней памяти блока формирования события, ${{T}_{3}}$ – суммарное время формирования и записи события в буферную память п.л.и.с. СБРОС’а, $N$ – число отобранных для записи в событие каналов (0–32), ${{N}_{0}}$ – число отобранных для записи в событие каналов с номерами $ \leqslant {\kern 1pt} 15$, ${{t}_{{adc}}}$ – период тактовой частоты а.ц.п., $K$– коэффициент упаковки (1.0 для неупакованного формата события, 0.75 для упакованного), $M$ – число выборок на канал (1–16), ${{t}_{{sys}}}$ – период тактовой частоты обработки и буферизации данных (6.25 нс для текущего проекта), $T_{2}^{{{\text{max}}}}$ и $T_{3}^{{{\text{max}}}}$ – максимально возможные для заданной конфигурации модуля значения величин ${{T}_{2}}$ и ${{T}_{3}}$ (которые достигаются при максимально возможных значениях $N$ и ${{N}_{0}}$).

При типичном использовании в физике частиц (триггер приходит позже сигналов) мертвое время модуля в режиме с упаковкой с полной загрузкой (16 выборок/канал, 32 отобранных канала в каждом событии) составляет не более 2.5 мкс.

Для стендовых применений в прошивке реализован режим имитации циклов ускорителя, при этом Gate генерируется внутри п.л.и.с. с программируемыми периодом и длительностью СБРОС’а, а Start может либо подаваться извне через разъем AUX_IN в уровнях NIM, либо тоже генерироваться внутри с выдачей его копии вовне через разъем AUX_OUT в уровнях NIM.

3.1. Фаза триггера

При работе с простым асинхронным триггером и внутренней частотой оцифровки во время синхронизации триггерного сигнала происходит частичная потеря временнόй информации – положение по времени выборок а.ц.п. относительно фронта Start известно в каждом событии с точностью $ \pm (T{\text{/}}2)$, где $T$ – период тактового сигнала а.ц.п. Для того, чтобы избавиться от этого недостатка, модуль ADC-32ATC имеет функцию измерения фазы триггера. Фаза триггера по существу есть временной интервал от фронта сигнала Start до ближайшего фронта тактового сигнала а.ц.п. Это определение не очень хорошо годится при совпадающих фронтах, поэтому будем называть фазой триггера временной интервал между фронтами Start и его синхронизованной с тактовым сигналом версии (см. рис. 4); эта фаза отличается от фазы в первоначальном смысле несущественной аддитивной константой.

Рис. 4.

Фаза триггера.

На рис. 5 показан примененный для измерения фазы триггера времяцифровой преобразователь (в.ц.п.) на основе вентильной линии задержки с отводами (л.з.о., tapped delay line). В таком в.ц.п. входной сигнал запускается в цепочку последовательно соединенных идентичных вентилей, к выходу каждого вентиля подсоединяется D-триггер, все D-триггеры тактируются периодическим тактовым сигналом. В результате на каждом фронте тактового сигнала в D-триггерах запоминается состояние линии задержки, которое при наличии в ней сигнала имеет вид типа 00000000011111111. Далее подсчитывается число единиц, которое пропорционально интервалу времени от фронта входного сигнала до того фронта тактового сигнала, по которому запоминалось состояние задержки в D-триггеры. Фронты тактового сигнала отсчитываются с помощью счетчика. Таким образом, комбинация счетчика и вышеописанной схемы измерения времени прихода сигнала относительно ближайшего фронта тактовой частоты на основе л.з.о. представляет собой полноценный в.ц.п.

Рис. 5.

Схема в.ц.п. для измерения фазы триггера.

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

Тем не менее, существует подход [15], который практически применим к большинству п.л.и.с.: использование в качестве л.з.о. цепи переноса в сумматоре. Почти все производители п.л.и.с. предусматривают некоторые дополнительные к основной структуре п.л.и.с. аппаратные возможности для облегчения реализации сумматоров. Сумматор, синтезированный с применением этих дополнительных возможностей, всегда обладает фиксированной физической структурой внутренних цепей, и его можно использовать в качестве л.з.о. с предсказуемыми характеристиками.

На рис. 6 показан созданный блок л.з.о. Детектор фронта вырабатывает импульс длительностью 1 такт. Кодер представляет собой полностью комбинационную схему, которая выдает на выходе число последовательных единиц вплоть до первого встретившегося нуля (т.е. коду ${\text{XX}}...{\text{XXX011}}{{{\text{1}}}_{2}}$ на входе соответствует код ${{00011}_{2}}$ на выходе). Для правильной работы схемы сумматор вместе с выходным регистром должен располагаться в нескольких соседних по вертикали LAB (logic array block) п.л.и.с., расположение остальных элементов некритично (пока выполняются условия на задержки триггер-триггер для работы на частоте 480 МГц).

Рис. 6.

Схема блока линии задержки с отводами.

3.2. Режимы модуля ×2 и ×4

Часто в установке бывает потребность в повышенной частоте оцифровки для небольшого числа каналов. Для ее удовлетворения без привлечения специального типа в.а.ц.п. можно запустить оцифровку в микросхемах а.ц.п. в режиме чередования по времени: один и тот же аналоговый сигнал подается на $N$ каналов а.ц.п., которые тактируются с последовательным сдвигом по фазе на 2π/N. При этом эффективное число аналоговых каналов в модуле уменьшается в $N$ раз.

В ADC-32ATC, содержащем четыре 8-канальные микросхемы а.ц.п. с последовательным выходом, реализованы режимы ×2 ($N = 2$) и ×4 ($N = 4$). Кратность разрядности (12) и выбранного $N$ позволяет использовать показанный на рис. 7 способ для приема данных с а.ц.п. в п.л.и.с. Поскольку битовые ячейки от всех а.ц.п. совпадают по времени, все битовые потоки можно стробировать при приеме в п.л.и.с. единственным тактовым сигналом.

Рис. 7.

Прием данных с последовательного выхода 12-битного а.ц.п. при условии, что тактовый сигнал а.ц.п. задержан на 1/4 периода, а десериализатор в п.л.и.с. работает от исходного незадержанного тактового сигнала.

Таким образом, в режимах ×2 и ×4 можно работать, используя прошивку п.л.и.с. для режима ×1 (без чередования по времени), а потом программно преобразовывать принятые данные. Тем не менее, рабочая прошивка п.л.и.с. поддерживает аппаратную коррекцию, выполняемую после преобразования битовой последовательности в параллельный код в конвейерном режиме. На рис. 3 блок, выполняющий эту работу, обозначен как “Корректор фазового сдвига”.

4. МИКРОКОНТРОЛЛЕРНОЕ УПРАВЛЕНИЕ И ПЕРЕДАЧА ДАННЫХ

В модуле ADC-32ATC используется 32-разрядный МК MPC8308 [13] производства Freescale/NXP с архитектурой PowerPC, тактовой частотой 400 МГц и 256 Мбайт оперативной памяти DDR2-266 c 32-разрядной шиной данных с поддержкой ECC. Для связи с внешним миром применяется Gigabit Ethernet 1000BASE-T на витой паре. Микроконтроллер подсоединен к п.л.и.с. посредством 16-разрядной шины eLB с тактовой частотой 66 МГц, а также нескольких сигналов GPIO (general purpose input/output) и IRQ (interrupt request). Еще 10 сигналов GPIO в уровнях LVCMOS3.3 зарезервированы для управления формирователем аналоговых сигналов, при этом может быть реализован любой требуемый протокол, в том числе разный для разных формирователей. Для первоначального программирования загрузочного постоянного запоминающего устройства NOR Flash используется интерфейс JTAG МК. Для отладочных целей также доступен порт RS-232.

На МК работает минималистичный дистрибутив GNU/Linux на основе busybox [16], изготовленный с помощью инструментария buildroot версии 2014.08 [17]. Используется ядро Linux версии 2.6.36 [18]. В качестве загрузчика используется u-boot версии 2014.07 [19]. Первичное программирование загрузочной NOR Flash выполняется с использованием JTAG в стандартном режиме периферийного сканирования для установки/опроса выводов МК при помощи инструментария urjtag версии 0.10 [20].

Поддерживаются два режима загрузки МК при включении питания (выбор осуществляется съемной перемычкой):

1. Локальный: образы ядра операционной системы и корневой файловой системы загружаются из NOR Flash объемом 8 Мбайт.

2. Сетевой: образы ядра операционной системы и корневой файловой системы загружаются по сети Ethernet c сервера по протоколу TFTP, при этом с сервера также загружаются дополнительный скрипт инициализации модуля и прошивка п.л.и.с. для ее конфигурирования c использованием интерфейса JTAG п.л.и.с. С этой целью сигналы JTAG п.л.и.с. подключены к выводам GPIO МК. После загрузки прошивки исполняется shell-скрипт инициализации, который настраивает режим работы модуля (число выборок на канал, задержки триггера и сигналов и т.п.).

Сетевой режим является штатным при работе модуля в составе с.с.д. установки. Он позволяет иметь актуальные версии п.о. и прошивки п.л.и.с. для всех экземпляров модулей (которых может быть несколько сотен), для этого достаточно просто обновить файлы на сервере. Локальный режим предназначен для тестовых (стендовых) применений при работе с единственным экземпляром модуля, когда развертывание инфраструктуры для сетевой загрузки нецелесообразно.

Синхронизация системного времени на модуле ADC-32ATC осуществляется по протоколу NTP, для этого на МК при загрузке запускается стандартный демон ntpd.

Удаленный доступ к модулю ADC-32ATC для запуска программ на МК осуществляется по протоколу SSH.

Поверх одного физического канала связи МК с п.л.и.с. реализованы с использованием разных сигналов CS (chip select) два логических канала: канал данных и канал управления.

Канал управления используется для программирования параметров и режимов работы прошивки п.л.и.с., а также для управления подключенными к п.л.и.с. по SPI микросхемами а.ц.п. (AD9222) и ФАПЧ (AD9516-0). Для работы с каналом управления разработана библиотека на языке C, поверх которой реализована также пользовательская программа с интерфейсом командной строки.

Канал данных используется для считывания массива данных из буферной памяти п.л.и.с. Для считывания данных используется контроллер ПДП (DMA), который пересылает данные в оперативное запоминающее устройство МК, откуда далее данные выдаются по какому-либо протоколу через интерфейс Ethernet. Достигнуты следующие скорости передачи данных:

1) скорость копирования данных из памяти МК в память МК (DDR2 SDRAM) – 150 Мбайт/с (при помощи функции memcpy библиотеки glibc);

2) скорость выдачи данных по Gigabit Ethernet c использованием протокола TCP (стандартный стек TCP/IP из ядра Linux, данные передаются из оперативной памяти МК, применяются кадры обычного размера44) – 36 Мбайт/c;

3) скорость выдачи данных по Gigabit Ethernet в виде UDP-дейтаграмм с использованием низкоуровневого интерфейса PACKET MMAP ядра Linux (данные передаются из оперативной памяти МК и забираются сетевым контроллером для передачи прямо из пользовательского буфера, применяются большие кадры) – 116 Мбайт/с;

4) скорость приема данных из буферной памяти п.л.и.с. по каналу п.л.и.с.–МК в оперативную память МК с использованием механизма DMA – 60 Мбайт/c;

5) скорость приема данных из буферной памяти п.л.и.с. по каналу п.л.и.с.–МК в CPU с включенным кэшем данных с последующим отбрасыванием данных – 74 Мбайт/c;

6) скорость передачи данных из буферной памяти п.л.и.с. в Gigabit Ethernet по TCP, c кадрами обычного размера и с промежуточной буферизацией в оперативной памяти МК – 24 Мбайт/с, и это означает выдачу всей буферной памяти п.л.и.с. за 2.7 с;

7) скорость передачи данных из буферной памяти п.л.и.с. в Gigabit Ethernet с передачей основного массива данных в виде UDP-дейтаграмм с использованием PACKET MMAP, больших кадров и с промежуточной буферизацией в оперативной памяти МК – не менее 40 Мбайт/с (оценка, полученная из 3) и 4)).

Сейчас используется вариант 6) как самый простой в реализации. Пиковая теоретическая скорость eLB составляет 92 Мбайт/с. Как показывают вышеприведенные измерения, при использовании UDP с PACKET MMAP без промежуточной буферизации данных в оперативной памяти МК (контроллер Ethernet забирает данные прямо из канала данных с помощью своего контроллера DMA) можно попытаться достичь скорости 74 Мбайт/с для передачи данных из буферной памяти п.л.и.с. в Ethernet.

Для аппаратного (в п.л.и.с.) отсечения данных а.ц.п. без полезных сигналов написана программа, исполняющаяся в фоновом режиме на МК. Программа между СБРОС’ами считывает значения пьедесталов и записывает соответствующие пороги отсечения в п.л.и.с. Превышение порога отсечения над пьедесталом фиксировано и задается перед запуском программы, типичные значения составляют 3–4 отсчета. Подобное подавление незначащей информации ведет к некоторому снижению динамического диапазона, поэтому применяется опционально только для некоторых детекторов.

Использование Linux на MK позволяет иметь привычную для физиков среду программирования и работать с устройством почти как с обычным персональным компьютером.

5. УСИЛИТЕЛИ-ФОРМИРОВАТЕЛИ

Основная функция у.ф. – согласование источника сигнала с входом а.ц.п. и уширение импульса для того, чтобы он был покрыт хотя бы несколькими выборками а.ц.п. Для AD9222 [10] необходим дифференциальный входной сигнал в диапазоне $ \pm 1$ В с уровнем синфазного сигнала около $ + 0.8$ В. Уширение импульса также положительно сказывается на стабильности его формы: если ширина входного импульса много меньше ширины выходного, то форма выходного импульса практически целиком определяется импульсной переходной характеристикой у.ф.

Базовая принципиальная схема одного канала у.ф. приведена на рис. 8. Передаточная характеристика у.ф. в приближении бесконечного быстродействия операционного усилителя равна

$K({\omega }) = A\frac{{1 + j{\omega }{{\tau }_{0}}}}{{(1 + j{\omega }{{\tau }_{1}})(1 + j{\omega }{{\tau }_{2}})(1 + j\omega {{\tau }_{3}})}},$
где $A$ – коэффициент усиления для постоянного сигнала, а постоянные времени выражаются следующим образом через параметры элементов схемы:

$\begin{gathered} {{\tau }_{0}} = {{R}_{5}}{{C}_{2}},\quad {{\tau }_{1}} = {{R}_{4}}{{C}_{1}}, \\ {{\tau }_{2}} = \frac{{{{R}_{5}}({{C}_{2}} + {{C}_{3}})}}{{1 + {{R}_{5}}({{R}_{6}} + {{R}_{7}}){\text{/}}({{R}_{6}}{{R}_{7}})}},\quad {{\tau }_{3}} = {{R}_{{10}}}{{C}_{4}}. \\ \end{gathered} $
Рис. 8.

Базовая принципиальная схема одного канала усилителя-формирователя, где всегда С4 = С5, R10 = R11, цепь ${{R}_{{11}}}{{C}_{5}}$ служит для симметризации нагрузки выходного каскада операционного усилителя, а резисторы R12, R13 – для изоляции от операционного усилителя схемы выборки-хранения а.ц.п.; резистором ${{R}_{9}}$ регулируется постоянное смещение на выходе при отсутствии входного сигнала (пьедестал); при работе с фотоэлектронным умножителем С2 не подключен. А1 – LMH6609, А2 – LMH6551 (вход СМ задает полусумму напряжений на его выходах).

Нуль в $K({\omega })$ служит для подавления экспоненциального хвоста во входном сигнале. В случае работы у.ф. с колоколообразным входным сигналом, типичным для фотоэлектронного умножителя, нуль в $K({\omega })$ не нужен. Для получения как можно более одинакового наклона фронта и спада необходимо иметь равные ${\tau }$ всех полюсов, тогда получается трехкратный полюс с откликом $\sim {\kern 1pt} {\theta }(t){{t}^{2}}{{e}^{{ - t/{\tau }}}}$ (${\theta }(t)$ – функция Хевисайда) на δ-функцию во временной области.

Поскольку AD9222 имеет небуферизованную схему выборки-хранения, то при работе в режимах с чередованием недопустимо напрямую подсоединять несколько входов а.ц.п. к одному у.ф. – требуется активное разветвление. Для работы в режиме ×4 разработан у.ф. с разветвлением сформированного сигнала при помощи 4 полностью дифференциальных повторителей. Это исключает поканальные вариации формы из-за разброса параметров времяформирующих цепей.

6. ПАРАМЕТРИЗАЦИЯ ФОРМЫ ИМПУЛЬСА. ПРОЦЕДУРА ПОДГОНКИ СИГНАЛОВ

В данной работе для описания формы импульса ${{f}_{0}}(t)$ на выходе у.ф. (как от генератора, так и от детекторов) применяется либо кубический сплайн с шагом узлов 2.5 нс, либо параметризация

(1)
${{f}_{0}}(t) = {\theta }(t)\frac{1}{{{{e}^{{ - (t - \tau )/\kappa }}} + 1}}t({{e}^{{ - {\alpha }t}}} + b{{e}^{{ - {\beta }t}}}),$
где $\alpha ,{\beta },b,\kappa ,\tau $ – параметры, подбираемые для конкретного канала у.ф. и источника сигнала. Параметризация (1) никак физически не мотивирована, и ее следует рассматривать как эмпирический рецепт, который в наших условиях описывает форму сигнала с точностью несколько процентов от его значения в максимуме.

Амплитуда и время прихода импульсов определяются подгонкой цифровых сигналов методом наименьших квадратов с единичными весами с использованием заданной формы ${{f}_{0}}(t)$ одиночного импульса, для минимизации используется алгоритм UOBYQС [21], который является модификацией UOBYQA [22]. Форма ${{f}_{0}}(t)$ всегда предварительно нормируется так, чтобы ее значение в максимуме было равно 1.

За исключением случая, рассмотренного ниже в п. 8.4 раздела 8, использовалась подгонка сигнала одним импульсом:

$f(t) = a{{f}_{0}}(t - {{t}_{0}}) + p,$
где $a,{{t}_{0}},p$ – подгоночные параметры.

В п. 8.4 допускается до 5 импульсов в одном событии, и сигнал параметризуется функцией

$f(t) = \sum\limits_{k = 1}^5 {q_{k}^{2}} {{f}_{0}}(t - {{t}_{k}}) + p,$
где ${{q}_{k}},{{t}_{k}},p$ – подгоночные параметры, квадратичная параметризация амплитуд импульсов используется для сужения пространства возможных сигналов.

Иногда пьедестал считается известным и одинаковым для всех событий, в таком случае $p$ заранее фиксируется.

7. СТЕНДОВЫЕ ИЗМЕРЕНИЯ

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

7.1. Метод “сдвига на фазу” реконструкции формы импульса

В каждом отдельном событии в.а.ц.п. выдает набор выборок сигнала с интервалом между ними, равным периоду оцифровки. Импульс во всех тестовых сигналах имеет одинаковые форму и амплитуду, а частота оцифровки не синхронизирована с временем прихода импульса. Последним обстоятельством можно воспользоваться для восстановления по массиву событий формы импульса на входе в.а.ц.п. на существенно меньшем временном масштабе, чем период оцифровки. Для этого достаточно откладывать на одном графике значения выборок всех событий с некоторым сдвигом по оси времени, определяемым временем прихода сигнала относительно первой выборки.

Если тестовый импульс синхронен с триггером, то в качестве необходимого временного сдвига можно использовать фазу триггера с обратным знаком. На практике ось времени разбивается на бины, и в центре каждого бина откладывается среднее значение амплитуд выборок, которые попали в этот бин. Потом полученный набор точек аппроксимируется какой-либо гладкой функцией. Мы будем называть описанную процедуру реконструкции формы импульса методом “сдвига на фазу”.

7.2. Калибровка и разрешение в.ц.п. фазы триггера

Задержки отдельных элементов л.з.о. отличаются друг от друга, неизвестно их конкретное значение, и они имеют температурную зависимость. Поэтому для достижения максимальной точности в.ц.п. фазы триггера необходима его калибровка, которая делается off line с использованием статистической обработки данных, при этом возможно использование реальных данных, набираемых в физическом эксперименте.

Будем обозначать 5-битные точные поправки к фазе триггера, указанные на рис. 5, как ${{\phi }_{t}}$ для сигнала Start, ${{\phi }_{s}}$ для сигнала Start_syn или просто $\phi $, если формула применима для обеих из них. Если входной сигнал распределен равномерно по времени, то высота бина в гистограмме величины $\phi $ пропорциональна задержке соответствующего элемента л.з.о. (чем больше задержка, тем больше вероятность обнаружить перепад входного сигнала именно в этом элементе задержки). Приближение равномерного распределения хорошо работает для $\phi $, поскольку ни сигнал Start, ни частота оцифровки в.ц.п. 480 МГц, которая генерируется с помощью ФАПЧ от отдельного кварцевого генератора, не привязаны к частоте оцифровки а.ц.п.

Для тестирования в.ц.п. фазы триггера сигнал с генератора пассивно разветвлялся на 2 и один из сигналов использовался в качестве Start (с подачей через NIM-вход AUX_IN), а второй подавался через у.ф. на один из аналоговых входов модуля ADC-32ATC. При ширине сигнала около 25 нс можно обеспечить одновременно как надежный запуск по NIM-входу, так и амплитуду сигнала в а.ц.п. около 3000 отсчетов.

На рис. 9 показаны измеренные распределения для ${{\phi }_{s}}$ и ${{\phi }_{t}}$ для одного из модулей. По гистограмме вычисляется функция преобразования $F(\phi )$ следующим образом:

$F(\phi ) = \sum\limits_{i = 0}^\phi {{{h}_{i}}} {\text{/}}\sum\limits_{i = 0}^{31} {{{h}_{i}}} ,$
где ${{h}_{i}}$ – значение в бине $i$ гистограммы.

Рис. 9.

Распределения измерений для характеризации в.ц.п. измерения фазы одного из модулей в.а.ц.п.: по уточняющим величинам ${{\phi }_{s}}$ (а) и ${{\phi }_{t}}$ (б), грубой фазе $\Phi $ (в) и разности подогнанного времени и точной фазы с обратным знаком (г).

Собственно точная фаза триггера ${{\Phi }_{{{\text{fine}}}}}$ в наносекундах вычисляется с использованием функций преобразования $F(\phi )$ по формуле:

${{\Phi }_{{{\text{fine}}}}} = 2.083(\Phi - {{F}_{t}}({{\phi }_{t}}) + {{F}_{s}}({{\phi }_{s}})),$
где 2.083 нс – период тактовой частоты 480 МГц, $\Phi $ – код со счетчика.

Форма сигнала в а.ц.п. извлекалась методом “сдвига на фазу” с использованием точной фазы триггера и аппроксимации сплайном. Полученный сплайн ${{f}_{0}}(t)$ был использован для пособытийной подгонки сигналов. Гистограмма разности ${{t}_{0}}$ (время прихода сигнала из подгоночной процедуры) и $ - {{\Phi }_{{{\text{fine}}}}} + C$ (время прихода из фазы триггера) показана на рис. 9. Незначащая константа $C$ выбрана так, чтобы среднее гистограммы было вблизи нуля. Видно, что точная фаза измеряется с разрешением не хуже 63 пс в смысле среднеквадратичного отклонения.

7.3. Разрешение по амплитуде. Линейность

Для измерения интегральной нелинейности и амплитудного разрешения на аналоговый вход модуля в.а.ц.п. через у.ф. подавался импульс от генератора в виде трапеции с фронтом и спадом 5 нс и длительностью по основанию 30 нс, называемый в дальнейшем стандартным. В качестве триггера использовался сигнал с другого, синхронизованного с первым, канала генератора. Форма импульса извлекалась на сигнале с амплитудой 3000 отсчетов в.а.ц.п. методом “сдвига на фазу” с использованием как сплайновой аппроксимации, так и c применением параметризации (1). Полученная форма использовалась для пособытийной подгонки сигналов с целью определения их амплитуды.

Измерения были организованы в виде набора серий c поcтоянной заданной амплитудой импульса генератора ${{a}_{g}}$ внутри серии. По каждой серии вычислялись среднее значение измеренной амплитуды $\bar {a}$ и его среднеквадратичный разброс ${{\sigma }_{{\bar {a}}}}$. Амплитуда ${{a}_{g}}$ “пробегала” весь диапазон а.ц.п. Коэффициент преобразования $k$ зависимости $\bar {a} = k{{a}_{g}}$ определялся путем подгонки набора точек $\bar {a}({{a}_{g}})$ прямой методом наименьших квадратов. Интегральная нелинейность определялась как максимальное отклонение от прямой во всем диапазоне: $I = {\text{max|}}\bar {a} - k{{a}_{g}}{\text{|}}$.

Средняя величина $I$ для всех каналов составила 0.8 отсчета в.а.ц.п., а максимальная – 4.4 отсчета. Разрешение ${{{\sigma }}_{{\bar {a}}}}$ для формы сигнала со сплайновой аппроксимацией составило 2.4 отсчета во всем диапазоне. При использовании параметризации (1) разрешение ухудшается с амплитудой как ${{\sigma }_{{\bar {a}}}} = 2.3 \oplus 0.002\bar {a}$. Абсолютная ошибка аппроксимации формы импульса параметризацией (1) составляла ~3% от величины импульса в максимуме.

Среднеквадратичный разброс амплитуды одиночной выборки а.ц.п. вне области полезного сигнала составлял 2.1 отсчета и при отсоединении генератора уменьшался до 0.7 отсчета. Это указывает на то, что в измеренном разрешении в.а.ц.п. 2.4 отсчета (при сплайновой аппроксимации формы импульса) доминирует шум генератора.

Для оценки межканальных помех поочередно в каждый из 32 каналов у.ф. многократно подавался стандартный сигнал фиксированной амплитуды, соответствующий около 4000 отсчетов а.ц.п., методом “сдвига на фазу” восстанавливались усредненные отклики в остальных каналах. Помеха характеризовалась максимальным отклонением по модулю отклика от пьедестала и составляла не более 1 отсчета.

8. ПРИМЕНЕНИЯ В.А.Ц.П. В ПУЧКОВЫХ ЭКСПОЗИЦИЯХ

8.1. Тестирование электромагнитного калориметра

Одним из перспективных для оснащения в.а.ц.п. детекторов является электромагнитный калориметр [5]. Основным требованием для целей калориметрии является высокое амплитудное разрешение. Для подтверждения характеристик в.а.ц.п. была проведена экспозиция сборки счетчиков э.м.к. на пучке отрицательно заряженных частиц, преимущественно электронов. Номинальный импульс пучка 10 ГэВ/c и диапазон импульсов определялись настройкой канала, поперечный размер около 4 см. Набор пучковых сцинтилляционных счетчиков вырабатывал триггер, для идентификации пучковой частицы при дальнейшей обработке использовались черенковские счетчики.

Для контрольных измерений сборка 6 × 6 малых счетчиков оснащалась и.а.ц.п. Сборка позиционировалась на пучке поочередно каждым счетчиком и облучалась. На рис. 10 показан спектр экспонируемого на пучке счетчика (прилегающего к геометрическому центру сборки) без требования идентификации пучка. Он проявляет несколько структур: пьедестальный шум около нуля; пик энерговыделения с минимальной ионизацией (так называемый mip-пик) в области около 120 отсчетов; подложка от адронных взаимодействий во всем диапазоне энергий55; пик в середине шкалы от частичного поглощения электромагнитного ливня, при этом правый край пика соответствует центральному попаданию электронов в счетчик. Калибровочные коэффициенты (в МэВ/отсчет и.а.ц.п.) для счетчиков сборки определялись отдельной процедурой и использовались в дальнейшем.

Рис. 10.

Спектр показаний и.а.ц.п. в контрольных измерениях для одного из счетчиков э.м.к. (точки), где среднее значение пьедестала выставлено в 20 отсчетов для удобства представления начального участка; линия – спектр подгоночных амплитуд в.а.ц.п.

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

8.2. Метод восстановления формы одиночного импульса

Метод “сдвига на фазу” может быть применен и для импульсов со случайной амплитудой, при условии, что распределение по времени прихода импульса (относительно выборок в.а.ц.п.) и распределение по амплитуде независимы. Однако в этом случае может существенно деградировать точность при заданном числе событий, поскольку относительная статистическая ошибка восстановления усредненного сигнала в каждом бине $i$ по времени есть

$\sigma = \frac{{{{\sigma }_{a}}}}{{\bar {a}}}\frac{1}{{\sqrt {{{N}_{i}}} }},$
где $\bar {a}$ и ${{\sigma }_{a}}$ – среднее значение амплитуды импульса и его среднеквадратичный разброс, ${{N}_{i}}$ – число событий в бине.

Для счетчика э.м.к. ${{\sigma }_{a}}{\text{/}}\bar {a}$ = 0.81 (см. рис. 10). При общем количестве событий в данном канале 20 000 и ширине бина 1/10 периода оцифровки точность восстановления импульса в бине составит 1.8%. Это ограничивает точность восстановления формы импульса с заранее неизвестной параметризацией, а также затрудняет оценку отклонения параметризованной формы от реальной. Для преодоления этих проблем был разработан новый метод66, краткое изложение которого далее приводится.

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

Вместо непосредственно измеренных значений выборок ${{a}_{i}}$ мы используем нормированные: $a_{i}^{'} = {{a}_{i}}{\text{/}}\sum\limits_k {{{a}_{k}}} $. Сумма в знаменателе является оценкой интеграла сигнала, применение точного значения которого устранило бы роль флуктуаций амплитуды. Соответственно возникает ошибка численного интегрирования истинной формы импульса методом прямоугольников с шагом по времени, равным периоду дискретизации в.а.ц.п.

Множество цифровых сигналов из нормированных выборок порождается путем сдвигов по времени из одного непрерывного сигнала, который мы будем называть эффективной формой импульса:

(2)
${{f}_{{{\text{eff}}}}}(t) = {{f}_{0}}(t){\text{/}}\sum\limits_{k = - \infty }^{ + \infty } {{{f}_{0}}} (t + k).$

Знаменатель в (2) – периодическая функция с периодом единица. Если ${{f}_{0}}(t)$ умножить на произвольную периодическую функцию $r(t) > 0$ c периодом 1, то эффективная форма не изменится. Это означает, что хотя эффективная форма может быть экспериментально извлечена с существенно более высокой точностью, чем истинная, ценой этого является неизвестный периодический множитель $r(t)$.

Однако периодический множитель с периодом дискретизации в.а.ц.п. является неестественным с физической точки зрения. Применяемые для параметризации импульса узкие классы функций наподобие (1) почти гарантированно не содержат в себе двух функций, отличающихся на периодический множитель. Поэтому от параметризации для ${{f}_{0}}(t)$ можно перейти к параметризации для ${{f}_{{{\text{eff}}}}}(t)$ и однозначно определить подгоночные параметры, используя экспериментальную эффективную форму. Использование эффективной формы для подгонки позволяет уже на умеренной статистике наблюдать достаточно тонкие отличия параметризованной формы от экспериментальной.

Калориметрические измерения с в.а.ц.п. были сделаны c ранней версией прошивки п.л.и.с., в которой отсутствовало измерение точной фазы триггера. Помимо этого, возможны флуктуации времени прихода сигнала относительно триггера. Излагаемый метод является развитием метода “сдвига по фазе”, когда необходимое временное смещение (фаза) определяется только из выборок в.а.ц.п.

Центр тяжести импульса (с временем прихода ${{t}_{0}}$) $\tau ({{t}_{0}}) = \int t f(t - {{t}_{0}})dt{\text{/}}\int f (t)dt$ обладает свойством: $\tau ({{t}_{0}}) = \tau (0) + {{t}_{0}}$, т.е. с точностью до постоянного сдвига является временем прихода сигнала. Его дискретный аналог

(3)
$T({{t}_{0}}) = \sum\limits_k k {{a}_{k}}{\text{/}}\sum\limits_k {{{a}_{k}}} $.

Если известна истинная форма импульса ${{f}_{0}}(t)$, то $T({{t}_{0}}) = \sum\nolimits_k {k{{f}_{0}}(k - {{t}_{0}})} {\text{/}}\sum\nolimits_k {{{f}_{0}}(k - {{t}_{0}})} $ = t0 + $\sum\nolimits_k {(k} $${{t}_{0}}){{f}_{0}}(k - {{t}_{0}})/\sum\nolimits_k^{} {{{f}_{0}}(k - {{t}_{0}})} $.

Последнее слагаемое – периодическая функция с периодом единица, обозначим ее $\psi ({{t}_{0}})$: T(t0) = = ${{t}_{0}} + \psi ({{t}_{0}})$.

Поскольку $T$ есть некоторое приближение к $\tau $, полученное с помощью численного интегрирования, то следует ожидать, что для физически адекватных форм импульсов $\psi ({{t}_{0}})$ отличается от константы на некоторую малую величину.

Обозначим обратную к $T({{t}_{0}})$ функцию как ${{t}_{0}}(T)$. При сдвиге сигнала на +1 центр тяжести тоже увеличится на 1: ${{t}_{0}}(T + 1) = {{t}_{0}}(T) + 1$, или t0(T + + 1) – $(T + 1)$ = t0(T) – T. Введем $\lambda (T)$ следующим образом: ${{t}_{0}}(T) = T + {\lambda }(T)$. Имеем: ${\lambda }(T + 1)$ = λ(T), т.е. ${\lambda }$ периодична с периодом 1.

Функцию ${\lambda }(T)$ можно аппроксимировать суммой нескольких первых членов ее разложения в ряд Фурье. Из формулы суммирования Пуассона следует, что коэффициентами разложения суммы $\sum\nolimits_k {f(t + k)} $ являются $F(2{\pi }n)$, где $n$ – номер коэффициента Фурье, $F({\omega })$ – фурье-образ импульса $f(t)$. Суммы в выражении для $T({{t}_{0}})$ разлагаются в ряды Фурье с коэффициентами, определяемыми фурье-образами функций $t{{f}_{0}}(t)$ и ${{f}_{0}}(t)$, первый фурье-образ есть с точностью до постоянного множителя производная второго. Допустимость приближения функций $\psi ({{t}_{0}})$ и ${\lambda }(T)$ коротким отрезком ряда Фурье напрямую связана с достаточно быстрым убыванием фурье-образа ${{F}_{0}}({\omega })$ импульса ${{f}_{0}}(t)$ и производной $F_{0}^{'}({\omega })$ при ${\omega } = 2\pi n$, $n \to + \infty $. Ограничиваясь первой гармоникой, имеем:

$\lambda (T) = {{\lambda }_{0}} + b\sin 2\pi T + c\cos 2\pi T.$

Плотность распределения ансамбля импульсов $\rho (T) \propto dN{\text{/}}dT = \frac{{dN}}{{d{{t}_{0}}}}\frac{{d{{t}_{0}}}}{{dT}}$. Для (псевдо)случайной последовательности с $\frac{{dN}}{{d{{t}_{0}}}} = {\text{const}}$ плотность определяется производной функции ${{t}_{0}}(T)$. Используя (4), имеем:

(5)
$\rho (T) = 1 + 2\pi b\cos 2\pi T - 2\pi c\sin 2\pi T.$

Фитируя экспериментальную гистограмму для $T$ параметризацией $\rho (T)$ (c точностью до нормировки), можно определить неизвестные коэффициенты $b$ и $c$ и тем самым искомую функцию преобразования ${{t}_{0}}(T)$.

8.3. Результаты тестирования

Для восстановления формы импульса в э.м.к. отбирались события с большой амплитудой ($\sum\nolimits_k {{{a}_{k}}} $ > 1000) – это необходимо для получения высокого разрешения по $T$, а также снижения влияния шума у.ф. и повышенных флуктуаций самой формы импульса при малом количестве света в калориметре.

Гистограмма для $T$, построенного согласно (3), была подогнана функцией (5) с параметрами $b$ и $c$ (см. рис. 11а). Эти параметры задают (с точностью до ${{{\lambda }}_{0}}$) ${\lambda }(T)$ из (4). Распределение по t0 = = $T + {\lambda }(T)$ (рис. 11б) равномерно, как и должно быть. Константа ${{{\lambda }}_{0}}$ выбрана произвольно для смещения начала распределения к нулю.

Рис. 11.

Распределения: а – по времени “центра тяжести” T (гистограмма) и его подгонка гармонической функцией (линия); б – по “истинному” времени ${{t}_{0}}$.

Вычисленные для каждого события ${{t}_{0}}$ использовались в качестве смещения по времени для построения эффективной формы импульса в данном канале в виде профильной гистограммы (см. рис. 12). Эта форма подгонялась функцией ${{f}_{{{\text{eff}}}}}(t)$, построенной на основе параметризации (1) по формуле (2). Подгоночная функция и отклонение данных от нее показаны здесь же.

Рис. 12.

а – эффективная форма импульса (точки профильной гистограммы с ошибками) для одного из каналов э.м.к. и подгоночная функция (линия); б – отклонение эффективной формы от подгоночной функции.

Подгоночные параметры ${{f}_{{{\text{eff}}}}}(t)$ были подставлены в (1). Полученная в итоге форма ${{f}_{0}}(t)$ была использована для пособытийной подгонки измерений в.а.ц.п. в данном канале одним импульсом с подлежащими определению амплитудой $a$ сигнала и его временем прихода ${{t}_{0}}$. Пьедестал определялся по первым двум выборкам.

Спектр амплитуд $a$ выравнивался с соответствующим спектром и.а.ц.п. подбором коэффициента ($ \approx 1.3$), имеющего смысл относительной чувствительности в.а.ц.п. и и.а.ц.п. в данном канале (рис. 10).

На рис. 13 показано двумерное распределение по временам сигналов для центрального счетчика экспозиции (${{t}_{{0k}}}$ по горизонтали) и счетчика из его ближайшего окружения (${{t}_{{0m}}}$ по вертикали). Диагональный “хвост” в сторону меньших ${{t}_{0}}$ может быть связан с запаздыванием триггера относительно пучкового времени из-за использования простой пороговой схемы совпадений. Распределение по разности времен $\delta t = {{t}_{{0k}}} - {{t}_{{0m}}}$ имеет среднеквадратичное отклонение ${{\sigma }_{{\delta t}}} = 1.5$ нс.

Рис. 13.

Корреляция времен для сигналов в двух счетчиках э.м.к.

При идентификации пучковых частиц как электронов в амплитудном спектре остается только компонента от электромагнитного ливня. Спектр для полной энергии ливня, показанный на рис. 14 для облучения одного из счетчиков, строился как сумма показаний и.а.ц.п. или подгоночных амплитуд в.а.ц.п. по всем счетчикам сборки, взвешенных с известными калибровочными коэффициентами. Отличающееся на $ \approx 100$ МэВ положение результирующих пиков связано с несовершенством калибровки. Разрешения для соответственно и.а.ц.п. и в.а.ц.п. σE/E = 3.530 ± ± $0.026$% и $3.550 \pm 0.026$% в пределах ошибок одинаковы. Вклад в.а.ц.п. в разрешение оценим сверху как такую квадратичную добавку, которая приводит к увеличению разрешения на 2 ошибки, в результате получаем не более 0.6%.

Рис. 14.

Распределение по суммарной энергии в сборке модулей э.м.к. с в.а.ц.п. (слева) и и.а.ц.п. (справа).

8.4. Применение в.а.ц.п. в условиях наложения импульсов

Три газовых пучковых черенковских счетчика установки работают при высокой загрузке. Поэтому при подгонке сигнала с в.а.ц.п. допускается наличие нескольких (до 5) импульсов. Главное требование к алгоритму обработки данных для целей идентификации пучковой частицы (см. [23]) – эффективное отделение синхронного с триггером (в пределах заданного окна) импульса от импульсов наложения. Точностные требования к измерению амплитуды невысокие. На рис. 15 приведен пример пучкового события с в.а.ц.п. черенковского счетчика и его обработки.

Рис. 15.

Результат подгонки (линия) данных с в.а.ц.п. пучкового черенковского счетчика (точки).

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

Рис. 16.

Зависимость “сортности” идентификации пучка от его средней интенсивности: доли пионов (а), каонов (б) и антипротонов (в), а также неопределенного сорта (г). 1 – при применении в.а.ц.п., 2 – и.а.ц.п.

Основной эффект наложений – ложная идентификация каонов как пионов. Количественная оценка была получена по интенсивности пика от пучкового распада ${{{\text{K}}}^{ - }} \to 3{{\pi }^{ \pm }}$ в спектре инвариантной массы ${{M}_{{3\pi }}}$ (масса вторичных частиц полагалась равной массе пиона). По сортам идентификации пучка с использованием в.а.ц.п. события распада распределились следующим образом: K – 92%, $\pi $ – 3.7%, $\bar {p}$ – 0.4%, неопределенно – 4%. Для сравнения, соответствующие числа в экспозиции с и.а.ц.п. составили около 57%, 32%, 0.2% и 10%. Таким образом, применение в.а.ц.п. повысило эффективность идентификации каонов в 1.6 раза и на порядок снизило примесь каонов при идентификации пионов.

В настоящее время для дальнейшего улучшения пучковой идентификации черенковские счетчики переведены на измерения в режиме в.а.ц.п. ×4.

9. ЗАКЛЮЧЕНИЕ

Разработан 32-канальный модуль в.а.ц.п. ADC-32ATC для оцифровки импульсных сигналов. Он имеет “надетекторное” исполнение и ориентирован на применение в составе установок, работающих на циклических ускорителях. Модуль имеет развитую архитектуру, аппаратную реализацию функций на п.л.и.с. и микроконтроллерное управление.

В модуле используются конвейерные 12-разрядные а.ц.п. с быстродействующей схемой выборки-хранения на входе, последовательным выходом и тактовой частотой оцифровки от 40 до 65 МГц. Модуль обладает внутренней буферной памятью 64 Мбайт, интерфейсом Gigabit Ethernet 1000BASE-T, имеет мертвое время не более 2.0–2.5 мкс при полной загрузке, число выборок на канал – до 16, число событий за цикл ускорителя У-70 – не менее 85 000.

В.а.ц.п. поддерживает режимы работы с кратным (×2 и ×4) увеличением эффективной частоты оцифровки за счет пропорционального снижения числа каналов. В модуле в.ц.п. для привязки по времени внешнего асинхронного триггера к внутренней тактовой частоте а.ц.п.

Разработаны формирователи для сопряжения детекторов с в.а.ц.п., методы и алгоритмы обработки данных с них. Выполнены стендовые измерения характеристик измерительного тракта. Интегральная нелинейность не превышает 0.1% в полном диапазоне. Среднеквадратичное амплитудное разрешение 2.4 отсчета (при условии точного знания формы импульса) и не зависит от амплитуды входного сигнала. Межканальные наводки не более $2.5 \cdot {{10}^{{ - 4}}}$ ($ - 72$ дБ). Среднеквадратичное разрешение по времени с калиброванным в.ц.п. точной фазы 63 пс при амплитуде сигнала 3000 отсчетов.

При калориметрии электронов с энергией 10 ГэВ на счетчиках типа “шашлык” свинец–сцинтиллятор с в.а.ц.п. не выявлено дополнительного по сравнению с и.а.ц.п. вклада в энергетическое разрешение ${{\sigma }_{E}}{\text{/}}E$, вызванного нестабильностью и неточным знанием формы импульса; его оценка сверху составляет 0.6%.

Применение в.а.ц.п. с пучковыми черенковскими счетчиками при высокой загрузке позволило улучшить идентификацию пучковых частиц. На оцифровку в.а.ц.п. переведены также мишенные вето-счетчики и многоканальный черенковский счетчик.

Список литературы

  1. Волков Е.В., Ивашин А.В., Календарёв В.В., Мат-веев В.Д., Сугоняев В.П., Хохлов Ю.А., Шумаков А.А. Препринт ИФВЭ 2017-8. Протвино, 2017.

  2. Еремеев Д.Р., Ивашин А.В., Матвеев В.Д., Михасенко М.О., Сугоняев В.П., Хохлов Ю.А. Препринт НИЦ КИ–ИФВЭ 2019-2. Протвино, 2019.

  3. Zitoun R. ATL-LARG-2001-003. ATLAS Note. CERN, 2001.

  4. Camarena F., Castelo J., Fullana E. ATL-TILECAL-2002-015. ATLAS Note. CERN, 2002.

  5. Дорофеев В.А., Ивашин А.В., Календарев В.В., Качаев И.А., Константинов В.Ф., Матвеев В.Д., Поля-ков Б.Ф., Сугоняев В.П., Холоденко М.С., Хох-лов Ю.А. // ПТЭ. 2016. № 5. С. 38. https://doi.org/10.7868/S0032816216040212

  6. Сенько В.А., Солдатов М.М., Якимчук В.И. Препринт ИФВЭ 2012-19. Протвино, 2012.

  7. https://www.caen.it/products/dt5740/

  8. Ивашин А.В. Модуль TDC-48DT. http://pcbech.ihep.su/~ivashin/tdc-48dt-doc.pdf, http://mail.ihep.ru/~ivashin/tdc-48dt-doc.pdf

  9. Ивашин А.В., Матвеев В.Д., Хохлов Ю.А. Препринт ИФВЭ 2010-10. Протвино, 2010.

  10. Analog Devices. AD9222 – Octal, 12-bit, 40/50/65 MSPS Serial LVDS 1.8V A/D Converter. Rev. F. Data sheet.

  11. Analog Devices. AD9516-0 – 14-Output Clock Generator with Integrated 2.8 GHz VCO. Rev C. Data sheet.

  12. Altera Corporation. Cyclone III Device Handbook. v2.2. October 2008.

  13. Freescale Semiconductor. MPC8308 PowerQUICC II Pro Processor Reference Manual. Rev. 0, 04/2010. https://www.nxp.com/

  14. CYPRESS. CY7C68001 EZ-USB SX2tm High Speed USB Interface Device. Revised November 20, 2013.

  15. Song J., An Q., Lin S. // IEEE Trans. Nucl. Sci. 2006. V. 53. № 1. P. 236. https://doi.org/10.1109/TNS.2006.869820

  16. https://busybox.net/

  17. https://buildroot.org/

  18. https://www.kernel.org/

  19. https://www.denx.de/wiki/U-Boot

  20. http://urjtag.org/

  21. Kachaev I. http://bison.ihep.su/~kachaev/Powell/uobyqc-0.9.tar.gz

  22. Powell M.J.D. // Mathematical Programming. Series B (Springer). 2002. V. 92. P. 555.

  23. Еремеев Д.Р. Магистерская работа. МФТИ, 2017. http://www.ihep.ru/files/Eremeev_diploma.pdf

Дополнительные материалы отсутствуют.