Бродин В. Б., Шагурин И. И. Микроконтроллеры (1999) (1095894), страница 32
Текст из файла (страница 32)
Но для разработчиков изделий на основе этого микроконтроллера динамическая НМОЯ схемотехника ставила довольно серьезные проблемы, связанные с невозможностью остановить работу микроконтроллера после подачи напряжения питания. Кроме того, мощность, потребляемая микроконтроллерами этой группы, довольно велика. Усовершенствование НМО5 технологии, рост степени интеграции позволил в рамках устоявшейся архитектуры расширить набор внутренних интерфейсных блоков, увеличить внутреннюю память программ и данных.
Таким образом появились микроконтроллеры типа 8052. Далее семейство продолжало увеличиваться за счет модификаций типа 80С51/52/54/58, выполненных с использованием фирменной комплементарной М05 технологии (СНМОЯ). Эта технология позволила уменьшить рассеиваемую мощность при обычной работе и ввести особые режимы, дополнительно снижаТощие энергопотребление. Появились микроконтроллеры типа 80!.52/54/58 с пониженным напряжением питания.
С группой 80С51гА/гВ/гС связано введение в архитектуру семейства модуля РСА (ргойгапцпаЫе соипсег аггау) и сторожевого таймера УКПТ (ееагс!ц)ой Пшег). Модуль РСА предназначен для выполнения различных операций счета и определения длительности интервалов времени, в том числе при широтно-импульсной модуляции. Сторожевой таймер обеспечивает перезагрузку процессора цри зависаниях. Старшими членами семейства являются микроконтроллеры типа 80С51СВ, имеющие встроенный 8-разрядный АЦП, шесть параллельных портов.
Современные версии микроконтроллеров семейства МСЯ-51 выполнены с использованием полностью статической схемотехники. Это позволяет останавливать микроконтроллер при отладке разрабатываемой системы. ряд известных фирм производят микроконтроллеры, в той или иной степени совместимые с архитектурой МСЗ-51. В целях повышения производительности некоторые из них используют такие отличия, как расширенная система команд, сжатый цикл обмена по магистрали, увеличенное количество портов ввода/вывода.
Фирма !псе! пошла на кардинальные шаги по увеличению производительности своих 8-разрядных микроконтроллеров, выведя на рынок семейства МСЯ-151 и МСБ-251. Особенности микроконтроллеров МСБ-151 рассмотрень1 в разделе 2.14 данной главы. Анализу особенностей архитектуры микроконтроллеров МСЯ-251 посвящена глава 3. Целью данной книги является комплексное рассмотрение архитектуры микроконтроллеров, а также методов и средств проектирования, программирования и отладки в реальном времени систем на их основе. Подробную информацию об электрофизических параметрах отдельных микросхем следует искать, разумеется, в каталогах фирмы !псе!. МИКРОКОНТРОЛЛЕРЫ АРХИТЕКТУРА ПРОГРАММИРОВАНИЕ ИНТЕРФЕЙС 154 2.2. Структура микроконтроллеров МСЗ-51 и функции выводов На рис.
2.1 приведена виутреиияя структура микроконтроллера 8051АН, исходная для семейства МСБ-51. Оиа включает следующий набор фуикциоиальных модулей: + 8-разрядиое АДУ с аппаратной реализацией операций типа умножение; Ф внутренние память программ (4Кбайт) и ОЗУ данных (128 байт); Ф четыре универсальных программируемых параллельных 8-разрядиых порта ввода-вывода с возможностью реализации определенных альтериативиых фуикций; Ф два 16-разрядиых программируемых счетчика-таймера; Ф дуплексный последовательный порт. Этот набор аппаратных средств и совокупность реализуемых функций делают микроконтроллеры семейства 8051 эффективным средством сбора, предобработки информации и управления объектами.
Анализ внутренней структуры микроконтроллеров семейства МСЯ-51 приводит к выводу, что оиа имеет полузакрытый характер. Основания к этому следующие: + набор функций ввода-вывода данных и функций обращения к внешней памяти программ превосходит возможности используемых корпусов по количеству выводов. Причиной этого является зиачительиая роль стоимости корпуса в общей стоимости БИС микроконтроллеров, а следствием — иаличие у выводов альтернативных функций и удорожаиие средств и собствеиио процесса отладки; Ву объединение иа кристалле процессора, памяти и блоков ввода-вывода с синхронными режимами работы, таких как таймеры и последовательный порт, приводит к парушепию состояния этих блоков при попытках чтения значений регистров и ячеек памяти процедурами отладки.
Переполнение регистров данных этих блоков приводит к установке соответствующих флагов прерываний и может привести к иепрелусмотреииому прерываиито рабочей программы. В наибольшей степени это касается первых микрокоитроллеров семейства, которые были созданы с использованием схемотехники динамических элементов. После подачи напряжения питания эти микрокоитроллеры невозможно остановить. Внешний вид микросхемы 8051АН, имеющей отечественный аналог К1816ВЕ51, представлен иа рис. 2.2.
Функции выводов микросхемы 8051АН следуютцие. Рот1 О. Двунаправленный 8-разрядиый параллельный порт ввода-вывода с возможностью установки в высокоимпедаисиое состояние. При работе в качестве выходов каждая линия обеспечивает иагрузочиую способность, МИКРОКОНТРОЛЛЕРЫ: АРХИТВОУРА ПРОГРАММИРОВАНИЕ ИНТЕРФЕЙС 156 Альтеряативиая функция у Альтериативиая функция Р1.0 П5Т Р0.7 АП7 НКП РЗ,О 10 31 ЕА№ ТКП РЗ 1 !1 30 АЕЕ П О ПЧТО№ Р3.2 РЕЕ1Ч№ Р Т ПЧТ1№ РЗ.З Р3.4 Р2.7 А15 Р2.6 А!4 ТО Р2.5 А!3 Р2Я А!2 Р2.3 А 11 Р2.2 А 10 Р2.1 АО Р2.0 А8 О Т Рис. 2.2. Микроохвма 8051АН и функции выводов равнуТо 8 входам маломощной серии 1.8 ТТ1..
При обращении микроконтроллера к внешней памяти программ или данных порт работает в режиме мультиплексирования младшего байта адреса н 8-разрядной шины данных. При записи в разряд регистра порта РО логической «1» соответствующая линия порта переходит в режим высокоимпедансного входа. Для работы в режиме порта ввода-вывода необходимо внешнее подтягивание каждой линни порта к уровню логической «1».
РОР4 7. Двунаправленный 8-разрядный параллельный порт ввода-вывода. При работе в качестве выходов каждая линия обеспечивает нагрузочную способность, равну!о 4 входам маломощной серии ! 8 ТТ1.. При записи в разряд регистра порта Р1 логической «1» соответствующая линия порта переходит в режим высокоимпедансного входа со слабым подтягиванием сигнала к уровню логической «1». Рог42. Двунаправленный 8-разрядный параллельный порт ввода-вывода. При работе в качестве выходов каждая линия обеспечивает нагрузочную П О Р Т Р!.1 ш.г Р1.3 Р1.4 Р!.5 Р1.6 Р1.7 Т1 Р3.5 'ЙГП№ РЗ.О ПП№ Р3.7 ХТА!.2 ХТА1.1 РО.О РОЛ Р0.2 РО.З РОА Р0.5 РО.О АПО АП! АП2 АПЗ АП4 АП5 АПО П О Р Т ГЛАВА 2 ИКРОКОИТРСЛЛЕРЫ СЕМЕЙ МСВ-Е! 1«1 157 способность, равную 4 входам маломощной серии 1.5 ТТ1..
При записи в разряд регистра порта Р2 логической «1» соответствующая линия порта переходит в режим высокоимпедаисиого входа со слабым подтягиванием сигнала к урови1о логической «1». При обращении микроконтроллера к внешней памяти программ или данных с использованием 16-разрядиого адреса (комаиды МОЧХ 4ЛОРТК) через порт Р2 выдается старший байт адреса. При обрашеиии микроконтроллера к внешней памяти данных с использованием 8-разрядцого адреса (комаиды МОЧХ 1фК1) ца выводы порта Р2 выдается содержимое регистра специальных функций Р2. Рот1 3. Двунаправленный 8-разрядиый параллельный порт ввода-вывода. При работе в качестве выходов каждая линия обеспечивает иагрузочпую способность, равиу1о 4 входам маломошиой серии 1.5 ТТ1.. При записи в разряд регистра порта РЗ логической «1» соответствующая линия порта переходит в режим высокоимпедаиспого входа со слабым подтягиванием сигнала к уровню логической «1».
Выводы порта РЗ могут выцолиять альтернативные функции, как показано ниже. Вывод Альтернативная функция РЗ.О. Кх1) — вход приемника последовательного порта Р3.1. Тх() — выход передатчика последовательного порта РЗ.2. 1ХТΠ— вход внешнего прерывания 0 РЗ.З. 1ХТ1 — вход внешнего прерывания 1 Р3.4. ТΠ— внешний вход таймера/счетчика 0 Р3.5. Т1 — внешний вход таймера/счетчика 1 Р3.6. ЮК№ — сигнал разрешения записи во внешнюю память данных РЗ.7. ИЭ№ — сигнал разрешения чтения из внешней памяти данных КЯТ. Вход инициализации. Высокий уровень иа этом входе в течении двух машинных тактов запускает процесс инициализации микроконтроллера.
А1.Е. Активное значение сигнала иа этом выходе разрешает фиксацию младшего байта адреса при обращениях к внешней памяти. У микроконтроллеров типа 8751 с внутренней памятью программ это вывод имеет альтернативную функцию РКОО№. При программировании внутренней памяти иа него подается стробирующий сигнал. РЯЕ1ч№. Активное значение сигнала иа этом выходе разрешает чтение из внешней памяти программ. ЕА№. Сигнал иа этом входе переключает источник кода при обращении к младшим 4 Кбайтам памяти программ.
При ЕА - 0 и диапазоне адресов ООООН..РРЕРН микроконтроллер 8051 выполняет цикл обращения к внешней памяти программ, при ЕА - 1 обращение по одному из этих адресов приводит к чтению кода из внутренней памяти. У микроконтроллеров типа 8751 с внутренней памятью программ это вывод имеет альтернативную функцию микРОкОнтРОллеРы АРхитапуРА пРОГРАммиРОВАние интЕРФЕЙС 188 'тгрр. При программировании внутренней памяти па него подается напря- жение программирования.
ХТАЕ1. Вход иивертирующего усилителя для сиихрогеиератора. ХТАЕ2. Выход инвертирующего усилителя для сиихрогеператора. ьгсс. Напряжение питания +5 В. Увв. Земля. 2.3. Организация памяти и программно доступные ресурсы В архитектуре семейства 8051 память программ и память данных разделены (гарвардская архитектура). Каждая из иих имеет размер 64 Кбайта, выбор одной из двух матриц памяти осуществляется сигналами РБЕ)ь), К1)я, 'ьт'тьй. Организация памяти в микроконтроллерах семейства 8051 иллюстрируется рис.