Как уже говорилось, имеется два состояния семафора. Высокий уровень (логическая 1) указывает получателю, что данные из буфера доступны; низкий уровень (логический 0) указывает, что получатель принял данные из буфера и что буфер теперь пуст и может принять новые данные от источника.
Пунктирные линии, которые связывают выход семафора с источником и получателем на блок-схеме, указывают, как источник и получатель влияют на последовательность событий в процессе обмена информацией. Например, когда семафор воспринимается источником как сигнал высокого уровня, новые данные не могут быть выданы в буфер, в то же время, когда семафор воспринимается получателем как сигнал низкого уровня, получатель не может овладеть данными из буфера. Таким образом, семафор синхронизирует передачу данных между микроЭВМ и ВУ.
Временные диаграммы
Рис. 34. Временные диаграммы условного ввода с использованием семафора |
На рис. 34 представлены временные диаграммы режима стробируемого ввода, используемого в микросхеме параллельного программируемого интерфейса 8255.
Предположим, что источник представляет собой 8-разрядный АЦП, а получателем является микроЭВМ. -STB X - синхронизирующий сигнал, который вводит данные в буфер из устройства ввода. X - код ВУ, который ассоциируется с данным устройством ввода, отличая его от других внешних устройств, которые также присутствуют в системе. Обычно -STB X формируется самим ВУ. -RD X - импульс выбора устройства, формируемый микроЭВМ, чтобы ввести данные из буфера. Последовательность событий на рис. 34 можно резюмировать следующим образом:
Устройство ввода обнаруживает, что семафор сброшен и поэтому в буфер могут быть введены новые данные.
Формируется импульс -STB X, низкий уровень которого устанавливает семафор, указывая тем самым, что новые данные доступны.
По положительному фронту импульса -STB X данные из устройства ввода пересылаются в буфер.
МикроЭВМ обнаруживает, что семафор установлен и, следовательно, данные в буфере доступны.
Спустя некоторое время микроЭВМ разрешает ШД, чтобы осуществить ввод данных.
МикроЭВМ вырабатывает импульс выбора устройства -RD X и по положительному фронту этого импульса вводит данные в аккумулятор (или другой внутренний регистр) и одновременно сбрасывает семафор, чтобы указать ВУ, что данные введены и буфер пуст.
Указанный ряд операций повторяется с шага 1.
Временные диаграммы стробируемого вывода, описывающие работу структурной схемы на рис. 32, представлены на рис. 35.
Рис. 35. Временные диаграммы условного вывода с использованием семафора |
Здесь получателем может быть такое ВУ как дисплейный терминал, а источником - микроЭВМ. Последовательность событий соответствует режиму стробируемого вывода микросхем 8155/8156 и 8255 фирмы Intel.
Выходной сигнал семафора в микросхеме 8155/8156 обозначается как BF, а в микросхеме 8255 - как -OBF. Для состояния “Данные приняты” сигнал ВF имеет высокий уровень, а сигнал -OBF - низкий. Этим объясняется наличие добавочного выхода на рис. 35.
-ACK X - синхронизирующий сигнал от ВУ, который подтверждает приём данных. -WR X - формируемый микроЭВМ импульс выбора устройства, который выводит данные в буфер.
Последовательность событий на рис. 35 можно резюмировать следующим образом:
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.