ОБЩИЕ СВЕДЕНИЯ ОБ ОДНОКРИСТАЛЬНЫХ МИКРОЭВМ СЕМЕЙСТВА MCS-51
Фирма Intel является родоначальницей архитектуры микроконтроллеров семейства MCS-51, которое получило свое название от первого представителя этого семейства - микроконтроллера i 8051, выпущенного в 1980 г. на базе технологии n-МОП. Удачный набор периферийных устройств, возможность гибкого выбора внешней или внутренней программной памяти и приемлемая цена обеспечили этому микроконтроллеру большой и длительный успех среди разработчиков микропроцессорных устройств управления. Это подтверждается тем, что, и спустя 30 лет после выпуска первого микроконтроллера i8051, его архитектура остается основой для микроконтроллеров, выпускаемых такими фирмами как Analog Devices, Atmel, Phillips, Dallas Semiconductor и др. Архитектура семейства MCS-51 в значительной мере предопределяется ее назначением - построение компактных и дешевых цифровых устройств. Все функции микроЭВМ реализуются с помощью единственной микросхемы. В состав семейства MCS-51 входит целый ряд микросхем от самых простых микроконтроллеров, до достаточно сложных. Микроконтроллеры семейства MCS-51 позволяют выполнять как задачи управления различными устройствами, так и реализовывать отдельные узлы аналоговой схемы. Все микросхемы этого семейства имеют общую систему команд, большинство из них изготавливается в одинаковых корпусах, с совпадающей цоколевкой (нумерация выводов для корпуса). Это позволяет использовать для разработанного устройства микросхемы разных фирм - производителей без переделки принципиальной схемы устройства и программы. С точки зрения технологии микроконтроллер i8051 являлся для своего времени очень сложным изделием - в кристалле было использовано 128 тыс. транзисторов, что в 4 раза превышало количество транзисторов в 16-разрядном микропроцессоре i8086. Указанный микроконтроллер остается ядром семейства MCS-51 и по сей день [2,3]. Основными элементами базовой архитектуры семейства (архитектуры микроконтроллера 8051) являются: - 8-разрядное АЛУ; - 4 банка регистров, по 8 регистров в каждом; - внутренняя (резидентная) память программ 4 Кбайт, имеющая тип ROM или EPROM - внутренняя (резидентная) память данных 128 байт; - 21 регистр специальных функций; - булевый процессор; - два 16-разрядных таймера/счетчика; - контроллер последовательного порта (УАПП); - контроллер обработки прерываний с двумя уровнями приоритетов; - четыре 8-разрядных порта ввода/вывода, два из которых используются в качестве шины адреса/данных для доступа к внешней памяти программ и данных; - встроенный тактовый генератор. Затем был выпущен микроконтроллер i8052, который отличался увеличенным объемом резидентной памяти программ (8 Кбайт) и данных (256 байт), дополнительным третьим таймером и соответственно расширенным контроллером прерываний. Следующим принципиальным шагом в развитии MCS-51 стал перевод технологии изготовления на КМОП (модификация 8xC51). Это позволило реализовать режимы Idl (холостой ход) и Power Down (пониженное потребление), обеспечивающие резкое снижение энергопотребления кристалла и открывшие дорогу к применению микроконтроллера в энергозависимых приложениях, например, в автономных приборах с батарейным питанием. И последним важным этапом развития МК 8051 фирмой Intel стал выпуск микроконтроллеров 8xC51FA/FB/FC и 8xC51RA/RB/RC, которые для краткости часто обозначаются как 8xC51Fx и 8xC51Rx. Главной отличительной особенностью этой группы кристаллов является наличие у них специализированного таймера/счетчика - программируемая счетная матрица (РСА). Кроме того, микроконтроллеры 8xC51Rx дополнительно содержат сторожевой таймер (WDT). В настоящее время семейство микроконтроллеров MCS-51 состоит из десяти подсемейств, имеющих одинаковую базовую структуру, приведенную на рис. 3, и общую систему команд. В состав микроконтроллера входят центральный процессор (ЦП), внутреннее постоянное запоминающее устройство (ПЗУ), внутреннее оперативное запоминающее устройство (ОЗУ), набор периферийных устройств: параллельные и последовательные порты ввода-вывода, таймеры, система прерываний. К микроконтроллеру можно подключить внешнюю постоянную память (ВПП), внешнюю оперативную память (ВПД) и внешние периферийные устройства. Рис. 3. Архитектура однокристальных микро-ЭВМ семейства МК51 (базовая часть)
Подсемейства различаются емкостью внутренних запоминающих устройств, набором расположенных на кристалле периферийных устройств, быстродействием и другими характериcтиками. Это открывает большие возможности при разработке систем, содержащих встроенные микроконтроллеры. В табл. 1 перечислены подсемейства и приведены обозначения типов микроконтроллеров семейства MCS-51 фирмы Intel. Микроконтроллеры одного типа выпускаются в трех исполнениях: без внутреннего ПЗУ (ROM less), с внутренним ПЗУ масочного типа (maskROM) и с внутренним программируемым ПЗУ с ультрафиолетовым стиранием (EPROM). Для стирания ПЗУ EPROM в корпусе микросхемы существует прозрачное окно. Микроконтроллеры подсемейств 51 и 52 изготавливаются по высококачественной n-МОП (HMOS) технологии, а остальных подсемейств – по комплементарной КМОП (CHMOS) технологии. В странах СНГ выпускаются аналоги микроконтроллеров подсемейств 51 и 51С, выполненные по n-МОП технологии [2]: КР1816ВЕ31 (8031АН), КР1816ВЕ51 (8051АН); по n-МОП технологии с УФ стиранием – КМ1816ВЕ751 (8751Н); по комплементарной КМОП - технологии КР1830ВЕ31 (80С31ВН), КР1830ВЕ51 (80С51ВН). В скобках указаны аналоги фирмы Intel. В табл. 2 приведен перечень всех периферийных устройств, используемых в микроконтроллерах семейства MCS-51 [2].
Таблица 1
Таблица 2
P (параллельный порт) - предназначен для приема и выдачи байта данных в параллельном коде. Микроконтроллеры разных подсемейств и типов имеют от 4 до 7 восьмиразрядных портов (P0, P1,…). AF (альтернативные функции отдельных портов) - В табл. 2 указано суммарное число разрядов параллельных портов, выполняющих альтернативные функции. IC (система прерываний) - в базовой конфигурации включает 5 источников прерываний: два внешних и три внутренних. Число источников запросов прерываний определяется подсемейством, максимальное число источников прерывания 15 имеет подсемейство GB, из которых 8 внешние. Т/С(0,1) (таймеры – счетчики) - имеются у микроконтроллеров всех подсемейств и служат для счета времени (таймер) или счета внешних событий (счетчик). При работе последовательного порта (SP, ESP) таймер/счетчик T/C1 используется в качестве генератора синхросигнала, частота которого определяет скорость обмена данными. T/C2 (усовершенствованный таймер – счетчик) - выполняет ряд дополнительных функций: запоминание текущего состояния; авто перезагрузку с изменением направления счета; генерацию второго синхросигнала для последовательного порта SP или ESP, позволяющую вести прием и передачу данных с разной скоростью; формирование внешнего сигнала программируемой частоты. SP (последовательный порт) - используется для приема и передачи данных в последовательном коде. ESP (усовершенствованный последовательный порт) - выполняет автоматическое опознание адреса при работе в простейшей локальной сети и осуществляет автоматический контроль формата принимаемого кадра данных. PCA (программируемая счетная матрица) – состоит из 16-разрядного таймера - счетчика, состояние которого передается в пять 16-разрядных модулей фиксации - сравнения, управляемых внешними событиями. Появление события на входе любого модуля может фиксировать состояние счетчика, сравнивать его состояние с заданным, осуществлять быстрый вывод кода состояния таймера/счетчика, формировать сигнал с широтно-импульсной модуляцией (ШИМ). WDT (сторожевой таймер) - служит для предотвращения зависания микроконтроллера при зацикливании программы и представляет собой 14-разрядный счетчик машинных циклов процессора. При его переполнении микроконтроллер сбрасывается в исходное состояние. Программа должна периодически сбрасывать сторожевой таймер в нулевое состояние, не допуская его переполнения. При сбое в работе микроконтроллера очередной сброс таймера не выполняется, происходит сброс микроконтроллера, и программа начинает выполняться с нулевого адреса. ADC (аналого-цифровой преобразователь) - имеется только в подсемействе GB. 8-разрядный АЦП обслуживает с помощью коммутатора 8 аналоговых каналов. Результат преобразования аналогового сигнала каждого канала фиксируется в отдельном регистре. Время преобразования для одного канала составляет около 26 мкс при тактовой частоте микроконтроллера 12 мГц. Перечень устройств, дополняющих работу процессора, позволяет выбрать микроконтроллер, из числа представленных в семействе MCS-51, для решения задач управления любой сложности.
|