Что такое микроконтроллер

Материал из roboforum.ru Wiki
Версия от 03:48, 7 августа 2008; Blindman (обсуждение | вклад) (Память данных)
Перейти к: навигация, поиск
Микроконтроллер ATMega32 фирмы Atmel

Введение

Микроконтроллер (сокращенно называемый также МК или по-английски MCU или µC) — это программируемая микросхема. Важнейшей особенностью МК является то, что выполняемые им функции не задаются при производстве микросхемы, а определяются записанной в него программой. Микроконтроллеры применяются во многих современных приборах, таких, как телефоны, стиральные машины, устройствах управления промышленным оборудованием, и т. п, и конечно в роботах.

По сути, микроконтроллер - это комьютер из одной микросхемы. Типичный МК состоит из процессора, памяти программ, памяти данных и набора устройств ввода-вывода. Параметры различных МК могут очень сильно отличаться. Например, процессор может работать с тактовой частотой от 1МГц до сотен МГц, память данных может быть от нескольких десятков байт до нескольких десятков килобайт, а память программ - от сотен байт до сотен килобайт.

В среде русскоговорящих робостроителей наиболее популярны микроконтроллеры семейства AVR, выпускаемые компанией Atmel. Более подробно устройство МК мы рассмотрим на примере микросхем серии ATMega этой фирмы.

Центральный процессор

Микроконтроллеры AVR является 8-битными. Это значит, что процессор оперирует данными размером в 1 байт. Процессор состоит из арифметико-логического устройства, 32 8-битных регистров общего назначения (РОН), регистра статуса и программного счетчика. Программный счетчик содержит адрес следующей исполняемой команды. Исходные данные для команд помещаются в регистры общего назначения, в них же помещаются результаты выполнения команд. Регистра статуса содержит дополнительную информацию о состоянии процессора и результате выполнения последней команды. Большинство команд процессор исполняет за один период тактовой частоты.

Память программ

Память программ предназначена для хранения команд, исполняемых процессором. Она представляет собой моногкратно перепрограммируемую флэш-память, допускающую не менее 10000 циклов перепрограммирования. Размер памяти программ в зависимости от модели может быть от 4KiB (ATmega48) до 256KiB (ATmega2560)

Память данных

Память данных (оперативное запоминающее устройство, ОЗУ) хранит данные, обрабатываемые процессором. Содерщимое памяти данных сохраняется только при наличии питающего напряжения. Микроконтроллеры ATMega имеют от 512 байт до 8KiB ОЗУ. Кроме того, некоторые модели имеют возможность подключения внешнего ОЗУ объемом до 64KiB.

EEPROM

Микроконтроллеры ATMega содержат также перепрограммируемое запоминающее устройство (EEPROM). Данные в памяти EEPROM не пропадают при выключении питания. Микроконтроллер имеет специальные команды для записи в EEPROM и чтения из него. Доступ к EEPROM во много раз медленне, чем к ОЗУ. EEPROM допускает не менее 100000 циклов перезаписи.

Устройства ввода-вывода

Прерывания