- •В.М. Комаров
- •Рыбинск
- •Содержание
- •Указатель сокращений
- •Введение
- •1. Организация микропроцессорных систем
- •1.1. Типовая структура микропроцессорных систем
- •1.2. Структура и принцип действия микроЭвм
- •1.3. Организация устройств микроЭвм
- •1.3.1. Организация процессора
- •Операционный блок
- •Управляющий блок
- •1.3.2. Организация памяти
- •1.3.3. Организация интерфейса
- •Методы обмена данными
- •Синхронный обмен
- •Асинхронный обмен
- •Обмен по прерыванию
- •Обмен в режиме прямого доступа в память
- •2. Элементная база микроэвм
- •2.1. Состав элементов для построения микроЭвм
- •2.2. Однокристальные микропроцессоры к1810вм86/к1810вм88
- •2.2.1. Аппаратный интерфейс
- •2.2.2. Функциональный смысл внешних сигналов
- •2.2.3. Структура и принцип действия
- •2.2.4. Временные диаграммы функционирования
- •2.3. Генератор тактовых импульсов к1810гф84
- •2.4. Шинные буферы к1810ва86
- •2.5. Элементы памяти
- •2.5.1. Элементы постоянной памяти
- •2.5.2. Микросхемы энергонезависимой памяти фирмы Atmel
- •Общие сведения
- •Микросхемы памяти группы eeprom
- •Микросхемы памяти группы Parallel eeprom
- •Микросхемы памяти группы Flash Memory
- •2.5.3. Элементы оперативной памяти
- •2.6. Порты ввода/вывода
- •2.6.1. Порт ввода/вывода к1810ир82
- •2.6.2. Порт ввода/вывода к589ир12
- •2.6.3.Программируемый параллельный интерфейс кр580вв55а
- •Режим 0
- •Режим 1
- •Режим 2
- •3. Проектирование микропроцессорных систем
- •3.1. Представление системы как объекта проектирования
- •3.2. Основные этапы проектирования
- •3.3. Разработка архитектуры системы
- •3.4. Проектирование программных средств
- •3.4.1. Этапы жизненного цикла программы
- •3.4.2. Точная постановка задачи и формулировка требований к программе
- •Постановка задачи ввода данных в озу
- •3.4.3 Проектирование программы
- •Декомпозиция общей задачи
Методы обмена данными
При построении МПС используются четыре основных метода обмена данными между микроЭВМ и УВВ:
синхронный обмен;
асинхронный обмен;
обмен по прерыванию;
обмен в режиме прямого доступа в память.
Синхронный обмен
Синхронный или безусловный программный обмен является простейшим способом обмена и используется тогда, когда УВВ всегда готово к обмену (различные переключатели, индикаторы и т.п.).
Упрощенная структура стандартного интерфейса для реализации синхронного обмена приведена на рис. 1.8,а, схема алгоритма на рис. 1.8,б, а полная структура полностью соответствует рис. 1.7.
Для осуществления синхронного обмена процессор выбирает некоторый порт и осуществляет обмен (ввод или вывод данных). Как правило, эти действия выполняются единственной командой ввода или вывода.
Достоинством синхронного обмена является простота его реализации, а недостатком узкая область применения, т. к. многие УВВ не всегда готовы к обмену.
Рис. 1.8. Синхронный обмен данными с внешними устройствами:
а) структура интерфейса; б) алгоритм обмена
Асинхронный обмен
Асинхронный или условный обмен используется тогда, когда УВВ не всегда готово к обмену (различные преобразователи, электрические пишущие машинки и т.п.). Для реализации асинхронного обмена каждый порт ввода/вывода снабжается дополнительным флаговым триггером. Состояние флага однозначно определяет готовность УВВ к обмену. Он взводится внешним устройством в момент готовности его к обмену и сбрасывается процессором в момент выполнения обмена. Асинхронный обмен может быть реализован аппаратным или программным путем.
Упрощенная структура стандартного интерфейса и алгоритм при программной реализации асинхронного обмена приведены на рис. 1.9,а. В этом случае выходы флаговых триггеров через буферы подключаются к шине данных, и им присваиваются собственные адреса.
Для осуществления асинхронного программного обмена процессор прежде всего вводит флаг необходимого УВВ и анализирует его значение. При активном флаге УВВ готово к обмену данными, и процессор сразу выполняет его. В противном случае УВВ не готово к обмену, и процессор ожидает его готовности, постоянно считывая и анализируя значение флага. Для сокращения потерь машинного времени на ожидание готовности УВВ к обмену в ветвь с пассивным значением флага может быть включена какая-либо фоновая работа. Однако при этом ухудшается точность обнаружения готовности УВВ к обмену.
Рис. 1.9. Асинхронный обмен данными с внешними устройствами:
а) структура интерфейса и алгоритм при программной реализации обмена;
б) структура интерфейса и алгоритм при аппаратной реализации обмена;
в) схема формирования сигнала готовности
Упрощенная структура стандартного интерфейса и алгоритм при аппаратной реализации асинхронного обмена приведены на рис. 1.9,б. В этом случае адреса флагов совпадают с адресами соответствующих портов, а выходы флаговых триггеров всех портов ввода/вывода объединяются с помощью операции логическое ИЛИ, реализуемой за счет монтажной логики. Это обеспечивает формирование общего сигнала готовности READY, поступающего через шину управления в процессор.
На рис. 1.9,в приведена одна из возможных схем формирования сигнала READY. При этом резистор R всегда располагается в процессоре, а логические элементы на том же конструктивном элементе, что и соответствующий порт. Такая организация позволяет изменять количество флагов, участвующих в формировании сигнала готовности, путем простого электрического подключения выхода логического элемента с открытым коллектором к общей линии READY из шины управления. Стробирование выходных логических элементов сигналами IOR и IOW позволяет отличить флаги портов ввода от флагов портов вывода, имеющих одинаковые адреса.
При отсутствии обращений к портам на всех адресных линиях присутствует пассивный нулевой уровень, что вызывает формирование единичного уровня сигнала READY. При READY = 1 процессор продолжает нормальное выполнение программы.
При обращении к некоторому порту на соответствующей адресной линии устанавливается активный единичный уровень. При этом значение сигнала READY формируется в зависимости от значения флага готовности к обмену соответствующего порта. При нулевом значении флага, т. е. неготовности УВВ к обмену, формируется нулевой уровень сигнала READY. При READY = 0 процессор переходит в состояние ожидания, в котором будет находиться до появления READY = 1, не выполняя никаких действий. Единичное значение сигнала готовности появится лишь при единичном значении выбранного флага, т. е. при готовности соответствующего УВВ к обмену. После этого процессор продолжит выполнение программы и завершит обмен.
Достоинством асинхронного обмена является его надежность, а недостатком потери времени на ожидание готовности УВВ к обмену и проверку значений флагов. Поэтому этот метод чаще всего используется для взаимодействия с достаточно быстродействующими и периодически работающими внешними устройствами.
Для рассмотренных методов синхронного и асинхронного обмена данными характерным является то, что обмен выполняется по инициативе процессора.