Интерфейсный блок 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+PLUSII, который создаёт загрузочный код для программирования ПЛИС. Проект Sistema может быть размещён на одном кристалле ПЛИС EPM7256SRC208-7 с логической ёмкостью 5000 эквивалентных вентилей. Из 256 макроячеек микросхемы использовано 251, что составляет 98% ёмкости.
В модуле накопления используется 8-битный микроконтроллер AT89c51 содержащий 4 Кб FLASH-памяти программ, 128 байт ОЗУ и содержащий 32 программируемые линии ввода-вывода. Линии ввода-вывода объединены в четыре 8-разрядных двунаправленных порта, два из которых используются в качестве шины адреса/данных для доступа к внешней памяти программ и данных. Один из портов имеет дополнительные функции (последовательный порт, входы внешних прерываний, входы счётчиков, выходы стробирующих сигналов записи-чтения во внешнюю память данных).
Использование внешней памяти программ не предполагается.
Накопление и хранение данных производится во внешней памяти данных объёмом 32 Кбайт. Для адресации необходимо 15 линий адреса. При обращении к внешнему ОЗУ младшие 8 разрядов адреса выдаются через порт P0, старшие 7 разрядов через порт Р2. Операции чтения-записи данных стробируются сигналами RD и WR микроконтроллера. Для мультиплексирования порта Р0 используется регистр фиксирующий адрес по спаду сигнала ALE. Регистр КР1533ИР23 производит запись по положительному фронту тактирующего сигнала, поэтому сигнал ALEинвертирован в ПЛИС.
Восьмой бит порта Р2 используется для обращения к буферному ОЗУ. При установке линии в лог.0 микроконтроллер обращается к БОЗУ, как к собственной памяти программ (естественно, что БОЗУ должно находится в режиме доступа микроконтроллера). Адресация происходит 12-ю младшими линиями адреса. На вход 13-го бита адреса с ПЛИС подаётся сигнал SelBANC, равный сигналу SelRAM, который устанавливается микроконтроллером (см. таблицу 1). Таким же образом задаётся 13-й бит адреса во всех других режимах использования БОЗУ.
Для управления внешними регистрами используется порт Р1. Два бита данных Dmc0 иDmc1 выдаётся по линиям Р1.0 и Р1.1 (соответственно нулевой и первый бит порта). Трёхбитный адрес – по линиям Р1.2, Р1.3, Р1.4. Стробирование данных происходит положительным фронтом на линии Р1.5.
Направление передачи данных для шинных формирователей КР1533АП6, используемых для доступа к шине данных буферного ОЗУ со стороны микроконтроллера и магистрали ISA (рис. Ф), логическим уровнем на линии Р1.6 (1 – чтение данных БОЗУ, 0 – запись данных из БОЗУ).
На входы Р3.4, Р3.5 таймеров/счётчиков Т0 и Т1 микроконтроллера подаются соответственно сигналы Start и 7 функционального блока мессбауэровского спектрометра. На линию Р3.2 входа внешних прерываний INT0 подаётся сигнал INT интерфейсного блока выполненного внутри ПЛИС.
Модуль накопления имеет четыре ОЗУ: два ОЗУ объёмом 4 Кбайт в системе накопления первого байта, буферное ОЗУ объёмом 8 Кбайт и системное ОЗУ (внешняя память данных) микроконтроллера объёмом 32 Кбайт. Микросхемы ОЗУ с организацией 4Кх8 серийно не производятся, поэтому вместо них использованы более доступные – 8Кх8. Для корректной работы схемы модуля накопления достаточно оперативной памяти с временем выборки 100 нс.
Шины адреса и данных накопительных ОЗУ, шина адреса буферного ОЗУ, а также сигналы управления подключаются непосредственно к ПЛИС, где происходит установка их задатчика в зависимости от выбранного режима.
Для тактирования ПЛИС использована микросхема-кварц Z544-47, частотой 20 МГц.
Передача данных последовательного порта микроконтроллера происходит по средствам интерфейса обмена RS-232C. Для нормального приёма уровень передаваемых сигналов должен составлять не менее±10 В. Применение дискретных элементов для построения приемопередатчика нежелательно и наиболее удобным является использование специализированных интерфейсных интегральных схем. Широкая гамма таких кристаллов выпускается фирмой AnalogDevices. Они содержат преобразователь напряжения +5 В в напряжение +10 В, инвертор (преобразующий напряжение +10 В в –10 В) и собственно преобразователи уровня сигналов последовательного интерфейса. Для данного проекта использована микросхема ADM232A.
Перечень элементов принципиальной схемы приводится в ПРИЛОЖЕНИИ 4, характеристики – в ПРИЛОЖЕНИЯХ 5,6 и 7.
Микроконтроллер в схеме модуля накопления выполняет следующие основные функции:
- обеспечивает накопление и хранение в системном ОЗУ мессбауэровских спектров в виде 24-разрядных массивов данных;
- контролирует режим доступа к буферному ОЗУ;
- задаёт рабочие параметры модуля накопления;
- обеспечивает режим амплитудного анализа во взаимосвязи с управляющей системой.
Перед началом выполнения основной программы накопления микроконтроллер должен выполнить процедуру инициализации – произвести подготовку системы. Во-первых, необходимо обнулить ячейки памяти данных, и буферного ОЗУ, состояние которых является неопределенным после включения питания. Во-вторых, задать пороговый адрес (число каналов накопления). В-третьих, выдать команду разрешения счёта входных импульсов для счётных блоков в системе накопления первого байта.
Накопление спектрометрических данных должно осуществляться путём реализации алгоритма сложения массивов накопленных в системе накопления первого байта, и переданных в буферное ОЗУ, с данными, хранящимися и накапливаемыми в системном ОЗУ микроконтроллера. Трансляцию (передачу) данных накопленных в системе накопления первого (младшего) байта в буферное ОЗУ инициирует микроконтроллер путём установки флага hold. Выбор накопительного ОЗУ (1 или 2) для передачи осуществляется установкой сигнала Selram(см. таблицу 2). При высоких параметрах загрузки порядка 106 имп./с передачу данных первого байта в буферное ОЗУ необходимо производить в конце каждого десятого цикла регистрации.
Согласно установленной периодичности, либо по запросу данных со стороны задатчика шины ISA (при выставлении соответствующего флага или сигнала прерывания), микроконтроллер должен предоставить накопленные данные используя буферное ОЗУ, доступное задатчику ISA в режиме разделяемой памяти.
Блок-схема алгоритма программы микроконтроллера приводится в ПРИЛОЖЕНИИ 3.
В процессе дипломного проектированиябыла осуществлена разработка принципиальной схемы автономной системы накопления мессбауэровскго спектрометра. Работы, проводимые в помещении лаборатории мессбауэровской спектрометрии связаны с измерением гамма-резонансных спектров пропускания исследуемых веществ в твердом состоянии, содержащих стабильные нуклиды железо-57 и олово-119 в диапазонетемператур 4,2K-1200K с использованием стационарно установленной Мессбауэровской лаборатории типа NE-255. Применяются источники гамма-излучения закрытого типа на радионуклидах кобальт-57 и олово-119М. При проектировании системы накопления использовался персональный компьютер.
В процессе проведения работ присутствуют следующие вредные и опасные факторы:
- ионизирующее излучение;
- повышенное напряжение электрического тока;
- воздействие электромагнитного излучения;
- воздействие шума;
- электростатические поля.
Работы, проводимые в помещении лаборатории мессбауэровской спектрометрии, классифицируются как: "Дозиметрические и радиометрические измерения радиоактивных веществ и ионизирующих излучений, а также градуировка дозиметрической и радиометрической аппаратуры".
В помещении лаборатории мессбауэровской спектрометрии проводятся работы только с радиоактивными источниками ионизирующих излучений закрытого типа. В комнате имеется два рабочих места со стационарным расположением ИИИ. Помещение отвечает всем еобходимым требованиям [23]. Рабочие места оборудованы радиационной защитой. Выход пучков излучений направлен в землю или в помещения без постороннего присутствия людей.