рефераты скачать

МЕНЮ


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

Многие крупные фирмы-производители САПР интегральных схем активно включились в процесс создания программного обеспечения, поддерживающего ПЛИС различных производителей. Это позволяет проводить разработку алгоритмов, пригодных к реализации на ПЛИС не только разных семейств, но и различных производителей, что облегчает переносимость алгоритма и ускоряет процесс разработки. Примером таких систем являются продукты серии FPGA Express фирмы Synopsys, OrCAD Express фирмы OrCAD, продукты фирм VeryBest, Aldec, Cadence Design Systems и многих других. САПР фирмы Altera поддерживает интерфейс со многими из названных продуктов.

3.3 САПР MAX+PLUS II


Система MAX+PLUS II разработана фирмой Altera и обеспечивает многоплатформенную архитектурно независимую среду создания дизайна, легко приспосабливаемую для конкретных требований пользователя.

Название MAX+PLUS II является аббревиатурой от Multiple Array MatriX Programmable Logic User System (пользовательская система программирования логики упорядоченных структур). Система MAX+PLUS II имеет полный спектр возможностей логического дизайна: разнообразные средства описания проектов с иерархической структурой, мощный логический синтез, компиляцию с заданными временными параметрами, разделение на части (использование нескольких кристаллов), функциональное и временное тестирование (симуляцию), тестирование нескольких связанных устройств, анализ временных параметров системы, автоматическую локализацию ошибок, а также программирование и верификацию устройств [8]. Процедуру разработки нового проекта от концепции до завершения можно упрощённо представить следующим образом:

1)                создание нового файла проекта или иерархической структуры нескольких файлов проекта с помощью любого сочетания редакторов в системе MAX+PLUS II, то есть графического, текстового и сигнального редакторов;

2)                задание имени файла - проекта верхнего уровня в качестве имени проекта;

3)                назначение семейства ПЛИС для проекта;

4)                компиляция проекта. По желанию пользователя можно подключить модуль извлечения временных параметров проекта Timing SNF Extractor для создания файла, используемого при временном моделировании;

5)                в случае успешной компиляции возможен временной анализ в окне Timing Analyzer и симуляция в окне Simulator

6)                программирование с использованием программатора MPU (Master Programming Unit) или подключение загрузочных устройств BitBlaster, Byte-Blaster или FLEX Download Cable к устройству, программируемому в системе;

ПО системы MAX+PLUS II содержит 11 приложений и главную управляющую программу. Различные приложения, обеспечивающие создание проекта, могут быть активизированы мгновенно, что позволяет пользователю переключаться между ними щелчком мыши или с помощью команд меню. В это же время может работать одно из фоновых приложений, например, компилятор, симулятор, анализатор синхронизации и программатор. Одни и те же команды разных приложений работают одинаково, что облегчает задачу разработки логического дизайна.

В таблице 1 приведено краткое описание приложений.

В САПР MAX+PLUS II легко доступны все инструменты для создания проекта. Разработка проекта ускоряется за счёт имеющихся стандартных функций, в том числе примитивов, мегафункций, библиотеки параметризованных модулей (LPM) и макрофункций устаревшего типа микросхем 74 серии.


Таблица 1 Приложения системы MAX+PLUS II.

Приложение

Выполняемая функция

Hierarchy Display

Обзор иерархии - отображает текущую иерархическую структуру файлов в виде дерева с ветвями, представляющими собой подпроекты.

Graphic Editor

Графический редактор - позволяет разрабатывать схемный логический проект в формате реального отображения на экране WYSIWYG.

Symbol Editor

Символьный редактор - позволяет редактировать существующие символы и создавать новые.

Text Editor

Текстовый редактор - позволяет создавать и редактировать текстовые файлы логического дизайна, написанные на языках AHDL, VHDL, Verilog HDL.

Waveform Editor

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

Floorplan Editor

Поуровневый планировщик - позволяет графическими средствами делать назначения контактам устройства и ресурсов логических элементов.

Compiler

Компилятор - обрабатывает логические проекты.

Simulator

Симулятор - позволяет тестировать логические операции и внутреннюю синхронизацию проектируемой логической цепи.

