Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Дмитриев Универсалный лабораторный стенд. Аппаратные средства проектирования встраиваемых систем 2009

.pdf
Скачиваний:
62
Добавлен:
17.08.2013
Размер:
10.11 Mб
Скачать

Эмулятор ПЗУ выполнен на микросхеме статического ОЗУ UT62256 с организацией 32768 слов по 8 разрядов. Время доступа составляет 70 нс.

1.8. ВНЕШНЕЕ ОЗУ ДАННЫХ

Внешнее ОЗУ данных предназначено для хранения данных, с которыми работает исполняемая программа. В УЛС для этой памяти объемом 32к отведена область адресов 8000h-FFFFh. Часть адресов 8000h-ВFFFh этой области разделяется с памятью контрольных точек. Порядок управления разделением этой общей области рассмотрен в п. 1.5. Особенностью использования данного вида памяти в УЛС является возможность предварительного занесения в нее данных из файла и модификация ее содержимого в просмотровом окне на этапе отладки. Последовательность действий при выполнении этих отладочных процедур рассмотрена в [3]. Внешнее ОЗУ данных выполнено на микросхеме статического ОЗУ

UT62256.

1.9. ОЗУ ДЛЯ ХРАНЕНИЯ КОНТРОЛЬНЫХ ТОЧЕК

Память контрольных точек предназначена для аппаратной поддержки отладки пользовательской программы в режиме ее исполнения с остановом в контрольных точках. Принцип действия этой памяти состоит в следующем. Первоначально в ее ячейки с адресами, соответствующими выбранным пользователем точкам останова, заносится маркерная информация. После запуска пользовательской программы на исполнение одновременно работают эмулятор ПЗУ и память контрольных точек. В этом режиме выводы данных памяти контрольных точек отключены от шины МК и подключены к схеме формирования сигнала прерывания INT0. Как только при выполнении пользовательской программы из эмулятора выбирается команда, по адресу которой в памяти контрольных точек записан маркер, осуществляется выработка сигнала прерывания INT0, по которому управление из пользовательской программы передается монитору-загрузчику для выполнения отладочной функции просмотра состояния МК. Напомним, что для включения этого режима

21

необходимо на лицевой панели стенда установить тумблер INT0 в нижнее положение КТ.

ОЗУ для хранения контрольных точек выполнено на микросхеме статического ОЗУ UT62256. Особенность использования этой микросхемы в качестве памяти контрольных точек состоит в том, что для формирования и хранения маркерной информации используется только один разряд из восьми.

1.10. КОНТРОЛЛЕР КЛАВИАТУРЫ И ИНДИКАЦИИ

Для управления выводом информации на дисплей семисегментных индикаторов и ввода данных с клавиатуры в состав стенда включен контроллер 82С79. Это программируемое устройство, которое автоматически сканирует клавиатуру, формирует и выдает код нажатой клавиши, подавляет дребезг контактов при нажатии клавиш, а также автоматически регенерирует изображение, формируемое на индикаторах дисплея путем циклического опроса видеопамяти. Выбор его режима работы осуществляется путем подачи команд управления. На рис. 1.5 показана обобщенная структурная схема контроллера 82С79.

Рис. 1.5. Обобщенная структурная схема контроллера 82С79

22

Работает контроллер следующим образом. Счетчик сканирования выдает сигналы сканирования клавиатуры и индикаторов дисплея в кодированном (двоичный код) или в декодированном (унитарный код) виде. Значение кода определяет номер знакоместа в дисплее. Для формирования изображения по значению счетчика сканирования из видеопамяти на информационные выходы дисплея DSPA[3-0] и DSPB[3-0] поступает код символа. При нажатии клавиши клавиатуры на входных линиях RET формируется ее сканкод, который заносится в FIFO. Если FIFO не пусто, то вырабатывается сигнал прерывания, который автоматически сбрасывается при обращении к контроллеру для чтения скан-кода. Перед выполнением данного чтения на контроллер 82с79 предварительно должна быть подана команда, разрешения чтения из FIFO скан-кодов нажатых клавиш. Скан-коды клавиш выглядят следующим образом:

“1” – 11000000B“2” – 11000001B “3” – 11000010B “A” – 11000011B “4” – 11001000B“5” – 11001001B “6” – 11001010B “B” – 11001011B “7” – 11010000B“8” – 11010001B “9” – 11010010B “C” – 11010011B “*” – 11011000B“0” – 11011001B “#” – 11011010B “D” – 11011011B

В УЛС контроллер 82с79 используется в

 

режиме

декодирования линий

сканирования

 

дисплея и клавиатуры. В этом случае не требу-

 

ется внешний дешифратор при обслуживании

 

4-разрядного дисплея при 8-разрядном коде

 

символа

и

клавиатуры

4×4.

Выбор

 

8-разрядного кода символа позволил отказаться

 

и от использования внешних 4-разрядных де-

 

шифраторов для преобразования двоично-

 

десятичного кода в код семисегментного инди-

Рис. 1.6. Соответ-

катора и перейти к программной реализации

знакогенератора. На рис. 1.6 показано соответ-

ствие сегментов

индикатора битам

ствие сегментов индикатора номерам битов в

в байте данных

байте данных.

 

 

 

 

Таким образом, для отображения на индикаторе, например, шестнадцатеричных символов необходимо задавать следующие коды: «1» – 60h, «2» – B5h, « 3» – F4h, «4» – 66h, «5» – D6h, «6» – D7h, «7» – 70h, «8» – F7h, «9» – F6h, «0» – F3h, «A» – 77h, «B» – C7h, «C» – 93h, «D» – E5h, «E» – 97h , «F» – 17h. На основе приведен-

23

ных кодировок реализуется программный знакогенератор для шестнадцатеричного алфавита.

Значение внутренней частоты синхронизации контроллера 82С79, которое определяет качество изображения на дисплее и сканирования клавиш клавиатуры, формируется программно путем задания коэффициента деления частоты внешнего генератора синхронизации. В УЛС для корректного подавления дребезга контактов клавиатуры выбрана такая частота внешней синхронизации контроллера, которая не требует программной перенастройки коэффициента деления частоты, устанавливаемого по умолчанию. Поэтому при работе с данным контроллером в составе УЛС выполнение команды, устанавливающей этот коэффициент, не требуется. В адресном пространстве внешней памяти данных МК PCF 80С552 контроллеру клавиатуры и индикации 82С79 выделены два адреса – 7FFEh – для обмена данными (код выводимого на дисплей символа или скан-код нажатой клавиши) и 7FFFh – для передачи команд управления. Система команд контроллера 82С79 приведена в табл. 1.3

 

 

 

 

Таблица 1.3

Команды контроллера клавиатуры и индикации 82С79

 

 

 

 

КОП

Название

 

Комментарий

D7D6D5

команды

 

 

 

0 0 0

Установка режима

 

Разряды D4 и D3 задают режим

 

работы дисплея и

 

дисплея, D2–D0 – клавиатуры

 

клавиатуры

 

 

 

0 0 1

Программная

синхро-

 

Разряды D4–D0 определяют код

 

низация

 

 

деления внешней частоты синхро-

 

 

 

 

низации

0 1 0

Чтение FIFO

клавиа-

 

 

 

туры

 

 

 

0 1 1

Чтение видеопамяти

 

D4 – флаг автоинкрементирования

 

 

 

 

адреса следующего символа, D3–D0

 

 

 

 

– адрес видеопамяти

1 0 0

Запись в видеопамять

 

D4 – флаг автоинкрементирования

 

 

 

 

адреса следующего символа, D3–

 

 

 

 

D0 – адрес видеопамяти

 

 

 

24

 

 

 

Продолжение табл. 1.3

 

 

 

КОП

Название

Комментарий

D7D6D5

команды

 

1 0 1

Гашение, запрет запи-

D3 – запрет записи для линий шины

 

си в видеопамять

данных D7–D4, D2 – запрет записи

 

 

 

для линий шины данных D3–D0,

 

 

 

D1 – гашение выходов видеопамя-

 

 

 

ти, соответствующих разрядам D7–

 

 

 

D4, D0 – гашение выходов видео-

 

 

 

памяти, соответствующих разрядам

 

 

 

D3–D0

1 1 0

Сброс

 

Программный сброс БИС при D0=1,

 

 

 

сброс слова состояния и сигнала

 

 

 

INT при D1=1, установка ячеек ви-

 

 

 

деопамяти (D4=0) или ее выходов

 

 

 

(D4=1) в значение, определяемое

 

 

 

разрядами D2 и D3 (при D3=0 уста-

 

 

 

навливается значение 00h, при

 

 

 

D3=1 и D2=0 устанавливается зна-

 

 

 

чение 20h, при D3 и D2=1 устанав-

 

 

 

ливается значение FFh)

1 1 1

Сброс

прерывания,

При D4=1 в клавиатурном режиме

 

установка

режима

устанавливает режим обнаружения

 

обнаружения ошибки

ошибок. В режиме опроса датчиков

 

 

 

сбрасывает сигнал INT

Опции команды установки режима работы дисплея и клавиатуры представлены на рис. 1.7.

С учетом рассмотренных особенностей использования данного контроллера в составе УЛС при выполнении команды установки для дисплейной части могут выбираться опции только для 8-разрядного 8-символьного дисплея и дешифрированного сканирования клавиатуры. В этом режиме на линии S0–S3 выдается дешифрированный код двух младших разрядов счетчика сканирования. При этом в таком же режиме сканирования будет работать и дисплей. Поэтому если используется только дисплейная часть контроллера, то при инициализации контроллера 82С79 все равно надо задать декодированное сканирование клавиатуры. Для этого в коде

25

команды установки режима дисплея и клавиатуры в разрядах D2–D0 должно содержаться значение 001. В видеопамяти контроллера при работе в таком режиме будут использоваться только первые четыре ячейки. При работе дисплея в режиме ввода справа со сдвигом команды чтения и записи видеопамяти использовать нельзя. Примеры программирования контроллера 82С79 приводятся в гл. 3.

Рис. 1.7. Опции команды установки режима работы дисплея и клавиатуры

26

1.11.АЛФАВИТНО-ЦИФРОВОЙ ЖИДКОКРИСТАЛЛИЧЕСКИЙ ИНДИКАТОР

Алфавитно-цифровой ЖКИ предназначен для вывода текстовой информации во встраиваемых системах, где осуществляется интерфейс с оператором. На ЖКИ могут выводиться сообщения, сопровождающие ход выполнения системных или пользовательских программ, формируемые по результатам выполнения тестовых программ или представляющие результат выполнения пользовательской программы. В УЛС используется ЖКИ, экран которого состоит из 2 строк по 16 знакомест. Каждое знакоместо состоит из 5×8 точек. ЖКИ имеет встроенный знакогенератор, поддерживающий стандартный набор символов английского и русского алфавита. Кодировка используемых символов представлена на рис. 1.8. Старший полубайт кода символа определяется номером столбца, а младший номером строки таблицы.

Рис. 1.8. Кодировка символов ЖКИ

27

Пользователю предоставляется возможность перекодирования до 8 символов стандартного знакогенератора. Однако эта возможность на практике используется достаточно редко. На рис. 1.9 представлена упрощенная структурная схема ЖКИ.

Основой для построения индикатора является контроллер, который обеспечивает интерфейс с управляющим МК и регенерацию изображения на ЖК экране. В состав контроллера ЖКИ входят видеопамять, память знакогенератора пользователя и регистры команд и данных.

Рис. 1.9. Упрощенная структурная схема ЖКИ

В УЛС ЖКИ подключен к системной (внешней) шине МК. В пространстве адресов ввода-вывода его регистрам команд и данных выделены адреса согласно табл. 1.2. Система команд контроллера ЖКИ (или просто ЖКИ) представлена в табл. 1.4. В табл. 1.5 представлены флаги, являющиеся параметрами в соответствующих командах. В третьем столбце этой таблицы приводятся значения флагов, которые устанавливаются при включении напряжения питания.

Отметим ряд особенностей использования ЖКИ в составе УЛС. Первая особенность состоит в том, что в составе ЖКИ используется стандартный контроллер, поддерживающий работу экрана с максимальным размером 2×40 знакомест. Емкость его видеопамяти составляет 80 байт. На основе этого контроллера выпускается це-

28

лый ряд индикаторов и с другой организацией экрана (16×1, 16×4, 20×2 и т.д.). Поэтому в ЖКИ УЛС для формирования текстового сообщения используется не вся видеопамять.

 

 

 

 

 

 

 

 

 

 

 

Таблица 1.4

 

 

 

 

Система команд контроллера ЖКИ

 

 

 

 

 

 

 

 

 

 

 

 

 

D7 D6

D5

D4

D3

D2

D1

D0

 

Назначение

 

0

0

0

0

0

0

0

1

Очистка

экрана. Установка

 

 

 

 

 

 

 

 

счетчика адреса видеопамя-

 

 

 

 

 

 

 

 

ти в 0

 

 

 

 

0

0

0

0

0

0

1

Установка счетчика адреса

 

 

 

 

 

 

 

 

видеопамяти

в

0.

Сброс

 

 

 

 

 

 

 

 

сдвига экрана.

Сохранение

 

 

 

 

 

 

 

 

содержимого видеопамяти

0

0

0

0

0

1

I/D

S

Включение

режима

сдвига

 

 

 

 

 

 

 

 

экрана и выбор направления

 

 

 

 

 

 

 

 

сдвига экрана или курсора

0

0

0

0

1

D

C

B

Включение/выключение,

 

 

 

 

 

 

 

 

курсора и мерцания курсора

0

0

0

1

S/C

R/L

Сдвиг курсора или экрана,

 

 

 

 

 

 

 

 

выбор направления сдвига

0

0

1

DL

N

F

Выбор

разрядности

шины

 

 

 

 

 

 

 

 

данных,

количества

строк

 

 

 

 

 

 

 

 

экрана ЖКИ и размера зна-

 

 

 

 

 

 

 

 

коместа

 

 

 

 

0

1

ACG

ACG

ACG

ACG ACG

ACG

Включение

и

установка

 

 

 

 

 

 

 

 

счетчика адреса памяти зна-

 

 

 

 

 

 

 

 

когенератора.

Разрешение

 

 

 

 

 

 

 

 

обмена с памятью знакоге-

 

 

 

 

 

 

 

 

нератора

 

 

 

1

AGG

AGG

AGG

AGG

AGG

AGG

AGG

Включение

и

установка

 

 

 

 

 

 

 

 

счетчика адреса видеопамя-

 

 

 

 

 

 

 

 

ти. Разрешение обмена с

 

 

 

 

 

 

 

 

видеопамятью

 

 

BF AC

AC

AC

AC

AC

AC

AC

Чтение

флага

занятости

 

 

 

 

 

 

 

 

контроллера ЖКИ и состоя-

 

 

 

 

 

 

 

 

ния счетчика адреса

 

Примечание: ACG, AGG и AC – обозначения выходов счетчика адреса.

29

Строкам его экрана соответствуют следующие адреса знакомест: верхней – 00h-0Fh, а нижней – 28h-37h. Еще одна особенность ЖКИ определяется значительным временем выполнения команд его контроллером. Очередная команда на ЖКИ может быть подана только после выполнения предыдущей, когда сбрасывается флаг занятости контроллера BF. Очевидно, для ожидания сброса BF необходимо организовать циклическое выполнение команды чтения регистра команд.

 

 

 

Таблица 1.5

 

Назначение флагов команд ЖКИ

 

 

 

 

Обозначение

Функция

Значение по

 

 

 

умолчанию

I/D

I/D = 1 инкремент,

1

 

I/D = 0 декремент

 

 

S

S = 1 выбор сдвига экрана,

0

 

S = 0 выбор сдвига курсора

 

S/C

S/C = 1 сдвиг экрана,

-

 

S/C = 0 сдвиг курсора

 

R/L

R/L = 1 сдвиг вправо,

-

 

R/L = 0 сдвиг влево

 

DL

DL = 1 8 бит, DL = 0 4 бита

1

N

N = 1 2 строки,

N = 0 1 строка

0

F

F=1 5×10 точек,

F = 0 5×8 точек.

0

BF

BF = 1 контроллер ЖКИ занят,

-

 

BF = 0 свободен

 

 

D

D = 1 дисплей включен,

0

 

D = 0 выключен

 

 

C

C = 1 курсор включен,

0

 

C = 0 выключен

 

 

B

B = 1 мерцание курсора включено,

0

 

B = 0 выключено

 

 

Примеры программирования ЖКИ приводятся в гл. 3.

30

Соседние файлы в предмете Интегрированные системы управления и проектирования