Смекни!
smekni.com

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

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

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

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

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

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

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

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

Всего модуль накопления должен содержать 4 элемента ОЗУ: буферное ОЗУ объёмом 8 Кбайт, системное ОЗУ объёмом 32 Кбайт и два элемента ОЗУ для накопления данных первого байта (ОЗУ1 и ОЗУ2) с объёмом 4 Кбайт каждая. Выработка управляющих сигналов «чтение», «запись» для накопительных ОЗУ в режимах накопления и автоматической трансляции данных, а также сигнала «запись» для буферного ОЗУ в режиме трансляции, происходит в схеме тактирования Clocking (схемный файл Clocking.gdf).

Схема (блок) тактирования производит выдачу управляющих сигналов в соответствии с алгоритмом «чтение-модификация-запись» (рис.4.3) Для соблюдения требуемого протокола обмена, учитывающего все параметры, в схеме организована специальная сетка тактирования с использованием четырёхразрядного счётчика. Определённые выходные значения интерпретируются аналитической схемой как маркерные точки для своевременной установки или снятия сигналов OE, WE, CS микросхем накопительной памяти и сигнал WrBRAM микросхемы буферной памяти. Генератор управляющих стробов выдаёт указанные сигналы синхронно импульсам Canal или Read в соответствии с состоянием сигнала Hold, формируемого триггерной схемой. Помимо перечисленных сигналов блок тактирования генерирует строб приёма данных ClkRG для регистров операторного блока Operator. Положительный фронт сигнала ClkRG соответствует времени появления действительных данных на выходах накопительных ОЗУ.

Тактовый, меандровый сигнал с частотой 20 МГц подаётся на счётчик от внешнего, относительно ПЛИС генератора. В режиме накопления сигнал тактирования дополнительно проходит через делитель частоты на 5, выполненный на базе четырёхразрядного счётчика из набора макрофункций системыMAX+PLUSII.

Принцип работы блока тактирования отражён на функциональной схеме (рис.5.6).


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

Тестирование блока проведено в сигнальном редакторе системы MAX+PLUSII. В качестве входных тестовых векторов введены сигналы: сlk (сигнал тактирования частотой 20 МГц), сanal (канальные импульсы системы регистрации), read (сигнал тактирования режима быстрой трансляции) и hold (сигнал перевода в режим быстрой трансляции).

В режиме накопления блок тактирования генерирует сигналы управления eo (enableoutput) и write синхронно импульсам сanal, в режиме быстрой трансляции дополнительно генерируется сигнал записи буферного ОЗУ wrBRAM синхронно импульсам read. Результаты тестирования обоих режимов приведены нарисунке 5.7. Временные интервалы на диаграмме указаны в микросекундах.

Адресный блок вырабатывает значение адреса ячеек накопительного ОЗУ по отрицательному фронту импульса canalили read в зависимости от режима работы. Сигналы разрешения выходов формируются не ранее 120 нс. Выдача сигнала защёлкивания (чтения) данных в обоих случаях происходит не ранее чем через 200 нс после импульса ео. Послестояние данных при операциях записи ОЗУ составляет не менее 19 нс. Такие временные параметры призваны обеспечить устойчивую работу модуля накопления.

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

За время нерабочего режима системы регистрации может быть произведена трансляция данных только одной из микросхем накопительного ОЗУ (в соответствии со значением сигнала Selram). При этом незанятое накопительное ОЗУ должно находится в режиме хранения данных.

Таким образом, необходимо обеспечить раздельную выдачу команд управления (EO, WR) для каждого накопительного ОЗУ.

Функции разделения команд, а также дополнительные функции выдачи сигналов обнуления на формирователи шин данных накопительных ОЗУ реализованы в блоке формирования Form. Соответствующий схемный файл Form.gdf графического редактора MAX+PLUSII находится в приложении 2.

