
- •В.М. Комаров
- •Рыбинск
- •Содержание
- •Указатель сокращений
- •Введение
- •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 Проектирование программы
- •Декомпозиция общей задачи
3.4.2. Точная постановка задачи и формулировка требований к программе
Этот этап присутствует в той или иной форме в любой деятельности, направленной на разработку какой-либо системы. Здесь вырабатываются требования, определяющие, какими характеристиками должно обладать проектируемое изделие.
При создании программы на этом этапе, в частности, должны быть определены:
1) функции программы;
2) функциональный смысл входной и выходной информации;
3) типы устройств ввода/вывода и форма представления информации;
4) диапазон изменения и точность представления входной и выходной информации;
5) системные требования (допустимое время решения задачи, особенности ввода/вывода информации и т. д. и т.п.);
6) необходимость контроля и типы обнаруживаемых ошибок;
7) особые случаи и реакция на них, допустимое время реакции.
Приведенный перечень вопросов для определения требований к программе является типовым и отнюдь неисчерпывающим в общем случае. Он может пополняться и расширяться для каждой конкретной задачи.
Последовательно отвечая на поставленные вопросы, можно сформулировать требования к программе, т. е. определить "Что делать?" При этом должно быть учтено множество факторов. Формулировке требований следует уделять большое внимание. Практика показывает, что примерно 60% ошибок в программе появляется из-за недостаточно полных и четких спецификаций. Ошибки этого типа исправлять наиболее трудно, т. к. они пронизывают весь проект.
На данном этапе целесообразно использовать графическое (различные диаграммы, графики) и табличное представление материала, дающее максимальную наглядность. После полного определения требований к устройству, целесообразно изобразить эскиз его лицевой панели, позволяющий наглядно представить элементы, с которыми должна взаимодействовать программа с точки зрения оператора.
Постановка задачи ввода данных в озу
Пример 3.1.
Сформулировать требования к программе работы устройства для ввода данных в ОЗУ.
Перед проектированием программы для ввода данных необходимо сформулировать предъявляемые к ней требования. Сделаем это, последовательно отвечая на типовые вопросы.
1. Функции программы.
Программа должна обеспечивать:
1) работу в двух режимах ввод данных и просмотр данных в ОЗУ;
2) запись заданных данных в ячейку по заданному адресу (в режиме ввода);
3) отображение данных из ячейки по заданному адресу (в режиме просмотра);
4) модификацию адреса путем его инкрементирования/декрементирования.
Функции программы, как правило, определяются необходимостью создания устройства с высокими эксплуатационными свойствами с точки зрения пользователя.
2. Функциональный смысл входной и выходной информации.
Входная информация имеет следующий смысл:
1) числовая информация об адресе или данных;
2) тип числовой информации (адрес или данные);
3) режим работы (ввод или просмотр данных);
4) направление модификации текущего адреса (инкрементирование или декрементирование).
Выходная информация имеет следующий смысл:
5) область данных, введенных в ОЗУ;
6) визуальное отображение адреса и данных.
Состав входных данных должен быть достаточным, чтобы исключить неопределенность в работе системы. Состав выходных данных определяется требуемым результатом и обеспечением удобства эксплуатации устройства.
3. Типы устройств ввода/вывода и форма представления информации.
В качестве устройств ввода использовать:
1) для ввода числовой информации шестнадцатиричную клавиатуру типа "матрица сухих контактов";
2) для ввода режима работы тумблер;
3) для ввода типа числовой информации и направления модификации адреса кнопки без фиксации.
Выбор устройств ввода определяет форму представления входной информации. В данном случае вся информация представляется в цифровом виде.
В качестве устройств вывода использовать:
4) для индикации адреса и данных семисегментные знакосинтезирующие индикаторы;
5) для индикации типа числовой информации двоичные индикаторы (светодиоды).
Для удобства эксплуатации потребуем, чтобы адрес и данные отражались одновременно.
4. Диапазон изменения и точность представления входной и выходной информации.
Считая, что при ручном вводе данных их объем не может быть очень велик, получим требования к диапазону изменения входной и выходной информации:
1) объем вводимых данных не более 64 Кбайт;
2) разрядность адреса 2 байта;
3) разрядность данных 1 байт;
4) сигналы о типе числовой информации, режиме работы и направлении модификации адреса однобитные.
Точность представления информации в данной задаче не имеет смысла.
5. Системные требования.
Эти требования уточняют вспомогательные характеристики решаемой задачи: различные временные параметры, особенности ввода/вывода информации и т. д. и т.п.
В данной задаче в качестве системных требований определим следующие:
1) ввод числовой информации в режиме бегущей строки справа налево в пределах выбранного поля (адреса или данных);
2) период следования числовых значений при вводе не менее 0,1 с.
Выбранный вариант ввода числовой информации наиболее удобен. При этом очередная введенная цифра отображается в младшем разряде соответствующего поля, а все предшествующие цифры сдвигаются на одну позицию влево. Это позволяет корректировать ошибочно введенную информацию путем дальнейшего ввода. Значение, отображаемое на индикаторах, в момент подачи управляющих сигналов считается достоверным и фиксируется в памяти.
6. Необходимость контроля и типы обнаруживаемых ошибок.
Как правило, в любой системе необходим какой-либо контроль, свидетельствующий о достоверности ее функционирования.
В данной задаче потребуем следующие контрольные функции:
1) контроль работоспособности ОЗУ для размещения вводимых данных по шине адреса и данных;
2) контроль одновременного включения двух или более клавиш клавиатуры.
7. Особые случаи и реакция на них.
Как правило, под особым случаем понимается ситуация возникновения некоторой ошибки. При этом необходимо определить реакцию на ошибку и способ выхода из этого состояния.
В данной задаче потребуем следующее:
1) при обнаружении любой из контролируемых ошибок на семисегментный дисплей выводится соответствующее сообщение:
отказ ОЗУ (по шине адреса) ErОП А;
отказ ОЗУ (по шине данных) ErОП d;
одновременное включение нескольких клавиш клавиатуры Err НБ.
2) выход из состояния ошибки путем устранения причин ошибки;
3) при возникновении ошибки состояние введенных в ОЗУ данных должно сохраняться.
При выборе формы сообщения необходимо учитывать информативные возможности используемых индикаторов. В данной задаче первое слово сообщений об ошибках Err, характеризующее факт ошибки, будем отображать в поле "Адрес" (ОП оперативная память), а второе слово, характеризующее тип ошибки в поле "Данные" (А адрес, d данные, НБ набор).
Анализируя сформулированные требования, не представляет труда изобразить эскиз лицевой панели устройства, приведенный на рис. 3.5.
Рис. 3.5. Лицевая панель устройства для ввода данных в ОЗУ
Этот эскиз наглядно представляет элементы ввода/вывода, с которыми должна взаимодействовать программа, и позволяет четко определить порядок работы с разрабатываемым устройством.
Работа с устройством ввода данных в ОЗУ начинается с выбора режима работы тумблером "Режим" (например, "Ввод").
Для ввода данных прежде всего необходимо указать начальный адрес, с которого они будут размещаться в памяти. Для этого нажимается кнопка "Адрес" блока "Тип ввода". Устройство подготавливается к вводу адреса, о чем свидетельствует зажигающийся при этом двоичный индикатор, расположенный над кнопкой "Адрес".
Далее вводится адрес с 16-ричной клавиатуры. Вводимые цифры отображаются на знакосинтезирующем дисплее "Адрес" в режиме бегущей строки справа налево.
После установки необходимого адреса нажимается кнопка "Данные" блока "Тип ввода". Устройство переходит в режим ввода данных, о чем свидетельствует зажигающийся двоичный индикатор, расположенный над кнопкой "Данные". При этом индикатор над кнопкой "Адрес" гаснет.
Далее вводятся данные с клавиатуры. Вводимые цифры отображаются на знакосинтезирующем дисплее "Данные" в режиме бегущей строки справа налево.
После установки необходимых данных нажимается кнопка " +1" или "1" блока "Адрес". При этом данные записываются в формируемый массив ОЗУ, после чего адрес изменяется на единицу в указанную сторону.
В случае возникновения какой-либо из контролируемых ошибок на знакосинтезирующих дисплеях отображается сообщение о соответствующей ошибке.
После устранения причин ошибки сообщение о ней снимается, и на индикаторах отображается та же информация, что и до ошибки. Если отказ ОЗУ имеет устойчивый, а не сбойный характер, то для восстановления работоспособности необходим его ремонт.
Работа в режиме "Просмотр" аналогична работе в режиме "Ввод". При этом становится невозможным лишь ввод данных, а модификация адреса кнопками "+1" и "1" не вызывает записи данных в память.
Кнопка "Сброс" служит для аппаратного перезапуска программы с самого начала.