Дипломная работа: Модуль накопления для задач многомерной мессбауэровской спектрометрии
-
запись-чтение
данных со стороны микроконтроллера;
-
запись-чтение
данных со стороны магистрали ISA;
-
запись данных из
системы накопления первого байта.
Кроме контроля режимов работы БОЗУ микроконтроллер должен
осуществлять конфигурирование и управление схемой, используя:
-
триггер
разрешения счёта входных импульсов;
-
триггер флага
трансляции данных в БОЗУ ( используемый для запуска сигнала hold в ближайшем нерабочем режиме системы
регистрации);
-
триггер выбора
банка данных в пространстве БОЗУ;
-
триггеры
установки порогового адреса.
Алгоритм работы модуля накопления позволяет организовать
попарную адресацию триггеров.
Для функций управления предполагается использовать один
8-битный порт микроконтроллера. В этом случае удобно построить двухразрядную
шину данных и трёхразрядную шину адреса. Один бит порта необходимо использовать
для стробирования данных.
Элементы входящие в систему управления реализованы в ПЛИС.
Обработка адресных линий микроконтроллера производится
адресным селектором, выполненным в виде файла Asmc.gdf.
По приходу положительного фронта тактирующего сигнала «с»
микроконтроллера на выходах селектора формируются стробы защёлкивания данных с
линий Dmc0 и Dmc1 для
соответствующих пар триггеров. Распределение адресов устройств представлено в
таблице 2.
Таблица 2 Распределение адресов регистров управления
Адрес
Бит данных
|
000 |
001 |
010 |
011 |
100 |
101 |
110 |
111 |
Dmc0 |
Установка значений порогового адреса
00 – 511
01–1023
10–2047
11–4095
|
Установка флага hold
(выдача в БОЗУ данных 1-го байта)
|
Установка режимов использования БОЗУ
00 – МК
01 – ISA
10 – система накопления 1-го байта
|
триггер разрешения счёта |
Флаги в поле адресов ввода-вывода |
Резерв |
Резерв |
Резерв |
Dmc1 |
Установка сигнала Selram
|
триггер иницициализации запроса прерывания |
Адресный селектор выполнен в виде дешифратора. Схемный файл Asmc.gdf находится в ПРИЛОЖЕНИИ 2. Блок выдачи сигналов
управления буферного ОЗУ (управляющий блок) выполнен в файле Direct.gdf. Блок выполняет мультиплексирование входящих
сигнальных линий чтения и записи со стороны внешних устройств, исходя из
состояния триггеров управления режимом использования БОЗУ (см. таблицу 2).
Непосредственно триггеры установки режимов и мультиплексоры сигналов
расположены во внутренней структуре в виде блока Muxrg.gdf.
Помимо сигналов управления БОЗУ, управляющий блок генерирует сигналы разрешения
выходов внешних двунаправленных шинных формирователей, обеспечивающих связь
БОЗУ с микроконтроллером, а также с 8-битной шиной данных магистрали ISA. Те же сигналы используются для
подключения внешних адресных линий заведённых через ПЛИС, к шине адреса БОЗУ
(рис.5.9).

Схемные файлы Direct.gdf и Muxrg.gdf
находятся в ПРИЛОЖЕНИИ.
Доступ к буферному ОЗУ со стороны магистрали ISA осуществляется по принципу
разделяемой памяти. То есть ячейки буферного ОЗУ находятся в некотором поле
адресов памяти компьютера. Для осуществления доступа требуется обработка всех
20 адресных линий шины ISA.
12 младших линий непосредственно адресуют ячейки БОЗУ, другие 8 используются
для установки пространства памяти.
Интерфейсный блок Interfase выполняет обработку адресных линий и вырабатывает сигнал AdrE разрешения доступа к БОЗУ,
поступающий на вход блока управления Direct.
Для осуществления быстрой связи между микроконтроллером и
компьютером в интерфейсном блоке предусмотрено две пары триггеров. Триггера
могут выполнять роль флагов, например, для выставления запроса на передачу
накопленных данных в компьютер.
Для селектирования адресов пространства памяти, и триггеров
расположенных в поле устройств ввода-вывода интерфейсный блок содержит схему
дешифрации линий адреса Selectisa. Здесь можно задать селектируемые адреса путём добавления (удаления)
примитивов логического отрицания NOT на
входах соответствующих линий (см. файл Selectisa.gdf в ПРИЛОЖЕНИИ 2).
Микроконтроллер может инициализировать прерывание в
компьютере установив специальный триггер в интерфейсном блоке. Обращение к
буферному ОЗУ со стороны магистрали ISA расценивается, как реакция на прерывание и триггер сбрасывается.
Схемный файл Interfase.gdf находится в ПРИЛОЖЕНИИ 2.
Тактирование блока Kern осуществляется сигналами read и clk.
Меандровый сигнал clk частотой
20 МГц поступает от внешнего кварцевого генератора на вход глобального
тактового сигнала GCLK1 ПЛИС. Для получения
меандрового сигнала read с частотой 400 кГц, на базе шестиразрядного счётчика и вспомогательной
комбинационной схемы, построен делитель частоты Divisor. Его схема в виде файла Divisor.gdf представлена в ПРИЛОЖЕНИИ 2.
Структура, составленная из блоков Kern, Asmc, Direct, Interfase, Divisor и других элементов представляет собой единый
проектный файл Sistema.gdf. Этот файл обрабатывается
компилятором MAX+PLUS II, который создаёт загрузочный код для программирования ПЛИС.
Проект Sistema может быть размещён на одном
кристалле ПЛИС EPM7256SRC208-7 с логической ёмкостью 5000
эквивалентных вентилей. Из 256 макроячеек микросхемы использовано 251, что
составляет 98% ёмкости.
В модуле накопления используется 8-битный микроконтроллер AT89c51 содержащий 4 Кб FLASH-памяти программ, 128 байт ОЗУ и содержащий 32 программируемые линии
ввода-вывода. Линии ввода-вывода объединены в четыре 8-разрядных
двунаправленных порта, два из которых используются в качестве шины
адреса/данных для доступа к внешней памяти программ и данных. Один из портов
имеет дополнительные функции (последовательный порт, входы внешних прерываний,
входы счётчиков, выходы стробирующих сигналов записи-чтения во внешнюю память
данных).
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 |