Timing Analyzer

Временной анализатор - анализирует работу проектируемой логической цепи после того, как она была синтезирована и оптимизирована компилятором.

Programmer

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

Message Processor

Генератор сообщений - выдает сообщения об ошибках, предупреждающие и информационные сообщения.


В системе MAX+PLUS II есть три редактора для разработки проекта: графический, текстовый и сигнальный, а также два вспомогательных редактора: поуровневый планировщик и символьный редактор.

Графический редактор (Graphic Editor) обеспечивает проектирование в реальном формате изображения (WYSIWIG). Графические файлы проекта (.gdf) или схемные файлы OrCAD (.sch), созданные в данном графическом редакторе, могут включать любую комбинацию символов примитивов, мегафункций и макрофункций. Символы могут представлять собой любой тип файла проекта (.gdf .sch .tdf .vhd .v .wdf .edf .xnf .adf .smf).

Символьный редактор (Symbol Editor) позволяет просматривать, создавать и редактировать символ. Символьный файл имеет то же имя, что и проект, и расширение “.sym”. Команда Creat Default Symbol меню File, которая есть в графическом, текстовом и сигнальном редакторах, создает символ для любого файла проекта. Символьный редактор обладает следующими характеристиками: можно переопределить символ, представляющий файл проекта, создавать и редактировать выводы и их имена, используя входные, выходные и двунаправленные выводы, а также задавать варианты ввода символа в файл графического редактора, задать значения параметров и их значения по умолчанию; сетка и направляющие помогают выполнить точное выравнивание объектов, в символе можно вводить комментарии.

Текстовый редактор (Text Editor) является инструментом для создания текстовых файлов проекта на языках описания аппаратуры: AHDL (.tdf), VHDL (.vhd), Verilog HDL (.v). Все перечисленные файлы проекта можно создавать в любом текстовом редакторе, однако данный редактор имеет встроенные возможности ввода файлов проекта, их компиляции и отладки с выдачей сообщений об ошибках и их локализацией в исходном тексте или в тексте вспомогательных файлов; кроме того, существуют шаблоны языковых конструкций для AHDL, VHDL и Verilog HDL, выполнено окрашивание синтаксических конструкций. В данном редакторе можно вручную редактировать файлы назначений и конфигурации (.acf), а также делать установки конфигурации для компилятора, симулятора и временного анализатора.

Пользуясь данным текстовым редактором, можно создавать тестовые векторы (.vec), используемые для тестирования, отладки функций и при вводе сигнального проекта. Можно также создавать командные файлы (.cmd — для симулятора и .edc — для EDIF), а также макробиблиотеки (.lmf).

Сигнальный редактор (Waveform Editor) служит инструментом создания описания проекта, ввода тестовых векторов и просмотра результатов тестирования. Пользователь может создавать сигнальные файлы проекта (.wdf), которые содержат временные диаграммы, описывающие логику работы проекта, а также файлы каналов тестирования (.scf), которые содержат входные вектора для тестирования и функциональной отладки. Разработка описания проекта в сигнальном редакторе является альтернативой его создания в графическом или текстовом редакторах. Здесь можно графическим способом задавать комбинации входных логических уровней и требуемых выходов. Созданный таким образом файл WDF может содержать как логические входы, так и входы цифрового автомата, а также выходы комбинаторной логики, счётчиков и цифровых автоматов. Способ разработки дизайна в сигнальном редакторе лучше подходит для цепей с чётко определёнными последовательными входами и выходами, то есть для цифровых автоматов, счётчиков и регистров.

Поуровневый планировщик (Floorplan Editor) предназначен для назначения ресурсов физических устройств и просмотра результатов разводки, сделанных компилятором. В окне поуровневого планировщика могут быть представлены два типа изображения:

-                     Device View (Вид устройства) показывает все контакты устройства и их функции;

-                     LAB View (Вид логического структурного блока) показывает внутреннюю часть устройства, в том числе все логические структурные блоки (LAB) и отдельные логические элементы.

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

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



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

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

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


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


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

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


Copyright © 2012 г.
При использовании материалов - ссылка на сайт обязательна.