Разработка программы для лабораторного стенда SDK 1.1
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
ировании SDK-1.1 возникает необходимость сохранять программу и после выключения питания. Так как стенд создавался для массового использования студентами, такая возможность в базовой его конфигурации имеется лишь за счет замены содержимого FLASH-памяти вычислителя. Однако ее размер составляет всего 8Кбайт, что не всегда достаточно для более серьезных программ, таких как курсовые и дипломные проекты, бакалаврские и другие исследовательские работы. К тому же, во FLASH-память AduC812 может быть записан только один образ, то есть либо одна программа, либо несколько программ, но скомпонованных в один файл. Это затрудняет обновление отдельной программы в наборе, так как, во-первых, для этого необходимо заново компоновать все программы из набора, во-вторых, невозможно перезаписать часть FLASH-памяти AduC812 без стирания всего ее содержимого.
На рисунке 4 представлено схематическое изображение стенда SDK-1.1, а расшифровка обозначений на схеме дана в таблице 1 [1].
Рисунок 4 - Схематическое изображение стенда SDK-1.1
Таблица 1
Расшифровка обозначений на лицевой панели стенда SDK-1.1
ОбозначениеРасшифровка обозначенияLCDЖидкокристаллический индикатор WH1602B-YGK-CPKEYBOARDМатричная клавиатура AK1604A-WWBZ1Звуковой пьезокерамический излучательSW1Переключатель, замыкающий каналы 0 и 1 ЦАП на входы соответствующих (0, 1) каналов АЦПSW2Кнопка сброса RESET SW3Набор переключателей, замыкающих соответствующие выводы J3 на корпус (переключение в логический 0)J1Выводы каналов АЦП и ЦАП J2Выводы JTAG-интерфейса ПЛИС MAX J316 линий параллельного порта ПЛИС MAX и 4 линии параллельного порта P3 микроконтроллера AduC812 (INT0/1, T0/1)J4Разъем питания стенда 9 ВJDP1Разъем последовательного порта стенда JP1Перемычка, замыкающая вывод PSEN микроконтроллера AduC812 на корпус D9-D16Набор сигнальных светодиодов1.2 Микроконтроллер AduC812BS и ПЛИС MAX3064
выпускается фирмой Analog Devices - мировым лидером в области аналоговой схемотехники. AduC812 является микроконвертором и содержит в себе 12-битный АЦП со встроенным микропроцессором. Процессорное ядро AduC812 является клоном ядра Intel MCS-51.
Основные характеристики микроконтроллера:
рабочая частота 11,0592 МГц;
8-канальный 12-битный АЦП со скоростью выборок 200 Kбит/c;
2-канальный 12-битный ЦАП;
электрически стираемое программируемое ПЗУ (EEPROM) объемом 640 байт со страничной организацией (256 страниц по 4 байта);
Flash-память программ объемом 8 Кбайт;
ОЗУ данных объемом 256 байт;
адресное пространство 16 Мбайт;
режим управления питанием;
контроллер системной шины;
универсальный асинхронный приемник-передатчик (UART);
интерфейс I2C;
три 16-битных таймера/счетчика;
сторожевой таймер (WatchDog);
параллельные порты;
внутренний температурный датчик.
На рисунке 5 представлено условно-графическое обозначение микроконтроллера AduC812 [1].
Рисунок 5. Микроконтроллер AduC812
В SDK-1.1 используется программируемая логическая интегральная схема (ПЛИС) MAX3064 фирмы Altera. В очень упрощенном виде ПЛИС представляет собой набор макроячеек и механизм для организации связи между ними. Микросхема MAX3064 содержит 64 макроячейки. Информация о связях между макроячейками хранится в энергонезависимой памяти находящейся внутри самой микросхемы. Для программирования MAX3064 использовался специальный САПР Max+PlusII. Электрическая принципиальная схема расширителя портов ввода-вывода была нарисована в этом САПР и преобразована в базис макроячеек ПЛИС и, далее, в конфигурационный файл, необходимый для соединения нужных логических ячеек ПЛИС. Конфигурационный файл доставляется в память ПЛИС через интерфейс JTAG. Условно-графическое обозначение ПЛИС приведено на рисунке 6.
Рисунок 6. ПЛИС MAX3064
В стенде SDK-1.1 MAX3064A используется как расширитель портов ввода-вывода. Микросхема MAX3064A подключена к внешней шине AduC812. Адресная линия A19 используется как сигнал CS (chip select) для MAX3064A. ПЛИС выбирается, когда на линии A19 логическая единица. Физический адрес ПЛИС таким образом равен 0x80000, что соответствует восьмой странице памяти.
К ПЛИС подключены следующие устройства: клавиатура, ЖКИ, линейка светодиодов, звуковой излучатель, 16 дискретных портов ввода-вывода. Для программиста расширитель портов представлен в виде нескольких однобайтовых регистров находящихся в начале восьмой страницы памяти данных.
Рассмотрим регистры ПЛИС, представленные в таблице 2.
Таблица 2
Перечень регистров ПЛИС
АдресРегистрДоступНазначение080000HKBR/WРегистр клавиатуры080001HDATA_INDR/WРегистр шины данных ЖКИ. 080002HEXT_LOR/WРегистр данных параллельного порта (разряды 0-7) 080003HEXT_HIR/WРегистр данных параллельного порта (разряды 8-15) 080004HENAWРегистр управления портами ввода-вывода, звуком, сигналом INT0 и прерыванием от клавиатуры 080006HC_INDWРегистр управления ЖКИ 080007HSVWРегистр управления светодиодами.
Обозначение R/W означает, что регистр доступен для чтения и для записи, обозначение W означает, что регистр доступен только для записи [1].
Ниже приведена информация о регистре ENA, так как в данной работе необходимо работать с данным регистром.
Схематическое изображение регистра управления ENA представлено на рисунке 7.
Рисунок 7
Регистр управления ENA
76543210-WWWWWWW-KBINT0SND2SND1SND0EN_HIEN_LO
Адрес регистра ENA в памяти равен 080004H. Значение регистра после сброса равно x0100000B. Назначение битов регистра ENA указано в таблице 3 [1].
Таблица 3
Назначение битов регистра ENA
БитыПолеОписание0EN_LOВ полной конфигурации бит EN_LO нужен для управления младшими 8 разрядами (биты 0-7) 16-разряд?/p>