Микроконтроллер
Микроконтроллер (МК) – это микросхема, которая предназначена для управления электронными устройствами.
К основным элементам современных микроконтроллеров относятся:
- Центральный процессор. Центральным процессором выполняются арифметические операции, осуществляется управление потоком информации, генерируются управляющие сигналы в соответствии с последовательностью инструкций.
- Память. Зависимая от энергии память используется для хранения программы микроконтроллера. Также она предназначена для временного хранения данных, которые теряются при отключении питания микроконтроллера.
- Периферийные устройства. Данные устройства используются для описания аппаратных модулей, которые помогают микроконтроллеру взаимодействовать с внешней средой. К таким устройствам относятся преобразователь данных (аналого-цифровой, цифро-аналоговый и т.п.), устройства генерирования тактовых сигналов (внутренний генератора и т.п.), устройства обработки аналоговых сигналов (операционный усилитель или аналоговый компаратор), устройства ввода/вывода и последовательная связь.
- Вспомогательные цепи. Основная задача данных устройств заключается в поддержании нормальной работы микроконтроллера. К таким устройствам относятся схема отладки, прерывная схема, модуль генерирования тактового сигнала, схемы электропитания.
Проектирование микроконтроллерных систем
Микроконтроллерная система – это совокупность микроконтроллеров/микроконтроллера и вспомогательных элементов, взаимосвязанных между собой и использующихся для управления электронными устройствами.
Проектирование микроконтроллерной системы состоит из трех основных этапов:
- Составление структурной, функциональной и принципиальной схемы, а также подбор составляющих.
- Распределение памяти и присвоение ее составляющим, к которым необходимо обращаться в процессе выполнения программы.
- Составление и отладка программы.
Исходными данными для проектирования микроконтроллерной системы являются: схема или описание алгоритма решаемой задачи, и характеристики выходных и входных сигналов, требования к некоторым параметрам (точность, быстродействие, надежность и потребляемая мощность. В некоторых случаях в задании на проектирование могут содержаться рекомендации по применению определенной элементной базы. В большинстве случаев исходные данные закладываются в схему устройства только в начале и в общем виде, в процессе проектирования осуществляется проверка их выполнения и при необходимости вносятся корректировки.
На первом этапе проектирования подбирается элементная база, в первую очередь микроконтроллер. Его выбор определяется спецификой реализуемых в системе алгоритмов. В том случае, когда микроконтроллерная система предназначена для реализации алгоритмов контроля и управления, самым важным фактором является программная и схемная простота сопряжения системы с объектом управления. Также на первом этапе выбираются периферийные устройства, которые обеспечивают связь между системой и внешними устройствами. После этого проводится проверка электрического сопряжения составляющих схемы и в случае необходимости могут вводиться формирователи, усилители, преобразователи уровней и т.п. После чего составляются принципиальная, структурная и функциональная схемы.
На втором этапе проектирования происходит выделение области программ памяти для хранения констант, основной программы и подпрограммы. В памяти данных выделяются области для запоминания поступающих промежуточных данных от внешних устройств и организации стека.
Стек – это абстрактный тип данных, который представляет собой список составляющих, организованных по принципу LIFO.
На третьем этапе составляется программа, по которой будет функционировать микроконтроллерная система. При программировании чаще всего используется язык Ассемблера. Широкие возможности использования типовых решений на первых двух этапах проектирования становятся причиной того, что 70 % - 80 % от общей трудоемкости приходится на третий этап.
Одним из самых эффективных средств разработки программы микроконтроллерной системы является метод декомпозиции, при котором решаемая задача последовательно делится на меньшие функциональные модули. Каждый такой модуль можно отлаживать, анализировать и разрабатывать отдельно от остальных. При выполнении программы в микроконтроллерной системе управление передается от одного модуля к другому. Схема связи между данными модулями образуется общую блок-схему (структурная схема) алгоритма программы. Разделение поставленной задачи на модули происходит до тех пор, пока разработка структурной схемы алгоритма программы не становится максимально простой.