Что общего у торгового автомата, светофора и говорящего плюшевого медведя? Вопрос, наверное, не из самых простых, поэтому не будем вас томить: все они управляются с помощью микроконтроллера Intel 8051 – пожалуй, самого популярного контроллера для встраиваемых систем за всю их историю. И хотя еще в 1996 году 8051 был заменен Intel на более совершенную модель, его клоны по сей день продолжают выпускаться десятком компаний. Думается, столь необычный долгожитель достоин хотя бы небольшого поста.
Хотелось бы сразу оговориться. Корректнее говорить о мега успешном семействе контроллеров Intel MCS-51, состоящим из 13 представителей: 8031, 8051, 80C31,80C51, 8032, 8052, 80C32, 80C52, 8751, 8752, 87C51, 80C152, 8XC51FA. Однако 8051 стоит в ней все-таки особняком – именно эта модель стала прорывной, поэтому в дальнейшем будем рассматривать и весь ряд целиком, и 8051 в качестве примера.
Intel 8051 пришел на смену своему предшественнику 8048 в 1980 году. Причиной его успеха стало сочетание здорового консерватизма и технологических нововведений, так необходимых в то время и практически сразу подхваченных рынком. Все эти нововведения так или иначе касались производительности. Основная структура 8-разрядного арифметико-логического устройства сохранилась, однако было введено огромное количество битово-ориентированных операций; увеличилось количество команд пересылки без участия аккумулятора, были добавлены команды умножения, деления и новые команды вычитания. Появились усовершенствования при работе со стеком.
Контроллер Intel 8051
Изменения в структуре временного цикла микроконтроллера привели к значительному ускорению работы с внешней памятью программ и данных. Было расширено адресное пространство внутренней памяти программ и увеличено пространство внешней памяти программ и данных до 64 Кбайт. 16-битные регистры счетчика команд и указателя данных позволили напрямую обращаться ко всему диапазону адресов, что дало возможность реализации быстрой обработки больших массивов данных. Все программно-доступные узлы микроконтроллера сведены в специальную область памяти данных, что позволило обращаться к ним как к обычным ячейкам резидентного ОЗУ. При сохранении потребления кристаллов была значительно увеличена максимальная тактовая частота микроконтроллеров до 12-16 МГц.
Обобщенная структурная схема контроллера Intel 8051
Контроллер Intel 8051 состоит из следующих основных компонент:
- 8-разрядного ЦП (1-байтное АЛУ и схема аппаратной реализации умножения и деления);
- ПЗУ программ емкостью 4 Кб;
- ОЗУ данных емкостью 128 байт;
- 32-х дуплексных программируемых интерфейсных линий;
- двух 16-битных таймеров для подсчета внешних событий и тактирования коммуникационного порта;
- асинхронного дуплексного последовательного канала ввода/вывода со скоростью до 375 кбит/сек.
Intel 8051 стал первым встраиваемым контроллером, научившемся получать и передавать данные одновременно, что также предопределило его успех. Теперь мощности MCS-51 хватало и для использования, скажем, в приставках кабельного телевидения (там они отвечают за синхронизацию, декодирование аудио и OSD). Другим важным шагом вперед стал переход на КМОП-технологию производства, что открыло для MCS-51 мир портативной техники, и не только устройств и приборов, но и, как уже говорилось, замечательных и крайне прогрессивных на то время детских игрушек, вроде медвежонка Talking Wrinkles (контроллер 80С31, 1986 год).
Рекламное видео игрушки Talking Wrinkles
В 1990 году Intel отмечала своеобразный юбилей – 100 миллионов выпущенных контроллеров MCS-51. Это поистине было временем расцвета серии, контроллеры тогда выходили в свет с умопомрачительной скоростью – 1 штука за 0.7 секунды! И каждой штуке находилось применение: в автомобильных бортовых системах ведущих производителей, таких как Ford, General Motors, Saab, Volkswagen и BMW; в бортовых авиационных самописцах и тысячах других важных и нужных устройств. Не удивительно, что следующие 100 миллионов были произведены за каких-нибудь несколько лет. Сейчас, конечно, темпы уже не те, но интерес к MCS-51 по-прежнему не угасает. Можно привести лишь один пример. В 2012 году на русском языке был выпущен новый учебник по Intel 8051 и программированию под него. Как раз из этого учебника мы любезно позаимствовали некоторую часть информации и схему для поста.
Автор: saul, Intel 8051. 30 лет в устройствах, приборах и… мягких игрушках