Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Микропроцессорные системы (книга Комаров) / Проектирование МП систем (ч 1).doc
Скачиваний:
158
Добавлен:
08.03.2015
Размер:
2.92 Mб
Скачать

Постановка задачи ввода данных в озу

Пример 6.4:

Сформулировать требования к программе работы устройства для ввода данных в ОЗУ.

Перед проектированием программы для ввода данных необходимо сформулировать предъявляемые к ней требования. Сделаем это, последовательно отвечая на типовые вопросы.

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данные, НБнабор).

Анализируя сформулированные требования, не представляет труда изобразить эскиз лицевой панели устройства, приведенный на рис.6.18.

Рис. 6.18. Лицевая панель устройства для ввода данных в ОЗУ

Этот эскиз наглядно представляет элементы ввода/вывода, с которыми должна взаимодействовать программа, и позволяет четко определить порядок работы с разрабатываемым устройством.

Работа с устройством ввода данных в ОЗУ начинается с выбора режима работы тумблером "Режим" (например, "Ввод").

Для ввода данных прежде всего необходимо указать начальный адрес, с которого они будут размещаться в памяти. Для этого нажимается кнопка "Адрес" блока "Тип ввода". Устройство подготавливается к вводу адреса, о чем свидетельствует зажигающийся при этом двоичный индикатор, расположенный над кнопкой "Адрес".

Далее вводится адрес с 16-ричной клавиатуры. Вводимые цифры отображаются на знакосинтезирующем дисплее "Адрес" в режиме бегущей строки справа налево.

После установки необходимого адреса нажимается кнопка "Данные" блока "Тип ввода". Устройство переходит в режим ввода данных, о чем свидетельствует зажигающийся двоичный индикатор, расположенный над кнопкой "Данные". При этом индикатор над кнопкой "Адрес" гаснет.

Далее вводятся данные с клавиатуры. Вводимые цифры отображаются на знакосинтезирующем дисплее "Данные" в режиме бегущей строки справа налево.

После установки необходимых данных нажимается кнопка " +1" или "1" блока "Адрес". При этом данные записываются в формируемый массив ОЗУ, после чего адрес изменяется на единицу в указанную сторону.

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

После устранения причин ошибки сообщение о ней снимается, и на индикаторах отображается та же информация, что и до ошибки. Если отказ ОЗУ имеет устойчивый, а не сбойный характер, то для восстановления работоспособности необходим его ремонт.

Работа в режиме "Просмотр" аналогична работе в режиме "Ввод". При этом становится невозможным лишь ввод данных, а модификация адреса кнопками "+1" и "1" не вызывает записи данных в память.

Кнопка "Сброс" служит для аппаратного перезапуска программы с самого начала.