Реферат: Структура микроконтроллера
Внешний генератор (ЕХТ)
подключается к выводу XTAL1, при этом вывод XTAL2 остается неподключенным. У
микроконтроллера типа 2343, не имеющего выводов XTAL, внешний генератор
подключается к выводу РВЗ.
В генераторах с
RC-цепочкой тактовая частота определяется параметрами цепочки, но изменяется в
значительных пределах при изменении напряжения питания микроконтроллера.
В микроконтроллерах типа
2343 и 1200 внутренний RC-генератор (IRC) используется при нулевом значении
установочного бита RCEN.
В микроконтроллерах типа
t1l, tl2, t28 и ml63 выбор генератора для работы определяется комбинацией
значений установочных битов CKSEL. У микроконтроллеров типа t1l таких битов три
(CKSEL2 — 0), у микроконтроллеров остальных типов — четыре (CKSEL3 — 0).
В табл. 3 приведены
числа, двоичные коды которых являются комбинацией значений установочных битов
CKSEL при выборе типа генератора. Биту CKSEL0 соответствует младший разряд
двоичного кода.
Таблица 3
Тип GCK |
CKSEL2 — 0 |
CKSEL3 — 0 |
XTAL |
6,7 |
8—15 |
IRC |
4 |
2—4 |
ERC |
5 |
5—7 |
ЕХТ |
0 |
0,1 |
В микроконтроллерах,
имеющих внутренний генератор с внешней RC-цепочкой (ERC), резистор (3—100 кОм)
подключается между выводом XTAL1 и шиной VCC, а конденсатор (не менее 20 пФ) —
между выводом XTAL1 и шиной GND.
В микроконтроллерах типа
t12, t15, t28 и m163 при использовании внутреннего RC-генератора тактовая
частота может изменяться программными средствами путем изменения кода,
записываемого в регистр OSCCAL. При записи кода $00 тактовая частота имеет
наименьшее значение, при записи кода SFF — наибольшее значение.
В микроконтроллере типа
ml03 программными средствами может изменяться тактовая частота генератора с
кварцевым резонатором.
Значение тактовой частоты
FCk определяется по формуле

где Fq — рабочая частота
кварцевого резонатора; (XDIV.6 — 0) — число, двоичный код которого записан в
младших семи разрядах регистра XDIV (№ $ЗС). Изменение тактовой частоты
возможно при XDIV.7 = 1.
3. Процессор
Процессор (CPU) формирует
адрес очередной команды, выбирает команду из памяти и организует ее выполнение.
Код команды имеет формат "слово" (16 бит) или "два слова".
Система команд микроконтроллеров семейства AVR рассматривается в главе 2.
В состав процессора кроме
счетчика команд (PC), арифметико-логического устройства (ALU) и блока регистров
общего назначения (GPR),изображенных на структурной схеме рис. 1, входят:
■ регистр состояния
микроконтроллера SREG;
■ регистр-указатель
стека SP или SPL и SPH
и другие элементы, далее
не рассматриваемые.
В счетчике команд адрес
очередной команды формируется путем добавления 1 к числу, код которого хранится
в счетчике команд. При пуске и перезапуске микроконтроллера в счетчик команд
заносится код числа 0 и первая команда выбирается из FlashROM по адресу 0.
В арифметико-логическом
устройстве (ALU) выполняются арифметические и логические операции. Операнды
поступают из регистров общего назначения (GPR). При выполнении одноместных
операций результат записывается в регистр, из которого поступил операнд. При
выполнении двухместных операций результат записывается в регистр, из которого
поступил первый операнд.
Блок регистров общего
назначения (GPR) содержит 32 восьмиразрядных регистра, которым присвоены имена
R0, R1, ..., R31. В некоторых операциях в ALU могут участвовать лишь регистры
со старшими номерами (от R16 до R31). Регистры с именами от R24 до R31 могут
образовывать пары, используемые для хранения слов, при этом регистр с четным
номером хранит младший байт, а регистр с нечетным номером — старший байт.
Паре регистров R26, R27
присвоено имя X, паре регистров R28, R29 — имя Y, паре регистров R30, R31 — имя
Z. Эти пары регистров используются для хранения адресов при обращениях к памяти
с косвенной адресацией.
Регистр состояния
микроконтроллера SREG (№ $3F) содержит восемь разрядов (SREG.7, SREG.6, ....
SREG.0).
Разряд SREG, 7 (I)
используется для разрешения/запрещения прерываний. При I = 0 все прерывания
запрещены. При 1=1 любое прерывание может быть разрешено.
Разряд SREG.6 (Т)
используется для хранения бита при выполнении операций с битами.
Остальные разряды
регистра SREG используются для хранения признаков результатов арифметических и
логических операций, выполняемых в ALU. Назначение этих разрядов
рассматривается при описании системы команд микроконтроллера.
Регистр-указатель стека
SP(№ $3D) хранит и формирует адрес при обращении к стеку типа LIFO. В
микроконтроллерах типа t1l, 112, 115, 1200 и t28 в качестве стека используется
специальное запоминающее устройство (аппаратный стек). Этот стек используется
только для хранения адресов возврата при прерываниях и обращениях к
подпрограммам. В системе команд отсутствуют команды обращения к стеку.
В микроконтроллерах
других типов в качестве стека используется выделяемая пользователем область в
SRAM. В системе команд есть команды для обращению к стеку. Запись байтов в стек
выполняется в порядке уменьшения адресов в SRAM. При пуске и перезапуске
микроконтроллера в регистр-указатель стека заносится код числа 0. Для
нормальной работы стека в регистр-указатель необходимо занести другой начальный
адрес. В микроконтроллерах с большой емкостью SRAM регистр-указатель состоит из
двух регистров — SPL и SPH (№№ $3D и $ЗЕ).
4. Запоминающее
устройство Flash ROM
Постоянное запоминающее
устройство FlashROM предназначено для хранения кодов команд программы и
констант. Ячейка памяти содержит 16 разрядов. В ней могут храниться код команды
формата "слово", половина кода команды формата "два слова"
или коды двух констант. Емкость FlashROM (в числе байтов!) у микроконтроллеров
разных типов указана в табл. 1. в колонке Flash.
При чтении кодов команд
адрес в FlashROM поступает из счетчика команд. При чтении констант адрес
поступает из пары Z регистров общего назначения.
Запись кодов в FlashROM
выполняется в процессе программирования побайтно. В микроконтроллерах с большим
числом выводов (20 и более) байт может вводиться параллельно или
последовательно. В микроконтроллерах с малым числом выводов (8) байт вводится
последовательно.
Программирование может
выполняться с использованием дополнительного источника напряжения +12 В или без
использования дополнительного источника. Последовательное программирование без
использования дополнительного источника напряжения производится с
использованием трех выводов микроконтроллера и может выполняться после
установки микроконтроллера в аппаратуре, где ему предстоит работать,
(Downloading). Типы микроконтроллеров, в которых этот способ программирования
реализуется, отмечены знаком "+" в табл. 1 в колонке ISP (In-System
Programming).
В микроконтроллере типа
ml63 имеется возможность вводить и записывать в FlashROM коды в процессе работы
микроконтроллера. Эта процедура (Self-programming) выполняется под управлением
специальной программы (Boot Loader), которая составляется программистом и
записывается в специальную секцию FlashROM. При выполнении этой программы
используется регистр SPMCR (№ $37).
Страницы: 1, 2, 3, 4, 5 |