“ЖУРНАЛ РАДИОЭЛЕКТРОНИКИ” N 3, 2012 |
Программно-аппаратный комплекс многоканальной регистрации и обработки потока одноэлектронных импульсов
Н. Г. Зайцев, А. И. Надеев
Институт оптики атмосферы им. В.Е. Зуева Сибирского отделения РАН
Получена 20 марта 2012 г.
Аннотация. Рассматривается один из способов создания семейства цифровых устройств, для измерения различных статистических характеристик светового потока. Для экономии средств и сокращения времени разработки и изготовления предлагается использовать конфигурируемые отладочные модули Cyclone III FPGA Starter Board и Morph-IC-II. Детально обсуждается процесс создания счетчика фотонов предназначенного для работы в составе лидаров.
Ключевые слова: многоканальная регистрация, статистические характеристики, отладочные модули, счетчик фотонов.
Abstract. One way to create a family of digital devices for measuring various statistical characteristics of the light flux is considered. To save money and reduce time of development and production is proposed to use configurable debug modules Cyclone III FPGA Starter Board and Morph-IC-II. The process of creating a photon counter designed for operation in the lidar is discussed.
Keywords: devices, statistical characteristic, development Kit, photon counter.
Введение.
Регистрация оптических сигналов в режиме счета фотонов получила широкое распространение при создании приборов и устройств, используемых в различных областях научных исследований. К ним относятся приборы для астрономических наблюдений, лидары, анализаторы люминесценции и фосфоресценции, регистраторы рамановского рассеяния и другие [1,2]. Приборы данного класса, применяемые для регистрации оптических сигналов, состоят из отдельных устройств, фотодетектора в режиме одноэлектронных импульсов, цифрового модуля регистрации и первичной обработки, персонального компьютера (ПК) с необходимым программным обеспечением. Модуль регистрации и первичной обработки может осуществлять различные операции с принимаемым сигналом. Это может быть простое накопление с разделением по временным интервалам (счетчик одноэлектронных импульсов), быстродействующий коррелятор фотоотсчетов [3], формирователь гистограмм и другие преобразования, осуществляемые при измерении статистических характеристик светового потока [4].
В настоящее время предлагаются специализированные приборы, предназначенные для регистрации одноэлектронных импульсов [1,8,9]. Наиболее совершенными и дорогостоящими из них являются семейство приборов фирмы [1]. Необходимость постоянного совершенствования многоканальных регистрирующих устройств обычно связана с появлением на рынке новых многоканальных детекторов фотонов. Например, фирма HAMAMATSU уже предлагает фотоэлектронные умножители (ФЭУ) на 32 и 64 канала [5]. Вероятно, в ближайшее время появятся фотодетекторы одиночных фотонов с еще большим числом каналов. Достаточно долгое время такие ФЭУ не могли использоваться в полной мере по причине отсутствия специализированных, адаптируемых для конкретных задач многоканальных устройств регистрации. Разработка многоканальных устройств, ориентированных для создания систем регистрации на базе многоканальных фотодетекторов требует больших затрат средств и времени.
В данной работе на конкретном примере будет продемонстрировано, как на основе фирменных отладочных модулей, экономя средства и время, можно разрабатывать и изготовлять перепрограммируемые специализированные многоканальные регистраторы, легко адаптируемые под конкретные требования. Предлагаемая система предназначена для многоканальной регистрации слабых оптических сигналов с высоким временным (пространственным) разрешением. Область применения, многоканальный прием и обработка сигналов в локаторах (лидарах) со спектральной селекцией в оптическом диапазоне. Представляемая автономная малогабаритная система состоит из блока фотоприемника на базе многоканального фотоэлектронного умножителя (ФЭУ), блока усиления с дискриминаторами уровня одноэлектронных импульсов, многоканального счетчика фотонов с памятью, интерфейсного блока для подключения к персональному компьютеру по интерфейсу USB 2.0.
Для преобразования светового излучения в электрический сигнал используется многоканальный ФЭУ фирмы Hamamatsu [5]. Поток одноэлектронных импульсов с выхода ФЭУ поступает на модуль предварительного усиления и программно управляемый по SPI интерфейсу многоканальный амплитудный дискриминатор, служащий для селекции полезных фотоотсчетов на фоне шумовых и формирования счетных импульсов LVDS уровня. Блок регистрации выполнен на базе отладочного модуля, на основе ПЛИС FPGA Cyclone III [6]. Для передачи данных из блока регистрации и управления режимами блока используется интерфейс USB2.0, выполненный на базе мини модуля [7]. Окончательная обработка данных, включая визуализацию процесса накопления данных, осуществляется с помощью программы, установленной на персональном компьютере. Обсудим подробнее принципы построения, структуру и основные параметры многоканального счетчика.
Состав и структура устройства.
Система состоит из аппаратной и программной части.
В аппаратную часть входит:
32 канальный модуль преобразования аналоговых импульсов с ФЭУ в цифровой сигнал LVDS, обеспечивающий помехоустойчивую передачу данных между модулями.
Модуль приема и подсчета входных сигналов LVDS с последующей передачей в ПК.
Программная часть – это программа в ПК, которая позволяет управлять счетчиком, отображать результаты накопленной информации и сохранять их в виде файлов.
32-х канальный модуль.
В модуле реализовано 32 канала преобразования низковольтного сигнала (5 мВ) в цифровой стандарт LVDS. Блок – схема модуля представлена на рис.1.
Рис.1. Блок-схема 32-х канального модуля.
В каждом канале сигнал поступает с ФЭУ на широкополосный усилитель, где усиливается в 10 раз, а затем на инвертирующий вход быстродействующего компаратора с LVDS выходом. Для выделения одноэлектронных импульсов ФЭУ на неинвертирующий вход компаратора подается постоянное напряжение с цифро-аналогового преобразователя (DAC). Управление DAC, осуществляемое по цифровому интерфейсу SPI, позволяет программно устанавливать уровень дискриминации принимаемых сигналов.
Модуль приема и счета сигналов LVDS с последующей передачей в ПК.
За основу модуля взят выпускаемый промышленностью отладочный модуль (KIT) на основе ПЛИС FPGA Cyclone III [6]. Для коммутации LVDS импульсов в ПЛИС разработана плата коммутации, на которой кроме разъемов с LVDS линиями собрана схема SPI интерфейса на ПЛИС CPLD MAX II, а так же схема высокоскоростного интерфейса связи с ПК – USB 2.0.
USB интерфейс.
В качестве USB интерфейса используется готовое решение от FTDI Chip – FT2232 H MiniModule [7] на базе ИМС преобразователя интерфейса USB в синхронную параллельную двунаправленную шину данных 245FIFO SYNC. Так же как и ближайшие конкуренты (например, Cypress) FTDI модуль обладает высокой скоростью передачи данных по шине (480 Мбит/с) и кроме этого позволяет использовать уникальный идентификатор каждого модуля для обращения к нему по шине USB. Таким образом, к одному ПК возможно подключение нескольких измерительных устройств на базе FTDI модулей.
Недостатком такого решения является то, что в спецификации на FTDI модуль и на входящую в нее ИМС мало информации об особенностях работы модуля.
Вот некоторые из них:
Вся информация по шине 245FIFO SYNC передается кадрами из 510 байт. При большом объеме передачи данных в программном приложении необходимо формировать чтение буфера размером кратным 510 байтам, а на аппаратном уровне необходимо вводить паузы при окончании кадра до момента начала нового блока. На рис.2. в качестве длинны кадра взят сигнал WR# так как управляющий сигнал TXE# имеет длину на 2 такта больше – это служебные такты и драйвером ОС не обрабатываются.
Рис.2. Сигналы управления и данных шины 245FIFO SYNC.
Инициатором приема данных, так же как и передачи является FTDI модуль. Независимо от того, есть данные для приема или нет, постоянно изменяется логическое состояние сигнала TXE# с кратностью в 510 тактов.
Прием и передача данных на шине 245FIFO SYNC асинхронны. Следовательно, при передаче данных, когда сигнал RXF# активный, может стать активным сигнал приема данных TXE#. Поэтому при передаче данных из устройства в ПК через FTDI модуль необходимо пропускать кадры передачи данных при активном сигнале RXF#. Все кадры по приему данных необходимо начинать по спаду сигнала TXE#.
При соблюдении указанных выше условий проблем и ошибок по пересылке информации через FTDI модуль по интерфейсу 245FIFO SYNC не выявлено.
SPI интерфейс.
Интерфейс используется для управления DAC, который задает порог в компараторах 32-х канального модуля. Интерфейс реализован на ПЛИС CPLD MAX II фирмы Altera. Данные, передаваемые по SPI интерфейсу, принимаются из ПК по шине 245FIFO SYNC. В каждом кадре принимается только 5 байт, остальные игнорируются. Первый байт несет информацию о адресе передаваемых данных, второй байт игнорируется т.к. в отличии от каналов счетчика выполняется только одна команда – передача данных по SPI. Байты с третьего по пятый буферизуются и передаются в виде кадра из 24 бит по интерфейсу SPI (рис.3.)
Рис.3. Блок-схема SPI интерфейса.Счетчик фотонов.
Схема счетчика выполнена в ПЛИС Cyclone III, на котором может быть реализовано от 1-го до 32-х независимых друг от друга каналов счета, накопления данных с возможностью управления ими как по отдельности, так и всеми сразу (рис.4.). Управление режимами и сбор информации осуществляется по шине 245FIFO SYNC . Весь цикл проектирования от ввода проекта до программирования микросхемы осуществлялось с помощью САПР Quartus II. Основная трудность при проектировании была связана с корректной фиксацией асинхронных счетных импульсов на синхронных логических элементах ПЛИС.
Рис.4. Блок – схема счетчика фотонов.
Для 8-и канального счетчика в каждом из 8-и каналов реализован интерфейс ввода-вывода данных по шине 245FIFO SYNC. Для синхронизации и объединения шины данных счетчиков в одну общую шину в схему включен дополнительный буфер DataOut, который за счет задержки в один такт позволяет исключить неоднородность временного распространения каждого бита информации и управления. Тактирование счетчиков выполнено на специальном блоке PLL аппаратно реализованном в Cyclone III. В этом проекте используется пять каналов, период сигналов которых составляет 1, 2, 5, 10, 20 нс. соответственно, смещение относительно друг друга по фазе - 0 градусов (рис.5.).
Рис.5. Диаграмма работы PLL блока в счетчике фотонов.
Так как частота счета импульсов сопоставима с максимальной частотой работы (переключения) вентилей внутри схемы, а так же учитывая то, что среднее время задержки распространения на элементе составляет 2 нс, использование классической схемы счета не представляется возможным. Кроме того, возникают проблемы, связанные с фиксацией в быстродействующих схемах импульсов, поступающих асинхронно относительно тактовых. Фиксация счетных импульсов без «мертвого времени» осуществляется схемой последовательного сдвига с распараллеливанием информации (Block CountImpuls), представленную на рис. 4. Принцип работы такого решения заключается в следующем:
Фиксируемые импульсы длительностью от 1 нс поступают на вход LVDSin (рис.4, рис.5 – Data1), который является входом регистра сдвига из n элементов (ShiftREG – рис.4). Минимизация мертвого времени при приеме информационного сигнала обеспечивается тем что логическим сигналом на параллельном выходе регистра сдвига является не текущее состояние элемента регистра, а их переключение из логического «0» в лог. «1» и наоборот (на рис.5 показана диаграмма работы регистра сдвига из трех элементов – shiftreg[2..0]). Параллельный сигнал c регистра сдвига поступает на блок nSynctoSync, который преобразовывает моменты переключения на выходах регистра сдвига в параллельные логические сигналы (рис.5). Для подсчета этих сигналов они поступают последовательно на схему синхронизации с синхроимпульсом 2 нс, затем 5 нс, затем 10 нс, затем 20 нс. Таким образом последовательное увеличение периода синхросигнала вдвое дает возможность синхронизировать все сигналы без их потери или повторного подсчета. Выделенные синхронные сигналы относительно синхроимпульса 20 нс поступают на параллельный сумматор у которого n однобитных входов и m битный двоичный выход.
Преобразованный на выходе блока CountImpuls двоичная информация в виде пакетов с периодом 20 нс поступает на схему распараллеливания по четыре отсчета, т.е. происходит увеличение периода одного пакета до 80 нс. Данная процедура выполняется для того, чтобы последующие операции успевали выполниться т.к. применяемый модуль изначально разрабатывался для сигналов, привязанных к синхроимпульсу с периодом 5 нс. Распараллеленные данные по 4 отсчета поступают на четыре сумматора, где происходит их сложение с данными в этот временной интервал от предыдущего «Start» импульса.
Используемая двухпортовая конфигурация памяти позволяет осуществлять чтение информации из нее, не изменяя режима работы счетчика, т.е. не прерывая процесс регистрации данных.
Управление счетчиком осуществляется блоком CommandBlock, который принимает команды по интерфейсу 245FIFO SYNC, декодирует их, осуществляет управление и контроль работы счетчика.
Счетчик выполняет следующие команды: старт, стоп счетчика, чтение памяти, полная очистка счетчика (памяти, количества стартов), чтение состояния счетчика (активное - пассивное, количество сделанных стартов, значение паузы), запись значения в регистр паузы.
Перечисленные команды можно адресовать как к каждому по отдельности каналу, так и ко всем сразу для сокращения времени передачи данных на шине USB и 245FIFO SYNC. В соответствии с принятой концепцией разработанная схема счетчика, позволяющая работать каналам счетчика параллельно и независимо друг от друга. Параллельно последовательная структура позволяет реализовать счетчик с частотой подсчета близкой к частоте работы одного логического вентиля. Использования принципа подсчета количества заполненных регистров в каждом отсчете автоматически устраняет ложные срабатывания счетчика, устраняет эффекты «мертвого времени», которые возможны при использовании стандартной схемы. Данная схема может легко может быть масштабирована без существенных изменений на иные диапазоны, например, диапазоны 40 нс, 10 нс, 5 нс. Структура синхронизации счетчиков по интерфейсу 245FIFO SYNC позволяет использовать как один, так и больше (8– или 32) одновременно работающих каналов счетчика наращивая их параллельно.
Программная часть.
Управление счетчиком осуществляется ПК под контролем оператора. Счетчик подключается к ПК по USB интерфейсу. Программа управления счетчиком выполняет передачу команд счетчику и прием данных от него с последующей визуализацией на экране монитора Рис. 6. Служебная информация о состоянии каналов отображается на экране в индивидуальных для каждого канала окнах. Зеленый цвет каждого окна свидетельствует о том, что данный канал активен и находится в режиме счета импульсов. Красный цвет говорит о том, что канал активен, но в нем произошло переполнение памяти по одному или нескольким адресам и по этой причине произошла его автоматическая остановка. Синий говорит о том, что канал остановлен оператором, но в нем произошло переполнение памяти по одному или нескольким адресам, Серый цвет означает, что канал не активен. В каждом из окон содержится информация о количестве сделанных стартов и величине задержки начала счета относительно «Start» импульса.
В программе реализованы алгоритмы управления DAC по интерфейсу SPI, позволяющие изменять величину порога компараторов. Меню установки опорного напряжения на компараторах представлено в виде отдельных окон, в которых предусмотрены различные опции установки порогов, отдельно на каждый канал, на все каналы сразу и по умолчанию.
Для визуального контроля содержимого памяти одного или нескольких каналов в программе встроен алгоритм графического отображения данных. Информация отображается в реальном режиме времени во время счета, что позволяет наблюдать динамику изменения содержимого памяти в линейных или логарифмических координатах в виде точечного графика или гистограмм.
В программе реализованы следующие алгоритмы измерения посредством установки параметров в отдельных каналах или во всех сразу:
Режим накопления – производится накопление информации с суммированием до тех пор, пока алгоритм не будет остановлен;
Режим осциллографа – производится непрерывное отображение содержимого памяти до момента переполнения любой ячейки памяти с зацикливанием или без;
Режим суммирования от N до K – отображает содержимое памяти или ее суммирование, а так же сумму значений в диапазоне от N до K;
Режим измерения по времени – осуществляет накопление данных за заданное время;
Режим измерения по количеству стартов - осуществляет накопление данных за определенное количество стартов;
Режим измерения по уровню значения - осуществляет накопление данных до момента переполнения любой ячейки памяти канала.
Накопленные данные можно сохранить в виде рисунка или в виде текстового файла, куда кроме самих данных, заносится информация о дате и времени начала измерения режиме измерения, количестве сделанных стартов в каждом из каналов, значение регистра задержки запуска счетчика после стартового импульса, напряжение на компараторах.
Рис. 6. Основное окно программы управления.
Таким образом, созданный аппаратно программный комплекс позволяет в составе лидара производить прием сигналов обратного рассеяния с высокой точностью и широким диапазоном длин трасс. Простой интерфейс управления не требует, каких либо особых навыков работы с ПК. Возможно наращивание числа счетчиков, управляемых одним ПК, путем увеличения количество каналов. Прикладное программное обеспечение включает драйвера устройства, DLL библиотеку для самостоятельного программирования и базовую программу управления 8-и канальным счетчиком.
Многоканальное устройство регистрации можно использовать совместно с любыми фотоприемниками, обеспечивающими в режиме счета фотонов уровень выходного сигнала не менее 5 мВ на нагрузке 50 Ом. Динамический диапазон оптического сигнала, выраженный через скорость поступления фотонов в секунду, укладывается в диапазон от единиц до 600 мГц. Пространственное разрешение, определяемое длительностью временного строба, находится в диапазоне от 5 нс. (0.75 м) до 20 нс.(3 м.) без мертвого временем между стробами. Количества стробов в каждом канале 2048 для 32-х канального и 8 кб. для 8-го варианта.
Спецификация.
Полярность импульса – отрицательная. Число каналов – от 8 до 32.
Амплитуда импульса – 5 мВ – 100 мВ. Скорость счета – до 600 мГц .
Длительность импульса – 1 нс. Разрядность – 8 на временной строб.
Входной импеданс – 50 Ом. Общий объем памяти – 64 кб.
Порог дискриминатора – 0 , 1 В, 10 бит. Вход синхронизации - LVTTL.
Длительность синхроимпульса – > 3 нс. Интерфейс связи с ПК – USB 2.0.
Размер: блок усиления – 130 х 60 х 50 мм, счетчик – размер 150 х 120 х 30 мм.
Питание 220 В, +5 В (3 А), -5 В (2 А).
Заключение.
Продемонстрированный на примере счетчика фотонов подход позволяет без модификации аппаратной части проектировать и изготавливать различные устройства цифровой обработки, например, счетчики совпадений, быстродействующие корреляторы с привязкой и без привязки и другие. Для реализации требуемого алгоритма обработки потока фотоотсчетов необходимо подготовить проект в САПР и провести конфигурирование ПЛИС FPGA Cyclone III.
Литература
1. Photon Counters from Becker & Hickl, PMM-328 8 Channel Gated Photon Counter / Multiscaler [электронный ресурс]. URL: http://www.becker-hickl.de.
2. High Speed Optical Multiscalers Gated Counters & Boxcar Modules. [электронный ресурс]. URL: www.boselec.com.
3. Е. Джейкман, Корреляция фотонов, в кн. «Спектроскопия оптического смешения и корреляция фотонов», Мир, Москва, 1976, с.71-145 (пер. с англ. под ред. Ф.В. Бункина).
4. Е. С. Саркисян, Оценка среднего квадрата интенсивности света из фотоэлектронных статистик. // Журнал радиоэлектроники [электронный журнал] . – 2011. - № 10. – URL: http://jre.cplire.ru/jre/oct11/6/text.html
5. Multianode 32 Channel Linear Array H7260, Hamamatsu, JAPAN. [электронный ресурс]. URL: www.hamamatsu.com.
6. Cyclone III FPGA Starter Board, Altera, USA. [электронный ресурс]. URL: www.altera.com.
7. Technology Devices International Ltd., Morph-IC-II, United Kingdom. [электронный ресурс]. URL: www.ftdichip.com.
8. Крикун В.А., Майор А.Ю, Нагорный И.Г., Многоканальные счетчики одноэлектронных импульсов. // Исследовано в России [электронный журнал]. – 2005. - URL: http://zhurnal.ape.relarn.ru/articles/2005/088.pdf.
9. Счетчик фотонов «GPPC 2.1» PowerGraph [электронный ресурс]. URL: http://powergraph.ru/.