Связь с внешними устройствами
Наличие буферной памяти, как средства взаимодействия нескольких источников и приёмников данных, требует построения соответствующей системы управления разделяемым ресурсом. Основным устройством управления на схеме модуля накопления является микроконтроллер. Выполняя программу накопления данных, он должен постоянно отслеживать и задавать режимы использования буферного ОЗУ. Всего предполагается 3 режима использования БОЗУ: - запись-чтение данных со стороны микроконтроллера; - запись-чтение данных со стороны магистрали ISA; - запись данных из системы накопления первого байта. Кроме контроля режимов работы БОЗУ микроконтроллер должен осуществлять конфигурирование и управление схемой, используя: - триггер разрешения счёта входных импульсов; - триггер флага трансляции данных в БОЗУ (используемый для запуска сигнала hold в ближайшем нерабочем режиме системы регистрации); - триггер выбора банка данных в пространстве БОЗУ; - триггеры установки порогового адреса. Алгоритм работы модуля накопления позволяет организовать попарную адресацию триггеров. Для функций управления предполагается использовать один 8-битный порт микроконтроллера. В этом случае удобно построить двухразрядную шину данных и трёхразрядную шину адреса. Один бит порта необходимо использовать для стробирования данных. Элементы входящие в систему управления реализованы в ПЛИС. Обработка адресных линий микроконтроллера производится адресным селектором, выполненным в виде файла Asmc.gdf. По приходу положительного фронта тактирующего сигнала «с» микроконтроллера на выходах селектора формируются стробы защёлкивания данных с линий Dmc 0 и Dmc 1 для соответствующих пар триггеров. Распределение адресов устройств представлено в таблице 2.
Таблица 2 Распределение адресов регистров управления
Адресный селектор выполнен в виде дешифратора. Схемный файл 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% ёмкости.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|