68HC11
68HC11 — это 8-битный микроконтроллер семейства M68HC, разработанный компанией Motorola (впоследствии Freescale Semiconductor, ныне NXP Semiconductors). Представленный в 1985 году, он стал одним из первых микроконтроллеров с встроенной памятью EEPROM и усовершенствованной системой команд, что сделало его популярным в образовательных и промышленных приложениях, а также в системах управления автомобилями и бытовой техникой.
История
Разработка 68HC11 началась в начале 1980-х годов как эволюция более раннего микроконтроллера Motorola 6801. Основной целью было создание устройства с большей вычислительной мощностью, расширенными периферийными возможностями и поддержкой энергонезависимой памяти для хранения данных без постоянного питания. В 1985 году Motorola выпустила первые образцы, а серийное производство началось в 1986 году.
Микроконтроллер быстро завоевал популярность благодаря своей надёжности и простоте использования. В 1990-е годы он активно применялся в учебных курсах по микропроцессорной технике, особенно в университетах США и Европы. В России 68HC11 также использовался в образовательных целях, а также в промышленных контроллерах и системах управления автомобилями (например, в некоторых моделях Ford и General Motors). После поглощения Freescale компанией NXP в 2015 году производство 68HC11 было прекращено, однако он остаётся востребованным в ретро-вычислительной технике и любительских проектах.
Архитектура
68HC11 построен на 8-битной архитектуре с гарвардским принципом разделения памяти команд и данных (хотя в некоторых модификациях используется фон-неймановская архитектура). Он включает в себя центральный процессор (CPU), оперативную память (RAM), постоянную память (ROM или EPROM), а также набор периферийных модулей.
Центральный процессор
CPU 68HC11 имеет 8-битное арифметико-логическое устройство (АЛУ), 16-битный индексный регистр (X), 16-битный указатель стека (SP) и 16-битный счётчик команд (PC). Регистры общего назначения включают два аккумулятора (A и B), которые могут объединяться в 16-битный регистр D. Система команд включает 91 базовую инструкцию, поддерживающую операции с байтами, словами и битами.
Память
Объём встроенной памяти варьируется в зависимости от модели:
- RAM: от 256 байт до 1 КБ.
- ROM/EPROM: от 4 КБ до 32 КБ.
- EEPROM: до 512 байт (в моделях с индексом «E», например, 68HC11E9).
Внешняя память адресуется через 16-битную шину, что позволяет подключать до 64 КБ памяти (включая встроенную). Для расширения адресного пространства используется банковская переключение (bank switching) в некоторых модификациях.
Периферийные модули
68HC11 включает следующие встроенные периферийные устройства:
- Таймеры: 16-битный таймер с тремя каналами захвата/сравнения и одним каналом импульсного накопления.
- Последовательные интерфейсы: асинхронный (SCI) и синхронный (SPI).
- Аналого-цифровой преобразователь (АЦП): 8-канальный, 8-битный, с частотой преобразования до 20 кГц.
- Порты ввода/вывода: до 38 линий общего назначения, организованных в 5 портов (A, B, C, D, E).
- Система прерываний: 16 уровней приоритетов, включая внешние и внутренние источники.
Классификация
68HC11 выпускался в нескольких вариантах, различающихся типом памяти и корпусом:
- 68HC11A8: 8 КБ ROM, 256 байт RAM, 512 байт EEPROM.
- 68HC11E9: 12 КБ EPROM, 512 байт RAM, 512 байт EEPROM.
- 68HC11F1: без встроенной ROM, 1 КБ RAM, 512 байт EEPROM (предназначен для внешней памяти).
- 68HC11K4: 24 КБ ROM, 768 байт RAM, 640 байт EEPROM.
Корпуса включали DIP-40, PLCC-44 и QFP-64. Для промышленных применений выпускались версии с расширенным температурным диапазоном (-40°C до +85°C).
Применение
Благодаря низкому энергопотреблению (типично 15 мА при 5 В) и встроенному АЦП, 68HC11 нашёл применение в различных областях:
- Автомобильная электроника: системы управления двигателем (ECU), антиблокировочные тормозные системы (ABS), подушки безопасности.
- Бытовая техника: микроволновые печи, стиральные машины, кондиционеры.
- Промышленные контроллеры: программируемые логические контроллеры (ПЛК) малой мощности, системы управления станками.
- Образование: популярные учебные платы (например, Motorola HC11 Evaluation Board) для изучения микроконтроллеров и ассемблера.
- Хобби и ретро-вычислительная техника: любительские проекты, эмуляторы и реставрация старого оборудования.
Разработка и программирование
Программирование 68HC11 осуществляется на ассемблере или языках высокого уровня (C, Forth). Для разработки использовались следующие инструменты:
- Ассемблеры: Motorola AS11 (в составе пакета M68HC11 Development Kit), GNU AS (с поддержкой архитектуры HC11).
- Компиляторы C: IAR Embedded Workbench, Cosmic C, GCC (через порт для HC11).
- Отладчики: аппаратные эмуляторы (например, Motorola M68HC11EVB), симуляторы (например, VICE).
- Программаторы: параллельные (для EPROM) и последовательные (для EEPROM) устройства, такие как Motorola M68HC11PGM.
Для загрузки программ в EEPROM использовался специальный загрузчик (bootloader), который мог быть активирован через последовательный порт.
Критика и ограничения
Несмотря на популярность, 68HC11 имел ряд недостатков:
- Низкая производительность: тактовая частота не превышала 4 МГц, что ограничивало применение в задачах реального времени.
- Ограниченная память: максимальный объём встроенной ROM (32 КБ) был недостаточным для сложных проектов.
- Сложность расширения: внешняя память требовала дополнительных микросхем и увеличивала стоимость.
- Отсутствие встроенного USB: для связи с компьютером требовался преобразователь интерфейсов.
- Устаревшая архитектура: к 2000-м годам 68HC11 был вытеснен более современными микроконтроллерами (например, AVR, PIC, ARM Cortex-M).
Интересные факты
- 68HC11 стал основой для первого в мире коммерческого микроконтроллера с встроенной EEPROM — модели 68HC11A8.
- В 1990-е годы на базе 68HC11 был создан бортовой компьютер для космических аппаратов NASA (например, в программе «Mars Pathfinder»).
- Микроконтроллер использовался в некоторых моделях игровых автоматов (например, в аркадных системах Sega).
- В России 68HC11 применялся в учебных лабораториях МГТУ им. Н. Э. Баумана и МИФИ для курсов по микропроцессорной технике.
Источники
- Motorola. M68HC11 Reference Manual (1991). Motorola Inc.
- Freescale Semiconductor. HC11 Microcontrollers Data Sheet (2004). Freescale Semiconductor, Inc.
- Peatman, J. B. Design with Microcontrollers (1997). McGraw-Hill.
- Valvano, J. W. Embedded Microcomputer Systems: Real Time Interfacing (1999). Brooks/Cole.
- Техническая документация Motorola (архив NXP Semiconductors).
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →