Реферат: Структура микроконтроллера
Структура микроконтроллера
Таблица 1
Тип МК | Flash (байт) | ISP | SRAM (байт) | EEPROM (байт) | ERAM | IOR | P | I/O | ALT | SPI | UART | TWSI | T/C0 | T/C1 | T/C2 | ADC | AC | PHM | IU | Тип МК |
t11 | 1K | 14 | 1 | 6 | 6 | A | + | 5 | t11 | |||||||||||
t12 | 1K | + | 64 | 18 | 1 | 6 | 6 | A | + | 6 | t12 | |||||||||
t15 | 1K | + | 64 | 27 | 1 | 6 | 6 | A | B | 4 | + | 9 | t15 | |||||||
2323 | 2K | + | 128 | 128 | 17 | 1 | 3 | 2 | A | 3 | 2323 | |||||||||
2343 | 2K | + | 128 | 128 | 17 | 1 | 5 | 3 | A | 3 | 2343 | |||||||||
1200 | 1K | + | 64 | 18 | 2 | 15 | 4 | A | + | 4 | 1200 | |||||||||
2313 | 2K | + | 128 | 128 | 32 | 2 | 15 | 10 | + | A | D | + | 11 | 2313 | ||||||
t28 | 2K | 17 | 3 | 20 | 6 | A | + | + | 6 | t28 | ||||||||||
4433 | 4K | + | 128 | 256 | 44 | 3 | 20 | 20 | + | + | A | D | 6 | + | 14 | 4433 | ||||
8515 | 8K | + | 512 | 512 | + | 45 | 4 | 32 | 31 | + | + | A | E | + | 13 | 8515 | ||||
8535 | 8K | + | 512 | 512 | 54 | 4 | 32 | 26 | + | + | A | E | C | 8 | + | 17 | 8535 | |||
m163 | 16K | + | 1024 | 512 | 63 | 4 | 32 | 28 | + | + | + | A | E | C | 8 | + | 18 | m163 | ||
m103 | 128K | + | 4000 | 4K | + | 60 | 6 | 48 | 47 | + | + | C | E | B | 8 | + | 24 | m103 |
Для нумерации регистров ввода-вывода используются номера от О до 63 (от $00 до $3F, где $ — указатель шестнадцатеричного кода). Каждому регистру присвоено имя, связанное с выполняемой этим регистром функцией. Микроконтроллеры разных типов имеют разный состав регистров ввода-вывода, при этом регистры с одинаковыми номерами могут иметь разные имена. Число регистров ввода-вывода у микроконтроллеров разных типов указано в табл. 1.1, в колонке IOR. Имена и номера регистров ввода-вывода у микроконтроллеров разных типов приведены в приложении П4. Функции, выполняемые регистрами ввода-вывода, описываются при рассмотрении устройств, в работе которых они участвуют.
Работа некоторых устройств микроконтроллера зависит от состояния дополнительных однобитовых запоминающих элементов — установочных битов (Fuse Bits). Исходные значения установочных битов записываются на заводе-изготовителе. Значение установочного бита может быть изменено только при программировании микроконтроллера. В приложении П6 перечислены установочные биты в микроконтроллерах разных типов и указаны их исходные значения. Функции установочных битов рассматриваются при описании устройств, работа которых зависит от их значения.
2. Генератор тактового сигнала
Микроконтроллеры семейства AVR являются устройствами синхронного типа. Действия, выполняемые в микроконтроллере, привязаны к импульсам тактового сигнала. Микроконтроллеры имеют полностью статическую структуру и могут работать при тактовой частоте от 0 Гц. Максимальные значения тактовой частоты у микроконтроллеров разных типов и вариантов указана в приложении П1, в таблице Ш.З.
В качестве генератора тактового сигнала (GCK) используются:
■ внутренний генератор с внешним кварцевым или керамическим резонатором (XTAL);
■ внутренний RC-генератор (IRC);
■ внутренний генератор с внешней RC-цепочкой (ERC);
■ внешний генератор (ЕХТ).
Генераторы тактового сигнала, используемые в микроконтроллерах разных типов, указаны в табл. 2.
У микроконтроллеров, имеющих внутренний генератор с внешним резонатором (XTAL), резонатор подключается к выводам XTAL1 и XTAL2, которые через конденсаторы малой емкости (20—30 пФ) соединяются с тиной GND. Тактовая частота определяется рабочей частотой резонатора. У микроконтроллера типа t28 при нулевом значении установочного бита INTCAP подключение выводов XTAL1 и XTAL2 к шине GND выполняется через внутренние конденсаторы емкостью 50 пФ.
Таблица 2
Тип | ТипМК | ||||||||||||
GCK | П1 | t12 | t15 | 2323 | 2343 | 1200 | 2313 | t28 | 4333 | 8515 | 8535 | m163 | m103 |
XTAL | + | + | + | + | + | + | + | + | + | + | +* | ||
IRC | + | +* | +* | + | + | +* | +* | ||||||
ERC | + | + | + | + | |||||||||
ЕХТ | + | + | + | + | + | + | + | + | + | + | + | + | |
* — возможно изменение частоты программными средствами |
У микроконтроллеров типа t1l и tl2 в качестве выводов XTAL1 и XTAL2 используются выводы РВЗ и РВ4.
Внешний генератор (ЕХТ) подключается к выводу 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.