Помимо рассмотренных устройств, в блоке Kern присутствуют дополнительные элементы, не включённые ни в один внутриструктурный файл этого блока. К ним относятся схема формирователя шины данных для буферного ОЗУ, управляемая сигналамиholdиSelram, и триггер разрешения счёта импульсов от внешних трактов регистрации.

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

Файл Kern.gdf графического редактора системы MAX+PLUSII находится в приложении 2.

5.1.2 Связь с внешними устройствами

Наличие буферной памяти, как средства взаимодействия нескольких источников и приёмников данных, требует построения соответствующей системы управления разделяемым ресурсом. Основным устройством управления на схеме модуля накопления является микроконтроллер. Выполняя программу накопления данных, он должен постоянно отслеживать и задавать режимы использования буферного ОЗУ. Всего предполагается 3 режима использования БОЗУ:

- запись-чтение данных со стороны микроконтроллера;

- запись-чтение данных со стороны магистрали ISA;

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

Кроме контроля режимов работы БОЗУ микроконтроллер должен осуществлять конфигурирование и управление схемой, используя:

- триггер разрешения счёта входных импульсов;

- триггер флага трансляции данных в БОЗУ ( используемый для запуска сигнала hold в ближайшем нерабочем режиме системы регистрации);

- триггер выбора банка данных в пространстве БОЗУ;

- триггеры установки порогового адреса.

Алгоритм работы модуля накопления позволяет организовать попарную адресацию триггеров.

Для функций управления предполагается использовать один 8-битный порт микроконтроллера. В этом случае удобно построить двухразрядную шину данных и трёхразрядную шину адреса. Один бит порта необходимо использовать для стробирования данных.

Элементы входящие в систему управления реализованы в ПЛИС.

Обработка адресных линий микроконтроллера производится адресным селектором, выполненным в виде файла Asmc.gdf. По приходу положительного фронта тактирующего сигнала «с» микроконтроллера на выходах селектора формируются стробы защёлкивания данных с линий Dmc0 и Dmc1 для соответствующих пар триггеров. Распределение адресов устройств представлено в таблице 2.

Таблица 2 Распределение адресов регистров управления

АдресБит данных 000 001 010 011 100 101 110 111
Dmc0 Установка значений порогового адреса00 – 51101–102310–204711–4095 Установка флага hold (выдача в БОЗУ данных 1-го байта) Установка режимов использования БОЗУ00 – МК01 – ISA10 – система накопления 1-го байта триггер разрешения счёта Флаги в поле адресов ввода-вывода Резерв Резерв Резерв
Dmc1 Установка сигнала Selram триггер иницициализации запроса прерывания

Адресный селектор выполнен в виде дешифратора. Схемный файл Asmc.gdf находится в ПРИЛОЖЕНИИ 2. Блок выдачи сигналов управления буферного ОЗУ (управляющий блок) выполнен в файле Direct.gdf. Блок выполняет мультиплексирование входящих сигнальных линий чтения и записи со стороны внешних устройств, исходя из состояния триггеров управления режимом использования БОЗУ (см. таблицу 2). Непосредственно триггеры установки режимов и мультиплексоры сигналов расположены во внутренней структуре в виде блока Muxrg.gdf. Помимо сигналов управления БОЗУ, управляющий блок генерирует сигналы разрешения выходов внешних двунаправленных шинных формирователей, обеспечивающих связь БОЗУ с микроконтроллером, а также с 8-битной шиной данных магистрали ISA. Те же сигналы используются для подключения внешних адресных линий заведённых через ПЛИС, к шине адреса БОЗУ (рис.5.9).


Схемные файлы Direct.gdf и Muxrg.gdf находятся в ПРИЛОЖЕНИИ.

Доступ к буферному ОЗУ со стороны магистрали ISA осуществляется по принципу разделяемой памяти. То есть ячейки буферного ОЗУ находятся в некотором поле адресов памяти компьютера. Для осуществления доступа требуется обработка всех 20 адресных линий шины ISA. 12 младших линий непосредственно адресуют ячейки БОЗУ, другие 8 используются для установки пространства памяти.