Микроконтроллеры MCS-48
Микроконтроллеры MCS-48 — это семейство 8-битных микроконтроллеров, разработанных корпорацией Intel в середине 1970-х годов. Они стали первыми коммерчески успешными однокристальными микроконтроллерами, объединившими на одном кристалле процессорное ядро, оперативную память (ОЗУ), постоянную память (ПЗУ) и порты ввода-вывода. Семейство MCS-48 заложило основы для последующих поколений встраиваемых систем и оказало значительное влияние на развитие микроэлектроники.
История
Разработка MCS-48 началась в 1975 году под руководством инженеров Intel, в частности, Стивена Мазора и Джона Уэйкели. Проект был ответом на растущий спрос со стороны производителей бытовой техники, автомобильной электроники и промышленного оборудования на компактные и недорогие вычислительные устройства, способные выполнять простые задачи управления. В то время существовавшие микропроцессоры (например, Intel 8080) требовали множества внешних компонентов — памяти, контроллеров ввода-вывода, тактовых генераторов, что делало системы громоздкими и дорогими.
Первый микроконтроллер семейства, Intel 8048, был выпущен в 1976 году. Он содержал 1 килобайт масочного ПЗУ (ROM) для хранения программы, 64 байта ОЗУ для данных, 8-битное процессорное ядро, два 8-битных порта ввода-вывода (всего 27 линий ввода-вывода) и 8-битный таймер/счетчик. Тактовая частота составляла 6 МГц. Вскоре последовали модификации: 8035 (без встроенного ПЗУ, требовал внешнюю память программы), 8039 (с уменьшенным до 2 КБ ПЗУ) и 8049 (с 2 КБ ПЗУ и 128 байтами ОЗУ).
Семейство MCS-48 быстро завоевало популярность благодаря своей простоте, низкой цене и высокой надежности. Оно использовалось в клавиатурах, игрушках, принтерах, микроволновых печах, автомобильных системах зажигания и других устройствах. Пик производства пришёлся на 1980-е годы. В 1990-х годах MCS-48 были постепенно вытеснены более совершенными архитектурами, такими как MCS-51 (Intel 8051) и PIC, но оставались в производстве до начала 2000-х годов.
Архитектура и устройство
Процессорное ядро
Ядро MCS-48 основано на 8-битной гарвардской архитектуре, где память программ и память данных физически разделены и имеют разные шины доступа. Это позволяло одновременно выполнять выборку команды и чтение/запись данных. Процессор имел:
- Аккумулятор (A) — основной 8-битный регистр для арифметических и логических операций.
- Регистр состояния (PSW) — 8-битный регистр, содержащий флаги переноса, нуля, знака и другие.
- Регистр стека (SP) — 8-битный указатель стека, который мог адресовать до 8 уровней вложенности (стек располагался во внутреннем ОЗУ).
- Программный счетчик (PC) — 13-битный счетчик, адресующий до 4 КБ памяти программ (внешней или внутренней).
Память
- Память программ (ROM/EPROM/OTP): Внутренняя емкость варьировалась от 1 КБ (8048) до 4 КБ (8049, 8050). В моделях без ПЗУ (8035, 8039) программа загружалась из внешней памяти по 8-битной шине.
- Память данных (RAM): Внутренняя емкость составляла 64 байта (8048) или 128 байт (8049, 8050). Внешняя память данных могла быть расширена до 256 байт через порты ввода-вывода.
- Регистры: 8 регистров общего назначения (R0–R7) в банке 0 и 8 — в банке 1 (переключались битом PSW).
Порты ввода-вывода
MCS-48 имел три порта ввода-вывода:
- P1 и P2 — 8-битные двунаправленные порты с открытым стоком (в ранних версиях) или с тремя состояниями. Каждая линия могла быть настроена на ввод или вывод.
- P4 (только в некоторых моделях) — 4-битный порт для подключения внешних устройств.
Таймер/счетчик
8-битный таймер/счетчик (T0) мог работать в двух режимах:
- Режим таймера: считал такты внутреннего генератора (деление на 32 или на 2).
- Режим счетчика: считал внешние импульсы на входе T0.
Система команд
Система команд MCS-48 насчитывала 96 инструкций, большинство из которых выполнялись за один или два машинных цикла (2,5–5 мкс при 6 МГц). Основные группы команд:
- Пересылки данных: MOV, MOVX (для внешней памяти), XCH.
- Арифметические: ADD, ADDC, INC, DEC, DA (десятичная коррекция).
- Логические: ANL, ORL, XRL, CLR, CPL.
- Переходы: JMP, CALL, RET, JZ, JNZ, JB, JNB, DJNZ.
- Управление портами: IN, OUT, ANL P, ORL P.
Разновидности
Семейство MCS-48 включало несколько основных моделей, различавшихся типом и объемом памяти, тактовой частотой и корпусом:
| Модель | Внутреннее ПЗУ | Внутреннее ОЗУ | Особенности |
|---|---|---|---|
| 8035 | Нет (требуется внешнее ПЗУ) | 64 байта | Базовая модель без ПЗУ |
| 8039 | Нет | 128 байт | Увеличенное ОЗУ |
| 8048 | 1 КБ (ROM) | 64 байта | Первая модель с ПЗУ |
| 8049 | 2 КБ (ROM) | 128 байт | Увеличенные память и ОЗУ |
| 8050 | 4 КБ (ROM) | 256 байт | Максимальная конфигурация |
| 8748 | 1 КБ (EPROM) | 64 байта | Версия с программируемой памятью (EPROM) |
| 8749 | 2 КБ (EPROM) | 128 байт | Версия с EPROM |
Также существовали версии с пониженным энергопотреблением (например, 80C48 — CMOS-версия) и с расширенным температурным диапазоном.
Применение
Микроконтроллеры MCS-48 нашли широкое применение в различных отраслях благодаря своей универсальности и низкой стоимости. Основные области использования:
- Бытовая техника: микроволновые печи, стиральные машины, кофеварки, телевизоры, видеомагнитофоны.
- Компьютерная периферия: клавиатуры (включая первые IBM PC/XT), мыши, принтеры, дисководы.
- Автомобильная электроника: системы управления двигателем, антиблокировочные системы (ABS), электронные зажигания.
- Игрушки и игры: первые электронные игры, игрушечные роботы, игровые автоматы.
- Промышленность: контроллеры для станков, датчики, системы управления освещением.
Одним из наиболее известных применений MCS-48 было управление клавиатурой персональных компьютеров IBM PC (модель 8048). Микроконтроллер обрабатывал нажатия клавиш, формировал скан-коды и передавал их в системный блок через последовательный интерфейс.
Наследие и влияние
MCS-48 считается одним из важнейших этапов в истории микроэлектроники. Он доказал возможность создания полноценного вычислительного устройства на одном кристалле, что привело к массовому внедрению встраиваемых систем. Архитектура MCS-48 оказала прямое влияние на последующие семейства Intel — MCS-51 (Intel 8051), которое стало одним из самых популярных микроконтроллеров в истории. Кроме того, многие концепции MCS-48 (гарвардская архитектура, встроенные таймеры, порты ввода-вывода) были заимствованы другими производителями, такими как Microchip (PIC), Atmel (AVR) и Zilog (Z8).
Производство MCS-48 продолжалось до середины 1990-х годов, а некоторые версии (например, 80C48) выпускались до 2000-х годов. В настоящее время они полностью сняты с производства, но их наследие сохраняется в виде многочисленных клонов и совместимых микросхем, выпускаемых другими компаниями (например, NEC, Toshiba, Hitachi).
Критика
Несмотря на успех, MCS-48 имел ряд недостатков:
- Ограниченный объем памяти: 1–4 КБ ПЗУ и 64–256 байт ОЗУ были недостаточны для сложных задач.
- Медленная работа: тактовая частота 6 МГц и длительность машинного цикла (2,5 мкс) ограничивали производительность.
- Отсутствие встроенного стека: стек использовал часть ОЗУ, что сокращало доступное пространство для данных.
- Сложность программирования: система команд была не очень удобной, отсутствовали инструкции для работы с многобайтовыми числами и прерываниями (в ранних версиях).
Эти ограничения привели к разработке более совершенных архитектур, таких как MCS-51, которая устранила многие из них.
Интересные факты
- Микроконтроллер 8048 использовался в системе управления первой модели персонального компьютера IBM PC (1981 год). Он отвечал за клавиатуру и некоторые функции управления питанием.
- В 1980-х годах MCS-48 применялся в электронных игрушках, например, в знаменитой игре «Тетрис» (первая портативная версия).
- Некоторые модели MCS-48 (например, 8748) имели кварцевое окно для стирания EPROM ультрафиолетом — это был один из первых примеров программируемых микроконтроллеров.
Источники
- Intel MCS-48 Microcomputer User's Manual (1978)
- Intel 8048/8049/8050 Data Sheet (1980)
- «Микропроцессоры и микроЭВМ» — под ред. В.А. Мясникова (1985)
- «The 8080/8085 Microprocessor Book» — Intel Corporation (1980)
- «Embedded Systems: Architecture, Programming and Design» — Raj Kamal (2008)
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →