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

А что такое компьютер? По сути своей микроконтроллер (далее просто МК, англ. microcontroller или MCU — MicroController Unit) — это маленький компьютер, который разместился в одной микросхеме. Сфера его применения разнообразна, но его главная задача — взаимодействовать с другими электронными схемами и устройствами. В отличие от центрального процессора в вашем компьютере, микроконтроллер включает в себя энергонезависимую и оперативную память, а также множество периферийных устройств: порты ввода/вывода общего назначения (англ. general-purpose input/output), таймеры/счетчики (англ. timers/counters), модуль аналого-цифрового преобразования (далее АЦП, англ. ADC — analog-to-digital converter) и ему противоположный цифро-аналоговый преобразователь (далее ЦАП, англ. DAC — digital-to-analog converter), аппаратные решения для разнообразных интерфейсов — USART, SPI, I2C и т.д. В каждом конкретном микроконтроллере могут содержаться различные периферийные устройства, более того, может быть несколько ADC или USART. Некоторые из перечисленных периферийных устройств мы рассмотрим в данном курсе.

В современном мире микроконтроллеры можно встретить практически везде, будь то микроволновка или даже... умный тостер. В современных автомобилях присутствуют микроконтроллеры, от тех, что собирают данные и отправляют на бортовой компьютер (по интерфейсу CAN), до самого бортового компьютера. На данный момент существует огромное количество компаний, так или иначе выпускающих компьютеры на одном кристалле, среди которых Renesas Electronics, Atmel, Microchip, Freescale Semiconductor, Texas Instruments, NXP Semiconductor, Fujitsu, ST Microelectronics и многие другие.

Классификация

Устоявшейся классификации не существует, однако их можно разделить по трём признакам: набору инструкций и разрядности (размер обрабатываемых данных — 2n бит), а также по их назначению.

Классификация МК по набору инструкций вычислительной системы

Данный курс не предусматривает разбор архитектуры, обзор преимуществ и недостатков. Заметим лишь то, что в RISC, исходя из названия, имеется сокращенный набор команд. Все инструкции фиксированной длины и выполняются за один цикл. Такой подход позволяет упросить реализацию в железе, но повышает сложность компилятора. ARM-ядро, которым оснащен изучаемый нами микроконтроллер, имеет RISC-архитектуру (не в чистом виде). Не все инструкции ARM выполняются за один цикл.

Классификация МК по разрядности шины данных ЦПУ

Классификация МК по назначению

Современные универсальные МК имеют на борту модули, а по сути, другие МК, которые аппаратно реализуют такие интерфейсы, как SPI, I2C, USB, CAN и т. д.

Что такое Cortex?

В данном курсе мы будем использовать универсальный микроконтроллер с 32-битной шиной данных, с набором инструкций RISC (во многом бесполезная информация для вас сейчас) и ядром ARM Cortex. Но что такое Cortex?

Семейство ARM Cortex — это новое поколение процессоров со стандартизованной архитектурой для решения широкого круга задач.

Семейство Cortex имеет три линейки:

У ST Microelectronics имеются разные серии микроконтроллеров:

F0 (Cortex M0), F1 (Cortex M3), F3 (Cortex M4 с инструкциями DSP и FPU), F4 (Cortex M4) и F7 (Cortex M7). Число после буквы M обозначает уровень производительности ядра. Чем оно больше — тем мощнее микроконтроллер.

А в чём, собственно, разница между всеми этими микроконтроллерами, какой выбрать? Почему в этом курсе рассказывается об ARM? Во многом это религиозный вопрос (выбор МК), кому как удобнее. Однако по соотношению цена/производительность ARM лучший. С каждым днем он завоевывает всё большую долю рынка.

ХарактеристикаARM8051AVRPICMSP430
Разрядность (бит)32/6488/328/16/3216
Такт/Инструкция121146
ISARISCCISCRISCЧастично RISCЧастично RISC
Поддержка (сообщество)★★★★★★★★★★★★★★★★★★★★★
Цена★★★★★★★★★★★
Энергопотребление★★★★★★★★★🥔

У всего есть свои плюсы и минусы. Невозможно однозначно сказать, какой микроконтроллер лучше.

Ну а мы будем работать с ARM, а если быть совсем точным, STM32F103C8T6. Такое «сложное» название имеет расшифровку:

Тип: F — общее применение; L — с низким энергопотреблением; TS — семейство TouchScreen; W — семейство wireless system-on-chip.

Подсемейство: 051; 100; 103; и т.д.

Количество выводов: F — 20; G — 28; K — 32; T — 36; H — 40; C — 48/49; R — 64; O — 90; V — 100; Z — 144; I — 176; B — 208; N — 216.

Память, КБ: 4 — 16; 6 — 32; 8 — 64; B — 128; Z — 192; C — 256; D — 384; E — 512; F — 768; G — 1024; I — 2048.

Корпус: H — UFBGA; N — TFBGA; P — TSSOP; T — LQFP; U — V/UFQFPN; Y — WLCSP.

Диапазон температур: 6 — -40 … +85 ◦C; 7 — -40 … +105 ◦C.


Назад | Оглавление | Дальше