МИКРОКОНТРОЛЛЕРА i8051
Понятие архитектура микроконтроллера включает в себя совокупность аппаратных и программных средств, необходимых для его функционирования. Под аппаратными средствами подразумевается определенный набор структурных элементов и способ их физического сопряжения. Программные средства включают в себя набор программируемых элементов структуры (регистров), позволяющих конфигурировать аппаратные средства под выполнение определенной задачи и системы команд, с помощью которой микроконтроллер выполняет действия, согласно запрограммированному алгоритму [1,2]. Базовая архитектура микроконтроллера i8051 приведена на рис.3. Она содержит общие для всего семейства МК51 (в дальнейшем обозначение "МК51" будет общим для всех моделей семейства) структурные элементы: - ЦП – 8 разрядный центральный процессор, включающий в себя АЛУ (арифметико-логическое устройство), УУС (устройство управления и синхронизации), ПК (программный счетчик); - тактовый (задающий) генератор; - ПЗУ – постоянное запоминающее устройство (ROM) с минимальным объемом 4 Кбайта; - ОЗУ – оперативное запоминающее устройство (RAM) с объемом 128 байт; - параллельный ввод-вывод – устройство для передачи информации в параллельном коде, организованное в виде четырех восьмиразрядных программируемых портов; - последовательный ввод-вывод - устройство для передачи и приема информации в последовательном коде (последовательный порт); - два многорежимных таймера-счетчика (16 бит); - УУП – устройств управления прерываниями. Все элементы структуры связаны между собой системными шинами - линиями связи, организованными между собой по признаку передаваемой информации: - ША – шина адреса (16 линий-разрядов А0÷А15); - ШД – шина данных (8 линий-разрядов D0÷D7); - ШУ - шина управления, предназначенная для передачи от ЦП сигналов управления и синхронизации (на рис.3 не показана). Шины адреса и данных являются нормированными по формату передаваемой информации. Шина данных является двунаправленной и мультиплексированной. Двунаправленность означает передачу данных по шине в обоих направлениях, мультиплексирование - возможность передачи данных только между двумя элементами структуры в отдельный момент времени, то есть к шине может быть присоединен только один источник информации. Например, данные передаются от ЦП в ОЗУ, затем из порта в ЦП и т.д. Для организации режима мультиплексирования выходы всех источников данных должны иметь так называемое третье Z- состояние. Подключение необходимого в данный момент источника данных осуществляется по сигналам устройства управления. Система команд МК51 содержит 111 базовых команд с форматом 1, 2 или 3 байта. МК51 имеет [4]: - 32 РОН (регистра общего назначения); - 128 определяемых пользователем программно-управляемых флагов; - набор регистров специальных функций (SFR – Special Function Register). РОН и определяемые пользователем программно-управляемые флаги расположены в адресном пространстве внутреннего ОЗУ данных объемом 128 байт. Регистры специальных функций располагаются в отдельном пространстве объемом 128 байт. Необходимо отметить важную особенность обозначения регистров (далее по тексту выделено курсивом). Эти обозначения одновременно используются как символические имена (мнемокоды), которые используются в командах. Основные функции регистров: - А, АСС - регистр аккумулятора. Команды, предназначенные для работы с аккумулятором, используют мнемонику "А", например, MOV A, P2. Мнемоника "АСС" используется, к примеру, при побитовой адресации аккумулятора. Так, символическое имя пятого бита аккумулятора при использовании ассемблера ASM51 будет следующим: АСС. 5; - Регистр В. Используется во время операций умножения и деления. Для других инструкций регистр В может рассматриваться как дополнительный сверхоперативный регистр; - PSW - регистр состояния программы; - SP - указатель стека, 8-битовый регистр, содержимое которого показывает степень заполнения области ОЗУ, организуемой по принципу стека; - DPTR - регистр указатель данных, состоит из старшего байта (DPH) и младшего байта (DPL). Содержит 16-битовый адрес при обращении к внешней памяти. Может использоваться как 16 битовый регистр или как два независимых восьмибитовых регистра; - Р0, Р1, P2, Р3 – регистры -"защелки" соответственно портов Р0, Р1, P2, Р3; - SBUF - буфер последовательного порта, представляет собой два отдельных регистра: буфер передатчика и буфер приемника. Когда данные записываются в SBUF, они поступают в буфер передатчика, причем запись байта в SBUF автоматически инициирует его передачу через последовательный порт. Когда данные читаются из SBUF, они выбираются из буфера приемника; - TH0,TL0 и TH1,TL1 - регистры таймера (регистровые пары) образуют 16-битовые счетные регистры соответственно таймера/ счетчика 0 и таймера/счетчика 1; - IP, IE, TMOD, TCON, SCON и PCON – регистры управления, содержат биты управления и биты состояния системы прерываний, таймеров/счетчиков, последовательного порта и энергопотребления. Микроконтроллер при функционировании обеспечивае - минимальное время выполнения команд сложения - 1 мкс; - аппаратное умножение и деление с минимальным временем выполнения команд умножения/деления - 4 мкс. Важнейшей и отличительной чертой архитектуры семейства МК51 является то, что АЛУ может наряду с выполнением операций над 8-разрядными типами данных манипулировать одноразрядными данными. Отдельные программно-доступные биты могут быть установлены, сброшены или заменены их дополнением, могут пересылаться, проверяться и использоваться в логических вычислениях. Все эти действия выполняются булевым процессором семейства МК51. Благодаря такому мощному АЛУ набор инструкций микроЭВМ семейства МК51 одинаково хорошо подходит как для применений управления в реальном масштабе времени, так и для алгоритмов с большим объемом данных. Конструктивно микроконтроллеры 8051 выполнены в виде СБИС и могут размещаться в пластмассовых или металлокерамических корпусах двух типов: DIP-40 или PLCC-44, представленных на рис. 4 (цифры в обозначении корпуса означают количество выводов микросхемы).
а) б) Рис.4. Типы корпусов для микроконтроллеров 8051: а - DIP-40; б - PLCC-44
Корпуса DIP-40 предназначены для монтажа на печатную плату в отверстия. В некоторых случаях, например для отладочных работ, их размещают в переходную панель. Корпуса PLCC-44 предназначены для монтажа только в панель. Конструктивные и присоедини- тельные размеры микросхем приведены в прил.1, назначение выводов микросхемы – в табл.2.1 прил. 2, электрические характеристики - в табл.2.2 прил. 2. На рис.5 показано условное графическое обозначения микроконтроллера на принципиальных схемах с нумерацией выводов применительно к корпусу DIP-40.
Рис.5. Условное графическое обозначение микроконтроллеров семейства МК51(MCS51) и назначение выводов Микросхема имеет несколько групп выводов, связанных с их назначением: 1. Выводы передачи данных – 4 двунаправленных восьмиразрядных порта Р0,Р1,Р2,Р3, предназначенных для присоединения к внешним устройствам приема и передачи данных. 2. Выводы обеспечения функционирования микроконтроллера – VCC и VSS (питание микросхемы +5 В), RST (установка контроллера в исходное состояние при включении питания), Х1, Х2 (для присоединения внешнего кварцевого резонатора). 3. Выводы управления внешней памятью: (E xternal A ccess) - переключение между внутренней и внешней памятью программ; ALE (A ddress L ath E nable) - сигнал фиксации адреса внешней памяти); (P rogramm S tore En able) - стробирующий сигнал чтения данных из внешней памяти данных.
Рис.6. Использование портов Р0 и Р2 в качестве альтернативной функции интерфейса внешней памяти
Для уменьшения числа физических выводов микросхемы некоторые из них имеют вторую (альтернативную) функцию. Все выводы порта Р3 имеют альтернативные функции: - Р3.0 – вход приемника последовательного порта; - Р3.1 – выход передатчика последовательного порта; - Р3.2 – вход внешнего сигнала прерывания ; - Р3.3 – вход внешнего сигнала прерывания ; - Р3.4 – вход счетчика внешних событий Т0; - Р3.5 – вход счетчика внешних событий Т1; - Р3.6 – стробирующий сигнал записи данных во внешнюю память данных (ВПД); - Р3.7 – стробирующий сигнал чтения данных из внешней памяти данных (ВПД). Как было показано выше, шинная организация структуры микроконтроллера позволяет расширять систему путем подключения дополнительных элементов. В МК51 это возможно за счет передачи сигналов шин адреса и данных через порты Р0 и Р2, что позволяет нарастить объем внешней памяти до 64 Кбайт. Использование портов Р0 и Р2 в качестве альтернативной функции интерфейса внешней памяти показано на рис.6.
|