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






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

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

Схема модуля накопления должна содержать микроконтроллер. Это связано, прежде всего, с тем, что модуль накопления является оператором данных большой разрядности (24 бит) и необходимо построить систему с максимально упрощённым алгоритмом доступа к банку данных со стороны магистрали ISA. Другое дело задача об оптимальном (по ряду критериев) распределении функций между аппаратурными средствами и программным обеспечением. При этом в самом общем случае необходимо исходить из того, что перенесение всех функций на аппаратурные средства обеспечивает высокое быстродействие системы в целом, но приводит к значительному усложнению схемы и сопряжено с увеличением стоимости конечного изделия. Кроме того, в данном случае исчезает возможность создания автономной системы. Бóльший удельный вес программного обеспечения позволяет сократить сложность аппаратурных средств, но это приводит к снижению быстродействия и увеличению затрат и сроков разработки и отладки прикладных программ. Время жизни изделия, в котором большая часть функций реализована в программном обеспечении, многократно возрастает за счет того, что срок "морального старения" изделия может быть существенно отодвинут путём совершенствования и перестроения программного обеспечения. Программная реализация основных элементов алгоритма работы накопителя допускает его модификацию относительно простыми средствами. Это и есть главный критерий построения гибких реконфигурируемых систем.

Учитывая широкие возможности микроконтроллера по работе с памятью, предполагается использование его системного ОЗУ (СОЗУ) для хранения и накопления спектрометрических данных. Объём СОЗУ должен быть достаточным для хранения банка 2х24х4096 бит, а также промежуточных данных. Наибольшие скоростные требования предъявляются к той части схемы, где реализуется алгоритм накопления первого байта (счётные блоки, блоки суммирования и т.д.), поэтому данная часть должна быть исполнена аппаратно с использованием быстрой статической памяти. Накопление старших байтов можно производить с использованием программных средств микроконтроллера. Из всех рассмотренных ранее способов обмена с компьютером наиболее подходящим является применение разделяемой памяти. В этом случае трансляция накопленных в СОЗУ данных должна производиться с использованием буферного ОЗУ доступного как со стороны шины ISA, так и со стороны микроконтроллера. Кроме того, БОЗУ может применяться для быстрого (в течение нерабочего режима системы регистрации, составляющего 11 мс) чтения данных собранных в системе накопления первого байта. Такой подход (совместно с другими положениями) позволяет организовать систему с непрерывным процессом накопления. Помимо ISA в качестве внешнего интерфейса может использоваться последовательный порт микроконтроллера (например, в случае автономной работы модуля накопления).

Преследуя принцип минимизации количества корпусов микросхем на малогабаритной плате необходимо предельно использовать возможности ПЛИС. Практически вся аппаратная часть, в том числе схема блока сопряжения, может быть реализована на одном кристалле ПЛИС. Использование наиболее популярных серий ПЛИС с доступными средствами автоматизированного проектирования позволяет строить надёжные устройства при помощи современных методов моделирования на функциональном и физическом уровне. Предлагаемый модуль накопления содержит два входных блока осуществляющих накопление данных первого байта. Каждый блок, в свою очередь, состоит из счётного блока и схемы промежуточного хранения (рис.4.2).



Использование буферного ОЗУ позволяет построить следующий алгоритм работы устройств на схеме модуля накопления. С приходом стартового импульса начинается очередной цикл регистрации данных. Входные импульсы с двух трактов регистрации поступают на входы счётных блоков 1 и 2, где производится их подсчёт за время равное периоду следования канальных импульсов системы регистрации.

По приходу очередного канального импульса происходит выдача данных на входы блоков суммирования и обнуление счётчиков для импульсов следующего временного окна. В тоже время блок выработки адреса схемы-диспетчера осуществляет выборку данных в ячейках ОЗУ соответствующих очередному номеру импульса «Канал». Блоки суммирования производят их сложение с данными, поступившими со счётных блоков. Результаты сложения возвращаются в ОЗУ по тому же адресу.

Так продолжается накопление данных в 4096 каналов после чего следует период нерабочего состояния системы регистрации длительностью 11 мс. За это время может быть произведена быстрая автоматическая трансляция в буферное ОЗУ данных накопленных в ОЗУ1 или ОЗУ2. Процесс передачи данных не обязательно должен производится в конце каждого цикла регистрации. Периодичность обмена определяется степенью загрузки трактов. Даже при высоких параметрах загрузки порядка 106 имп./с чтение ОЗУ необходимо производить в конце каждого десятого цикла регистрации. Таким образом работа с данными в накопительных ОЗУ (ОЗУ1 и ОЗУ2) производится по принципу «чтение-модификация-запись» (рис.4.3) Это относится и к режиму накопления и к режиму автоматической трансляции. В последнем случае на место прочитанных и переданных в буферное ОЗУ данных записывается нуль.



Данные, переданные в буферное ОЗУ, находятся в распоряжении микроконтроллера, который, выполняя подпрограмму суммирования, производит накопление трёхбайтного массива данных в системном ОЗУ.

Результат накопления спектров первого и второго тракта хранятся в системном ОЗУ и могут быть по запросу переданы на шину ISA. Передача данных производится блоками по 4 К байт с использованием буферного ОЗУ доступного со стороны ISA. Компьютер либо другая управляющая система (host) передают команды управления (запросы на доступ к банку данных, параметры накопления) используя либо буферное ОЗУ, либо последовательный порт с протоколом RS-232, либо регистры доступные со стороны магистрали ISA в поле адресов устройств ввода-вывода.

 


5. РАСЧЁТНАЯ ЧАСТЬ


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

Модуль накопления для задач многомерной мессбауэровской спектрометрии спроектирован с учётом следующих условий:

-                     Синхронизация накопителя с системой доплеровской модуляции осуществляется внешними тактовыми импульсами “старт” и “канал”, имеющими стандартные ТТЛ уровни (рис.5.1).



-                     Основным внешним интерфейсом накопителя является магистраль ISA. Доступ к данным осуществляется в режиме разделяемой памяти с использованием буферного ОЗУ.

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

-                     Модуль производит подсчёт входных импульсов, накопление 24-разрядных данных в 4096 каналов и обеспечивает их хранение.


5.1 Разработка проекта на базе ПЛИС


Как уже отмечалось, центральной и наиболее трудоёмкой частью разработки является проектирование ПЛИС. На кристалл размещены практически все функциональные блоки модуля накопления, за исключением микроконтроллера и элементов оперативной памяти.

За основу принята серия MAX7000S фирмы Altera – это ПЛИС класса CPLD с возможностью внутрисистемного программирования, и не требующих внешней памяти конфигурации.

Микросхемы семейства MAX7000 характеризуются высокими параметрами быстродействия: максимальная глобальная тактовая частота не ниже 125 МГц. Матрица соединений имеет непрерывную структуру, что позволяет реализовать время задержки распространения сигнала до 5 нс.

Разработка кристалла ПЛИС осуществлялась в системе проектирования MAX+PLUS II – до последнего времени единственной САПР для большинства ПЛИС фирмы Altera.

Дизайн проекта выполнен в виде иерархической структуры файлов созданных в графическом редакторе системы MAX+PLUS II (рис.5.2). Для тестирования, как отдельных узлов, так и всего проекта использовался сигнальный редактор.

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



Блок схема отражает наличие лишь наиболее значимых частей (файлов) проекта. Так, например, в схеме часто используются элементы задержки, составленные из соответствующих примитивов MAX+PLUS II. Кроме того, при составлении схем применялись модули параметризованных функций, поставляемые фирмой Altera.

Основные функции работы модуля накопления реализованы в блоке Kern. Он содержит в себе операционный блок (Operator) в котором, совместно с внешними, относительно ПЛИС, элементами ОЗУ выполняется алгоритм накопления первого байта данных. Кроме того, блок Kern включает в себя схему выработки адреса ячеек ОЗУ (Adr), работающую в режиме последовательного пересчёта.

Сопряжение модуля накопления с магистралью ISA производится интерфейсным блоком (файл Interfase), содержащим дешифраторы линий адреса, узел выработки прерываний и регистры доступные в пространстве адресов устройств ввода-вывода компьютера.

Узел Direct используется для выработки сигналов управления доступом к буферному ОЗУ со стороны внешних устройств согласно, установленного микроконтроллером, режима работы, а также для выполнения некоторых интерфейсных функций.

На схеме присутствует несколько регистров доступных со стороны микроконтроллера и необходимых для управления. Для их адресации выделено три линии порта микроконтроллера (всего 8 адресов). Роль селектора адреса выполняет элемент AS.

 

5.1.1 Реализация основного алгоритма

Входные блоки модуля накопления выполняют накопление и промежуточное хранение данных первого (младшего) байта. Основными структурными элементами здесь являются счётные блоки, блоки суммирования, и накопительные ОЗУ. Адресация ячеек ОЗУ происходит синхронно канальным импульсам системы регистрации. Накопление происходит непрерывно в каждом цикле регистрации. Число каналов накопления может быть задано. В соответствии с алгоритмом программы микроконтроллера периодически (один раз за несколько циклов регистрации) должна происходить быстрая автоматическая трансляция данных одного из накопительных ОЗУ в буферное ОЗУ.

Описанный механизм реализуется в блоке Kern совместно с внешними микросхемами ОЗУ. В соответствующем схемном файле Kern.gdf объединены счётные блоки, блоки суммирования, адресный блок и необходимые схемы управления.

Для реализации счётного блока с минимальными значениями параметра мёртвого времени на канал используется схема, состоящая из двух буферных счётчиков. Переключение потока входных импульсов между счётчиками производится управляющим триггером синхронно канальным импульсам системы регистрации (рис.5.3).


В то время, когда один из счетчиков находится в режиме счета приходящих на его вход импульсов, данные со второго счетчика через регистр и далее через мультиплексор поступают в последующее устройство обработки информации. Таким образом, мертвое время на канал сокращается до значения равного времени переключения триггерной ячейки внутри ПЛИС. Быстродействие счетчиков характеризуется собственным значением мертвого времени, которое определяет время нечувствительности счетчика, возникающее после регистрации им входного импульса. Параметр регистровой (триггерной) задержки в ПЛИС серии MAX7000S не превышает 2 нс. Это позволяет говорить о том, что предельная входная загрузка может с многократным запасом превышать 107 имп./с.

Счётный блок реализован файлом Count.gdf в графическом редакторе системы MAX+PLUS II. При составлении схемы использованы параметризованные модули (LPM) счётчиков и регистров, а также другие примитивы для комбинационных и последовательных участков схемы. Схемный файл Count.gdf находится в ПРИЛОЖЕНИИ 2.

Суммирование выходных данных счётных блоков с данными ОЗУ выполняется в блоке и одноимённом файле Operator. На рисунке 5.4 представлена функциональная схема сложения данных для одного тракта регистрации. В Operator структурно входит два счётных блока, данные с которых, поступают на входы параметризованных модулей сумматоров. На второй вход сумматоров поступают данные ОЗУ, предварительно зафиксированные в регистрах. Фиксация в регистрах необходима для разделения во времени двунаправленных шин данных внешних микросхем ОЗУ.


Управление регистрами осуществляется от внешнего блока Clocking. Кроме указанных элементов на схеме присутствует логика управления и схема перевода выходов сумматоров в третье (высокоимпедансное) состояние.

Полный вариант схемы в виде файла Operator.gdf представлен в ПРИЛОЖЕНИИ 2.

Выборка ячеек внешних микросхем ОЗУ производится адресным блоком, построенным в схемном файле Adr.gdf. Значение адреса генерируется 12-ти разрядным адресным счётчиком на вход, которого подаются, в зависимости от режима работы, канальные импульсы (в процессе накопления) либо тактовые импульсы с частотой 400 кГц (в режиме быстрой автоматической трансляции данных в буферное ОЗУ). Сброс адресного счетчика происходит по приходу стартового импульса схемы регистрации или по приходу сигнала Hold со стороны триггерного блока Trig. Сигнал Hold устанавливается в начале нерабочего режима системы регистрации в том случае, если микроконтроллер программно установил флаг запроса трансляции данных первого байта в буферное ОЗУ (рис.5.5)


Адресный счёт начинается с 000h. Последним на шину выдаётся пороговый адрес. Далее вырабатывается строб окончания счёта Endcount поступающий на вход триггерного блока. Значение порога для адресного счетчика может быть установлено микроконтроллером. Для этого используются дешифратор значений порогового адреса с входами установки P0 и P1. По умолчанию пороговым является адрес 4095 (FFFh), для нужд эксперимента программно могут быть установлены значения 2047 (7FFh), 1023 (3FF) и 511 (1FF).

Схемный файл адресного блока Adr.gdf находится в ПРИЛОЖЕНИИ 2.

В процессе автоматической трансляции данных в младшие 12 разрядов 13-ти разрядной шины адреса буферного ОЗУ подключается шина адреса накопительных ОЗУ. Сигнал Selram устанавливаемый микроконтроллером и формируемый триггерной схемой Trig определяет выбор микросхем ОЗУ1 или ОЗУ2 для передачи их данных в конце текущего цикла регистрации. Этот же сигнал подаётся на 13-й (старший) разряд шины адреса буферного ОЗУ. Таким образом происходит разделение пространства памяти буферного ОЗУ на два банка, каждый из которых предназначен для временного хранения данных ОЗУ1 и ОЗУ2.

Триггерная схема (файл Trig.gdf) выполняет роль набора регистров управления элементами блока Kern со стороны микроконтроллера. Схема построена из набора D-триггеров и дополнительных примитивов MAX+PLUS II. Непосредственно микроконтроллером устанавливаются сигналы P0, P1 и Selram. Управляющий сигнал Hold устанавливается через определённое время задержки в ответ на сигнал Endcount адресного блока и осуществляет перевод блока Kern и других вышестоящих узлов в режим работы с буферной памятью. Задержка необходима для завершения последней операции записи-чтения ячеек накопительных ОЗУ с пороговым адресом. Функция задержки реализована с использованием четырёхразрядного счётчика, тактируемого внешним сигналом Read.

Файл Trig.gdf графического редактора системы MAX+PLUS II находится в ПРИЛОЖЕНИИ 2.

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

Наиболее важным параметром статических ОЗУ является время выборки. Оно характеризует максимальную частоту операций чтения или записи. Современные микросхемы памяти имеют время выборки порядка 30 – 100 нс, что удовлетворяет требованиям проекта. Данный параметр является качественной характеристикой, но наряду с ним существуют и другие параметры, которые необходимо учитывать разработчику при проектировании систем использующих оперативную память. В частности к ним относятся:

-                     минимальное время удержания активного уровня сигнала CS (выбор кристалла);

-                     минимальное время удержания активного уровня сигнала WE (разрешение записи) в режиме записи данных;

-                     минимальное время удержания активного уровня сигнала ОЕ (разрешение выходов) в режиме чтения данных

-                     минимальное время подачи управляющего сигнала записи с момента установления данных в режиме записи

-                     минимальное время удержания данных на входах ОЗУ после снятия управляющего сигнала записи в режиме записи

-                     минимальное время подачи управляющего сигнала чтения с момента установления адреса в режиме чтения и др.

Помимо непосредственного соблюдения протокола обмена синхронных ОЗУ в модуле накопления, нужно учесть и другие особенности их применения. Наличие двунаправленной шины данных между блоками суммирования и микросхемами ОЗУ (рис.4.2) заставляет обратить особое внимание на необходимость правильного разделения во времени потоков данных. Речь идёт о недопустимости одновременного (даже кратковременного) наличия на разделяемой шине данных, двух источников сигналов. То есть между сигналами разрешающими выход данных со стороны двух присутствующих на шине устройств, работающих в режиме непрерывного обмена, должен быть определённый временной интервал.

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.