Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Параллельный обмен





Простейшая подсистема параллельного обмена должна обеспечить лишь де­шифрацию адреса ВУ и электрическое подключение данных ВУ к системной шине данных DB по соответствующим управляющим сигналам. На рис. 6.7 показаны устройства параллельного ввода и вывода информации в составе МПС на базе буферных регистров К580ИР82.

Очевидно, при обращении процессора (он в подобных циклах играет роль активного устройства) к устройству ввода, адрес соответствующего регистра помещается процессором на шину адреса и формируется управляющий сиг­нал RDIO. Дешифратор адреса, включающий и линию RDIO, при совпадении адреса и управляющего сигнала активизирует выходные линии регистра и его содержимое поступает по шине данных в процессор.

Внешняя среда

Рис. 6.7. Параллельный обмен на базе буферных регистров

Аналогично идет обращение к устройству вывода. Совпадение адреса уст­ройства на шине адреса с активным уровнем сигнала WRJO обеспечивает "защелкивание" состояния шины данных в регистре вывода.

Характерно, что при таком способе обмена процессор не анализирует готов­ность ВУ к обмену, а длительность существования адреса, данных и управ­ляющего сигнала целиком определяется тактовой системой процессора и принятым алгоритмом командного цикла. Напомним, что такой способ обме­на называется синхронным. Синхронный обмен реализуется наиболее просто, но он возможен только с устройствами, всегда готовыми к обмену, либо про­цессор должен перед выполнением команды ввода/вывода программными средствами убедиться в готовности ВУ к обмену (обычно в этом случае пред­варительно анализируется состояние флага готовности, формируемого ВУ). Кроме того, быстродействие ВУ, взаимодействующее с процессором в син­хронном режиме, должно гарантировать прием/выдачу данных за фиксиро­ванное время, выделенное процессором на цикл обмена.

Во многих микропроцессорных комплектах выпускают специальные интер­фейсные БИС, существенно расширяющие (по сравнению с использованием регистров) возможности разработчиков при организации параллельного об­мена в МПС. Такие БИС обычно имеют несколько каналов передачи инфор­мации, позволяют программировать направление передачи (ввод или вывод) по каждому каналу и выбирать способ обмена— синхронный или асин­хронный.

Типичным примером такой БИС может служить программируемый контрол­лер параллельного обмена (далее "контроллер") 825 5А (отечественный ана­лог — К580ВВ55).

Контроллер параллельного обмена К580ВВ55 представляет собой трехканальный байтовый интерфейс и позволяет организовать обмен байтами с периферийным оборудованием в различных режимах. Он включает в себя три 8-разрядные канала ввода/вывода А, В и С, буфер шины данных, 8-разрядный регистр управления Y и блок управления.

Подключение контроллера к системной шине показано на рис. 6.8. Каналы адресуются двумя линиями адреса А1, АО. В МПС контроллер размещают, как правило, в пространстве адресов ввода/вывода. Поэтому в качестве стро­бов чтения и записи используются сигналы RDIO, WRIO, для селекции кон­троллера по CS дешифрируются старшие разряды адреса, а для выбора адре­суемого объекта внутри контроллера— два младших.

Рис. 6.8. Подключение контроллера 8255 к системной шине

 

Каналы контроллера программируются для работы в одном из трех режимов:

□ режим "О" — синхронный однонаправленный ввод/вывод;

□ режим "1" — асинхронный однонаправленный ввод/вывод;

□ режим "2" — асинхронный двунаправленный ввод/вывод.

Режим работы контроллера устанавливается кодом управляющего слова, которое предварительно записывается в регистр управления Y.

В режиме "О" контроллер может работать как четыре порта ввода/вывода: А[7:0]. В(7:0], С[7:4], С[3:0],причем каждый порт может быть независимо запрограммирован на ввод или на вывод. При этом к порту, определенному как выходной, нельзя обращаться по чтению, а на входной порт нельзя выво­дить информацию.

В асинхронном однонаправленном режиме «1» могут работать только каналы А и В, причём соответствующие линии канала С придаются каналам А и В для передачи управляющих сигналов. Как и в режиме "0", каналы А и В про­граммируются на ввод или вывод(независимо).

В режиме "2" может работать только канал А, к которому в этом случае можно обращаться как по записи, так и по чтению (двунаправленный асин­хронный обмен). При этом канал В может быть запрограммирован как на ра­боту в режиме "1", так и в режиме "О".


