Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СТЕНД (Методичка по Вычислительным машинам).doc
Скачиваний:
14
Добавлен:
26.11.2019
Размер:
1.39 Mб
Скачать

1.2 Особенности организации памяти

Микроконтроллеры семейства MCS-51 реализуются в соответствии с Гарвардской архитектурой, в которой программа и данные хранятся в логически и физически разделенных областях памяти. Доступ процессора к командам и данным осуществляется через две независимые раздельные шины – шину доступа к командам и шину доступа к данным, поэтому выборка следующей команды может происходить одновременно с выполнением предыдущей без всяких усложнений.

Распределение памяти в SDK-1.1s показано на рисунке 4. Стандартная для архитектуры 8051 структура памяти данных DATA представлена четырьмя банками по 8 регистров общего назначения( диапазоны адресов 00h-07h, 08h-0Fh, 10h-17h, 18h-1Fh), битовым сегментом BIT (20h-2Fh), свободным участком 30h-7Fh, областью размещения регистров специального назначения SFR (80h-FFh), доступной при прямой адресации, и свободной областью IDATA 80h-FFh, доступной при косвенной адресации. Регистры SFR управляют внутренними периферийными устройствами микроконтроллера, фиксируют их состояние и выполняют некоторые другие функции. Таким образом, емкость внутреннего ОЗУ данных -256 Б.

ADuC842 может обращаться к внешней (по отношению к процессору) памяти программ, внешней памяти данных или к какой-либо периферии. При доступе к внешней памяти программ используется сигнал #PSEN (Program Store Enable) для чтения команд. При доступе к внешней памяти данных используются сигналы чтения #RD и записи #WR. Эта память в SDK-1.1s разбита на следующие области: AduC842 Flash/EE, SRAM, MAX. ADuC842 Flash/EE -область 8кБ, в которой располагается таблица векторов прерываний и резидентный загрузчик в память файлов в формате HEX.

Рисунок 4 – Распределение памяти SDK-1.1s

Статическая память SRAM в SDK-1.1s имеет страничную организацию (максимум 8 страниц по 64кБ) и условно разделяется на две области. Первая занимает младшие 64кБ (страница 0) и доступна для выборки команд микроконтроллером ADuC842. Таким образом, программы могут располагаться только в этих младших 64кБ адресного пространства (причем из них 8кБ занимает область ADuC842 Flash/EE с системным ПО). Остальные страницы с адреса 010000h, доступны только для размещения данных. Для адресации ячейки памяти определенной страницы необходимо записать номер страницы в регистр специального назначения DPP ADuC842.

В младших адресах восьмой страницы (080000h-080007h) располагается 8 ячеек-регистров ПЛИС. Эта область предназначена для взаимодействия с периферийными устройствами стенда.

Таким образом, физическое и логическое разделение памяти программ и памяти данных позволяет организовывать независимое и параллельное во времени обращение к ним, обеспечивая совмещение выполнения текущей команды с выборкой и дешифрацией следующей команды. Благодаря этому достигается повышение скорости работы процессора и облегчается реализация конвейерных методов работы аппаратуры управления памятью.

1.3 Программное обеспечение стенда sdk-1.1s

Резидентный загрузчик НЕХ202. Резидентный загрузчик НЕХ202 располагается во Flash-памяти ADuC842, начиная с адреса 0100h. Он обеспечивает начальную инициализацию системы, загрузку программ в НЕХ-формате в память SDK-1.1s и передачу им управления.

Начальная инициализация. При включении питания или передаче управления на ячейку с адресом 0 происходит повторная инициализация всех регистров специального назначения их значениями по умолчанию. Это сделано для того, чтобы при случайной передаче управления на ячейку с адресом 0 вследствие возможной ошибки в пользовательской программе не происходило сбоя системы, а сама система вела себя так же, как при включении питания. Эта же процедура повторяется непосредственно перед передачей управления загруженной программе. В случае успешной инициализации на ЖКД на мгновение выводится надпись «SDK-1.1s. 2001 ©LMT Ltd» и на резонатор выдается короткий сигнал.

Загрузка программ в память SDK-1.1s. После процедуры инициализации системы последовательный канал настраивается на работу в режиме с параметрами: