УДК 533.9.08
ПРИБОРНЫЙ КОМПЛЕКС ДЛЯ СБОРА И РЕГИСТРАЦИИ РЕЗУЛЬТАТОВ ИЗМЕРЕНИЙ МАГНИТНЫХ ПАРАМЕТРОВ ЭЛЕКТРОФИЗИЧЕСКОЙ УСТАНОВКИ
С.В. Меркулов, Ю.Н. Голобоков, К.И. Байструков, В.М. Павлов,
А.Г. Качкин, А.А. Мезенцев, А.М. Ли, В.С. Хохряков
Томский политехнический университет E-mail: [email protected]
Предложена структура комплекса технических средств для сбора и регистрации результатов измерения магнитных параметров установки КТМ. Разработаны алгоритмы и протоколы передачи результатов измерений от измерительных преобразователей в блоки регистрации данных. На базе модулей с программируемой логикой реализованы устройства приёма данных от измерительных преобразователей. Разработаны алгоритмы сбора, регистрации и первичной обработки результатов измерений электромагнитных параметров.
Ключевые слова:
Токамак, магнитная диагностика, комплекс сбора и регистрации данных, структура измерительного канала, протокол последовательной передачи данных, ввод-вывод цифровых сигналов, алгоритм сбора данных.
Key words:
Tokamak, magnetic diagnostics, data acquisition and logging system, measuring channel structure, serial data transfer protocol, digital I/O, data acquisition algorithm.
Введение
Измерение магнитных параметров в электрофизических установках исследовательского и промышленного назначения является весьма важной задачей для реализации функций управления и контроля процессом в реальном масштабе времени. Кроме этого, результаты измерений, накопленных за разряд, необходимо сохранять для последующей обработки и анализа. В течение каждого пуска установки (эксперимента) с измерительных преобразователей электромагнитной диагностики снимается значительный объем информации, составляющий несколько десятков мегабайт на канал. Использование в каждом измерительном канале для регистрации этой информации внутренней памяти приводит к усложнению и удорожанию системы сбора и регистрации данных. В данной статье рассматривается альтернативный подход, при котором весь поток измерительной информации, сформированный аналого-цифровыми преобразователями, установленными в схемах нормировки сигналов, передается по высокоскоростным каналам последовательной передачи на верхний уровень системы, где регистрируется на магнитных носителях и используется, в том числе для управления параметрами процесса в реальном масштабе времени. Рассматриваемое в работе решение реализовано в подсистеме сбора данных с датчиков электромагнитной диагностики токамака КТМ [1]. В дальнейшем изложении для обозначения набора аппаратных и программных средств, разработанных в составе подсистемы сбора данных, будет использоваться термин «приборный комплекс».
Структура приборного комплекса
Структура приборного комплекса показана на рис. 1. Измерение сигналов с датчиков электромагнитной диагностики производится модулями
первичной обработки сигналов (МПОС), входящими в состав блоков БПОС1 и БПОС2. Датчики электромагнитной диагностики представляют собой индукционные катушки (локальные зонды), разомкнутые витки (распределенные петли), а также пояса Роговского. Выходные сигналы с датчиков, с целью уменьшения влияния помех, передаются в систему измерения по витым парам, помещенным в металлическую оплетку. Тем не менее, желательно сократить общую длину используемых в системе проводных линий. Для этого техническая реализация БПОС выполнена в виде экранированных блоков, что позволяет разместить их на расстоянии 1 метра от установки и передавать сигналы в цифровом виде по волоконно-оптическим линиям связи, на которые переменное магнитное поле не оказывает никакого влияния.
Все МПОС выполняют измерение одновременно. Каждый модуль имеет в своем составе четыре параллельно работающих схемы нормировки и аналого-цифрового преобразования сигналов, что позволяет вести одномоментную оцифровку сигналов с четырех датчиков. Синхронность работы всех схем внутри блока БПОС обеспечивает модуль локальной синхронизации ЛМС-3^ также входящий в состав блока БПОС. После каждого временного отсчета модули МПОС формируют из результатов измерения информационные пакеты и передают их последовательно бит за битом в блоки регистрации данных БРД1 и БРД2 по волоконно-оптическим линиям связи.
Оптические сигналы, представляющие собой последовательности битов информационного блока, перед вводом в БРД преобразуются в электрическую форму. Эту функцию выполняют блоки опто-электрического преобразования (ОЭП). Дополнительно ОЭП выделяет из потока данных сигнал несущей частоты, который используется для
Рис. 1. Структура приборного комплекса
тактирования приемников цифровых данных в блоке БРД. Это значительно упрощает схему приемника и повышает надежность работы измерительных каналов приборного комплекса. Также в целях повышения помехоустойчивости и надежности комплекса в целом сигналы на выходе ОЭП представлены в формате LVDS.
Прием и первичную регистрацию информационных пакетов в буферной памяти осуществляют модули ввода цифровых сигналов DIO32-PMC-LVDS, входящие в состав блоков регистрации данных. Каждый такой модуль может принимать информацию от восьми МПОС при максимальной частоте оцифровки сигналов датчиков до 350 тысяч отсчетов в секунду. При приёме DЮ32-PMC-LVDS выполняет проверку пакетов на наличие искажений, извлекает из них результаты измерений и записывает эти данные в свою внутреннюю буферную память. Из буферной памяти через системную шину РС1 информация считывается процессорным модулем (СРи), который подвергает её различным алгоритмам обработки и сохраняет до окончания разряда на магнитном диске блока регистрации данных. Накопленные за разряд данные по окончанию эксперимента считываются
из БРД сервером регистрации и хранения данных электрофизической установки по сети Ethernet.
Кроме хранения экспериментальных данных сервер регистрации и хранения данных выполняет функции конфигурирования приборного комплекса. Конфигурационные данные, хранящиеся на сервере, рассылаются в БРД по сети Ethernet. В свою очередь каждый из блоков регистрации данных, используя интерфейс RS-485, выполняет загрузку в МПОС и ЛМС параметров настройки, таких как коэффициенты усиления и деления входных сигналов, частоты среза входного фильтра, частоты тактирования схем нормировки и АЦП и другие.
Структура и формат информационных пакетов
Как упоминалось выше, результат каждого измерения модули первичной обработки сигналов передают в БРД в виде информационных пакетов. Структура пакета представлена на рис. 2.
Информационный пакет начинается с заголовка START, позволяющего обнаружить пакет в потоке данных. Далее следуют поля DATA1-DATA4, содержащие результаты очередных измерений каждого из четырех измерительных каналов МПОС.
10 Sum 16 Sum 16 Sum 16 Sum 16 Sum В Sum 8 Sum 18 Sum
START DATAI DA TA2 DAT A3 DA TAU PKG_NUM £HK_SUM STOP
Рис. 2. Структура информационного пакета
Эти результаты представлены в виде 16-ти разрядного двоичного кода.
Поле PKG_NUM содержит номер пакета, лежащий в диапазоне от 010 до 25510, значение которого изменяется на единицу у очередного пакета относительно предыдущего. При достижении максимального значения номер пакета устанавливается в ноль, и изменение продолжается в том же порядке. Использование поля PKG_NUM позволяет вести контроль «выпавших пакетов», т. е. пакетов, при передаче и приёме которых произошел сбой. Данный контроль необходим, поскольку в целях повышения пропускной способности приборного комплекса результаты измерений передаются на верхний уровень в симплексном режиме без буферизации и без возможности повторной передачи пакета. Таким образом, зная номер текущего и предыдущего пакетов, программное обеспечение на приёмной стороне может определить не принятый или пропущенный пакет, выявляя таким образом в результатах измерений «промахи» и обеспечивая возможность дальнейшей корректной обработки данных.
Поле CHK_SUM содержит контрольную сумму, необходимую для выявления искажений в данных, которые возникли при передаче и (или) приёме пакета. Значение CHK_SUM рассчитывается как сумма по модулю 2 содержимого полей DATA1, DATA2, DATA3, DATA4 и PKJ_NUM.
Завершает пакет поле STOP. По значению этого поля на приёмной стороне определяется конец пакета.
Необходимо отметить также особенности работы блока ОЭП в процессе передачи и приема информационных пакетов. Как упоминалось ранее, ОЭП на основе потока данных формирует сигналы синхронизации, стробирующие каждый бит информационного пакета. Но с целью повышения надежности работы ОЭП длинные последователь-
ности нулей и единиц из последовательного потока данных необходимо исключить. Для этого к данным, передаваемым модулями первичной обработки сигналов, применен метод кодирования 4B5B, используемый также в таких сетевых стандартах, как FDDI и Fast Ethernet. Кодированию по методу 4B5B подлежат все поля информационного пакета за исключением полей START и STOP, которые изначально представляют собой фиксированные битовые комбинации, построенные при условии обязательного чередования нулей и единиц.
Блок регистрации данных
Каждый из двух блоков регистрации данных выполняет приём, первичную регистрацию и обработку результатов измерений и представляет собой промышленный компьютер, работающий под управлением операционной системы LINUX. В составе БРД находится ЭВМ и подключенные к ней по магистрали PCI модули DIO32-PMC-LVDS.
Интерес представляют модули цифрового ввода сигналов, реализующие функции приёмника информационных пакетов. БРД содержит в своем составе по три таких модуля. Каждый из модулей одновременно способен принимать данные от 8-ми источников цифрового сигнала. Основу модуля составляет микросхема программируемой логики -ПЛИС. На рис. 3 показана структурная схема реализованного на базе ПЛИС приёмника информационных пакетов, обеспечивающая, сбор и первичную регистрацию данных в буферной памяти от 8-ми МПОС.
В приведенной схеме отдельно выделяется восемь приёмных каналов, работу которых рассмотрим более подробно. От блока ОЭП на вход CNL.DATA1 канала поступает поток последовательных данных совместно с сигналами синхронизации. По переднему фронту синхросигнала CLOCK1 биты потока данных задвигаются в 120-ти
Рис. 3. Структурная схема приёмника информационных пакетов
разрядный «Сдвиговый регистр». Одновременно с этим на каждом такте CLOCK1 значения первых и последних 10-ти разрядов регистра проверяются на их соответствие фиксированным значениям полей START и STOP информационного пакета. В случае совпадения с выхода «Сдвигового регистра» содержимое оставшихся ста бит информационного пакета заносится в «Буферный регистр № 1».
Из «Буферного регистра № 1» пакет передается в декодер, где принимает свой исходный вид. Затем его содержимое пересылается в блок проверки ошибок, где путем расчета контрольной суммы проверяется на наличие искажений. При этом кроме контрольной суммы учитывается присутствие или отсутствие выявленных при декодировании «запрещенных» кодом 4B5B комбинаций. «Сбойный» информационный пакет далее не обрабатывается и исключается из потока. При отсутствии ошибок блок формирования выходных данных устанавливает сигнал готовности READY и на основе содержимого пакета составляет четыре 32-х разрядных выходных слова, которые сохраняются в буферном регистре № 2. Формат этих слов представлен на рис. 4.
Слобо №2
Слово NK
00CNL_NUM W_NUM=000 PKJ_NUM DATAI
OO.CNL_NUH W_NUM=001 PKJ_NUH DATA2
OO.CNL_NUM W_NUM-010 PKJ_NUIi DAT A3
OO.CNL_NUM W_NUM=011 PKJ_NUM DAT Ai
5 Sum ■* ► 3 Suma ■* ► 8 Sum 16 Sum ■4 ►
Рис. 4. Структура выходных слов
Поле CNL_NUM содержит информацию о номере приёмного канала модуля DIO32-PMC-LVDS (лежит в диапазоне от 1 до 8). Трехразрядное поле W_NUM указывает порядковый номер выходного слова (от 0002до 0112). Это значение эквивалентно номеру измерительного канала в МПОС, что необходимо для идентификации данных после передачи их в ЭВМ. Поле PKJ_NUM содержит номер полученного информационного пакета, а DATA1-DATA4 соответственно передаваемые в пакете данные.
Выходные данные приёмных каналов поступают на вход блока коммутации, где при помощи трех битового адреса сканируются сигналы READY приёмных каналов. При обнаружении установленного сигнала готовности канала блок управления, используя двухразрядный адрес, последовательно записывает выходные слова этого канала в двухпортовое ОЗУ.
Модули DIO32-PMC-LVDS связываются с ЭВМ посредством шины PCI. Для реализации этой возможности в модулях DIO32-PMC-LVDS используется специализированная микросхема PCI9056.
Алгоритм сбора и обработки данных
Архитектура микропрограммы приемника данных DIO32-PMC-LVDS предполагает помещение получаемых информационных пакетов во входной буфер приемника в порядке их прихода. При такой схеме возможен приход пакетов одного временного отсчета со всех МПОС в произвольном порядке, следовательно, необходимо после ввода информационных пакетов из буфера упорядочить их в соответствии с номером входа DIO32-PMC-LVDS, номером слова данных и номером временного отсчета, пересылаемым вместе с результатами измерений. Эта информация позволяет установить исходную последовательность принятых данных, а также ввести механизм защиты в случае потери пакета при передаче либо в случае переполнения входного буфера DIO32-PMC-LVDS. Такая организация данных может быть особенно полезна для систем, которые используются в контурах управления в реальном масштабе времени. Для восстановления последовательности данных применяется алгоритм, показанный на рис. 5.
Передача информационных пакетов из буфера приемника DIO32-PMC-LVDS осуществляется при помощи механизма DMA Master. Ввод данных из буфера модуля в память ЭВМ происходит при наличии достаточного количества информационных пакетов в буфере модуля. При определении необходимого минимального количества данных для ввода необходимо учитывать, что механизм DMA работает наиболее эффективно при использовании блоков информации как можно большего размера, так как при передаче каждого блока возникают накладные расходы на программирование контроллера DMA. С другой стороны, буфер приемника DIO32-PMC-LVDS имеет ограниченный размер, в каждом БРД используется 3 модуля DIO32-PMC-LVDS и могут возникать задержки в работе программы CPU, связанные с передачей управления другой задаче планировщиком операционной системы. В серии экспериментов, был определен минимальный размер блока, при котором эффективно выполняется транзакция DMA, который составляет 256x32 бит. Для определения количества данных, находящихся в буфере, используется счетчик адреса.
При наличии достаточного количества информационных пакетов в буфере приемника фиксируется метка времени начала сбора данных. Метки времени в дальнейшем используются для определения правильности частоты аналого-цифрового преобразования входного сигнала, а также для восстановления последовательности данных. После получения метки времени выполняется настройка DMA контроллера модуля DIO32-PMC-LVDS на передачу собранных информационных пакетов в режиме DMA Master. Об окончании процесса передачи модуль извещает при помощи прерывания. В соответствии с принципом работы механизма DMA для ввода данных требуется память с прямой
Рис. 5. Блок-схема алгоритма сбора данных
физической адресацией, размер которой, как правило, ограничен. Поэтому пакеты, введенные из модуля, в дальнейшем копируются из области памяти с прямой физической адресацией в буфер хранения, являющийся обычной областью памяти с виртуальной адресацией. Указанный алгоритм выполняется до окончания эксперимента для каждого из модулей DIO32-PMC-LVDS последовательно и многократно.
После окончания эксперимента выполняется обработка и сортировка собранных экспериментальных данных. Для этого выполняется последовательная обработка информационных пакетов данных по алгоритму, приведенному на рис. 6.
Для осуществления сортировки данных в памяти выделяется массив для каждого из каналов сбора данных. Каждый канал сбора данных ставится в соответствие измерительному каналу модуля МПОС-2м.
Конец
Первичная обработка блока данных заключается в подсчете количества отсчетов для каждого канала в собранном блоке и проверке соответствия этого количества расчетному теоретическому количеству. Расчетное количество вычисляется исходя из заданной частоты оцифровки / и разницы между метками времени сбора предыдущего и текущего блока данных по следующей формуле:
N = а - г ,у.
отсчетов V п П -1 А/
В случае если количество собранных данных сходится с расчетным либо незначительно от него отличается, выполняется следующий этап обработки. В случае если количество отличается значительно, то каналу выставляется признак недостоверности. Это означает, что при приходе значения по данному каналу необходима ресинхронизация последовательности данных. В случае если при сборе обрабатываемого блока данных произошло
переполнение буфера, то значения данных по всем каналам в данном блоке считаются недостоверными и также выполняется ресинхронизация.
Рис. 6. Блок-схема обработки пакета данных
Далее выполняется второй проход по блоку данных, в котором каждое слово данных выбирается из памяти, из него извлекается номер слова данных, номер входа DIO32-PMC-LVDS и значение счетчика пакетов. Для указанного в пакете номера канала и слова данных определяется номер канала сбора данных по формуле:
Пканала сбора ((Пмодуля DIO 8 +
+ (Пвхода модуля DIO 4 + Пслова*
После этого выполняется сравнение значения номера обрабатываемого пакета для вычисленного номера канала сбора данных и предыдущего значения счетчика для этого же канала. Номер счетчика должен монотонно инкрементироваться, а при переполнении должен начинать счетную последовательность с нуля. Если данное условие не выполняется, то инициируется процесс ресинхронизации. Процесс ресинхронизации заключается в расчете места во временной последовательности для пакета информации, пришедшего после какой-либо ошибки. Для этого рассчитывается разность между текущим и предыдущим значениями счетчика пакетов. Исходя из закона изменения счетчика, в этом случае мы можем считать, что в последовательности было пропущено M отсчетов данных, при этом M вычисляется по формуле:
M = (A - Д. J + 256K,
где Лп - текущее значение счетчика пакетов; Лп-1 -предыдущее значение счетчика пакетов; К - количество пропущенных циклов счетчика, которое может принимать значение от 0 до (Жобщ-Жобраб)/256; где Жобщ - общее количество отсчетов, собранное за эксперимент по данному каналу, а Жобраб - количество уже обработанных отсчетов по данному каналу.
Для того чтобы определить количество пропущенных циклов К, также используются метки времени, значение счетчика пакетов и частота оцифровки. Вычисление производится по формуле:
К = - К _,)/)/256.
При этом если Л„>Лп-1, то значение К округляется в меньшую сторону, а если это условие не выполняется, то в большую. Зная количество пропущенных отсчетов М, мы можем точно определить номер пришедшего отсчета. Для всех пропущенных отсчетов в буфере обработанных данных выставляется признак недостоверности. По окончанию работы алгоритма, обработанные данные помещаются в файл.
Заключение
Описанный в статье приборный комплекс сбора и регистрации данных успешно прошел испытание на электрофизической установке - токамаке КТМ, расположенной в г. Курчатов, Республика Казахстан, в составе Системы автоматизации экспериментов на токамаке, и используется в настоящее время для измерения и регистрации сигналов с датчиков электромагнитной диагностики. Используемые в работе структурные и аппаратурнотехнические решения позволяют обеспечить помехоустойчивость измерительных каналов комплекса в условиях сложной электромагнитной обстановки, которая имеет место в реакторном зале. Предлагаемый в работе алгоритм первичной обработки информации позволяет осуществлять точную привязку полученных данных ко времени оцифровки без необходимости передачи временных меток от источников измерительной информации, что дает возможность увеличения пропускной способности системы в целом. Комплекс обеспечивает одновременное 16-ти разрядное измерение и регистрацию сигналов от 160-ти датчиков с частотой дискретизации до 350 кГц.
Исследование выполнено при поддержке Министерства образования и науки Российской Федерации, соглашение 14.B37.21.0457 «Разработка высокопроизводительного модульного приборного комплекса для автоматизированных систем экспериментальных исследований и управления электрофизическими установками ядерной энергетики».
СПИСОК ЛИТЕРАТУРЫ
1. Обходский А.В., Байструков К.И., Павлов В.М., Меркулов С.В., Голобоков Ю.Н. Система измерения электромагнитных параметров для электрофизической установки токамак
КТМ //Приборы и техника эксперимента. - 2008. - № 6. С. 23-28.
Поступила 20.09.2012 г.