p align="left">Схема приема запросов СПЗ предназначена для приема и привязки несинхронных сигналов запросов на организацию прямого доступа к памяти от четырех устройств, а также выдачи ответных сигналов подтверждения. Каждый из четырех каналов связан с БИС ПДП отдельными линиями запросов и подтверждения прямого доступа. Выдача ответного сигнала подтверждения для соответствующего канала происходит в зависимости от его приоритета. Внутреннее запоминающее устройство микросхемы ВЗУ предназначено для хранения начального адреса и числа циклов ПД для каждого канала в 16-разрядных регистрах адреса РгА и циклов РгЦ соответственно. РгА загружается адресом первой ячейки памяти, к которой должно быть обращение. Младшие 14 разрядов РгЦ указывают число циклов ПД (минус один) до конца счета (до появления сигнала КС}. Разряды 14-й и 15-й РгЦ указывают на вид обмена данными при ПД (табл. 2). В блоке ВЗУ происходит формирование массива адресов инкрементированием текущего адреса. Младший байт адреса А7...А0 помещается в буфер адреса БА, старший байт (А15...А8} - на буфер данных БД. Старший байт адреса должен быть защелкнут во внешнем регистре по сигналу СтрА. Буфер данных БД представляет собой 8-разрядное устройство, обеспечивающее двунаправленный обмен информацией между БИС и системной шиной данных. Информация, поступающая на БД с системной шины данных, передается в регистр установки режимов либо в ЗУ. С внутренней шины данных на ШД, поступает информация о регистрах адреса, количества циклов, состояния БИС. В течение циклов ПД выдаются старшие восемь разрядов адреса памяти. Буфер адреса БА предназначен для приема и выдачи адреса памяти либо одного из внутренних регистров схемы. БА разделен на две части. Адресные линии А0...А3 в состоянии программирования указывают номер регистра, инициализированного для обмена. При обслуживании циклов ПД эти линии являются входными и по ним передаются четыре младших разряда адреса памяти. Адресные линии А4...А7 - всегда выходные. Информация на них соответствует разрядам генерируемого адреса памяти. Последовательностью операций в течение циклов ПД управляет устройство управления УУ. Схема выработки сигналов Запись-Чтение СВС осуществляет прием, формирование и выдачу сигналов, обеспечивающих обмен информации между процессором и микросхемой - с одной стороны, и памятью и периферийными устройствами - с другой. Регистр установки режимов РгР хранит информацию о режимах работы БИС, к которым относятся "Автозагрузка", "Конец счета-стоп", "Удлиненная запись", "Обычная запись", "Циклический сдвиг приоритета" и "Фиксированный приоритет". РгР обычно загружается после установки РгА и РгЦ и сбрасывается подачей сигнала Уст. Разряды 0...3 РгР разрешают работу соответствующего канала. Разряды 4...7 обеспечивают соответствующий режим работы БИС. Так, при записи "1" в разряд 4 РгР приоритет каждого канала изменяется. Обслуженный канал будет иметь самый низкий приоритет. Порядок обслуживания каналов установливается в соответствии с их номерами 0>>1>2>3>0. Если разряд 4 РгР установлен в "0", то каждый канал будет иметь фиксированный приоритет. Так, канал 0 имеет наивысший приоритет, а канал 3 - самый низкий. При записи "1" в разряд 5 РгР устанавливается режим "Удлиненная запись". В этом режиме продолжительность сигналов ЗпП и Зп В/В увеличивается при отсутствии сигнала готовности внешнего устройства. При этом БИС входит в состояние ожидания. При записи "1" в разряд 6 РгР устанавливается режим "Конец счета - стоп". В этом случае после появления сигнала КС обслуженный канал окажется запрещенным. Если необходимо продолжить обслуживание данного канала, перепрограммируют его разряд разрешения. При "0" в разряде РгР появление сигнала КС не запрещает повторное обслуживание канала. При "1" в разряде 7 РгР устанавливается режим "Автозагрузка", позволяющий каналу 2 повторно пропустить массив данных или связать ряд массивов без программного вмешательства. Регистры канала 3 хранят информацию для переустановки регистров канала 2. После передачи первого массива и появления сигнала К.С содержимое регистров канала 3 передается в соответствующие регистры канала 2. Каждый раз, когда в регистрах канала 2 происходит "подмена" данных информацией регистров канала 3, устанавливается разряд "Флаг обновления данных" в регистре состояния каналов. Регистр состояния каналов РгС указывает номер канала, который достиг конца счета. Кроме того, в РгС входит разряд "Флаг обновления данных", описанный выше. В процессе функционирования в составе микропроцессорной системы микросхема может находиться в одном из следующих состояний: исходном, программирования, ожидания, обслуживания. В исходное состояние микросхему переводит внешний сигнал Уст. В этом состоянии маскируются все запросы каналов ПД, а буферы А0...А3 переводятся в состояние приема информации. В состоянии программирования МП имеет доступ к внутренним регистрам выбранного канала в соответствии с табл. 2 и 3. В состоянии ожидания микросхема находится либо от момента окончания программирования до выдачи сигнала ППД, либо в промежутках между циклами ПД. После получения от МП сигнала ПЗхв при наличии сигнала запроса микросхема вырабатывает сигнал ППД и переходит в состояние обслуживания, в котором системные шины находятся под управлением БИС ПДП. Таблица 2. Адресация регистров A3 A2 A1 A0 Операция Регистр 0 0 0 0 Зп Канал 0, начальный адрес 0 0 0 1 Зп Канал 0, количество циклов 0 0 1 0 Зп Канал 1, начальный адрес 0 0 1 1 Зп Канал 1, количество циклов 0 1 0 0 Чт Канал 2, начальный адрес 0 1 0 1 Зп Канал 2, количество циклов 0 1 1 0 Чт Канал 3, начальный адрес 0 1 1 1 Зп Канал 3, количество циклов 1 0 0 0 Чт Чтение РгС 1 0 0 0 Зп Запись в РгР Последовательность программирования контроллера Для начала следует запрограммировать РгА и РгЦ выбранного канала (или выбранных каналов). Таблица 3. Последовательность записи регистров адреса и циклов |
A3 | A2 | A1 | A0 | Операция | Регистр | | 0 | Номер канала | 0 | Зп | Запись младшего байта начального адреса (A0...A7) | | 0 | | 0 | Зп | Запись старшего байта начального адреса (A8...A15) | | 0 | | 1 | Зп | Запись младшего байта количества циклов (C0...C7) | | 0 | | 1 | Зп | Запись старших шести бит количества циклов (C8...C13) плюс два бита вида обмена данными (C14, C15) | | |
Запись в каждый регистр проводится в два этапа - младший, затем старший байт адреса. Таблица 4. Вид обмена данными C14 C15 Вид обмена 0 0 Цикл проверки ПД 0 1 Цикл записи ПД 1 0 Цикл чтения ПД 1 1 Запрещенная комбинация Разрешить работу контроллера ПДП теперь можно, установив в РгР соответствующий бит разрешения каналов вместе с атрибутами режима работы контроллера. Таблица 5. Формат регистра режимов |
Ст. б. | | Мл.б. | | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | | Установка автозагрузки | Установка КС-Стоп | Установка удлиненной записи | Установка циклического сдвига приоритета | Разрешение ПД | | | | | | Для канала 3 | Для канала 2 | Для канала 1 | Для канала 0 | | |
В процессе работы можно контролировать выполнение процесса прямого доступа к памяти посредством периодического чтения РгС. Таблица 6. Формат регистра статуса |
Ст.б. | | Мл.б. | | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | | 0 | 0 | 0 | Флаг обновления данных | КС-стоп | | | | | | Для канала 3 | Для канала 2 | Для канала 1 | Для канала 0 | | |
Пример программирования В одноплатном компьютере "Радио-86РК", описанном в журнале "Радио", контроллер ПДП используется для передачи кодов отображаемых символов из экранной области памяти в контроллер дисплея. Данная задача требует программирования контроллера ПДП с автозагрузкой (табл. 7). Таблица 7. Пример программирования контроллера ПДП |
A3 | A2 | A1 | A0 | Операция | Данные | Комментарий | | 1 | 0 | 0 | 0 | Зп | 10000000 (80H) | В РгР установили флаг автозагрузки, чтобы начальный адрес записался в регистр адреса третьего канала | | 0 | 1 | 0 | 0 | Зп | 11010000 (D0H) | Младший байт адреса | | 0 | 1 | 0 | 0 | Зп | 01110110 (76H) | Старший байт адреса | | 0 | 1 | 0 | 1 | Зп | 00100011 (23H) | Младший байт количества циклов | | 0 | 1 | 0 | 1 | Зп | 01001001 (49H) | Старший байт количества циклов (09H) и вид обмена - чтение | | 1 | 0 | 0 | 0 | Зп | 10100100 (A4H) | В РгР установили флаги: автозагрузка, удлиненная запись, разрешение работы канала 2 | | |
Все. Теперь контроллер ПДП циклически пересылает область памяти 76D0H-7FF3H в контроллер дисплея, приостанавливая на это время работу процессора. Отметим, что в таком варианте использования контроллера ПДП не требуется проводить операций чтения. Это использовали разработчики компьютера "Радио-86РК", совместив в адресном пространстве контроллер ПДП (только запись) и ПЗУ (только чтение). Список использованных источников1 http://www.computer-museum.ru 2 http://dfe3300.karelia.ru
Страницы: 1, 2
|