Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

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

Поиск

Microchip

Первые значительные перемены произошли с появлением МКPIC фирмы Microchip. Эти микросхемы предлагались по рекордно низким по тем временам ценам, что позволило им в короткий срок захватить значительную часть рынка МК. К тому же кристаллы отMicrochip оказались не уступающими, а нередко и превосходящими по производительности МК х51 и к тому же не требовали дорогостоящего программатора. Эти МК имели хорошие, грамотно спроектированные порты, но все остальное было сделано весьма неудобно: архитектура оставляла желать лучшего, система команд была крайне ограничена. Тем не менее, МКPIC остаются популярными в тех случаях, когда требуется создать недорогую и легко обслуживаемую систему.

Scinex

На волне успеха МКPIC появились очень похожие на них изделия фирмыScinex. Они обладали уже52 командами против33 команд уPIC. В частности, были добавлены удобные инструкции для работы с памятью, улучшена архитектура, так что каждая команда выполнялась за один такт, что при прочих равных условиях обеспечивало увеличение быстродействия в4 раза по сравнению сPIC МК. К тому же тактовая частота МК фирмыScinex достигала100 МГц. Столь высокая скорость микроконтроллера позволила его создателям отказаться от различной периферии, которую рекомендуется реализовывать чисто программными средствами. При этом МК содержит лишь сверхбыстрое ядро, память и порты ввода/вывода.

Atmel

Настоящая революция в мире микроконтроллеров произошла в1996 году, когда корпорацияAtmel представила свое семейство чипов на новом прогрессивном ядреAVR. МКAVR имеют более развитую систему команд, насчитывающую до133 инструкций, высокую производительность, приближающуюся к1 MIPS/МГц, Flash-ПЗУ программ с возможностью внутрисхемного перепрограммирования. Многие чипы имеют функцию самопрограммирования. AVR-архитектура оптимизирована под язык высокого уровня Си. Кроме того, все кристаллы семейства совместимы"снизу вверх". Более продуманная архитектураAVR, быстродействие, превосходящее контроллерыMicrochip, привлекательная ценовая политика способствовали оттоку симпатий многих разработчиков от недавних претендентов на звание контроллера №1. Не малую роль в популярности МКAVR сыграла доступность программного обеспечения и средств поддержки разработки. Хорошо известно, что развитые средства поддержки разработок при освоении и знакомстве с любым микроконтроллерным семейством играют не менее значимую роль, чем сами кристаллы. ФирмаAtmel уделяет этому вопросу большое внимание и предлагает большое число бесплатно распространяемых программных продуктов. Для начинающего разработчика немаловажным является и то, что для программированияAVR МК можно обойтись вовсе без аппаратного программатора. Самым популярным способом программирования этих микроконтроллеров является5-проводное соединение с параллельным портом персонального компьютера. Можно считать, чтоAVR постепенно становится индустриальным стандартом среди8-разрядных МК общего назначения. Они легкодоступны, отличаются в среднем невысокой стоимостью, успешно конкурируя с изделиями компанииMicrochip. Все это делает МКAtmel AVR одними из самых привлекательных и многообещающих на сегодняшний день.

Список упомянутых компаний и выпускаемых ими МК далеко не полный. Среди крупных производителей МК следует упомянуть и такие известные фирмы как Cypress, Texas Instruments, Dallas Semiconductor, Philips, Siemens, STMicroelectronics, Futjitsu, Mitsubishi Electronics, National Semiconductor и многие другие. На сегодняшний день большой популярностью у разработчиков вполне заслуженно пользуются8-разрядныеPIC-микроконтроллеры фирмыMicrochip Technology иAVR-микроконтроллеры фирмыAtmel.

Понятие микроконтроллера

С появлением однокристальных микро-ЭВМ произошел настоящий бум автоматизации в области управления. Именно это обстоятельство и определило используемый сегодня термин«микроконтроллер» (от англ. control – управление). Микроконтроллер(МК) – компьютер на одной микросхеме, предназначенный для управления различными электронными устройствами и осуществления взаимодействия между ними в соответствии с заложенной в него программой. Основной особенностью современного этапа развития микропроцессорных систем (МПС) является завершение перехода от систем, выполненных на основе нескольких больших интегральных схем, к МК. Последние отличаются от универсальных микропроцессоров(МП) тем, что на одном кристалле объединяют все основные элементы МПС: центральный процессор(ЦП), постоянное запоминающее устройство(ПЗУ), оперативное запоминающее устройство(ОЗУ), порты ввода/вывода и целый ряд специализированных электронных устройств. Поскольку встроенные устройства не требуют никаких внешних электрических цепей, они обладают повышенной надежностью. ПЗУ служит для хранения выполняемой МК программы. ОЗУ предназначено для временного хранения переменных и организации пула внутренних регистров МК. Порты ввода-вывода обеспечивают сопряжения МК с внешними устройствами(в частности с персональным компьютером, поскольку подавляющее число МК поддерживают стандартный интерфейсRS-232C).

К наиболее распространенным специализированным устройствам относятся:

· АЦП– аналого-цифровые преобразователи(ADC – Analog-to-Digital Converter);

· ƒ ЦАП– цифроаналоговые преобразователи(DAC – Digital-to-Analog Converter);

· ƒ Цифровые потенциометры;

· ƒ Различные интерфейсы связи;

· ƒТаймеры– устройства, позволяющие осуществлять их программирование на выдачу прямоугольных импульсов с заданными периодом и длительностью, а также отсчитывать интервалы времени между соседними входными импульсами.

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

CISC- иRISC-архитектуры

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

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

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

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

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

Основная идеяRISC-архитектуры заключается в тщательном подборе таких комбинаций кодов операций, которые можно было бы выполнить за один такт тактового генератора. Выигрыш от такого подхода– резкое упрощение аппаратной реализации ЦП и возможность значительно повысить его производительность. Первоначально реализовать такой подход удавалось, лишь существенно сократив набор команд, отсюда и родилось названиеRISC. Очевидно, что в общем случае одной команде в рамкахCISC-архитектуры должны соответствовать несколько команд в рамкахRISC-архитектуры. Однако обычно выигрыш от повышения быстродействияRISC-архитектуры перекрывает потери от менее эффективной системы команд, что приводит к более высокой эффективностиRISC-систем в целом по отношению кCISC. Также с упрощением ЦП уменьшается число транзисторов, необходимых для его реализации, следовательно, уменьшается площадь кристалла. А с этим связано снижение стоимости МК и потребляемой мощности.

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

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

Выделяют следующие типы энергонезависимой памяти программ:

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

2) Электрически программируемые ПЗУ с плавкими перемычками(ЭПЗУ) – данный тип ПЗУ программируются потребителем путем пропускания импульсов тока до разрушения перемычек, соответствующих битам, которые должны стать нулевыми.

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

4) Однократно программируемые ПЗУ– OTPROM (One-Time Programmable ROM).

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

5) Электрически стираемые перепрограммируемые ПЗУ– EEPROM (Electrically Erasable Programmable ROM). ПЗУ данного типа можно считать новым поколением EPROM, в которых стирание ячеек памяти производится электрическими сигналами.

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

EEPROM-памяти и с тем, что почти одновременно с ней появился похожий наEEPROM, но более дешевый тип памятиFlash-ПЗУ.

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

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

Память данных МК выполняется, как правило, на основе статического ОЗУ.

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

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

Так, при программировании МК константы, если возможно, не хранятся как переменные, а заносятся в ПЗУ программ.

Регистры МК

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

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

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

Стековая память

Стековой называют память, доступ к которой организован по принципу:

«последним записан– первым считан» (Last Input First Output – LIFO). Данный тип памяти необходим для организации вызова подпрограмм и обработки прерываний. При этих операциях содержимое программного счетчика и основных регистров сохраняется в стеке, а затем восстанавливается при возврате к основной программе. Стек в МК может быть организован как аппаратно, так и программно.

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

Другой подход– использование для организации стека ОЗУ данных. В фон-неймановской архитектуре единая область памяти используется, в том числе, и для реализации стека. При этом снижается производительность устройства, так как одновременный доступ к различным видам памяти невозможен. Так при выполнении команды вызова подпрограммы выборка следующей команды осуществляется после того, как в стек будет помещено содержимое программного счетчика.

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

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

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

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

 

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

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

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

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

Различают следующие типы параллельных портов в зависимости от их функций:

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

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

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

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

Различают три типа алгоритмов обмена информацией между МК и внешним устройством через параллельные порты ввода/вывода:

· ƒ режим простого программного ввода/вывода;

· ƒ режим ввода/вывода со стробированием;

· ƒ режим ввода/вывода с полным набором сигналов подтверждения обмена.

 

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

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

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

следующие события:

· переполнение таймеров/счетчиков;

· сигналы от каналов входного захвата и выходного сравнения таймеров/счетчиков или от процессора событий;

· готовность памятиEEPROM;

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

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

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

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

Режимы энергопотребления

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

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

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

Перевод МК из режима ожидания в рабочий режим осуществляется по прерываниям от внешних источников или периферийных модулей, либо при сбросе МК. В режиме ожидания мощность потребления МКPWAIT снижается по сравнению с активным режимом в5…10 раз;

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

Два последних режима называют режимами пониженного энергопотребления.

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

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

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

В большинстве современных МК используется статическая КМОП-технология, поэтому они способны работать при сколь угодно низких тактовых частотах вплоть до нулевых. В справочных данных при этом указывается, что минимальная частота тактирования равнаDC (direct current). Это означает, что возможно использование МК даже в пошаговом режиме, например, для отладки. Мощность потребления МК при низких частотах тактирования обычно соответствует частотеfOSC= 32768 Гц(часовой кварцевый резонатор).

Тактовые генераторы

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

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

Использование кварцевого резонатора позволяет обеспечить высокую точность и стабильность тактовой частоты(разброс частот кварцевого резонатора обычно составляет менее0,01%). Такой уровень точности требуется для обеспечения точного хода часов реального времени или организации интерфейса с другими устройствами. Основными недостатками кварцевого резонатора являются его низкая механическая прочность (высокая хрупкость) и относительно высокая стоимость.

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

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

Зависимость тактовой частоты МК от номиналовRC-цепи зависит от конкретной реализации внутреннего генератора и приводится в руководстве по применению контроллера.

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

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

Ряд последних семейств МК(например, HC08 фирмыMotorola) имеют в своем составе схему тактирования, основанную на принципе синтезатора частоты с контуром фазовой автоподстройки(PLL – phase loop lock). Такая схема работает как умножитель частоты и позволяет задавать тактовую частоту с помощью низкочастотного кварцевого резонатора, что снижает уровень электромагнитного излучения МК. Коэффициенты деления контураPLL могут быть изменены программным путем, что позволяет снизить тактовую частоту(и, соответственно, потребляемую мощность) в промежутки времени, когда высокое быстродействие не требуется.

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

Сторожевой таймер

Если, несмотря на все принятые меры, МК все же«завис», то на случай выхода из этого состояния все современные МК имеют встроенный модуль сторожевого таймера.

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

Принцип действия сторожевого таймера схематично показан на рис. 4.

Рисунок4 – Принцип действия сторожевого таймера.

 

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

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

Модули сторожевых таймеров конкретных МК могут иметь различные особенности:

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

в некоторых МК при переходе в один из режимов пониженного

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

Использование сторожевого таймера существенно повышает способность к самовосстановлению системы на основе МК.

Atmel Studio

Интегрированная среда разработки (IDE) от компании Atmel для разработки приложений под микроконтроллеры ARM Cortex-M и AVR. Freeware

Подробнее

AVRDUDE

Консольная программа для считывания, изменения и записи содержимого памяти микроконтроллеров архитектуры AVR, применяющая технологию внутрисхемного программирования. Есть русифицированные графические оболочки. Freeware

Подробнее

WinAVR

Мощная среда разработки с открытым исходным кодом, созданная с целью написания программ для микроконтроллеров серии AVR от компании Atmel. Freeware

Подробнее

BASCOM-AVR

Среда разработки программного кода для микроконтроллеров серии AVR компании Atmel на языке, подобном стандартному Бейсику. Freeware (бесплатная с ограничением на код 4 кБ) и Shareware

Подробнее

CodeVisionAVR

IDE для AVR микроконтроллеров. Из основных достоинств CodeVisionAVR можно отметить то, что он не слишком сложен для самостоятельного освоения, поддерживает все многочисленное семейство микроконтроллеров AVR, формирует емкий и результативный программный код. Платная, есть бесплатная Evaluation-версия с ограничением на код 4 кБ.

Подробнее

VMLAB

Инструмент для разработки и отладки программного кода, а также моделирования работы радиотехнических устройств на базе AVR микроконтроллеров. Freeware

Подробнее

MPLAB

Единая бесплатная интегрированная среда разработки для контроллеров производстваMicrochip

Подробнее

WinPic800

Небольшой, но весьма эффективный бесплатный программный пакет для прошивки PIC-микроконтроллеров различных серий. Есть русский язык.

Подробнее

PICPgm

Простое программное обеспечение для прошивки PIC-микроконтроллеров, отличающееся стабильностью, качеством и скоростью программирования. Freeware

Подробнее

CooCox CoIDE

Бесплатная высокоинтегрированная программная среда, предназначенная для разработки кода микроконтроллеров архитектуры ARM и др.

Подробнее

Keil uVision

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

Подробнее

IAR Embedded Workbench

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

Подробнее

Flowcode

Один из передовых графических языков программирования для микроконтроллеров. Поддержка русского языка. Платная, но есть бесплатная версия с ограничениями и только для микроконтроллеров PIC.

Подробнее

Algorithm Builder

Бесплатная графическая среда программирования для разработки приложений под микроконтроллеры с архитектурой AVR от отечественных разработчиков.

Подробнее

MikroC

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

Подробнее

IC Prog

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

Подробнее

Pony Prog 2000

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

Подробнее

SinaProg

Графическая оболочка для программы AVRdude, включающая в себя простой и функциональный AVR fuse-калькулятор. Freeware.

Подробнее

UniProf

Простой, бесплатный, универсальный программатор для микроконтроллеров семейства AVR.

Подробнее



Поделиться:


Последнее изменение этой страницы: 2016-12-26; просмотров: 480; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.226.98.244 (0.012 с.)