Выбор режимов каналов и направления передачи данных в них осуществля­ется загрузкой во внутренний управляющий регистр Y соответствующего кода.

Линии канала С могут работать только в режиме "0", причем независимо можно запрограммировать направление передачи: старшей и младшей тетра­ды, канала С. Если для каналов А и/или В выбраны режимы "2" и/или "1", то соответствующие линии канала С перестают работать в режиме "0" и исполь­зуются для передачи управляющих сигналов. Линии канала С, которые не используются при выбранной комбинации режимов каналов А и В, можно использовать как линии ввода или вывода канала С, работающего в «0»-режиме. Кроме того, всегда имеется возможность программного сбро­са/установки произвольного разряда канала С.

Режим "0" является синхронным и во многом напоминает рассмотренный выше механизм обмена с использованием регистров. Рассмотрим подробнее процесс асинхронного обмена в режиме "1".

Режим " 1" обеспечивает однонаправленную, асинхронную передачу инфор­мации между процессором и ВУ. При этом каналы А и В используются как регистры данных, а канал С-— для приёма и формирования управляющих сигналов, сопровождающих асинхронный обмен, причем каждый разряд ка­нала С имеет строго определенное функциональное назначение.

Например, если канал запрограммирован на ввод в режиме "1", то процессор может вводить данные этого канала только "будучи уверенным" в их готовности. Об этой готовности ему должен сообщить контроллер путем установ­ки специального признака— флага в определенном разряде регистра С и, может быть, формированием запроса на прерывание с соответствующим век­тором. С другой стороны, внеш­нее устройство, подключенное к каналу, не должно выдавать новую порцию информации, пока прежняя не будет прочитана процессором.

Для обеспечения синхронизации ввода в режиме "1" каналу придаются три линии канала С для передачи управляющих сигналов:

□ STB (строб записи)— сигнал, формируемый ВУ для записи очередного байта данных в регистр канала:

□ IBF (подтверждение приема) — сигнал, формируемый контроллером для ВУ в тот момент, когда процессор прочитал содержимое регистра канала. Пока сигнал EBF неактивен, ВУ Запрещается вырабатывать новый строб записи;

□ INT (запрос прерывания) — вырабатывается контроллером для процессора после того, как очередной байт данных запишется в регистр канала. Это же событие устанавливает флаг готовности канала в разряде регистра С.

Обмен начинается с подачи ВУ сигнала STB, по которому данные помеща­ются в регистр канала. Контроллер, во-первых, сбрасывает сигнал IBF, за­прещая ВУ выработку Нового строба, и, во-вторых, устанавливает флаг го­товности и (может быть) формирует сигнал запроса на прерывание INT про­цессору. Процессор может достаточно долго не реагировать на сообщение о готовности канала, занятый более приоритетными процедурами. Все это вре­мя установлены готовность и INT и сброшен IBF, новая порция информации
не может поступить в канал.

Когда процессор обратится по адресу канала и введет хранящуюся в регистре информацию, контроллер сбрасывает флаг готовности и запрос на прерыва­ние INT и устанавливает сигнал IBF, разрешая ВУ записывать следующий байт в регистр канала. Однако ВУ может быть достаточно инерционным и довольно долго подготавливает следующую порцию информации, но пока ВУ не сформирует новый сигнал STB, контроллер не выработает сигнал го­товности и, следовательно, процессор не будет обращаться по адресу канала.


Подобный режим обмена позволяет исключить как потерю информации в контроллере, так и повторный ввод в процессор прежней информации.

Аналогично реализуется и асинхронный, режим вывода. Каналу, запрограм­мированному на вывод в режиме "1", придаются три линии управления ка­нала С:

□ OBF (выходной буфер заполнен)— сигнал формируется контроллером для ВУ после того, как процессор записал в регистр канала новую порцию информации;

□ АСК. (подтверждение записи)— сигнал от ВУ контроллеру, подтверждающий прием очередного байта;

□ INT (запрос прерывания) — запрос прерывания от контроллера процессо­ру для выдачи процессором в канал следующего байта информации.

Процедуры ввода и вывода в режиме "2" осуществляются аналогично соот­ветствующим процедурам в режиме "1".







Date: 2015-09-18; view: 580; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.008 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию