Бродин В. Б., Шагурин И. И. Микроконтроллеры (1999) (1095894), страница 47
Текст из файла (страница 47)
Внутри цикла магистрали фазы именуются с прибавлением номера такта, например 85Р2. Схема сброса и инициализации служит для перевода микроконтроллера в определенное исходное состояние, Сброс микроконтроллера осуществляется извне подачей активного сигнала на вход КЗТ или изнутри при обнулении сторожевого таймера. Блок обработки прерываний обрабытывает запросы прерываний от 8 источников: семи маскируемых аппаратных источников и команды ТКАР. После того, как блок обработки прерываний подтвердит запрос, процессор приостанавливает выполнение текущего программного фрагмента и переходит к выполнению подпрограммы обслуживания запрошенного прерывания.
Все аппаратные прерывания могут быть индивидуально разрешены или запрещены. Каждому из источников прерываний можно назначить один из четырех уровней приоритета. 3.1.2. Внутренние блоки ввода-вывода Внутренние блоки ввода-вывода микроконтроллера служат для выполнения типовых интерфейсных функций. Эти блоки являются многорежимными, их программирование и обмен данными с ними ЦПУ осуществляет через регистры специальных функций. В микроконтроллерах 8ХС251ЯВ иметотся следующие блоки ввода-вывода: сторожевой таймер, три таймера- счетчика, блок РСА, последовательный порт. Сторожевой таймер представляет собой схему, которая автоматически вызывает сброс и инициализацито микроконтроллера и является механизмом ГЛАВА Е.
МИКРОКОНТРОЛЛЕРЫ СЕМЕЙСТВА МСВ-ЕЕ1 243 выхода из зависания. Сторожевой таймер начинает счет после получения разрешения и вызывает сброс по достижении максимального значения. При нормальной работе программа периодически перезагружает регистр сторожевого таймера и не дает ему сработать; в случае зависания программа не может очистить таймер, он сбрасывает процессор и переводит микроконтроллер в исходное состояние. Таймеры-счетчики могут получать синхросигнал от внутреннего генератора (в режиме таймера) или от внешнего источника (режим счетчика событий). Можно запрограммировать 8-, 13- или 16-разрядный таймер-счетчик, а также запрограммировать их для специального применения, например для фиксации времени по внешнему событию на выводе микросхемы, для выдачи программируемого синхросигнала на внешний вывод, для формирования синхросигнала, определяющего скорость обмена через последовательный порт.
Обработка результатов работы таймеров-счетчиков ведется по прерываниям. Блок РСА имеет собственный 16-разрядный таймер-счетчик и пять модулей сравнения-захвата. Модули могут выполнять следующие функции: захват (запоминание) значения таймера в момент смены уровней сигнала на внешнем входе; запрос прерывания при достижении таймером значения, хранящегося в регистрах; смена уровня сигнала на внешнем выводе при достижении таймером значения, хранящегося в регистрах; генерация сигнала с программируемой широтно-импульсной модуляцией; работа в качестве дополнительного сторожевого таймера.
Последовательный порт обеспечивает работу в синхронном или одном из трех асинхронных режимах. Синхронный режим является полудуплексным — входной и выходной сигналы передаются по одной линии, а синхросигнал передается по другой линии. Асинхронные режимы полностью дуплексные, т.е. порт может принимать и посылать данные одновременно по разным линиям. В режиме 1 используется 10-битный кадр: старт-бит, 8 бит данных, стоп-бит. Синхросигнал вырабатывается при переполнении таймера 1 или таймера 2. В режимах 2 и 3 используется 11-битный кодр: старт-бит, 8 бит данных, программируемый бит, стоп-бит.
Программируемый бит можно использовать для контроля четности или для указания того, что кодр содержит адрес и данные. В режиме 2 частота обмена может составлять 1/32 или 1/64 частоты кварцевого резонатора. В режиме 3 скорость обмена может определяться переполнением таймера 1 или таймера 2. Во всех синхронных режимах последовательный порт может работать как ведомое (з!аче) устройство в среде таких же устройств, подключенных к одной линии.
Он может получать адресованные ему сообщения или сообщения, адресованное всем устройствам, он может игнорировать сообщение, адресуемое другому устройству. микРОкОнтРОллеРН' яяхитвтттФ ПРОГРаммиРОеяни интеРФеЙс 3.2. Программно доступные ресурсы архитектуры МСЗ-251 Архитектура семейства МСЗ-21 включает три пространства адресов: простраиство адресов ячеек памяти, пространство регистров специальных фуиций и регистровый файл (рис. 3.3).
Память 1б Мбайт 3:ОООН ГК007Н Ратнатрааый файл бл байта баис. 3.3. Пространства вдрвсов архитактуры МСЗ-261 Пространство ячеек памяти размером 16 Мбайт для удобства рассматривается как 256 64-кбайтиых аобластей», пронумерованных с 00: по ГГЕ Это деление чисто условно, в архитектуре МСЗ-251 используется линейная адресация, сегментных регистров иет. Микроконтроллеры семейства МС5- 251 могут иметь в области ГГ: до 64 К внутренней памяти программ. Внутреиияя память данных начинается с адреса 00: ООООН. Первые 32 байта служат для размещеиия части регистрового файла.
Внутреннее ОЗУ даииых начинается с адреса 00: 0020Н. Его объем зависит от типа микрокоитроллера. Пространство регистрового файла включает 64 ячейки с десятичными Номерами от 0 до 63. Регистры файла имеют кроме номеров имена, представляющие собой буквенно-цифровой код. Ячейки 0..7 составляют один из четырех переключаемых банков регистров общего назначения. Необходимые для банков 32 ячейки находятся в пространстве памяти по адресам 00:ООООН..ОО:001ГН. Ячейки 8..63 регистрового файла в пространстве памяти ие представлены.
Пространство регистров спецфуикций включает 512 8-разрядиых регистра с адресами 5:ОООН..Б;1ГГН. В архитектуре МСЗ-251 к адресам регистров спецфуикций добавляется префикс 5, чтобы указать, что пространство этих ГЛАВА 3 микРОкОнтРОллеРы семеЙстВА мса-25! 245 регистров отлично от пространства ячеек памяти. Регистры спецфункций имеют, кроме адресов, собственные имена.
Все регистры спецфункций побитно адресуемы. 3.2.1. Совместимость с архитектурой МСЗ-51 Адреса архитектуры МСЯ-51 накладываются на адреса архитектуры МСЯ- 251 (рис. ЗА). Память программ МСЯ-51 отображается на область ГГ: микротсонтроллеров МСБ-251. Ассемблер МСЯ-251 транслирует код МСЯ-51 в область ГГ:, туда же отображаются и векторы прерываний. Сами программы при этом не требуют модификаций. Память 16 Мбайт Регистры спецфуииций 5!2 байт РР.ООООН 02.0000Н Регистровый файл 64 байта О1:ООООН 63 ОО.ООООН Рис. 3.4.
Отображение адресов архитектуры МСб-51 на адреса архитектуры МСЗ-251 Внешняя память данных МСЯ-51 отображается на область 01: пространства ячеек памяти МСВ-251. Пользователь может изменить отображение, записав другое значение в регистр ВРХ).. Этот регистр доступен как ячейка 57 регистрового файла, а также как регистр Я:084Н пространства регистров спецфункций. Внутренняя память данных М СЯ-51 отображается на область 00: пространства ячеек памяти МС5-251 в диапазоне адресов от ООН до 7ГН.
В архитектуре МС 5-251 память дашгых больше, это расширяет возможности по организации оперативных данных и стека. Регистры спецфункций от МСЯ-51 отображаются на пространство регистров АРТЕ МСЯ-251 начиная с адреса Я; 080Н. Это обеспечивает полную совместимость при прямой адресации, включая адресацию отдельных битов. микРОкОнтРОллеРы: АРхитектуРА программировани интеРФеЙс 246 В архитектуре МСЯ-251 старые регистры спецфункций А, В, ОР), ОРН, ЯР, а также новые ОРХ)., ЯРН физически располагаются в регистровом файле.
Это сделано в целях повышения производительности, но для совместимости все они отображаются на те же адреса пространства регистров спецфункций, что и в МСЯ-51. 3.2.2. Пространство ячеек памяти На рис. 3.5 слева представлены логические области адресов памяти, а справа физическая реализация различных частей пространства памяти.
Указаны методы адресации для доступа к определенным фрагментам памяти. Физические адреса Логические адреса Косвенна адресация адресация смещение Прямая адресация 4 Кбайта) Рис. 3.5. Физическая реализация адресов МСЗ-251 Микроконтроллер 8ХС251ЯВ использует четыре области памяти: 00:, 01:, ЕГЕ ГГК Области 02Н.ГРк зарезервированы.
Области 01:, ГЕ, а также части областей 00: и ГГ; реализованы как внешняя память. Микроконтроллеры 87С251ЯВ содержат на кристалле 18 Кбайт однократно программируемой памяти (ОТРЕСОМ) или ПЗУ (1ЕОМ), которые занимают адреса с ГГ: ООООН..ГГ: ЗГГГН. Это память программ, хотя ее содержимое и можно читать как данные с помощью косвенной адресации и адресации со смещением. После инициализации счетчик команд указывает на адрес ГГ: ООООН. В зависимости от значения на входе ЕА обращение ГЛАВА а.