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

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

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

расположен 4-разрядный дисплей на семисегментных индикаторах и два светодиода индикации напряжений питания +12 В и +5 В. При подаче напряжения питания на плату после включения стенда эти светодиоды должны находиться во включенном состоянии. Дисплей управляется контроллером клавиатуры и индикации, подключенным к внешней шине МК. В нижнем правом окне расположен алфавитно-цифровой жидкокристаллический индикатор (ЖКИ), который имеет две строки по 16 символов. ЖКИ также подключен к внешней шине МК.

В правом нижнем углу лицевой панели расположена клавиатура 4×4, которая подключается к контроллеру клавиатуры и индикации. Для задания входных данных и управляющих сигналов ПЛИС,

атакже выбора режима работы МК имеются 4 группы переключателей. Группы Р1, Р2 и Р3 состоят из четырех тумблеров с номерами (3, 2, 1, 0) и подключены к ПЛИС. При верхнем положении тумблера формируется входной сигнал логической «1», а при нижнем – логического «0». Группа ГИ/ГОИ состоит из двух кнопок ГОИ1 и ГОИ2 для управления двумя встроенными в проект пользователя генераторами импульсов, а также тумблера выбора режима работы первого генератора. Если тумблер установлен в нижнее положение, то от кнопок ГОИ1 и ГОИ2 работают два генератора одиночных импульсов. При верхнем положении тумблера от кнопки ГОИ2 работает только второй генератор одиночных импульсов,

апервый генератор переводится в непрерывный режим с отключением кнопки ГОИ1. Данные элементы управления также подключены к ПЛИС. Группа из трех тумблеров и кнопки предназначена для формирования управляющих сигналов МК. Тумблер INT0 обеспечивает выбор источника этого внешнего прерывания МК. При его верхнем положении источником прерывания является пользовательское устройство, выполненное на ПЛИС. При нижнем положении тумблера прерывание генерируется блоком памяти контрольных точек, когда включается отладочный режим останова пользовательской программы в контрольных точках. Тумблер СТ предназначен для управления сторожевым таймером. При его верхнем положении сторожевой таймер включен, а при нижнем – выключен. Тумблер JTAG определяет способ подключения этого порта ПЛИС. В положении «ВНЕШН» JTAG порт подключается к разъему расширения, а в положении «ВНУТР» к порту Р1 МК.

11

Кнопка «СБРОС» подключена к супервизору напряжения питания, который формирует сигналы системного сброса при нажатии указанной кнопки, а также при выходе значения напряжения питания +5 В за допустимые пределы.

Через заднюю крышку стенда выведены интерфейсные разъемы и тумблер включения напряжения питания платы, а также плоские кабели подключения к инструментальной ЭВМ логического анализатора.

Тумблер включения питания расположен справа. Для включения стенда тумблер должен быть установлен в правое положение, а для выключения в левое.

1.2. СТРУКТУРА АППАРАТНЫХ СРЕДСТВ УЛС

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

Рис. 1.2. Структура аппаратных средств УЛС

12

1.3. ПЛИС FPGA XCS10-3-PC84

Организация и особенности функционирования данной ПЛИС, а также порядок работы с инструментальными средствами проектирования для нее описаны в [1, 2]. Там же рассмотрены способы использования органов управления и индикации УЛС, виртуальных измерительных приборов при создании, исследовании и отладке проектов на ПЛИС (клавишные регистры, генераторы импульсов и осциллограф). Остановимся на описании дополнительных возможностей использования данной ПЛИС в составе проектируемой системы (совместно с МК), а также подключения к выводам ПЛИС 16-канального логического анализатора.

Основным способом подключения ПЛИС к МК является использование системной (внешней) шины МК. При ограниченном количестве задействованных контактов ПЛИС используется следующий набор сигналов: 8-разрядная шина данных DMK[7-0], стробы чтения и записи RD и WR соответственно, внешнее прерывание INT0, вход таймера Т0 и два адресных 7FFA и 7FFB, формируемых селектором адреса. Практическая реализация различных способов обмена данными между ПЛИС и МК будет рассмотрена в гл. 3 данного пособия.

Для организации взаимодействия с МК к ПЛИС подключен также параллельный порт Р4. Выводы этого порта подключены к тем же самым контактам ПЛИС, к которым подключаются шкалы А и В светодиодных индикаторов. То есть при помощи этих шкал по усмотрению пользователя можно индицировать состояние либо проекта ПЛИС, либо порта Р4 МК. Таким образом, при проектировании системы с использованием шкал А и В разработчик должен обеспечить их корректное применение, исключив возможные конфликты ПЛИС и МК при выводе информации. В силу ограниченного количества пользовательских контактов ПЛИС при подключении логического анализатора использованы контакты для шкал светодиодной индикации C, D, E и F. При подключении анализатора к проекту ПЛИС следует руководствоваться следующей табл. 1.1.

При работе с логическим анализатором необходимо к проекту пользователя подключить библиотеку «МAKЕT». Шкалы светодиодных индикаторов в этом случае представлены в виде набора макроэлементов, причем каждый макроэлемент в пользовательском

13

Канал

Вывод

анализатора

шкалы

CН А0

F3

CН А1

D2

CН А2

D1

CН А3

F0

CН А4

D0

CН А5

F1

CН А6

F2

CН А7

D3

 

 

 

Таблица 1.1

 

 

Канал

Вывод

анализатора

шкалы

CН В0

E0

CН В1

E1

CН В2

C2

CН В3

E3

CН В4

C3

CН В5

E2

CН В6

C1

CН В7

C0

 

 

проекте может использоваться только один раз. Упомянем одну очень важную особенность совместного использования ПЛИС и МК в составе стенда. Речь идет о следующем. ПЛИС – это программируемый прибор, часть контактов которого выполняет альтернативные функции в начальном состоянии и в зависимости от конкретной пользовательской «прошивки». В частности, в исходном состоянии есть контакты, сконфигурированные как выходные и переходящие в разряд пользовательских с переключением в третье состояние «отключено» только после программирования ПЛИС. В связи ограниченным количеством контактов ПЛИС такие разделяемые контакты использовались при подключении к шине МК. Это обусловливает как положительные, так и отрицательные стороны такого специфического подключения. Дело в том, что контакт еще незагруженной ПЛИС, специфицированный до ее программирования как выходной, будучи подключенным к одной из линии данных шины МК, просто ее «подсаживает», запрещая тем самым работу МК. С одной стороны, это положительный момент, так как ПЛИС имеет в УЛС приоритет использования. Для студента, начинающего осваивать УЛС именно с проектирования на ПЛИС, нет необходимости беспокоиться о переводе МК в пассивное состояние. С другой стороны, для обеспечения последующей работы с МК необходимо предварительное программирование ПЛИС при помощи заранее подготовленного проекта как части будущей системы или технологической прошивки, входящей в состав отладочного ПО УЛС.

14

1.4.MK PCF80C552

Всостав стенда входит МК PCF80C552, структура которого приведена на рис. 1.3. Он относится к семейству 80С51 (MCS-51) 8-разрядных микроконтроллеров, имеет архитектуру с разделением памяти программ и данных. АЛУ для выполнения логических и арифметических инструкций использует аккумулятор и контекстно переключаемый набор из 8 регистров общего назначения (4 банка регистров).

МК семейства 80С51 занимают значительный сегмент рынка 8-разрядных МК. Для них разработаны и доступны разнообразные инструментальные средства проектирования, например, программные средства фирмы Keil (uVision, dScope), в том числе их учебные

идемонстрационные версии. Данные соображения предопределили выбор МК именно этого семейства для построения УЛС. Одним из аргументов для выбора конкретного МК PCF80C552 является наличие в его составе обширного набора дополнительной периферии. Это – важный фактор, который обеспечивает вариативность содержательных индивидуальных заданий, выполняемых студентами с использованием УЛС.

Рассмотрим организацию системы памяти МК PCF80C552, которая является его отличительной особенностью и определяет структурную организацию УЛС как прототипа встраиваемой системы. Внутренняя память программ отсутствует, а максимальный объем внешней памяти программ составляет 64к. Объем внутренней памяти данных составляет 256 байт, причем для младших 128 байт (адреса 00h-7Fh) можно использовать механизм прямой или косвенной адресации. В области младших 128 байт находятся 4 банка регистров общего назначения, устанавливаемый при сбросе указатель стека (07h) и область (адреса 20h-2Fh, всего 128 бит) прямоадресуемых бит. Для старших 128 байт (адреса 80h-FFh) возможна только косвенная адресация. Область адресов внутренней памяти данных 80h-FFh разделяется с прямоадресуемой областью регистров специальных функций (аккумулятор, параллельные порты ввода-вывода, регистры данных и управления встроенных периферийных устройств). К МК может подключаться внешняя память данных, максимальный объем которой составляет 64к.

15

Рис. 1.3. Структурная схема МК PCF80C552

Для организации внешней шины используются порты Р0 и Р2 МК в альтернативном режиме. Порт Р0 соответствует мультиплексированным линиям 8-разрядных данных и младшего байта адреса. На линиях порта Р2 формируется старший байт адреса. При выполнении цикла шины в фазе адреса на линии порта Р0 выдается младший байт адреса, который фиксируется в регистре-защелке сигналом ALE. В последующей фазе данных на линиях порта Р0 действуют данные, которые выдает или принимает МК. В последнем случае МК считывает как данные, так и код исполняемой программы. Для обращения к внешней памяти программ используется сигнал PSEN, а для работы с внешней памятью данных сигналы WR и RD. Указанные сигналы вырабатываются процессором автоматически при выполнении цикла внешней шины.

Наличие внешней шины является еще одним аргументом, имеющим принципиальное значение для выбора МК. Это связано с тем, что структура УЛС как средства для изучения методов проектирования встраиваемых систем должна воспроизводить типовые способы взаимодействия МК с ПЛИС и другими внешними устройствами. Как правило, это – использование внешней (системной) шины или портов ввода-вывода. Именно эти способы взаимодействия реализованы в УЛС. Так, при помощи внешней шины реализо-

16

вано подключение к МК дополнительных интерфейсных устройств (ПЛИС, ЖКИ и контроллеров клавиатуры и индикации), порт вво- да-вывода Р4 МК подключен к ПЛИС.

Наличие только внешней памяти программ и возможность подключения внешней памяти данных предопределило использование в УЛС эмулятора ПЗУ как простого и эффективного отладочного средства.

В заключение остановимся на организации внешнего управления МК в составе УЛС. Для синхронизации МК и ПЛИС в УЛС используется внешний кварцевый генератор, который работает с частотой 11,059 МГц. Для формирования сигнала системного сброса и контроля напряжения питания используется супервизор напряжения питания, который вырабатывает сигнал «СБРОС» при нажатии одноименной кнопки на лицевой панели стенда или при выходе напряжения питания за допустимые пределы. В составе МК имеется также сторожевой таймер Т3, предназначенный для защиты от программных сбоев. При возникновении таких сбоев таймер Т3 также вырабатывает сигнал «СБРОС», после чего МК возвращается в исходное состояние. Таймер Т3 управляется только аппаратно. В п. 1.1 описано назначение тумблера «СТ», используемого для включения/выключения таймера Т3.

Некоторые отличительные особенности архитектуры МК PCF80C552 рассматриваются в гл. 2.

1.5.СЕЛЕКТОР АДРЕСА ВНЕШНЕЙ ПАМЯТИ И УСТРОЙСТВ ВВОДА-ВЫВОДА

Как видно из структурной схемы аппаратных средств УЛС, к внешней шине МК подключены устройства памяти и ввода-вывода. Распределение адресного пространства между ними представлено на рис. 1.4.

Рисунок показывает, что в пространстве внешней памяти программ область адресов 8000h-BFFFh используется совместно эмулятором ПЗУ и памятью контрольных точек (только в отладочном режиме). Во внешней памяти данных область адресов 8000h-BFFFh разделяется внешней памятью данных и памятью контрольных точек. В табл. 1.2 представлено распределение адресного пространства устройств ввода-вывода.

17

Рис. 1.4. Карта внешней памяти программ и данных МК УЛС

 

Таблица 1.2

 

Организация пространства ввода-вывода УЛС

 

Описание

 

Адрес

 

7FF4

Запись в память команд ЖКИ

 

7FF5

Запись в память данных ЖКИ

 

7FF6

Чтение из памяти команд ЖКИ

 

7FF7

Чтение из памяти данных ЖКИ

 

7FF8

Зарезервировано

 

7FF9

Зарезервировано

 

7FFA

Чтение/запись в устройство, выполненное на ПЛИС FPGA

 

7FFB

Чтение/запись в устройство, выполненное на ПЛИС FPGA

 

7FFC

Чтение/запись в устройство, подключенное через разъем

 

 

расширения

 

7FFD

Чтение/запись в устройство, подключенное через разъем

 

 

расширения

 

7FFE

Чтение/запись в память данных контроллера клавиатуры

 

 

и индикации

 

7FFF

Чтение/запись в память команд контроллера клавиатуры

 

 

и индикации

 

Из табл. 1.2 видно, что адреса 7FF8h и 7FF9h зарезервированы под системные функции программы монитора-загрузчика и не могут быть задействованы пользователем. Особенностью построения

18

селектора адреса является формирование не только собственно сигналов выбора устройства памяти или ввода-вывода, но и формирование сигналов управления эмулятора ПЗУ и памяти контрольных точек. Действительно, как видно из карты устройств памяти и ввода-вывода, эмулятор ПЗУ и память контрольных точек имеют двойное отображение – как в пространстве внешней памяти программ (режим исполнения пользовательской программы), так и в пространстве внешней памяти данных (запись кода пользовательской программы в эмулятор ПЗУ и кодов точек останова в память контрольных точек). Поэтому в зависимости от режима работы этих устройств селектор адреса обеспечивает доступ к ним либо по сигналу PSEN, либо по сигналам WR и RD. Еще одной особенностью схемы селектора адреса является формирование внутреннего сигнала FBP, по значению которого область пространства внешней памяти данных с адресами 8000h-BFFFh разделяется между внешней памятью данных и памятью контрольных точек. По умолчанию доступна внешняя память данных. Управление сигналом FBP осуществляется автоматически программой монитора-загрузчика при работе в отладочном режиме.

1.6. ПОСТОЯННОЕ ЗАПОМИНАЮЩЕЕ УСТРОЙСТВО

ПЗУ объемом 32к предназначено для хранения кода программы монитора-загрузчика. Эта программа обеспечивает выполнение взаимодействия с инструментальной ЭВМ. По командам пользователя можно выполнять следующие действия: загружать и запускать на исполнение код целевой программы, загружать из файла или модифицировать в просмотровом окне содержимое внешней памяти данных, осуществлять пошаговое выполнение целевой программы или с остановом в контрольных точках с трассировкой переменных программы. При выполнении этих функций отладки ПО МК монитор выводит на ЖКИ служебную информацию, которая позволяет пользователю контролировать правильность своих действий. В адресном пространстве внешней памяти программ для ПЗУ зарезервирована область 0000h – 7FFFh. Это сделано для того, чтобы после нажатия кнопки «СБРОС», когда в счетчике команд МК будет находиться адрес 0000h, управление передавалось мони-

19

тору-загрузчику. Пользовательские программы загружаются и исполняются только из области эмулятора ПЗУ с адресами 8000hBFFFh. Это обстоятельство порождает следующую проблему. Для МК область адресов 0003h-0073h пространства внешней памяти данных отведена для адресации векторов прерываний. Чтобы сделать пользователю доступной систему прерываний МК, программа «Монитор» осуществляет перенос таблицы векторов в область эмулятора. Например, по адресу 0003h (адресу вектора внешнего прерывания INT0) в программе монитора-загрузчика помещается команда LJMP 8003h. Таким образом, у пользователя появляется возможность в доступной ему области внешней памяти программ (эмулятора ПЗУ) разместить обработчик прерывания.

ПЗУ выполнено на микросхеме AT29C256-70PI. Эта микросхема FLASH-памяти с организацией 32768 слов по 8 разрядов. Время доступа составляет 70 нс, что соответствует параметрам цикла внешней шины, выполняемого МК при работе с тактовой частотой 11.059МГц. Перепрограммирование данной микросхемы осуществляется вне УЛС при помощи специального программатора (ChipProg+, например).

1.7. ЭМУЛЯТОР ПЗУ

Как известно, исполняемая МК программа хранится в ПЗУ. Возникает вопрос: а как модифицировать его содержимое на этапе отладки? Одним из способов решения данной проблемы является использование эмуляции ПЗУ. В соответствии с этим принципом в структуру аппаратных средств вместо ПЗУ вводят ОЗУ. Это ОЗУ работает в двух режимах – загрузки отлаживаемой программы и ее запуска на исполнение. Первый режим, при котором данное ОЗУ отображается на выделенную область адресов внешней памяти данных (в УЛС 0000h-3FFFh), обеспечивает запись в него исполняемого кода отлаживаемой программы. Во втором режиме ОЗУ эмулятора отображается на выделенную область адресов внешней памяти программ (в УЛС 8000h-ВFFFh) и выполняет функцию ПЗУ. Управление режимами работы эмулятора ПЗУ обеспечивается системным ПО (программа «Монитор-загрузчик»).

20

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