Реферат: Методические указания к самостоятельной работе по дисциплине «Микропроцессорные устройства систем управления» для студентов специальности 210100 всех форм обучения Одобрено



Министерство образования и науки Российской Федерации

Федеральное агентство по образованию

Саратовский государственный технический университет

Балаковский институт техники, технологии и управления


СОВРЕМЕННЫЕ МИКРОКОНТРОЛЛЕРЫ


Методические указания к самостоятельной работе

по дисциплине «Микропроцессорные устройства систем управления»

для студентов специальности 210100

всех форм обучения


Одобрено

редакционно-издательским советом

^ Балаковского института техники,

технологии и управления


Балаково 2009

Цель работы - изучение современных однокристальных микроконтроллеров с CISC- и RISC- архитектурой, организации их памяти и функционирования, принципов построения микропроцессорных систем на МК.


^ ОСНОВНЫЕ ПОНЯТИЯ


Диапазон применения микропроцессорной техники в настоящее время очень широк, к микропроцессорным системам предъявляются разнообразные требования. Ниже представлены основные типы микропроцессорных систем (МПС), различающихся мощностью, универсальностью, быстродействием и структурой:

- микроконтроллеры (МК) - наиболее простой тип микропроцессорных систем, в которых все или большинство узлов системы выполнены в виде одной микросхемы;

- контроллеры - управляющие микропроцессорные системы, выполненные в виде отдельных модулей;

- микрокомпьютеры - более мощные микропроцессорные системы с развитыми средствами сопряжения с внешними устройствами;

- компьютеры (в том числе персональные) - самые мощные и наиболее универсальные микропроцессорные системы.

В настоящее время при разработке новых МПС чаще выбирают путь использования микроконтроллеров (примерно в 80% случаев). При этом МК применяются самостоятельно (c дополнительной аппаратурой) или в составе сложных контроллеров с развитыми средствами ввода/вывода.

Классические МПС на базе микросхем процессоров и микропроцессорных комплектов выпускаются сейчас редко из-за сложности процесса разработки и отладки этих систем. Данный тип МПС выбирают тогда, когда микроконтроллеры не могут обеспечить требуемых характеристик.

Заметное место занимают МПС на основе персонального компьютера (ПК). Персональный компьютер имеет развитые средства программирования, что упрощает задачу разработчика. К тому же он может обеспечить самые сложные алгоритмы обработки информации. Основные недостатки ПК - большие размеры корпуса, аппаратурная избыточность для простых задач, неприспособленность большинства ПК к работе в сложных условиях (высокая влажность, вибрации, высокие температуры и т.д.). Однако выпускаются специальные ПК, приспособленные к различным условиям эксплуатации.

Однокристальные МК объединяют в одном кристалле все основные элементы МПС: центральный процессор (ЦП), постоянное запоминающее устройство (ПЗУ), оперативное запоминающее устройство (ОЗУ), порты ввода/выводы, таймеры.


^ Классификация и структура микроконтроллеров


В настоящее время выпускается целый ряд типов МК. Эти приборы можно условно разделить на три основных класса:

- 8-разрядные МК для встраиваемых приложений;

- 16- и 32-разрядные МК;

- цифровые сигнальные процессоры (DSP).

Наиболее распространенным представителем семейства МК являются 8-разрядные приборы, широко используемые в промышленности, бытовой и компьютерной технике, выпускаемые известными фирмами - Motorola, Microchip, Intel, Zilog, Atmel и многими другими.

Современные 8-разрядные МК имеют отличительные признаки:

- модульная организация, при которой на базе одного процессорного ядра (центрального процессора) проектируется ряд (линейка) МК, различающихся объемом и типом памяти программ, объемом памяти данных, набором периферийных модулей, частотой синхронизации;

- использование закрытой архитектуры МК, характеризующейся отсутствием линий магистралей адреса и данных на выводах корпуса; МК представляет собой законченную систему обработки данных, наращивание возможностей которой с использованием параллельных магистралей адреса и данных не предполагается;

- использование типовых функциональных периферийных модулей (таймеры, процессоры событий, контроллеры последовательных интерфейсов, аналого-цифровые преобразователи и др.), имеющих незначительные отличия в алгоритмах работы в МК различных производителей;

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

При модульном принципе построения все МК одного семейства содержат процессорное ядро, одинаковое для всех МК данного семейства, и изменяемый функциональный блок, который отличает МК разных моделей. Структура модульного МК приведена на рисунке 1.

Процессорное ядро включает в себя:

- центральный процессор;

- внутреннюю контроллерную магистраль (ВКМ) в составе шин адреса, данных и управления;

- схему синхронизации МК;

- схему управления режимами работы МК, включая поддержку режимов пониженного энергопотребления, начального запуска (сброса) и т.д.




Рис. 1. Модульная организация МК

Изменяемый функциональный блок включает модули памяти различного типа и объема, порты ввода/вывода, модули тактовых генераторов (Г), таймеры. В простых МК модуль обработки прерываний входит в состав процессорного ядра. В более сложных МК он представляет собой отдельный модуль. В состав изменяемого функционального блока могут входить дополнительные модули: компараторы напряжения, аналого-цифровые преобразователи (АЦП) и другие.


^ Структура процессорного ядра микроконтроллера


Основные характеристики, определяющие производительность процессорного ядра МК - набор регистров для хранения промежуточных данных; система команд процессора; способы адресации операндов в пространстве памяти; организация процессов выборки и исполнения команды.

С точки зрения системы команд и способов адресации операндов процессорное ядро современных 8-разрядных МК реализует один из двух принципов построения процессоров:

- процессоры с CISC-архитектурой, реализующие полную систему команд (Complicated Instruction Set Computer);

- процессоры с RISC-архитектурой, реализующие сокращенную систему команд (Reduced Instruction Set Computer).

CISC-процессоры выполняют большой набор команд с развитыми возможностями адресации. В применении к 8-разрядным МК процессор с CISC-архитектурой может иметь однобайтовый, двухбайтовый и трехбайтовый (редко четырехбайтовый) формат команд. При этом система команд, как правило, неортогональна, то есть не все команды могут использовать любой из способов адресации применительно к любому из регистров процессора. Выборка команды осуществляется побайтно в течение нескольких циклов работы МК. Время выполнения команды может составлять от 1 до 12 циклов. К МК с CISC-архитектурой относятся МК фирмы Intel с ядром MCS-51, которые поддерживаются в настоящее время рядом производителей, МК семейств НС05, НС08 и НС11 фирмы Motorola и другие.

В процессорах с RISC-архитектурой набор исполняемых команд сокращен до минимума. Все команды имеют формат фиксированной длины (например, 12, 14 или 16 бит), выборка команды из памяти и ее исполнение осуществляется за один цикл (такт) синхронизации. Система команд RISC-процессора предполагает возможность равноправного использования всех регистров процессора. Это обеспечивает дополнительную гибкость при выполнении ряда операций. К МК с RISC-процессором относятся МК AVR фирмы Atmel, МК PIC16 и PIC17 фирмы Microchip и другие.

Производительность МК оценивается числом операций пересылки «регистр-регистр», которые могут быть выполнены в течение одной секунды. В МК с CISC-процессором время выполнения таких операций составляет от 1 до 3 циклов, что уступает производительности МК с RISC-процессором. В то же время, в системе команд большинства CISC-процессоров присутствуют команды пересылки содержимого РОН в один из портов ввода/вывода. То есть более сложная система команд иногда позволяет реализовать более эффективный способ выполнения операции.

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

С точки зрения организации процессов выборки и исполнения команды в современных 8-разрядных МК применяется одна из архитектур МПС: фон-неймановская (принстонская) или гарвардская.

Особенностью фон-неймановской архитектуры является использование общей памяти для хранения программ и данных (рис. 2).



Рис. 2. Структура МПС с фон-неймановской архитектурой

Преимущество архитектуры Фон-Неймана - упрощение устройства МПС, так как реализуется обращение к общей памяти. Использование единой области памяти позволяет оперативно перераспределять ресурсы между областями программ и данных, что повышает гибкость МПС с точки зрения разработчика программного обеспечения. Размещение стека в общей памяти облегчает доступ к его содержимому. Фон-неймановская архитектура применяется в персональных компьютерах.

Особенность гарвардской архитектуры - использование раздельных адресных пространств для хранения команд и данных (рис. 3).



Рис. 3. Структура МПС с гарвардской архитектурой

Применение отдельной небольшой по объему памяти данных способствует сокращению длины команд и ускорению поиска информации в памяти данных. Гарвардская архитектура обеспечивает более высокую скорость выполнения программы по сравнению с фон-неймановской за счет возможности реализации параллельных операций, но является недостаточно гибкой для реализации некоторых программных процедур. Большинство производителей современных 8-разрядных МК используют гарвардскую архитектуру. Сравнение МК, выполненных по разным архитектурам, следует проводить применительно к конкретному приложению.


Система команд МК


Набор команд МК включает команды пересылки данных, арифметические команды, логические команды, команды переходов. Для реализации возможности независимого управления разрядами портов (регистров) в большинстве современных МК предусмотрена группа команд битового управления, что позволяет сократить объем кода управляющих программ и время их выполнения. В ряде МК выделяют группу команд управления ресурсами контроллера, используемую для настройки режимов работы портов ввода/вывода, управления таймером и т.п.

Система команд МК по сравнению с системой команд универсального МП имеет, как правило, менее развитые группы арифметических и логических команд, зато более мощные группы команд пересылки данных и управления. Эта особенность связана со сферой применения МК.

^ Схема синхронизации МК


Схема синхронизации МК обеспечивает формирование сигналов синхронизации, необходимых для выполнения командных циклов центрального процессора, а также обмена информацией по внутренней магистрали. В зависимости от исполнения центрального процессора командный цикл может включать в себя от одного до нескольких (4 - 6) тактов синхронизации. Схема синхронизации формирует также метки времени, необходимые для работы таймеров МК. В состав схемы синхронизации входят делители частоты, которые формируют необходимые последовательности синхросигналов.


^ Память программ и данных МК


В МК используется три основных вида памяти. Память программ представляет собой постоянную память (ПЗУ), предназначенную для хранения программного кода (команд) и констант. Ее содержимое в ходе выполнения программы не изменяется. Память данных предназначена для хранения переменных в процессе выполнения программы и представляет собой ОЗУ. Регистры МК - этот вид памяти включает в себя внутренние регистры процессора и регистры, которые служат для управления периферийными устройствами (регистры специальных функций).

Память программ.

Основным свойством памяти программ является ее энергонезависимость, то есть возможность хранения программы при отсутствии питания. Различают следующие типы энергонезависимой памяти программ:

- ^ ПЗУ масочного типа - mask-ROM. Содержимое ячеек ПЗУ этого типа заносится при ее изготовлении с помощью масок и не может быть впоследствии заменено или допрограммировано. МК с таким типом памяти программ используют после опытной эксплуатации. Основной недостаток - необходимость затрат на создание новых фотошаблонов и их внедрение в производство. ПЗУ масочного типа обеспечивают высокую надежность хранения информации по причине программирования в заводских условиях с последующим контролем результата;

- ^ ПЗУ, программируемые пользователем, с ультрафиолетовым стиранием - EPROM (Erasable Programmable ROM). Программируются электрическими сигналами и стираются с помощью ультрафиолетового облучения. Ячейка памяти EPROM представляет собой МОП-транзистор с «плавающим» затвором, заряд на который переносится с управляющего затвора при подаче соответствующих электрических сигналов. Для стирания содержимого ячейки она облучается ультрафиолетовым светом, сообщающим заряду на плавающем затворе энергию, достаточную для преодоления потенциального барьера и стекания на подложку. МК с EPROM допускают многократное программирование и выпускаются в дорогостоящем керамическом корпусе с кварцевым окошком для доступа ультрафиолетового света, что увеличивает стоимость МК. Для уменьшения стоимости МК с EPROM его заключают в корпус без окошка (версия EPROM с однократным программированием);

- ^ ПЗУ, однократно программируемые пользователем - OTPROM (One-Time Programmable ROM). Представляют собой версию EPROM, выполненную в корпусе без окошка для уменьшения стоимости МК на его основе. Эти версии EPROM часто используют вместо масочных ПЗУ;

- ^ ПЗУ, программируемые пользователем, с электрическим стиранием - EEPROM (Electrically Erasable Programmable ROM). Это новое поколение EPROM, в которых стирание ячеек памяти производится электрическими сигналами за счет использования туннельных механизмов. Применение EEPROM позволяет стирать и программировать МК, не снимая его с платы. Таким способом можно производить отладку и модернизацию программного обеспечения. По стоимости EEPROM занимают промежуточное положение между OTPROM и EPROM;

- ^ ПЗУ с электрическим стиранием типа Flash - Flash-ROM. Различие EEPROM и Flash-памяти состоит в способе стирания записанной информации. В первом случае стирание производится отдельно для каждой ячейки, во втором - для целых блоков. Для изменения содержимого одной ячейки Flash-памяти необходимо перепрограммировать весь блок. Упрощение декодирующих схем по сравнению с EEPROM позволяет конкурировать с МК с однократно программируемыми и с масочными ПЗУ.

Память данных.

Память данных МК выполняется на основе статического ОЗУ. «Статическое» означает, что содержимое ячеек ОЗУ сохраняется при снижении тактовой частоты МК до сколь угодно малых значений (с целью снижения энергопотребления). Большинство МК имеют параметр «напряжение хранения информации». При снижении напряжения питания ниже минимально допустимого уровня, но выше уровня напряжения хранения работа программы МК выполняться не будет, но информация в ОЗУ сохраняется. При восстановлении напряжения питания можно сбросить МК и продолжить выполнение программы без потери данных. Уровень напряжения хранения составляет обычно около 1В, что позволяет переводить МК на питание от автономного источника (батареи) и сохранять в этом режиме данные ОЗУ. Объем памяти данных МК невелик и составляет десятки и сотни байт.

Регистры МК.

МК имеют набор регистров, которые используются для управления его ресурсами. Это регистры процессора (аккумулятор, регистры состояния, индексные регистры), регистры управления (регистры управления прерываниями, таймером), регистры, обеспечивающие ввод/вывод данных (регистры данных портов, регистры управления параллельным, последовательным или аналоговым вводом/выводом).

В МК с RISC-процессором регистры располагаются по явно задаваемым адресам, что обеспечивает высокую гибкость при работе процессора.

В некоторых МК все регистры и память данных располагаются в одном адресном пространстве. Это означает, что память данных совмещена с регистрами. Такой подход называется «отображением ресурсов МК на память». В других МК адресное пространство устройств ввода/вывода отделено от общего пространства памяти, что дает преимущество процессорам с гарвардской архитектурой, обеспечивая возможность считывать команду во время обращения к регистру ввода/ вывода.

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

В МК ОЗУ данных используется также для организации вызова подпрограмм и обработки прерываний. При этих операциях содержимое программного счетчика и основных регистров (аккумулятор, регистр состояния и другие) сохраняется и затем восстанавливается при возврате к основной программе.

В фон-неймановской архитектуре единая область памяти используется и для реализации стека, что ведет к снижению производительности устройства, так как одновременный доступ к различным видам памяти невозможен. Например, при выполнении команды вызова подпрограммы следующая команда выбирается после того, как в стек будет помещено содержимое программного счетчика.

В гарвардской архитектуре стековые операции производятся в специально выделенной памяти. Это означает, что при выполнении программы вызова подпрограмм процессор с гарвардской архитектурой производит несколько действий одновременно.

МК обеих архитектур имеют ограниченную емкость памяти для хранения данных. Если в процессоре имеется отдельный стек и объем записанных в него данных превышает его емкость, то происходит циклическое изменение содержимого указателя стека, и он начинает ссылаться на ранее заполненную ячейку стека, т.е. в стеке окажется неправильный адрес возврата. Если МК использует общую область памяти для размещения данных и стека, то существует опасность, что при переполнении стека произойдет запись в область данных, либо возможна запись загружаемых в стек данных в область ПЗУ.


^ Внешняя память


В некоторых случаях возникает необходимость подключения дополнительной внешней памяти (памяти программ и данных). Если МК содержит специальные аппаратные средства для подключения внешней памяти, то эта операция производится как для МП. Возможно также использование портов ввода/вывода для подключения внешней памяти и реализации обращения к памяти программными средствами, что позволяет задействовать простые устройства ввода/вывода без реализации сложных шинных интерфейсов, однако приводит к снижению быстродействия системы при обращении к внешней памяти.


^ Порты ввода/вывода


МК имеет линии ввода/вывода, объединенные в многоразрядные (чаще 8-разрядные) параллельные порты ввода/вывода. В памяти МК каждому порту ввода/вывода соответствует свой адрес регистра данных, обращение к которому производится теми же командами, что и обращение к памяти данных. В зависимости от реализуемых функций различают следующие типы параллельных портов:

- однонаправленные порты, предназначенные только для ввода или только для вывода информации;

- двунаправленные порты, направление передачи которых (ввод или вывод) определяется в процессе инициализации МК;

- порты с альтернативной функцией (мультиплексированные порты); линии этих портов используются совместно со встроенными периферийными устройствами МК (таймеры, АЦП, контроллеры последовательных интерфейсов);

- порты с программноуправляемой схемотехникой входного/выходного буфера.

Порты выполняют роль устройств временного согласования функционирования МК и объекта управления, которые работают асинхронно. Различают три типа алгоритмов обмена информацией между МК и внешним устройством через параллельные порты ввода/вывода: режим простого программного ввода/вывода; режим ввода/вывода со стробированием; режим ввода/вывода с полным набором сигналов подтверждения обмена. Схема двунаправленного порта ввода/вывода МК приведена на рис. 4.



Рис. 4. Схема двунаправленного порта ввода/вывода МК

Триггер управления разрешает вывод данных на внешний вывод. В современных МК, как правило, обеспечивается индивидуальный доступ к триггерам данных и управления, что позволяет использовать каждую линию независимо в режиме ввода или вывода. При вводе данных считывается значение сигнала, поступающее на внешний вывод, а не содержимое триггера данных. Если к внешнему выводу МК подключены выходы других устройств, то они могут установить свой уровень выходного сигнала, который и будет считан вместо ожидаемого значения триггера данных.


^ Таймеры и процессоры событий


Большинство задач управления, реализуемых с помощью МК, требует исполнения их в реальном времени. Под этим понимается способность системы получить информацию о состоянии управляемого объекта, выполнить необходимые расчеты и выдать управляющие воздействия в течение интервала времени, достаточного для изменения состояния объекта. В современных МК используется аппаратная поддержка работы в реальном времени с использованием таймера (таймеров). Модули таймеров служат для приема информации о времени наступления тех или иных событий от внешних датчиков событий и для формирования управляющих воздействий во времени. Структура 16-разрядного таймера/счетчика в составе МК приведена на рис. 5.



Рис. 5. Структура модуля таймера/счетчика

Модуль таймера 8-разрядного МК представляет собой 8-ми или 16-разрядный счетчик со схемой управления. Обычно предусматривается возможность использования таймера в режиме счетчика внешних событий, (таймер/счетчик).

В памяти МК 16-разрядный счетчик отображается двумя регистрами: ТН - старший байт счетчика, TL - младший байт. Регистры доступны для чтения и для записи. Направление счета - прямое, то есть при поступлении входных импульсов содержимое счетчика инкрементируется. В зависимости от настройки счетчик может использовать один из источников входных сигналов: импульсную последовательность с выхода управляемого делителя частоты; сигналы внешних событий, поступающие на вход TOCKI контроллера. В первом случае счетчик работает в режиме таймера, во втором - счетчика событий. При переполнении счетчика устанавливается в «единицу» триггер переполнения TF, генерирующий запрос на прерывание, если прерывания от таймера разрешены. Пуск и останов таймера могут осуществляться только под управлением программы. Программным способом можно также установить старший и младший биты счетчика в произвольное состояние или прочитать текущий код счетчика.

Модуль таймера/счетчика может использоваться для измерения временных интервалов и формирования последовательности импульсов. Основными недостатками таймера/счетчика являются: потери времени на выполнение команд пуска и останова таймера, приводящие к появлению ошибки при измерении временных интервалов и ограничивающие минимальную длительность измеряемых интервалов времени единицами мс; сложности при формировании временных интервалов (меток времени), отличных от периода полного коэффициента счета; невозможность одновременного обслуживания нескольких каналов.

Совершенствование подсистемы реального времени МК ведется по следующим направлениям:

- увеличение числа модулей таймеров/счетчиков; этот путь характерен для фирм, выпускающих МК со структурой MCS-51, а также для МК компаний Mitsubishi и Hitachi;

- модификация структуры модуля таймера/счетчика, при которой увеличение числа каналов достигается за счет введения дополнительных аппаратных средств входного захвата и выходного сравнения. Такой подход используется в МК компании Motorola.


Модуль прерываний МК


Обработка прерываний в МК происходит в соответствии с общими принципами обработки прерываний в МПС. Модуль прерываний принимает запросы прерывания и организует переход к выполнению определенной программы. Запросы прерывания могут поступать как от внешних источников, так и от источников, расположенных в различных модулях МК.

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

Источниками внутренних запросов прерываний могут служить события: переполнение таймеров/счетчиков; сигналы от каналов входного захвата и выходного сравнения таймеров/счетчиков или от процессора событий; готовность памяти EEPROM; сигналы прерывания от дополнительных модулей МК, включая завершение передачи или приема информации по одному из последовательных портов и другие.

Запрос прерывания поступает на обработку, если прерывания в МК разрешены и разрешено прерывание по данному запросу. Адрес, который загружается в программный счетчик при переходе к обработке прерывания, называется «вектор прерывания». В зависимости от организации модуля прерываний конкретного МК источники прерываний могут иметь разные векторы или использовать некоторые из них совместно. Использование различными прерываниями одного вектора не вызывает проблем при разработке программного обеспечения, так как аппаратная часть МК фиксирована, а контроллер чаще всего выполняет единственную программу.

В случае одновременного поступления нескольких запросов на прерывание, обслуживание их происходит по-разному. Есть МК с одноуровневой системой приоритетов (все запросы равноценны), многоуровневой системой с фиксированными приоритетами и многоуровневой программируемой системой приоритетов.

Аппаратные прерывания, связанные с включением питания, подачей сигнала «сброс» и переполнением сторожевого таймера имеют немаскируемый характер и чаще всего разделяют один общий вектор прерывания.


^ Минимизация энергопотребления в системах на основе МК


Малый уровень энергопотребления является иногда определяющим фактором при выборе способа реализации цифровой управляющей системы. Современные МК имеют следующие основные режимы работы:

- активный режим (Run mode) - основной режим работы МК; в этом режиме МК исполняет рабочую программу, и все его ресурсы доступны. Потребляемая мощность имеет максимальное значение. Большинство современных МК выполнено по КМОП-технологии, поэтому мощность потребления в активном режиме зависит от тактовой частоты;

- режим ожидания (Wait mode или Halt mode); в этом режиме прекращает работу центральный процессор, но продолжают функционировать периферийные модули, которые контролируют состояние объекта управления. При необходимости сигналы от периферийных модулей переводят МК в активный режим, и рабочая программа формирует необходимые управляющие воздействия. Перевод МК из режима ожидания в рабочий режим осуществляется по прерываниям от внешних источников или периферийных модулей, или при сбросе МК. В режиме ожидания мощность потребления МК снижается по сравнению с активным режимом в 5-10 раз;

- режим останова (Stop mode, Sleep mode или Power Down mode); в этом режиме прекращает работу центральный процессор и большинство периферийных модулей. Переход МК из состояния останова в рабочий режим возможен по прерываниям от внешних источников или после подачи сигнала сброса. В режиме останова мощность потребления МК снижается по сравнению с активным режимом примерно на три порядка.

Два последних режима называют режимами пониженного энергопотребления. Минимизация энергопотребления системы на МК достигается за счет оптимизации мощности потребления МК в активном режиме, а также использования режимов пониженного энергопотребления. При этом необходимо иметь в виду, что режимы ожидания и останова существенно отличаются временем перехода из режима пониженного энергопотребления в активный режим. Выход из режима ожидания обычно происходит в течение 3...5 периодов синхронизации МК, в то время как задержка выхода из режима останова составляет несколько тысяч периодов синхронизации. Кроме снижения динамики работы системы значительное время перехода в активный режим является причиной дополнительного расхода энергии.

Мощность потребления МК в активном режиме является одной из важнейших характеристик контроллера. Она в значительной степени зависит от напряжения питания МК и частоты тактирования.

В зависимости от диапазона питающих напряжений все МК можно разделить на три основные группы:

- МК с напряжением питания 5,0 В±10%. Эти МК предназначены, как правило, для работы в составе устройств с питанием от промышленной или бытовой сети, имеют развитые функциональные возможности и высокий уровень энергопотребления;

- МК с расширенным диапазоном напряжений питания: от 2,0...3,0 В до 5,0…7,0 В. МК данной группы могут работать в составе устройств как с сетевым, так и с автономным питанием;

- МК с пониженным напряжением питания: от 1,8 до 3 В. Эти МК предназначены для работы в устройствах с автономным питанием и обеспечивают экономный расход энергии элементов питания.

Зависимость тока потребления от напряжения питания МК почти прямо пропорциональна. Поэтому снижение напряжения питания существенно понижает мощность потребления МК, что сопровождается снижением производительности системы.


^ Тактовые генераторы МК


Современные МК содержат встроенные тактовые генераторы, требующие минимального числа внешних времязадающих элементов. Используются три способа определения тактовой частоты генератора: с помощью кварцевого резонатора, керамического резонатора и внешней RC-цепи. Схема подключения кварцевого или керамического резонатора приведена на рис. 6а; с использованием RC-цепи - на рис. 6б.



Рис. 6. Тактирование с использованием кварцевого или керамического

резонаторов (а) и с использованием RC-цепи (б)

Кварцевый резонатор Q подключается к выводам XTAL1 и XTAL2, которые представляют собой вход и выход инвертирующего усилителя. Номиналы конденсаторов С1 и С2 определяются производителем МК для конкретной частоты резонатора. Использование кварцевого резонатора позволяет обеспечить высокую точность и стабильность тактовой частоты (разброс частот составляет менее 0,01%). Основные недостатки - низкая механическая прочность кварцевого резонатора и высокая стоимость.

Внешняя RC-цепь (рис. 6б) не обеспечивает высокой точности задания тактовой частоты (разброс частот может доходить до десятков процентов). Зависимость тактовой частоты МК от номиналов RC-цепи зависит от конкретной реализации внутреннего генератора. Достоинство – более дешевый способ задания тактовой частоты МК.

Некоторые современные МК содержат встроенные RC или кольцевые генераторы, позволяющие контроллеру работать без внешних цепей синхронизации. Работа внутреннего генератора разрешается путем программирования соответствующего бита регистра конфигурации МК. В некоторых МК семейства AVR фирмы Atmel тактовая частота МК, задаваемая внутренней RC-цепью, может изменяться программными средствами.


^ Аппаратные средства обеспечения надежной работы МК


С целью обеспечения надежного запуска, контроля работы МК и восстановления работоспособности системы современные МК снабжаются аппаратными средствами обеспечения надежной работы. К ним относятся:

- схема формирования сигнала сброса МК;

- модуль мониторинга напряжения питания;

- сторожевой таймер.

^ Схема формирования сигнала сброса МК

На этапе нарастания напряжения питания МК принудительно переводится в начальное состояние, называемое состоянием сброса. При этом устанавливаются в исходное состояние внутренние магистрали МК, сигналы управления и регистры специальных функций, которые определяют начальное состояние периферийных модулей МК.

Для обеспечения надежного запуска от любых источников питания современные МК содержат встроенный детектор напряжения питания (схема Power-On-Reset — POR), формирующий сигнал сброса при нарастании напряжения питания. Например, входящий в МК семейства PIC16 таймер установления питания (PWRT) начинает отсчет времени после того, как напряжение питания пересекло уровень около 1,2... 1,8 В. По истечении выдержки (72 мс) считается, что напряжение достигло номинала.

После выхода из состояния сброса МК выполняет действия:

- запускает генератор синхронизации МК;

- считывает энергонезависимые регистры конфигурации в соответствующие регистры ОЗУ;

- загружает в счетчик команд адрес начала рабочей программы;

- производит выборку первой команды из памяти программ и приступает к выполнению программы.

Адрес ячейки памяти, в которой хранится код первой исполняемой команды, называют вектором начального запуска или вектором сброса. Некоторые МК имеют фиксированный вектор сброса. В других МК вектор сброса может быть произвольно определен пользователем - загружаемый вектор сброса. Загружаемый вектор сброса имеют все 8-разрядные МК фирмы Motorola, выполненные по структуре с единым адресным пространством команд и данных.

Для перевода МК в состояние сброса при установившемся напряжении питания достаточно подать сигнал высокого или низкого уровня (в соответствии со спецификацией МК) на вход сброса (RESET). В современных МК линия RESET обычно является двунаправленной и имеет низкий активный уровень. При нажатии кнопки «сброс» или включении питания буфер линии устанавливается в режим ввода и реализует внешний сброс. МК может перейти в состояние сброса также по сигналам устройств контроля состояния, которые имеются в составе контроллера (внутренний сброс).

^ Блок детектирования пониженного напряжения питания

Для восстановления работоспособности системы после понижения напряжения пи
еще рефераты
Еще работы по разное