Реферат: Структура микроконтроллера
5. Запоминающее
устройство SRAM
Оперативное запоминающее
устройство статического типа SRAM предназначено для хранения данных, получаемых
в процессе работы микроконтроллера. При выключении напряжения питания
микроконтроллера данные в SRAM теряются.
Ячейка памяти содержит 8
разрядов. Емкость SRAM (в числе байтов) у микроконтроллеров разных типов
указана в табл. 1 в колонке SRAM.
Адрес байта при обращении
к SRAM может быть указан в коде команды с обращением к SRAM (прямая адресация)
или предварительно записан в пару регистров X, Y или Z (косвенная адресация).
Обращение к SRAM может выполняться с использованием адреса, хранящегося в
регистре-указателе стека.
Байт для записи в SRAM
поступает из регистра общего назначения. Байт, считанный из SRAM, поступает в регистр
общего назначения.
В адресное пространство
SRAM кроме адресов, по которым выполняется обращение к ячейкам памяти SRAM,
включены 32 адреса для обращения к регистрам общего назначения (адреса от $00
до $1F) и 64 адреса для обращения к регистрам ввода-вывода (адреса от $20 до
$5F).
Первой ячейке в SRAM
соответствует адрес $60. Адрес для обращения к регистру общего назначения по
команде обращения к SRAM совпадает с номером регистра (0-31 = $00-$1F). Адрес
для обращения к регистру ввода-вывода по команде обращения к SRAM равен его
номеру, увеличенному на число 32 ($20). В микроконтроллерах, допускающих
подключение внешнего запоминающего устройства ERAM, адреса для обращения к
ячейкам ERAM включены в адресное пространство SRAM и расположены после старшего
адреса SRAM. Типы микроконтроллеров, в которых возможно подключение ERAM,
отмечены знаком "+" в табл. 1 в колонке ERAM.
На рис. 2, в качестве
примера, показано распределение адресов в адресном пространстве SRAM между
регистрами общего назначения (GPR), регистрами ввода-вывода (IOR), ячейками
памяти в SRAM и ячейками памяти в ERAM у микроконтроллера типа 8515.

Рис. 2
Запись в стек выполняется
в порядке убывания адресов. В качестве исходного адреса для обращений к стеку,
который заносится в регистр-указатель стека в начале программы, целесообразно
использовать старший адрес SRAM. В рассмотренном на рис. 2 примере таким
адресом является адрес $025Е
6. Запоминающее
устройство EEPROM
Постоянное запоминающее
устройство EEPROM предназначено для хранения данных, записанных при
программировании микроконтроллера и получаемых в процессе выполнения программы.
При выключении напряжения питания данные сохраняются. Ячейка памяти
содержит 8 разрядов. Емкость EEPROM (в числе бантов) у микроконтроллеров разных
типов указана в табл. 1 в колонке EEPROM.
EEPROM имеет обособленное
адресное пространство. При обращении к EEPROM адрес записывается в регистр
адреса EEAR (№ $1Е). В микроконтроллерах типа 8515, 8535, ml63 и ml03 регистр
адреса содержит два восьмизарядных регистра — EEARL и EEARH (№№ $1Е и $1F).
Байт, предназначенный для записи, заносится в регистр данных EEDR (№ $Ш). Байт,
получаемый при чтении, поступает в этот же регистр. Для управления процедурами
записи и чтения используется регистр управления EECR (№ $1С).
Для записи байта в EEPROM
необходимо:
1) записать адрес в
регистр адреса;
2) записать байт в
регистр данных;
3) установить в единичное
состояние разряд EEMWE регистра EECR,
4) при EEMWE = 1 установить
в единичное состояние разряд EEWE регистра EECR.
Процедура записи
выполняется в зависимости от величины напряжения питания за 2,5—4 мс. При
завершении записи разряд EEWE регистра EECR аппаратно сбрасывается в нулевое
состояние.
Разряд EEMWE сохраняет
единичное состояние в течение 4-х тактов после установки и аппаратпо
сбрасывается в пулевое состояние.
В микроконтроллерах типа
t12, tl5, 4433. 8535, ml63 и ml03 при нулевом состоянии разряда EEWE
формируется запрос прерывания ЕЕ RDY. Прерывание по данному запросу разрешено
при единичном состоянии разряда EERIE регистра EECR.
Для чтения байта из
EEPROM необходимо:
1) записать адрес в
регистр адреса;
2) установить в единичное
состояние разряд EERE регистра EECR. Считанный байт поступает в регистр данных.
Разряд EERE регистра EECR аппаратно сбрасывается в нулевое состояние.
7. Внешнее
запоминающее устройство ERAM
Внешнее запоминающее
устройство предназначено для хранения байтов данных. Оно может быть подключено
к микроконтроллерам типа 8515 и m10З. Схема подключения ERAM к микроконтроллеру
изображена на рис. 3.
Структура
микроконтроллера

Рис 3
Для подключения
используются:
■ 8 выводов порта А
(РА), через которое выдается младший байт кода адреса и байт данных для записи
и принимается байт данных при чтении;
■ 8 выводов порта С
(PC), через которые выдается старший байт кода адреса;
■ вывод ALE, через
который выдается импульс для записи младшего байта кода адреса во внешний
регистр RG;
■ вывод WR, через
который в ERAM выдается импульс управления записью;
■ вывод RD, через
который в ERAM выдается импульс управления чтением.
В микроконтроллере типа
8515 для выдачи сигнала ALE используется отдельный вывод, а сигналы WR и RD
выдаются через выводы PD6 и PD7 соответственно. В микроконтроллере типа тЮЗ
сигналы управления выдаются через отдельные выводы.
Обращение к внешней
памяти по командам обращения к SRAM возможно после установки в единичное
состояние разряда SRE регистра MCUCR (№ $35). Обращение выполняется за 3 такта.
Если требуется, в цикл
обращения может быть введен дополнительный такт (такт ожидания). Дополнительный
такт вводится при единичном состоянии разряда SRW в регистре MCUCR.
8. Периферийные
устройства
В группу периферийных
устройств входят:
■ параллельные
порты ввода-вывода;
■ последовательный
порт SPI;
■ последовательный
порт UART;
■ последовательный
порт TWSI (I2C);
■ таймеры-счетчики
общего назначения;
■ сторожевой таймер
и аналого-цифровой преобразователь;
■ аналоговый
компаратор;
■ программируемый
аппаратный модулятор;
■ блок прерываний.
Параллельный порт
ввода-вывода (Port, P) предназначен для ввода и вывода данных. Микроконтроллеры
семейства AVR имеют от одного до шести портов. Порт может иметь от трех до
восьми выводов. Число параллельных портов ввода-вывода и суммарное число
выводов портов у микроконтроллеров разных типов, указано в табл. 1 в колонках Р
и I/O соответственно.
Вывод порта может
работать в режиме входа или в режиме выхода. Направление передачи бита
устанавливается для каждого вывода в отдельности.
Некоторые выводы портов
кроме ввода и вывода битов данных могут использоваться для выполнения
альтернативных функций при работе других устройств. Суммарное число выводов
параллельных портов, которые могут выполнять альтернативные функции у
микроконтроллеров разных типов, указано в табл. 1 в колонке ALT. В это число не
включены выводы, выполняющие альтернативные функции только при программировании
микроконтроллера. Альтернативные функции выводов портов у микроконтроллеров
разных типов указаны в приложении ПЗ.
Последовательный порт
ввода-вывода SPI (Serial Peripheral Interface) предназначен для ввода и вывода
байтов при обмене данными с другими устройствами, имеющими порт SPI. Обмен
выполняется под управлением тактового сигнала порта. Устройство,
инициализирующее обмен и вырабатывающее тактовый сигнал, является ведущим
(master). Устройство, выполняющее обмен при поступлении тактового сигнала,
является ведомым (slave). В процессе обмена оба устройства последовательно бит
за битом одновременно выдают и принимают байт. Обмен выполняется с
использованием трех шин.
Максимальная скорость
приема/передачи (в битах в секунду) равна 1/4 частоты тактового сигнала
микроконтроллера (у МК типа m163 — 1/2 тактовой частоты).
К одному ведущему
устройству могут быть подключены несколько ведомых. Функции ведущего и ведомого
могут меняться в процессе работы системы.
Порт SPI, который может
работать в режиме ведущего и ведомого и использоваться для обмена данными в
процессе работы, имеется у микроконтроллеров типа 4433, 8515, 8535, ml63 и m10З
(табл. 1, колонка SPI). Микроконтроллеры других типов, кроме til и t28, имеют
порт SPI, который может работать только в режиме ведомого и ис-пользуется при
последовательном программировании микроконтроллера без дополнительного
источника напряжения (Downloading).
Последовательный порт
ввода-вывода UART (Universal Asynchronous Receiver-Transmitter) предназначен
для передачи и приема байтов данных по двухпроводным линиям связи (например, по
интерфейсу RS-232C или "токовая петля"). Прием и передача могут
вестись одновременно. При передаче байта формируется последовательность из
десяти или одиннадцати битов (кадр), содержащая стартовый бит, имеющий нулевое
значение, восемь битов байта (DO, D1, ..., D7) и столовый бит, имеющий
единичное значение. Между старшим битом байта (D7) и стоповым битом может
помещаться дополнительный бит.
Порт UART входит в состав
периферийных устройств микроконтроллеров типа 2313, 4433, 8515, 8535, т163 и
ml03 (табл. 1, колонка UART).
Последовательный порт
ввода-вывода TWSI (Two-Wire Serial Interface) предназначен для обмена байтами
данных с другими устройствами по двухпроводной шине IС (Integrated Circuit). К
шине могут подключаться до 127 устройств.
Устройство, подключенное
к шине IС, может работать в качестве ведущего (master) или ведомого (slave).
Ведущее устройство при освобождении шины от обмена между другими устройствами
посылает в шину сигнал начала обмена и занимает шину, затем посылает адресный
байт для выбора одного из ведущих устройств и задания направления обмена,
передает или принимает байты данных и посылает сигнал окончания обмена.
Страницы: 1, 2, 3, 4, 5 |