Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекций ТСИ.doc
Скачиваний:
5
Добавлен:
26.09.2019
Размер:
1.97 Mб
Скачать

Стек данных

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

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

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

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

Стек данных строится по типу LIFO (последним зашел - первым вышел).

Микроконтроллеры Intel, Motorola и Microchip

На сегодняшний день основными производителями микропроцессоров являются: Intel, Motorola и Microchip.

Сравнение микроконтроллеров данных производителей.

Intel:

Микроконтроллеры ориентированы на математику, имеют небольшой объем своей памяти.

"+" имеются интерфейсы внешней памяти

"+" совместимость выходных сигналов с TTL, CMOS

"+" максимальная совместимость

"+" универсальность

"+" большая вычислительная мощность

"-" большая потребляемая мощность

Mitel\Motorola:

"+" обилие и разнообразие интерфейсов

"+" "оконечное устройство в одной микросхеме"

"+" SMART интерфейсы

"-" одна микросхема - одно устройство

"-" минимальная совместимость

"-" минимальная программируемость

Microchip:

"+" большое количество встроенных модулей, в комплекте со схемным решением очень универсальны

"+" максимальная универсальность

"+" энергосберегающий режим (самый лучший)

"+" внутрисхемное программирование и отладка

"+" мультиплексируемость выводов микросхем

"+" RISC – архитектура, оптимизированная под производительность

"+" функциональная законченность

"+" защита программного кода

Краткое описание особенностей микроконтроллеров

Intel

Например микроконтроллер MCS 51

  • является 8-и битными

- у приведенных в таблице микроконтроллеров 35 инструкции в языке программирования

- двухуровневая система прерываний

- порты ввода-вывода: 2*32 разряда

- встроенный булевый процессор

- защита памяти (в маркировке это отражают буквы: А - аппаратная защита, В – кодирование паролем)

- битная адресация памяти

- full-duplex последовательный интерфейс

Motorola

На примере контроллеров МТ 8885 (телефоны, мини-АТС), МТ 9092 (телефон в одной микросхеме)

МТ 8885:

• приемо-передатчик DTMF-тонов

• аппаратный помехоустойчивый распознаватель DTMF (технология SMART)

• функция PowerDown (переход в спящий режим)

• дополнительные модули

МТ 9092:

• контроллер микрофона

• контроллер клавиатуры

• усилитель микрофона

• усилитель спикерфона

• АОН входных - выходных звонков

• стандартный Intel 51 совместимый порт

Microchip

РIС - контроллеры (Peripheral Interface Controller)

Отличительные характеристики

Гарвардская архитектура - раздельные области и шины памяти для команд и данных (распараллеливание обращения к данным и командам).

Двухступенчатый конвейер (обеспечивает выполнение одной команды и выборку следующей).

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

Система команд высоко симметрична (любая операция над любым регистром с применением о способа адресации). Симметрия упрощает программирование и сокращает объем программы, а следовательно, повышается производительность.

Память в кристалле снабжена битом защиты.

Конструктивные особенности исполнения контроллеров

Применение микроконтроллеров Microchip:

• интеллектуальные порты

• обработка звука и аналогового сигнала (АЦП/ЦАП)

• таймеры, счетчики, часы

• контроллеры клавиатуры

• знако-светоиндикация

• управление нагрузкой

• работа с интеллектуальными датчиками

• оконечные устройства

• конечные автоматы

Расширенный модуль I2C (промышленный стандарт обмена данными внутри одного устройства)

Модуль РWRТ

Таймер включения питания обеспечивает задержку в 72мс (номинальное значение) по сигналу схемы сброса РОR. Таймер включения питания работает от внутреннего RС генератора и удерживает микроконтроллер в состоянии сброса по активному сигналу от РWRТ. Задержка РWRТ позволяет достигнуть напряжению VDD номинального значения.

Битом - РWRТЕ в слове конфигурации можно выключить (-РWRТЕ=1) или включить (-РWRТЕ=0) таймер включения питания. Время задержки РWRТ варьируется в каждом микроконтроллере и зависит от напряжения питания и температуры.

• Модуль ОSТ

Таймер запуска генератора обеспечивает задержку в 1024 такта генератора (вход OSС1) после окончания задержки от РWRТ (если она включена). Это гарантирует, что частота кварцевого/керамического резонатора стабилизировалась. Задержка OSТ включается только в режимах НS, ХТ и LР тактового генератора после сброса РОR или выхода микроконтроллера из режима SLЕЕР.

Модуль РОR

Интегрированная схема POR удерживает микроконтроллер в состоянии сброса, пока напряжение VDD не достигнет требуемого уровня (от 1.2В до 1.7В). Для включения схемы POR необходимо соединить вывод -МСLR с VDD через резистор, не требуя внешней RС цепочки, обычно используемой для сброса. Максимальное время нарастания VDD смотрите в разделе «электрические характеристики». Схема POR не выполняет сброс микроконтроллера при снижении напряжения VDD. Когда микроконтроллер переходит в режим нормальной работы из состояния сброса, рабочие параметры (напряжение питания, частота, температура и т.д.) должны соответствовать указанным в разделе «электрические характеристики». Если рабочие параметры не удовлетворяют требованиям, микроконтроллер должен находиться в состоянии сброса.

Модуль WDТ

Встроенный сторожевой таймер WDТ (Watch Dog Timer) работает от отдельного RС генератора, не требующего внешних компонентов. Это позволяет работать сторожевому таймеру WDТ при выключенном тактовом генераторе (выводы OSC1, OSC2) в SLЕЕР режиме микроконтроллера. В нормальном режиме работы при переполнении WDТ происходит сброс микроконтроллера. Если микроконтроллер находится в SLЕЕР режиме, переполнение WDТ выводит его из режима SLЕЕР с продолжением нормальной работы. WDТ выключен, если WDТЕ = 0 в слове конфигурации.

Время переполнения зависит от температуры, напряжения питания VDD. И разброса технологических параметров микроконтроллера. Если требуется большее время переполнения WDТ, необходимо программно подключить предделитель в регистре OPTION_REG с максимальным коэффициентом деления 1:128.

Модуль программной защиты кода

Если защита кода программы (ЕЕРRОМ памяти данных) не была включена, то память программ (ЕЕРRОМ память данных) может быть прочитана для проверки программирования.

Модуль выбора режима работы тактового генератора