Смекни!
smekni.com

Модуль накопления для задач многомерной мессбауэровской спектрометрии (стр. 8 из 15)

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

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

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

4. ПОИСК СХЕМОТЕХНИЧЕСКИХ РЕШЕНИЙ

Модульный принцип построения системы накопления подразумевает создание набора встраиваемых плат расширения для персонального компьютера либо систем стандарта микро-PC с магистралью ISA. Развивая и усовершенствуя весь мессбауэровский спектрометр возможно создание полноценного автоматизированного комплекса с реализацией всех узлов электронного блока спектрометра в виде модулей (рис.4.1).


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

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

Суммируя вышеперечисленные условия (и ряд других) наиболее удобным представляется построение модуля накопления с возможностью сбора данных от двух синхронных трактов регистрации и накопления 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).