Фирма Intel является родоначальницей архитектуры семейства MCS-51, которое получило свое название от первого представителя этого семейства - микроконтроллера 8051, выпущенного в 1980 году на базе технологии n-МОП. Удачный набор периферийных устройств, возможность гибкого выбора внешней или внутренней программной памяти и приемлемая цена обеспечили этому микроконтроллеру успех на рынке. С точки зрения технологии микроконтроллер 8051 являлся для своего времени очень сложным изделием - в кристалле было использовано 128 тыс. транзисторов, что в 4 раза превышало количество транзисторов в 16-разрядном микропроцессоре 8086. Указанный микроконтроллер остается ядром семейства MCS-51 и по сей день.
Основными элементами базовой архитектуры семейства (архитектуры микроконтроллера 8051) являются:
- 8-разрядное АЛУ;
- 4 банка регистров, по 8 в каждом;
- внутренняя (резидентная) память программ 4 Кбайт, имеющая тип ROM или EPROM (8751);
- внутренняя (резидентная) память данных 128 байт;
- 21 регистр специальных функций;
|
|
- булевый процессор;
- два 16-разрядных таймера/счетчика;
- контроллер последовательного порта (UART);
- контроллер обработки прерываний с двумя уровнями приоритетов;
- четыре 8-разрядных порта ввода/вывода, два из которых используются в качестве шины адреса/данных для доступа к внешней памяти программ и данных;
- встроенный тактовый генератор.
Затем был выпущен микроконтроллер 8052, который отличался увеличенным объемом резидентной памяти программ и данных, введенным третьим таймером и соответственно расширенным контроллером прерываний.
Следующим принципиальным шагом в развитии MCS-51 стал перевод технологии изготовления на КМОП (модификация 8xC51). Это позволило реализовать режимы Idl (холостой ход) и Power Down (пониженное потребление), обеспечивающие резкое снижение энергопотребления кристалла и открывшие дорогу к применению микроконтроллера в энергозависимых приложениях, например, в автономных приборах с батарейным питанием.
И последним важным этапом развития МК 8051 фирмой Intel стал выпуск микроконтроллеров 8xC51FA/FB/FC и 8xC51RA/RB/RC, которые для краткости часто обозначаются как 8xC51Fx и 8xC51Rx. Главной отличительной особенностью этой группы кристаллов является наличие у них специализированного таймера/счетчика (РСА). Кроме того, микроконтроллеры 8xC51Rx дополнительно содержат сторожевой таймер (WDT). Рассмотрим архитектуру и функциональные возможности PCA более подробно.
В состав РСА входят:
- 16-разрядный таймер/счетчик;
- пять 16-разрядных модуля выборки и сравнения, каждый из которых связан со своей линией порта ввода/вывода микроконтроллера.
Таймер/счетчик обслуживает все пять модулей выборки и сравнения, которые могут быть запрограммированы на выполнение одной из следующих функций:
|
|
- 16-битовая выборка значения таймера по положительному фронту внешнего сигнала;
- 16-битовая выборка значения таймера по отрицательному фронту внешнего сигнала;
- 16-битовая выборка значения таймера по любому фронту внешнего сигнала;
- 16-битовый программируемый таймер;
- 16-битовое устройство скоростного вывода;
- 8-битовый ШИМ.
Выполнение всех перечисленных функций происходит в РСА на аппаратном уровне и не загружает центральный процессор. Указанное позволяет повысить общую пропускную способность, повысить точность измерений и обработки сигналов и снизить время реакции микроконтроллера на внешние события, что особенно важно для систем реального времени. Реализованный в 8xC51Fx (8xC51Rx) РСА оказался настолько
Обозначение | Макс. частота (МГц) | РПП ROM/EPROM (байт) | РПД (байт) | Таймеры/ счетчики | |
8051AH | ROM 4K | ||||
8751BH | EPROM 4K | ||||
8052AH | ROM 8K | ||||
8752BH | EPROM 8K | ||||
8xC51BH | 4K | ||||
8xC52 | 8K | ||||
8xC54 | 16K | ||||
8xC58 | 32K | ||||
8xC5x-L | 8…32K | ||||
8xC51FA | 8K | 3+PCA | |||
8xC51FB | 16K | 3+PCA | |||
8xC51FC | 32K | 3+PCA | |||
8xL51Fx | 8…32K | 3+PCA | |||
8xC51RA | 8K | 3+PCA+WDT | |||
8xC51RB | 16K | 3+PCA+WDT | |||
8xC51RC | 32К | 3+PCA+WDT | |||
8xC251SA | 8K | 1K | 3+PCA+WDT | ||
8xC251SB | 16K | 1K | 3+PCA+WDT | ||
8xC251SP | 8K | 3+PCA+WDT | |||
8xC251SQ | 16K | 3+PCA+WDT | |||
TSC8xC251A1 | 24K | 1K | 2+WDT | ||
8xC151SA | 8K | 3+PCA+WDT | |||
8xC151SB | 16K | 3+PCA+WDT |
удачным, что архитектура этих микроконтроллеров стала промышленным стандартом, а сам РСА многократно воспроизводился в различных модификациях МК 8051.
Некоторые характеристики ряда микроконтроллеров MCS-51, выпускаемых фирмой Intel, приведены в табл.1.1.
Изначально наиболее "узкими" местами архитектуры MCS-51 были 8-разрядное АЛУ на базе аккумулятора и относительно медленное выполнение команд (для выполнения самых быстрых команд требуется 12 пе-
Таблица 1.1
Линии ввода/вывода | Послед. каналы | АЦП, входы x разряды | Другая периферия, особенности | U пит. (В) | |
UART | - | - | 4,5…5,5 | ||
UART | - | - | 4,5…5,5 | ||
UART | - | - | 4,5…5,5 | ||
UART | - | - | 4,5…5,5 | ||
UART | - | - | 4,0…6,0 | ||
UART | - | - | 4,0…6,0 | ||
UART | - | - | 4,0…6,0 | ||
UART | - | - | 4,0…6,0 | ||
UART | - | Низковольтный вариант 8xC52/54/58 | 2,7…3,6 | ||
UART | - | - | 4,0…6,0 | ||
UART | - | 4 уровня IRQ, clock out | 4,0…6,0 | ||
UART | - | 4 уровня IRQ, clock out | 4,0…6,0 | ||
UART | - | Низковольтный вариант 8xC51Fx | 2,7…3,6 | ||
UART | - | 4 уровня IRQ, clock out | 4,0…6,0 | ||
UART | - | 4 уровня IRQ, clock out | 4,0…6,0 | ||
UART | - | 4 уровня IRQ, clock out | 4,0…6,0 | ||
UART | - | - | 4,5…5,5 | ||
UART | - | - | 4,5…5,5 | ||
UART | - | - | 4,5…5,5 | ||
UART | - | - | 4,5…5,5 | ||
UART | 4x8 | - | 4,5…5,5 | ||
UART | - | - | 4,5…5,5 | ||
UART | - | - | 4,5…5,5 |
риодов тактовой частоты (частоты синхронизации МК)). Это ограничивало применение микроконтроллеров семейства в приложениях, требующих повышенного быстродействия и сложных вычислений (16- и 32-битовых). Насущным стал вопрос принципиальной модернизации архитектуры MCS-51. Проблема модернизации осложнялась тем, что к началу 90-х годов уже была создана масса наработок в области программного и аппаратного обеспечения семейства MCS-51, в связи с чем одной из основных задач проектирования новой архитектуры была реализация аппаратной и программной совместимости с разработками на базе MCS-51.
Для решения указанной задачи была создана совместная группа из специалистов компаний Intel и Philips, но позднее пути этих двух фирм разошлись. В результате в 1995 году появилось два существенно отличающихся семейства: MCS-251/151 у Intel и MCS-51XA у Philips (см. подраздел 1.2).
|
|
Основные характеристики архитектуры MCS-251:
- 24-разрядное линейное адресное пространство, обеспечивающее адресацию до 16 Мбайт памяти;
- регистровая архитектура, допускающая обращение к регистрам как к байтам, словам и двойным словам;
- страничный режим адресации для ускорения выборки команд из внешней программной памяти;
- очередь инструкций;
- расширенный набор команд, включающий 16-битовые арифметические и логические операции;
- расширенное адресное пространство стека (до 64 Кбайт);
- выполнение самой быстрой команды за 2 такта.
Система команд MCS-251 включает два набора инструкций - первый набор является копией системы команд MCS-51, а второй состоит из расширенных инструкций, реализующих преимущества архитектуры MCS-251. Перед использованием микроконтроллера его необходимо сконфигурировать, т.е. с помощью программатора "прожечь" конфигурационные биты, определяющие, какой из наборов инструкций станет активным после включения питания. Если установить первый набор инструкций, то в этом случае МК семейства MCS-251 будет совместим с MCS-51 на уровне двоичного кода. Такой режим называется Binary Mode. Если же изначально установить набор расширенных инструкций (режим Source Mode), то тогда программы, написанные для MCS-51, потребуют перекомпиляции на кросс-средствах для MCS-251. Режим Source Mode позволяет с максимальной эффективностью использовать архитектуру MCS-251 и достигнуть наибольшего быстродействия.
Для пользователей, ориентированных на применение микроконтроллеров MCS-251 в качестве механической замены MCS-51, фирма Intel выпускает микроконтроллеры MCS-151, уже запрограммированные в состояние Binary Mode.
Некоторые характеристики ряда микроконтроллеров MCS-251/151 приведены в табл.1.1.
В настоящее время Intel, устремленная на рынок Pentium-процессоров, сворачивает производство кристаллов MCS-51. В целом для конкретного разработчика это может остаться и незамеченным, если только он не использует микроконтроллеры 8xC51GB и 80C152Jx, которые не имеют своих точных аналогов среди изделий других фирм. Что же касается всех остальных микроконтроллеров семейства MCS-51, то все они многократно растиражированы другими компаниями.
|
|