Как работает микроконтроллер и из чего он состоит

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

Это код содержит инструкции, объясняющие МК как и что и в какой последовательности ему делать, откуда что брать с чем складывать куда выводить и т.д.

Каждый МК отличается друг от друга набором модулей или функций которые он может выполнять, к примеру один МК может иметь 1 АЦП а другой сразу несколько на совем борту, от этого будет зависить стоимость МК.

Также в состав МК могут входить таймеры, аналоговые компораторы, USB, CAN, UART. О этих интрефейсах будет сказано потом. А пока давайте разберемся из чего состои микроконтроллер и как он работает.

Основные узлы микроконтроллера

  • ОЗУ — как вы догадалить это оперативная память;
  • ПЗУ — постоянная память;
  • порты ввода/вывода;
  • генератор тактовой частоты;
  • таймеры;
  • АЛУ-арифметико-логическое устройтсво.

Структурная схема работы микроконтроллера

Структурная схема микрокнтроллера

Арифметико-логическое устройство

Основой любого МК является АЛУ, в этом узле производятся все возможные арифметические — сложение, вычитание, сравнение и логические операции. В зависимости от того с каким числом разрядов может работать МК , они бывают 8-ми, 16-ти и 32-разрядные.

Если например микроконтроллера имеет 8-ми разрядное АЛУ, то он может выполнить какую либо операцию только с 8-ми разрядными числами и выдать такой-же результат.

К логическим операциям относятся:

  • умножение-логическое «И»;
  • сложение — логическое «ИЛИ»;
  • отрицание — логическое «НЕ»;
  • исключающее «ИЛИ»;
  • сдвиг влево;
  • сдвиг вправо;

Также и МК есть и другого рода операции такие как сброс в «0» или установка в «1» которые не относятся ни к арифмитическим не к логическим операциям.

Регистр общего назначения (РОН)

Произведенные в АЛУ операции возвращают результат вычисления- тоже число которое нужно где то хранить.

Хранение таких результатов осуществляется в регистрах общего назначения (РОН) — такие регистры выполняют своего рода роль временной памяти. У каждого микронтроллера кол-во таких РОН может быть разным. На примере структурной схемы МК указаны 32 регистра общего назначения.

Но такие регистры имеют очень небольшой объем памяти и предназначены для временного хранения данных в процессе работы АЛУ. Для более длительного времени хранения информации используются ОЗУ, которая имеет больший объем нежели РОН.

Постоянно запоминающее устройство(ПЗУ)

Инструкции или последовательность команд для AЛУ хранятся в постоянной памяти — ПЗУ которая представляет собой Flash-память, именно в нее мы записываем исполняемый код написанной нами программы. Каждой команде в ПЗУ соответствует определенный адрес.

Если мы хотим получить какую либо команду то мы должны обратиться к адресу этой команды, обращение к адресам ПЗУ осуществляет счетчик команд.

После того как мы обратитиль к адресу той или иной командны, данные из ПЗУ поступает в регистр команд. АЛУ мониторит наличие команды в регистре и при ее наличии начинает ее выполнять.

Порты ввода/вывода

Для того чтобы наш МК взамодейтствовать с внешним миром существуют порты ввода вывода, именно на них цепляется внешие устройства будть то это кнопка, светодиот, LSD экран или подключение по USB интрефейсу.

Порты можно настроить на прием данных, так и на передачу. Для настройки портов существуют специальные регистры. Для настройки портов на ввод/вывод в эти регистры записываются определенные значения.

Также очень важным узлом любого микронтроллера является тактовый генератор, который синхронизирует работы всего МК. Он может быть как внешним так и внутренним.

Добавить комментарий