Как стать программистом Как устроен компьютер. Что такое программа. Как написать свою программу. И многое другое узнаете вы из этой книги. Получить бесплатно! |
Что внутри микроконтроллера
Микроконтроллеры / Для начинающих /Что нужно для того, чтобы стать профессиональным разработчиком программ для микроконтроллеров и выйти на такой уровень мастерства, который позволит с лёгкостью найти и устроиться на работу с высокой зарплатой (средняя зарплата программиста микроконтроллеров по России на начало 2017 года составляет 80 000 рублей). Подробнее... |
Прежде чем изучать устройство настоящих микроконтроллеров, рассмотрим структуру некоего абстрактного микроконтроллера, чтобы понять, что находится внутри микроконтроллера. Устройство микроконтроллера упрощённо показано на рисунке (для увеличения щёлкните по картинке).
Думаю, что уже по рисунку примерно понятно внутреннее устройство микроконтроллера. Но для начинающих немного подробнее расскажу о каждом элементе этой схемы.
CPU (central processing unit) дословно переводится как “центральное обрабатывающее устройство”. Но в современном языке обычно называется “центральное процессорное устройство” (ЦПУ), или просто “центральный процессор”.
Этот модуль принимает из памяти программ коды команд, декодирует (расшифровывает) их и выполняет эти команды.
ЦПУ состоит из регистров, арифметико-логического устройства (АЛУ) и цепей управления.
В микропроцессорных системах ЦПУ обычно выполнялся в виде отдельной микросхемы, к которой подключались другие элементы, выполненные также в виде отдельных микросхем. В микроконтроллере практически вся периферия расположена в одном корпусе.
Память программ - это память, где хранятся коды команд. Последовательность именно этих команд и является программой микроконтроллера, которую вы “зашиваете” в микроконтроллер с помощью программатора.
ОЗУ - оперативное запоминающее устройство. Это оперативная память, в которой находятся данные, необходимые для работы. Здесь хранятся переменные программ. У многих микроконтроллеров здесь также расположен стек.
Тактовый генератор определяет скорость работы микроконтроллера. Он генерирует импульсы определённой частоты. Опираясь на эту частоту, центральный процессор выполняет команды с заданной периодичностью. Подробнее см. здесь.
Цепь сброса необходима для правильного запуска микроконтроллера. При сбросе все элементы устанавливаются в какое-то исходное состояние, с которого начинается работа микроконтроллера.
Последовательный порт позволяет обмениваться данными с внешними устройствами. Не во всех микроконтроллерах он есть.
Цифровые линии (порты) ввода-вывода предназначены для чтения (ввода) дискретных сигналов от внешних устройств, таких, например, как кнопки управления. А также для вывода дискретных сигналов, что позволяет управлять некоторыми приборами, такими как, например, светодиоды.
Дискретный сигнал имеет только два фиксированных состояния: 0 и 1. Обычно 0 соответствует отсутствию напряжения на выходе, а 1 - наличию напряжения. Хотя может быть и наоборот.
Аналоговые линии (порты) ввода-вывода предназначены для чтения (ввода) аналоговых сигналов от внешних устройств, таких, например, как датчики с аналоговым выходом (температура, влажность и т.п.). А также для вывода аналоговых сигналов, что позволяет управлять приборами, требующими плавной регулировки, такими как, например, нагреватели. Или для вывода частотных сигналов, например, для воспроизведения звука.
Как уже было сказано, дискретный (прерывистый) сигнал обычно имеет только два состояния (хотя возможны варианты - но об этом как-нибудь в другой раз).
Аналоговый сигнал является непрерывным.
Например, если речь идёт о напряжении в диапазоне от 0 до 5 В, то дискретный сигнал будет иметь только два значения: 0 и 5 В.
Аналоговый же сигнал будет иметь множество значений во всём диапазоне от 0 до 5 В. Например, 1 В, 3 В, 3,75 В и т.п.
Таймер используется для отсчёта временных интервалов.
Сторожевой таймер - это специальный таймер, предназначенный для предотвращения сбоев программы. Принцип работы этого таймера такой: после запуска он начинает отсчёт заданного временного интервала. Программа должна перезапускать сторожевой таймер до окончания этого промежутка времени. Если она этого не сделала, то с высокой долей вероятности можно считать, что программа “зависла” (произошёл сбой). В этом случае сторожевой таймер перезапускает микроконтроллер.
Таймер реального времени. Грубо говоря - это часы, которые отсчитывают не какие-то абстрактные промежутки времени, а именно реальное (текущее) время. Текущее время используется некоторыми устройствами. Например, такими как реле времени или те же электронные часы.
Надеюсь, теперь вы представляете, как выглядит микроконтроллер изнутри. Более подробно некоторые их этих элементов будут описаны в следующих статьях...
Вступить в группу "Основы программирования"
Подписаться на RUTUBE-канал Подписаться на Дзен-канал Подписаться на рассылки по программированию |
Микроконтроллеры для ЧАЙНИКОВ
Бесплатная рассылка о микроконтроллерах. Рассылка содержит как бесплатную информацию для начинающих, так и ссылки на платные продукты (книги, видеокурсы и др.) для тех, кто захочет вникнуть в тему более глубоко. Подробнее... |