Генератор тактового сигнала




Обобщенная структурная схема

 

Микроконтроллеры семейства AVR имеют единую базовую структуру. Обобщенная структурная схема микроконтроллера (МК) изображена на рис. 1.VCC OND

 

В состав микроконтроллера входят:

■ генератор тактового сигнала (GCK);

■ процессор (CPU);

■ постоянное запоминающее устройство для хранения программы, выполненное по технологии Flash, (FlashROM);

■ оперативное запоминающее устройство статического типа для хранения данных (SRAM);

■ постоянное запоминающее устройство для хранения данных, выполненное по технологии EEPROM, (EEPROM);

■ набор периферийных устройств для ввода и вывода данных и управляющих сигналов и выполнения других функций.

В микроконтроллерах тина t11, t12. t15, 1200 и t28 запоминающее устройство SRAM отсутствует. В микроконтроллерах типа t1l и t28 отсутствует также запоминающее устройство EEPROM.

К микроконтроллерам типа 8515 и тЮЗ может быть подключено внешнее запоминающее устройство для храпения данных (ERAM). Команды программы хранятся только во внутреннем запоминающем устройстве FlashROM.

Выводы VCC и GND предназначены для подключения источника напряжения питания микроконтроллера. Уровень напряжения всех сигналов в микроконтроллере отсчитывается относительно уровня на шине GND, принимаемого за 0В. Допустимые значения напряжения питания у микроконтроллеров разных типов и вариантов указаны в приложении П1 в табл. П1.3. Другие выводы микроконтроллеров разных типов указаны в приложении П2. Функции этих выводов описываются при рассмотрении устройств, в работе которых они используются.

В состав процессора (CPU) входят:

■ счетчик команд (PC);

■ арифметико-логическое устройство (ALU);

■ блок регистров общего назначения (GPR, General Purpose Registers) и другие элементы, не показанные на схеме рис. 1.

Кроме регистров общего назначения в микроконтроллере имеются регистры специальных функций, которые в семействе AVR называются регистрами ввода-вывода (I/О Registers, IOR). С участием этих регистров осуществляются:

■ управление работой микроконтроллера и отдельных его устройств;

■ определение состояния микроконтроллера и отдельных его устройств;

■ ввод данных в микроконтроллер и отдельные его устройства и вывод данных и выполняются другие функции.

 

Структура микроконтроллера


Таблица 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                       A       +     t11
t12 1K +                     A       +     t12
t15 1K +                     A B     +     t15
  2K +                     A              
  2K +                     A              
  1K +                     A       +      
  2K +                 +   A D     +      
t28 2K                       A       + +   t28
  4K +               + +   A D     +      
  8K +     +         + +   A E     +      
  8K +               + +   A E C   +      
m163 16K +               + + + A E C   +     m163
m103 128K +   4K +         + +   C E B   +     m103

 

Для нумерации регистров ввода-вывода используются номера от О до 63 (от $00 до $3F, где $ — указатель шестнадцатеричного кода). Каждому регистру присвоено имя, связанное с выполняемой этим регистром функцией. Микроконтроллеры разных типов имеют разный состав регистров ввода-вывода, при этом регистры с одинаковыми номерами могут иметь разные имена. Число регистров ввода-вывода у микроконтроллеров разных типов указано в табл. 1.1, в колонке IOR. Имена и номера регистров ввода-вывода у микроконтроллеров разных типов приведены в приложении П4. Функции, выполняемые регистрами ввода-вывода, описываются при рассмотрении устройств, в работе которых они участвуют.

Работа некоторых устройств микроконтроллера зависит от состояния дополнительных однобитовых запоминающих элементов — установочных битов (Fuse Bits). Исходные значения установочных битов записываются на заводе-изготовителе. Значение установочного бита может быть изменено только при программировании микроконтроллера. В приложении П6 перечислены установочные биты в микроконтроллерах разных типов и указаны их исходные значения. Функции установочных битов рассматриваются при описании устройств, работа которых зависит от их значения.

 

Генератор тактового сигнала

 

Микроконтроллеры семейства 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         t28       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   2—4
ERC   5—7
ЕХТ   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.

Процессор

 

Процессор (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 и $ЗЕ).

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-06-03 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: