Главная / Без рубрики / Микроконтроллер: ядро, память (Flash, RAM, EEPROM), периферия

Микроконтроллер: ядро, память (Flash, RAM, EEPROM), периферия

1. Введение: что такое микроконтроллер

Микроконтроллер (МК) — это однокристальная микросхема, объединяющая на одном чипе:

  • центральное процессорное ядро (CPU);
  • память (программу, данные, настройки);
  • периферийные модули ввода‑вывода;
  • системные контроллеры (тактования, сброса, питания).

Ключевое отличие от микропроцессора: МК ориентирован на автономное управление устройствами, а не на общую вычислительную нагрузку. Он «зашит» в прибор и работает без внешней оперативной памяти и жёсткого диска.

Области применения:

  • бытовая техника (стиральные машины, микроволновки);
  • автомобильная электроника (ABS, ЭБУ двигателя);
  • промышленная автоматика (ПЛК, датчики);
  • IoT‑устройства (умные розетки, сенсоры);
  • носимая электроника (фитнес‑трекеры, часы).

2. Ядро микроконтроллера

2.1. Функции ядра

  • выполнение машинных инструкций;
  • управление потоками данных между памятью и периферией;
  • обработка прерываний;
  • координация режимов энергосбережения.

2.2. Архитектуры ядер

  • RISC (Reduced Instruction Set Computer):
    • короткий фиксированный набор команд;
    • высокая тактовая частота и производительность на инструкцию;
    • примеры: ARM Cortex‑M, AVR, PIC.
  • CISC (Complex Instruction Set Computer):
    • сложные многобайтовые команды;
    • ниже производительность на инструкцию, но компактность кода;
    • реже в современных МК.

2.3. Ключевые характеристики

  • Разрядность (8, 16, 32 бита) — определяет размер регистров и адресного пространства.
  • Тактовая частота (МГц–сотни МГц) — число операций в секунду.
  • Набор инструкций (ISA, Instruction Set Architecture) — какие команды поддерживает.
  • Конвейеризация — параллельное выполнение нескольких инструкций на разных стадиях.
  • Кэши (для 32‑битных МК) — ускорение доступа к часто используемым данным.

2.4. Примеры ядер

  • ARM Cortex‑M0/M3/M4/M7 — 32‑бит, RISC, широкое распространение.
  • AVR (Atmel/Microchip) — 8‑бит, простая архитектура.
  • PIC (Microchip) — 8/16/32‑бит, разнообразная линейка.
  • MSP430 (TI) — 16‑бит, ультранизкое энергопотребление.

3. Память микроконтроллера

3.1. Flash‑память (память программ)

Назначение: хранение прошивки (программы), констант, таблиц.

Особенности:

  • энергонезависимая (сохраняет данные без питания);
  • ограниченное число циклов перезаписи (обычно 10 000–100 000);
  • относительно медленная запись (мс на страницу);
  • быстрая чтение (на тактовой частоте МК).

Типичные объёмы: от 1 КБ до 2–4 МБ в современных МК.

Организация:

  • страницы/секторы для стирания;
  • байтовая/словая запись после стирания.

Применение:

  • код программы;
  • конфигурационные параметры;
  • шрифты, изображения (в мультимедийных МК).

3.2. RAM (оперативная память)

Назначение: временное хранение переменных, стека, буферов.

Особенности:

  • энергозависимая (теряет данные при отключении питания);
  • быстрое чтение/запись (на тактовой частоте);
  • неограниченное число циклов чтения/записи.

Типичные объёмы: от 128 Б до 512 КБ–1 МБ.
Организация:

  • байтовая адресация;
  • иногда разделение на банки для повышения пропускной способности.

Применение:

  • локальные переменные функций;
  • глобальные данные;
  • стековый фрейм (вызовы функций, прерывания);
  • входные/выходные буферы (UART, SPI и т. п.).

3.3. EEPROM (электрически стираемая ПЗУ)

Назначение: долговременное хранение настроек, калибровочных коэффициентов, логов.

Особенности:

  • энергонезависимая;
  • отдельное пространство адресов (часто вне общего адресного пространства);
  • число циклов перезаписи — 100 000–1 000 000;
  • запись медленнее Flash (десятки мс на байт/страницу);
  • чтение сравнимо с RAM.

Типичные объёмы: от 64 Б до 4–16 КБ.
Применение:

  • пользовательские настройки (громкость, яркость);
  • серийные номера, ключи;
  • счётчики наработки, лог ошибок;
  • калибровочные коэффициенты датчиков.

3.4. Другие виды памяти (опционально)

  • OTP (One‑Time Programmable) — однократно программируемая память для ключей/идентификаторов.
  • Backup RAM — RAM с резервным питанием (от батарейки) для хранения данных при отключении основного питания.
  • Cache — в 32‑битных МК для ускорения доступа к Flash.

4. Периферийные модули МК

4.1. Таймеры‑счётчики

  • Функции: измерение времени, генерация ШИМ, подсчёт импульсов.
  • Типы: 8/16/32‑битные, с предделителями, режимами захвата/сравнения.
  • Применение: управление двигателями, светодиодами, формирование задержек.

4.2. Интерфейсы ввода‑вывода

  • GPIO (General Purpose I/O) — универсальные пины (вход/выход, прерывания).
  • UART/USART — последовательная связь (RS‑232, TTL).
  • SPI — высокоскоростной синхронный интерфейс (Flash, датчики).
  • I²C — двухпроводной интерфейс (датчики, EEPROM).
  • USB — подключение к ПК, периферии.
  • CAN — промышленная сеть (автомобили, автоматика).
  • Ethernet MAC — сетевая связь (в продвинутых МК).

4.3. Аналоговая периферия

  • АЦП (ADC) — преобразование аналогового сигнала в цифровой.
    • разрядность: 8–16 бит;
    • число каналов: 4–16;
    • скорость: до 1 Мвыб/с.
  • ЦАП (DAC) — обратное преобразование (редко в бюджетных МК).
  • Компараторы — сравнение двух аналоговых сигналов.
  • Операционные усилители (в некоторых МК) — аналоговая обработка на кристалле.

4.4. Системы тактирования

  • Внутренний RC‑генератор — низкая точность, не требует внешних компонентов.
  • Внешний кварц — высокая точность (ppm).
  • PLL (Phase‑Locked Loop) — умножение частоты для повышения производительности.
  • Watchdog oscillator — независимый генератор для сторожевого таймера.

4.5. Системы безопасности и мониторинга

  • Сторожевой таймер (Watchdog Timer, WDT) — сброс МК при зависании.
  • Детектор пониженного напряжения (BOD, Brown‑Out Detection) — сброс при просадке питания.
  • CRC‑модуль — контроль целостности данных.
  • Криптографические ускорители (в защищённых МК) — AES, SHA, RSA.

4.6. Энергосберегающие модули

  • Режимы сна (Sleep, Stop, Standby) — снижение потребления.
  • RTC (Real‑Time Clock) — часы реального времени с низким потреблением.
  • Перманентные регистры (backup registers) — сохранение данных в режиме Standby.

4.7. Специализированные модули

  • DMA (Direct Memory Access) — пересылка данных без участия CPU.
  • CRC/Parity — контроль ошибок.
  • Логические блоки (PLA, CCL) — программируемая логика на кристалле.
  • Сенсорные контроллеры (для кнопок, слайдеров).
  • Графические контроллеры (в МК с дисплеем).

5. Взаимодействие компонентов: пример работы

  1. Запуск: после сброса CPU начинает выполнять код из Flash.
  2. Инициализация: ядро настраивает периферию (таймеры, UART, АЦП), RAM, тактирование.
  3. Основной цикл:
    • АЦП оцифровывает сигнал → данные сохраняются в RAM;
    • UART принимает команду → ядро обрабатывает и отправляет ответ;
    • таймер генерирует ШИМ → управляет мотором.
  4. Прерывания:
    • внешнее событие (нажатие кнопки) → ядро

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *