Микроконтроллер и микропроцессор — в чём разница
Микроконтроллер — (далее МК) это микросхема, предназначенная для программного управления электронными схемами. МК выполняется на одном кристалле. На нём расположено как вычислительное устройство, так и ПЗУ и ОЗУ. Кроме этого, в составе МК чаще всего находятся порты ввода/вывода, таймеры, АЦП, последовательные и параллельные интерфейсы. В некоторых даже можно заметить Wi-Fi-/Bluetooth-модуль и даже поддержку NFC.
Первый патент на микроконтроллер был выдан в 1971 году компании Texas Instruments. Инженеры этой компании предложили размещать на кристалле не только процессор, но и память с устройствами ввода/вывода.
Структурная схема микроконтроллера
Несмотря на то, что всё необходимое для работы микроконтроллера в нём уже есть, иногда они используются в паре с внешними периферийными устройствами. К примеру, когда внутренней ПЗУ не хватает (или она попросту отсутствует), подключают внешнюю. Именно так сделали с микроконтроллерами серии ESP. У ESP8266 встроенной памяти нет вообще, а у ESP32 есть незначительные 448 КБ. Поэтому к ним в корпус (точнее под радиатор) помещается flash-память ёмкостью 1–16 МБ.
Тогда почему бы не сделать какой-нибудь портативный компьютер на основе микроконтроллера? Дело в том, что вычислительной мощности у МК чаще всего достаточно мало. Её хватает на управление например, системой полива, микроволновкой или же каким-нибудь станком.
Например, одна из мощных плат платформы Arduino — Due. Она находится под управлением 32-битного AVR-микроконтроллера AT91SAM3X8E. Его тактовая частота 84 МГц. Постоянной памяти тут 512 КБ, а оперативной — 96 КБ. МК имеет 54 цифровых GPIO (12 из которых с поддержкой ШИМ), 12 аналоговых входов и 2 аналоговых выхода (ЦАП). Тут так же присутствуют различные интерфейсы, такие как UART, SPI, I2C.
Не смотря на такие незначительные характеристики, микроконтроллеры очень популярны. Они используются там, где не требуется большой вычислительной мощности — робототехника, контроллеры теплиц, бытовая техника.
Улучшение схемы контроллера
Конечно всегда есть пути дальнейшего улучшения схемы:
- Хорошо бы дать между выходом ШИМ и микроконтроллером некоторый буфер на транзисторе или простой усилитель, работающий в классе AB. В этом случае он защитит микроконтроллер от повреждений и дополнительно раскачает сигнал.
- Дополнительные шаги контроля частоты также были бы полезны. Если собираетесь внедрить проект, предлагаем более крупный микроконтроллер с аппаратным ШИМ для SMPS, чтобы было 2/4 канала и регулирование времени простоя.
Можно также расширить диапазон регулирования заполнения до 0..100%. Это может быть полезно при тестировании работы исполнительных блоков управления ШИМ. Например, при 100% заполнении — измерение падения напряжения на дорожках и открытом ключе.
Программное обеспечение
Основной принцип
Для выполнения калибровки программа сначала загружается в целевой ATtiny с помощью встроенного последовательного программатора высокого напряжения. Кроме того, заводское значение калибровки генератора (OSCCAL) записывается в EEPROM.
Программа на целевой ATtiny читает EEPROM и записывает значение в регистр OSCCAL. Затем подается сигнал с половиной тактовой частоты на вывод PB0. Поскольку фьюзы ранее были установлены так, что целевой ATtiny работает с предварительным делителем 8, на PB0 подается сигнал с 1/16 частоты генератора.