Поверхность. Рентгеновские, синхротронные и нейтронные исследования, 2022, № 11, стр. 107-112

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

М. А. Голубев a*, Т. В. Савельева a, О. Н. Гапон a, М. Р. Колхидашвили a, А. О. Полюшкин a, В. А. Соловей a

a НИЦ “Курчатовский институт” – ПИЯФ
188300 Гатчина, Россия

* E-mail: golubev_ma@pnpi.nrcki.ru

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

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

Аннотация

Разработан и испытан прототип модуля сбора и предварительной обработки данных с сетевым интерфейсом для позиционно-чувствительных детекторов на основе многопроволочной пропорциональной камеры с линией задержки. Устройство представляет собой плату собственного производства с входами, в том числе, для прерывателя пучка (чоппера), монитора нейтронного пучка и спин-флиппера. На плате размещены четырехканальный преобразователь время–код, который оцифровывает задержки между импульсами и одноплатный компьютер с процессором, совмещенным с программируемой логической интегральной схемой. Разработано оригинальное программное обеспечение для этого одноплатного компьютера, которое собирает и передает “сырые” данные эксперимента в цифровом виде (координаты, времяпролетный счет нейтронов и прочее) по сети клиенту, а также клиент и пользовательский интерфейс будущего детектора. Для сбора данных, веб-сервера и веб-клиента использованы язык прошивки, программируемой логической интегральной схемы Verilog, языки программирования C и JavaScript соответственно. В будущем проверенная схема, реализованная в более компактном виде, станет неотъемлемой частью детекторов нейтронов на ряду с многопроволочной пропорциональной камерой с линиями задержки для двух координат и пятиканальным блоком аналоговой обработки сигналов. Работа с модулем, а в будущем – с детектором нейтронов, осуществляется по локальной сети в веб-браузере или альтернативном клиенте. Веб-клиент для веб-браузера позволяет накапливать статистику и просматривать двумерное изображение с детектора в течение эксперимента, а также двигаться по двумерным изображениям отдельных временны́х каналов для времяпролетных экспериментов и сохранять все данные в распространенном текстовом формате CSV, доступном для просмотра в электронных таблицах офисных пакетов.

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

ВВЕДЕНИЕ

Многопроволочные пропорциональные камеры с линией задержки являются наиболее надежным и экономически эффективным решением для детектирования нейтронов [1]. За изобретение многопроволочных пропорциональных камер в 1992 году Жоржу Шарпаку была присуждена Нобелевская премия [2].

Детектор нейтронов представляет собой камеру с газовой смесью, содержащей 3He. Внутри параллельно тонким (десятки мкм толщиной) проволокам анодов с двух сторон расположены катодные сетки. Вблизи тонких проволок из-за малого радиуса и приложенной разности потенциалов возникает сильное (~104 В/м) электрическое поле [13]. В месте попадания частицы в детектор происходит реакция 3He + np + 3He + + 764 кэВ [1]. Ионы и электроны дрейфуют к электродам, и около анода с возрастанием напряженности электрического поля происходит лавинный разряд и усиление сигнала [13]. На соответствующих электродах возникают электрические импульсы. Состав, давление газовой смеси и разность потенциалов подбирают таким образом, чтобы электронная лавина затухала, и можно было различить, на какой проволоке произошло событие, а импульсы сигнала имели приемлемую длительность [3]. Тот факт, что на обеих катодных сетках возникают сигналы, можно использовать для пространственной локализации события по двум координатам, сделав одну катодную сетку из горизонтальных параллельных проволок, а вторую из вертикальных [3]. Линия задержки из индуктивностей, задерживающих импульсы на небольшие интервалы времени (в описываемом проекте порядка нескольких нс), объединяющая выводы электродов и разделяющая сигналы с электродов по времени, позволяет уменьшить число используемых усилителей сигнала [4]. Однако в некоторых работах [5] наоборот, увеличивают число используемых усилителей сигнала с целью сокращения времени регистрации частицы и регистрации одновременных событий, разбив детектор на сегменты, таким образом уменьшив полное время задержки линий задержки отдельных сегментов.

Дальнейшая обработка сигналов требует оцифровки задержек между сигналами, чтобы восстановить координаты зарегистрированного нейтрона. За начало координат выбрана середина детектора, что соответствует середине линии задержки. Разность задержек между сигналом “старт” и сигналами с разных концов линии задержки представляют собой координату частицы (для двумерного случая – общий старт и две координаты от двух линий задержки). Наиболее популярные способы оцифровки – это преобразователи время–код или комбинация преобразователя время–амплитуда с аналого-цифровым преобразователем [5]. Для преобразователя время–код сигналы усиливают и преобразуют к логическому виду методом привязки к постоянной части амплитуды. Этот метод позволяет уменьшить влияние шума при регистрации импульсов на ошибку определения момента времени прихода импульса. Форму сигнала преобразуют в биполярный импульс разностью постоянной доли амплитуды и значения амплитуды отстающего по фазе как с помощью аналоговой схемотехники [6], так и с помощью цифровой обработки сигналов в современных решениях [7]. Детектируемый момент времени в точке пересечения такого биполярного импульса с “нулем” имеет значительно меньшую ошибку в сравнении, например, с детектированием момента прихода импульса по порогу срабатывания [8].

УСТРОЙСТВО МОДУЛЯ

Рассмотрим отдельно модуль и его программное обеспечение. Задачу измерения и оцифровки задержек между импульсом “старт” в момент зарождения электронной лавины и четырьмя импульсами, прошедшими линии задержки и содержащими информацию о координате события, в нашем устройстве решает микросхема – четырехканальный преобразователь время–код с общим стартом. Одноплатный компьютер ALTERA INTEL с процессором архитектуры ARM и программируемой логической интегральной схемой (ПЛИС) на одном кристалле позволяет читать сигналы, переданные по цифровой шине данных этой микросхемы через наборы контактов GPIO, и производить всю необходимую предварительную обработку “сырых” данных [9]. Адаптация программного обеспечения для аналогичного одноплатного компьютера другого производителя возможна, однако потребует как существенной переработки проектов исходного кода, так и изменения формы и расположения контактов печатной платы модуля. Благодаря сетевому Ethernet-интерфейсу одноплатного компьютера, с устройством можно работать по локальной сети без установки драйверов и привязки к операционной системе пользователя, в отличие от решений на основе периферийных устройств [1012].

Модуль оснащен восемью логическими входами: “старт”, XL–Stop, XR–Stop, YU–Stop, YD–Stop, “чоппер”, “монитор”, “флиппер”. Последние три предназначены для считывания сигналов с прерывателя нейтронного пучка, монитора нейтронного потока и спин-флиппера соответственно. Спин-флиппер – это устройство, которое меняет направление спинов нейтронов в пучке по одной из координатных осей на противоположное; он может быть во включенном или выключенном состоянии, о чем говорят показания на логическом входе. Эта конфигурация (рис. 1) позволяет получать данные с использованием времяпролетного режима набора данных. В зависимости от времяпролетной базы и конструкции прерывателя нейтронного пучка, возможны измерения с использованием тепловых нейтронов, однако более точные оценки подходящих спектров энергий нейтронов следует делать на основе значений, приведенных ниже. Кроме того, существует возможность модификации прошивки ПЛИС для изменения периода прерывания пучка T и ширины временнóго канала Δt с сохранением условия Δt/T ~10–4.

Рис. 1.

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

Микросхема TDC-GPX (time digital converter) [13], на базе которой выполнен четырехканальный преобразователь время–код, оцифровывает задержки по времени между импульсом “старт” и импульсами XL–Stop, XR–Stop, YU–Stop, YD–Stop с разрешением 0.1 нс. По мере поступления данных в цифровом виде их считывает по цифровой шине данных микросхемы программный автомат ПЛИС одноплатного компьютера через наборы контактов GPIO0 и GPIO1.

Разности XL–StopXR–Stop и YU–StopYD–Stop представляют собой координаты точки детектирования частицы двумерным детектором с началом координат в центре детектора. Чтобы исключить ложные срабатывания, следует проверять соответствие измеренных сумм задержек между сигналом “старт” (TStart) и четырьмя каналами временам полной задержки горизонтальной TXDL и вертикальной TYDL линий задержки: |XL–Stop + + XR–Stop – 2TStartTXDL| < εXDL, |YU–Stop + YD–Stop – ‒ 2TStartTYDL| < εYDL [11]. Перед такой проверкой добавлена возможность программно задать точность этих величин отбрасыванием нужного числа “младших битов” (εXDL, εYDL).

Размеры итогового двумерного изображения можно представить в виде W × H, где W = = ${{100T_{{XDL}}^{'}} \mathord{\left/ {\vphantom {{100T_{{XDL}}^{'}} {{{2}^{{4\,\, + \,\,}}}^{N}}}} \right. \kern-0em} {{{2}^{{4\,\, + \,\,}}}^{N}}}$ – ширина в пикселях; H = = ${{100T_{{YDL}}^{'}} \mathord{\left/ {\vphantom {{100T_{{YDL}}^{'}} {{{2}^{{4\,\, + \,\,}}}^{N}}}} \right. \kern-0em} {{{2}^{{4\,\, + \,\,}}}^{N}}}$ – высота в пикселях; N – число отбрасываемых бит от 0 до 9 (0 соответствует пятну εDL = 1.6 нс для соответствующей линии задержки); $T_{{XDL}}^{'}$ и $T_{{YDL}}^{'}$ – целочисленные значения времени полной задержки линий задержки, округленные до десятков нс. Такие параметры были выбраны для упрощения программного кода и могут быть усовершенствованы в будущих версиях программы.

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ МОДУЛЯ

Программа-сервер выполняется в операционной системе встраиваемого компьютера Debian GNU/Linux для архитектуры armhf c специфичными изменениями [14, 15]. Программная часть разработана с использованием языков программирования BASH (для скриптов установки операционной системы и сборки прошивки и программы-сервера); Verilog (язык прошивки ПЛИС); С (многопоточная программа-сервер для GNU/ Linux); JavaScript (универсальный веб-клиент); С++ (программа-клиент для операционной системы Windows).

В прошивке ПЛИС реализованы два режима передачи данных: отладочный 16-битный и рабочий 14-битный. В обоих режимах при детектировании частицы по сети клиенту отправляется четыре 16-битных “слова”. В отладочном режиме четырем “словам” соответствуют 16-битные значения задержек XL–StopTStart, XR–StopTStart, YU–Stop – – TStart, YD–StopTStart. В рабочем режиме первые два “слова” содержат значения выражений 213 + + XL–StopXR–Stop и 213 + YU–StopYD–Stop, соответствующие координатам частицы. Третье “слово” это 14-битное значение временнóго канала (скорости) частицы, полученное с помощью времяпролетного счетчика. Логическая единица на входе “чоппер” обнуляет времяпролетный счетчик (14 бит), младший разряд которого соответствует 5.12 мкс (минимальная ширина временнóго канала для времяпролетного счетчика). Четвертое “слово” содержит 12-битное значение счетчика реального времени, младший разряд которого соответствует 80 мс, а точнее 20 × 222 = = 83 886 080 нс. Биты 13 и 14 необходимы для проверки, заполнен ли счетчик входа “монитор” и значения входа “флиппер” соответственно. Импульсы со входа “монитор” считает 32-битный счетчик с возможностью уменьшения числа бит. Вход “флиппер” предназначен для добавления к “сырым” данным показателя состояния спин-флиппера (включен/выключен). “Старшие” два бита каждого “слова” для этого режима содержат порядковый номер “слова” (нумерация с нуля).

Устройство подключают к персональному компьютеру или локальной сети с помощью разъема Ethernet. Управление устройством осуществляют специальными GET-запросами протокола HTTP, что позволяет удовлетворить ограничениям исполнения кода в веб-браузерах и создать универсальный веб-клиент. Достаточно набрать IP-адрес устройства в браузере, чтобы открыть пользовательский веб-интерфейс. Внешний вид веб-интерфейса представлен на рис. 2. Слева показаны элементы управления, справа – гистограммы статистики импульсов от задержки с шириной временнóго канала 0.1 нс. В данном случае импульсы были заданы генератором импульсов, а значения задержек совпали с результатами проверки осциллографом.

Рис. 2.

Веб-интерфейс детектора нейтронов: элементы управления (слева); простая проверка преобразователя время–код сигналами с постоянной задержкой (справа).

В пользовательском веб-интерфейсе можно переключаться между двумя режимами, запускать и останавливать измерения, сохранить набранные данные статистики в виде текстового файла в формате CSV. В рабочем режиме можно наблюдать двумерное изображение “тепловой карты” статистики с двумерного детектора (“горячие” области соответствуют большему числу нейтронов, попавших в них) и времяпролетные данные, а также двигаться по трехмерному времяпролетному массиву (временнóй канал, двумерное изображение).

Кроме того, была разработана программа-клиент для ОС Windows. Однако есть возможность разработать собственный клиент при необходимости более эффективной или нестандартной обработки данных. Разработка собственного клиента подразумевает работу с HTTP. Объем данных, передаваемых по сети за эксперимент, может достигать нескольких ТБ, поэтому следует обрабатывать их так, чтобы получать только нужную статистическую информацию, сократив массив размером в число зарегистрированных частиц до массива временны́х каналов линий задержки и времяпролетного счета со статистикой зарегистрированных частиц.

Программа-сервер выдает накопленные в кольцевом буфере данные по запросу. При частоте импульсов на входе “старт” порядка 106 кольцевой буфер переполнится через 16 с, что приведет к потере данных. Таким образом, клиент в режиме измерений должен регулярно запрашивать данные. Это обстоятельство связано с ограниченностью ресурсов операционной системы одноплатного компьютера и выбором HTTP. Прошивка ПЛИС разработана на языке Verilog в виде независимых модулей. Программа-сервер, выполняемая в операционной системе Debian GNU/Linux одноплатного компьютера с процессором ARM, написана с использованием двух потоков с общим кольцевым буфером. Один регулярно проверяет кольцевой буфер на четверть мс внутри ПЛИС и перемещает данные из него в кольцевой буфер программы, которого уже может хватить на 16 с и больше. Во втором независимом потоке реализован “легковесный” HTTP-сервер с программным интерфейсом поверх HTTP и возможностью передачи файла веб-клиента для браузера. При его разработке удалось существенно сэкономить ресурсы операционной системы одноплатного компьютера.

Параметры, передаваемые программе-серверу, записываются непосредственно в конфигурационные регистры прошивки ПЛИС. Программа-сервер и прошивка ПЛИС взаимодействуют по шине Avalon, адресное пространство параметров и кольцевой памяти прошивки доступно внутри адресного пространства операционной системы одноплатного компьютера.

ЗАКЛЮЧЕНИЕ

В НИЦ “Курчатовский институт” – ПИЯФ разработан и испытан прототип модуля сбора и предварительной обработки данных с сетевым интерфейсом для позиционно-чувствительных многопроволочных пропорциональных камер с линией задержки, который в будущем может стать частью детекторов нейтронов. Модуль способен обрабатывать поток данных со скоростью порядка 105 частиц/с. Время обработки одного события порядка 10–6 с и варьируется в зависимости от линий задержки.

На входы устройства “старт” и один из каналов подавали сигналы от двух генераторов импульсов с немного различными частотами, при этом события во временны́х каналах накапливались равномерно (рис. 3). Была обнаружена ярко выраженная дифференциальная нелинейность чет–нечет в “младшем” значащем бите (рис. 4). Следует отметить, что в четных временны́х каналах значения были меньше, чем в нечетных, и в среднем отличались постоянным множителем. Для того чтобы справиться с этой проблемой было решено удвоить ширину временнóго канала до 0.2 нс, попарно объединив четные и нечетные каналы (рис. 5).

Рис. 3.

Сплошной временнóй спектр задержек между входами “старт” и одним из входных каналов с дифференциальной нелинейностью чет–нечет.

Рис. 4.

Временнóй спектр при ширине временнóго канала 0.1 нс. Пример дифференциальной нелинейности чет–нечет в “младшем” значащем бите: сигнал распределен между четными (1) и нечетными (2) каналами.

Рис. 5.

Сплошной временнóй спектр задержек между входами “старт” и одним из входных каналов с удвоенными временнóй шириной (0.2 нс) и отбраковкой “младшего” бита.

Значение среднеквадратичного отклонения моделирования [16] гистограммы значений временны́х каналов (рис. 6) функцией Гаусса можно принять за дифференциальную нелинейность (неоднородность) преобразователя время–код [17], оно составило 2.18%. Для исследования интегральной нелинейности и геометрической точности [18] будущего детектора недостает подключения входов, согласованного с готовыми линиями задержки, однако это не входило в задачи настоящего исследования. Вычисления на основе данных из CSV-файла и построение графиков проведены с помощью самостоятельно разработанного скрипта на свободно распространяемом языке Python версии 3.8 и его библиотек NumPy, SciPy и MatPlotLib.

Рис. 6.

Гистограмма попарно объединенных четных и нечетных временны́х каналов при ширине временнóго канала 0.2 нс (серым) и результат моделирования функцией Гаусса (черным).

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

  1. Orban J., Rosta L., Nagy A. // J. Phys.: Conf. Ser. 2013. V. 528. P. 012044. https://org.doi/10.1088/1742-6596/528/1/012044

  2. Шарпак Ж. // Успехи физических наук. 1993. Т. 10. С. 57.

  3. Fourme R. // Nucl. Instrum. Methods Phys. Res. A. 1997. V. 392. Iss. 1–3. P. 1. https://org.doi/10.1016/S0168-9002(97)00284-2

  4. Charpak G., Bouclier R., Bressani T., Favier J., Zupančič Č. // Nucl. Instrum. Methods. 1968. V. 65. P. 217. https://org.doi/10.1016/0029-554X(68)90568-5

  5. de Raad Iseli C., Reimann T., Golding F., Boulin C., Epstein A., Beloeuvre E., Gabriel A., Koch M.H.J. // Nucl. Instrum. Methods. 2001. V. 467–468. P. 1152. https://org.doi/10.1016/S0168-9002(01)00579-4

  6. Gál J., Bibok G. // Nucl. Instrum. Methods. 1979. V. 163. Iss. 2–3. P. 535. https://org.doi/10.1016/0029-554x(79)90145-9

  7. Fallu-Labruyere A., Tan H., Hennig W., Warburton W.K. // Nucl. Instrum. Methods. 2007. V. 579. № 1. P. 247. https://org.doi/10.1016/j.nima.2007.04.048

  8. Аликов Б.А., Борейко В.Ф., Егошин И.Н., Йорданов А.Б., Орманджиев С.И., Янакиев К.Д. // Сообщения объединенного института ядерных исследований Дубна. 1980. Вып. 13-80-797.

  9. DE0-Nano-SoC Kit/Atlas-SoC Kit (2014) Terasic Inc. https://www.terasic.com.tw/cgi-bin/page/archive.pl? Language=English&No=941

  10. Соловей В.А., Савельева Т.В., Колхидашвили М.Р., Гапон О.Н. // Приборы и техника эксперимента. 2019. Т. 5. С. 145. https://org.doi/10.1134/S0032816219050112

  11. Levchanovski F.V., Gebauer B., Litvinenko E.I., Nikiforov A.S., Prikhodko V.I., Schulz Ch., Wilpert Th. // Nucl. Instrum. Methods Phys. Res. A. 2004. V. 529. P. 413. https://org.doi/10.1016/j.nima.2004.05.023

  12. Levchanovsky F.V., LitvinenkoE.I., Nikiforov A.S., Gebauer B., Schulz Ch., Wilpert Th. // Nucl. Instrum. Methods Phys. Res. A. 2006. V. 569. Iss. 3. P. 900. https://org.doi/10.1016/j.nima.2006.09.091

  13. TDC-GPX (2007) Acam Mess Electronic, Germany. https://acam-e.ru/pdf/DB_GPX_e.pdf.

  14. Install Debian on Terasic DE0-NANO-SoC (2016) MS-Cheminformatics. https://ms-cheminfo.com/?q=node/103.

  15. Creating SD Card Image Manually. (2014). ttps://rocketboards.org/foswiki/Documentation/GSRD131SdCard.

  16. Fit a gaussian function (2012). https://stackoverflow.com/questions/11507028/fit-a-gaussian-function

  17. de Andrade Filho L.M., Barbosa A.F., Lima H.P., Marinho Jr., Marinho P.R.B. // IEEE Transactions Nuclear Sci. 2005. V. 52. Iss. 4. P. 932. https://org.doi/10.1109/TNS.2005.852693

  18. Tang S.W., Ma P., Duan L.M., Sun Z.Y., Lu C.G., Yang H.R., Hu R.J., Huang W.X., Xu H.S. // Chinese Phys. C. 2013. V. 37. Iss. 6. P. 066002. https://org.doi/10.1088/1674-1137/37/6/066002

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

Инструменты

Поверхность. Рентгеновские, синхротронные и нейтронные исследования