Современные микроконтроллеры – лекция 1 / Samsung corporate blog / Habr

Содержание

Выбираем микроконтроллер вместе / Habr

Прочитав эту статью я заметил большой интерес к выбору микроконтроллера у читателей и решил взглянуть на эту проблему с другой стороны.
Могу предположить, что всех интересует выбор их первого, либо первого 32-х битного МК.

Тем, кто знает, что на фотографии нет ни одного микроконтроллера — прошу в комментарии, дополнить мой рассказ и тем самым поделиться своим опытом с начинающими. Остальным, непременно под кат!

На мой взгляд чем проще будет каждый этап обучения — тем проще будет дойти до самостоятельного плаванья. Поэтому я считаю, что на начальном этапе следует брать все готовое. Ничего не придумывать самому. Представьте:
вы выбрали контроллер,
проглядели даташит,
развели под него плату,
или нашли ее на просторах интернета,
купили все компоненты(или аналоги если советуемых не было),
запаяли все,
написали первый «hello world»,

собрали программатор, прошили контроллер

И… и ничего не происходит! Что-то не работает, и вы не можете понять что: то ли в пайке ошибка, то ли что-то с программой, то ли в интернете кривая схема, то-ли проблемы с софтом.

Новичка такая ситуация ставит в тупик, знаю это по себе.
Чтобы такого не случилось проще всего сделать первые шаги под чьим-то руководством.

Преимущество простого старта отлично показывает платформа Arduino. Посудите сами: возможности контроллеров совсем не велики, цены на платы огромны, зато огромная поддержка сообщества и все уже готова, любые платы расширения, кучи примеров.
За счет этого и живет платформа!

Давайте посмотрим какой у нас вообще есть выбор! На рынке огромное количество производителей и архитектур. Но выбор на самом деле

совсем не велик:
я бы сразу отсек все 8-ми и 16-ти битные архитектуры, кроме PIC и AVR, да иногда производители предлагают отладочные платы и контроллеры по очень заманчивой цене
но я не советую их брать потому, что это малораспространенные архитектуры и на них меньше примеров + пересаживаться на другие контроллеры будет сложнее.
По той же самой причине отсек все 32-х разрядные архитектуры кроме ARM + с ними еще начинаются проблемы с примерами, и они постепенно вымирают.

Арм микроконтроллеры делятся на ARM7, ARM9, Cortex M0, 3, 4.
Седьмые и девятые постепенно замещаюся кортексами и вскоре их тоже не будет.

Итого имеем:
AVR
PIC
ARM Cortex

Про пики сказать много не могу, но по-моему AVR их вытесняет из-за распространенности Arduino.
Но я все-же советовал Cortex, их возможности намного шире, к тому же есть выбор между производителями, а это на мой взгляд большой плюс. Да и существует масса упрощающих жизнь библиотек и даже генераторов кода, которые новичкам позволят не сильно вчитываясь в юзер мануал написать первую программу.

Итак, какие производители представлены у нас?
NXP, ST, Freescale, TI, Luminary Micro, Atmel и много других но поменьше распространенных.

Как выбрать из такого большого количества производителей?

надо выбирать не контроллер а отладочную плату, библиотеки, среду разработки и сообщество.

Сам щупал только NXP, ST и Freescale.

Первые 2 производителя наводнили Москву и другие города России дешевыми/бесплатными отладками — это очень хорошо в том смысле, что всегда есть у кого спросить, есть к кому обратиться.
Также не нужны никакие программаторы — все есть на борту!

Для NXP есть альтернатива от Olimex www.chipdip.ru/product/lpc-p1343.aspx
Есть и минусы: когда захочется расширить их возможности придется искать новую.

Больше всего мне понравилась отлатдка от Freescale, с которой столкнулся на работе.
На мой взгляд это лучший вариант для новичка, но у нее есть один огромный минус:
пока довольно сложно найти в продаже и регионам придется заказывать, но оно того стоит:
Первое и самое важно преимущество: стандартные платы расширения (сначала покупаете стандартный набор, потом докупаете вайфай, сенсоры и тп)

Еще большущий плюс это среда разработки: благодаря Processor Expert можно генерировать код, и море примеров с объяснениями.

Итак подведем итоги:

1 купить Arduino Uno c AVR за 1000р на плате практически ничего нет, зато в продаже множество плат расширения и огромное сообщество

2 купить STM32L-DISCOVERY c M3 за 16.22дол c сенсорными кнопками, USB и маленьким LСD-дисплеем и дебагером на борту

3 купить за 1000р LPCEXPRESSO c M3 с просто выведеными контактами и дебагером на борту

4 купить KWIKSTICK с M4 за 30дол+ доставку с большим сегментным LCD, USB, входом под наушники, динамиком, сенсорными кнопками, литиевой батарейкой, микрофоном, ИК портом, слотом под SD-карту + возможность расширения функционала без пайки и больших вложений. Большой набор библиотек, примеров и хорошая IDE.

В итоге я считаю, что надо покупать STM32L-DISCOVERY и начинать с нее,
либо если не лень заморочиться с заказом платы и чуть-чуть побольше заплатить брать KWIKSTICK — с ней старт будет полегче, да и хватит ее на дольше, но для общения с коллегами нужен английский.

Прошу всех, знакомых с МК написать свой выбор отладочных средств для новичка, я с удовольствием дополню статьюю

UPD: stm32l-discovery по таким ценам можно купить в Компэле
Kwikstick на сайте freescale

habr.com

популярные модели, плюсы и минусы

Контроллер – слово, образовавшееся от инфинитивной формы английского глагола «to control» – повелевать, управлять. Контроллеры разделяются по группам и, в зависимости от принципа работы,  используются в конструировании механических или электронных устройств. Механические изобретения – дорогие и ненадежные.

Когда пользователь строит электронное приспособление, по окончанию работ система настраивается, и в процессе эксплуатации постоянно регулируется, что требует дополнительных затрат.

Существующий рынок микроконтроллеров

Рынок микроконтроллеров заполнен различными моделями такого вида устройств. Большинство производителей выпускают мини-компьютеры, в функционал которых заложена работа микроконтроллеров. Самый интересный проект – выпуск pcDuino. Такой мини компьютер отличается средней производительностью. Главный плюс заключается в количестве пинов для ввода и вывода. Кроме того, шилды напрямую идут от микроконтроллера Arduino.

С помощью описанного оборудования разработали концепцию «умный дом». Над системой работали несколько десятков лет, учитывая, что сфера электроники развивается в медленном темпе. Цены на эту систему заоблачные. Постепенно «умный дом» приобретает новые «знания». Бюджетный вариант для создания умного дома — розетки и сенсор движения от производителя Belkin Wemo.

Топ-5 популярных микроконтроллеров

Рассмотрим популярные компании, которые производят микропроцессоры, в таблице ниже.

МикроконтроллерОсобенности
МК Iskra JSЭто флагманская плата. В «мозги» микропроцессора включен интерпретатор на языке JavaScript. Продукт создан на основе платформы Espruino. Подходит для совместной работы с Ардуино. Пригодится в проектах, где внимание уделено скорости и комфорту разработки. Техническое приспособление максимально совместимо с платами расширения и сенсорными инструментами.

Пользователь начинает знакомство с устройством с изучения языка, который внедрен в микропроцессор. Особенности языка можно посмотреть в разделах вики.

МК Mbed компании ARMКомпания ARM занимается созданием программно-аппаратных платформ и ОС (операционных систем) для электронных девайсов с 32-разрядными микроконтроллерами из группы ARM Cortex-M.

Данный проект запускался одновременно с другими производителями подобной техники. Работа девайса проходит в онлайн-режиме. В платформу включена IDE, в которую входит:

  • редактор текста;
  • набор различных библиотек;
  • компилятор;
  • примеры программного кода.

Аппаратная часть состоит из:

  • платы ARM;
  • платформы мбед и FRGM, производитель последней — NXP Semiconductors;
  • Nucleo аппаратуры STMicroelectronics и др.
Микропроцессоры WemosВ линейку разработок этой компании вошли такие известные модели, как wemos d1 mini, lolin esp32 oled wemos, wemos lolin32, bme wemod d1.

 

Последнее устройство выпущено сравнительно недавно, и по характеристикам многим нравится: встроен usb-порт и разъем под батарею, главная особенность — esp-wroom-32 модуль с 4 Мб памяти.

МК ArduinoArduino – наиболее популярный микропроцессор среди начинающих электронщиков. На платформе находится процессор с памятью. Количество пинов = 20 штук. К контактам подключается периферия:
  • роутеры;
  • датчики;
  • моторчики;
  • светодиодные ленты;
  • чайники;
  • и другие приспособления, работающие за счет электрической энергии.

Если сравнивать arduino и esp8266, то многие профессионалы ругают первый микроконтроллер за его стоимость.

Для новичка Ардуино легок для освоения: достаточно создать код, загрузить его в платформу и подцепить периферийные устройства.

RaspberryНаиболее популярная модель от этой компании – Raspberry Pi Zero. Плата построена по принципу Model A+, только гораздо уменьшена в размерах. В отличие от Arduino, raspberry pi по цене выходит дешевле – 300р или 420р.

На микрокопьютере с таким миропроцессором легко запускается любой дистрибутив Линукса. Платформа загружает и запускает Raspbian или подобную ОС (операционную систему). Однако встроенной памяти на половину гигабайта вряд ли на что-то большее хватит. Зато устройство пригодно для конструирования электронных систем в качестве микроконтроллера.

Микропроцессор поддерживает 2 штуки microUSB порта. Из вышеперечисленных устройств это самый мощный девайс для разрешения задач повышенной сложности: обрабатывание информации и визуализация.

Raspberry Pi Zero

Аналоги популярных МК: плюсы и минусы

Ниже представлены популярные аналоги некоторых перечисленных выше микроконтроллеров.

Аналоги ардуино:

  1. Актуальные микропроцессоры, предназначенные для разработки в веб-индустрии и аналгичные ардуино, – particle photon и btphone d1 mini. Девайс поставляется с помощью вай-фая. Сегодня такой микроконтроллер – актуальная замена Ардуино. Программный код пишется аналогично Ардуино. Пользователь набирает код программы и переносит на МК.
  2. Teensy является также известной альтернативой МК Ардуино. С помощью Тинси создаются собственные проекты с электронными устройствами. Код, посредством загрузчика, переносится на микроконтроллер с помощью юсб-порта с флеш-накопителя.
  3. Основа этого МК – ARM. Основно преимущество – совместимость расположенных на платформе контактов. Пользователь может поискать на технических рынках модели нетдуино, однако стоимость таких девайсов достаточно высока.
  4. Совершенно новый подход к прототипированию устройств представляет аналог из линейки ардуино-устройств. Многие ардуино-платы формы выпуска мини или уно не пригодны для многих вещей, которые разработчики активно используют в создании электронного устройства. АТтини85 помогает без подключения всевозможных проводов и программаторов: код легко обкатывается. Это проводится для конструкции легких проектов, для программирования на низкоуровневых языка такой МК вряд ли пригодится. Наиболее пригодны для программирования robotdyn uno r3 или arduino digispark.

Аналоги популярного микроконтроллера Вемос:

  1. Вемос д1 мини про. Формфактор относительно других моделей более компактный. Формат сильно походит на Ардуино Уно. Так же, как и в других моделя подобных устройств, сначала программируется код на бесплатной среде разработки, после чего программа загружается на платформу. Юные электронщики с помощью такой платы создают  автополивы и автоматизируют аквариумы. Ширина равняется 2 с половиной см. Длина немного больше – 3,5  см.
  2. Другие модели, на которых встроены доступные порты ЕСП32. Бонусное добавление – зарядка для Лион-батареи. Такое же сооружение встроено в клон avrisp mkil. То есть платформы могут работать в автономном режиме бесперебойно за счет встроенной батареи. Даже если в розетке возникло переменное напряжение, устройство не пострадает и продолжит свою работу. Не нужно придумывать дополнительных конструкций для поддержания рабочего состояния.

Заключение

Безусловно, каждый пользователь самостоятельно выбирает подходящее устройство для своего проекта. Однако некоторые разработчики заинтересованы в том, чтобы девайс по ценам был приемлемым.

arduinoplus.ru

Две стороны повсеместного применения микроконтроллеров / Habr

Микроконтроллеры (старое красивое название — однокристалльные микро-ЭВМ) в настоящее время имеют невероятно много областей применения. От промышленной автоматики до бытовых приборов, от управления ядерными станциями до детских игрушек, от секретных военных систем до переключения каналов в вашем радиоприемнике. Одним словом, проще перечислить, где они не применяются.

Изобретение и дальнейшее развитие микроконтроллеров произвело настоящую революцию в цифровой электронике. Изменились не только схемотехника и элементная база, но и сами принципы построения систем. Значительные изменения претерпел цикл разработки. Появились целые классы устройств, существование которых было бы невозможно без контроллеров.

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

Эта статья имеет целью дать обзорную оценку как положительных, так и отрицательных аспектов повсеместного применения микроконтроллеров.

Упрощение схемотехники


Если сравнивать схемотехнику устройств на жесткой логике и на контроллерах, то последняя намного проще. При разработке требуется только определить, из каких функциональных блоков будет состоять устройство, какими интерфейсами их объединить, и какую элементную базу выбрать. Вместо составления схемы будущего устройства из отдельных деталей теперь применяется блочное проектирование. Микроконтроллер позволяет на одном кристалле создать законченный блок, а то и несколько.

Реализация всех алгоритмов работы — теперь задача программы контроллера, а написание программы гораздо менее трудоемко, чем синтез цифровой схемы. С ростом сложности задач это преимущество становится все более явным. Растущий размер программного кода компенсируется его структурированностью, а также введением дополнительных уровней абстракции. Широко применяются встраиваемые ОС и стандартные библиотеки, что позволяет разделить код, работающий с аппаратурой, и код, задающий поведение и алгоритмы.

Унификация


Разделение программной и аппаратной части позволило унифицировать элементную базу. Один и тот же контроллер может применяться для создания множества различных устройств. Унификация приводит к снижению стоимости производства. Экономически выгодно производить несколько десятков видов контроллеров вместо сотни разновидностей логических микросхем (и тысячи специализированных).

Несколько разных по функциональности устройств могут иметь одну и ту же схему, а различаться лишь программой. Наиболее ярким примером могут служить промышленные ПЛК (программируемые логические контроллеры). Они собираются из стандартных модулей: устройств ввода, устройств вывода, вычислительных и интерфейсных модулей. За взаимодействие модулей между собой и алгоритмы работы системы в целом отвечает программная часть. Таким образом, из небольшого набора стандартных блоков можно построить любую необходимую систему.

Простота внесения изменений


Для того, чтобы изменить алгоритм работы схемы на жесткой логике, необходимо соединить ее элементы в другом порядке, удалить часть из них или добавить новые. Часто это можно сделать только в процессе макетирования, а когда устройство уже готово, единственный способ внести изменения — выпустить новую версию.

Микроконтроллер в этом отношении дает гораздо больше гибкости. Для внесения изменений в алгоритм работы устройства достаточно загрузить новую прошивку. Большая часть современной электроники поддерживает перепрошивку в условиях сервис-центра, а зачастую даже пользователем. В наши дни вы можете легко обновить ПО своего телефона, принтера или фотоаппарата. В недалеком будущем вы сможете проделать то же самое, скажем, со стиральной машиной или кофеваркой. По мере того, как все больше устройств получают возможность доступа к сети, логично ожидать распространения механизма автообновлений, подобно тому, который применяется сегодня для компьютерных программ.


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

Снижение надежности


Теория надежности включает в себя много различных аспектов, но в «бытовом» смысле, когда говорят о надежности техники, обычно имеют в виду устойчивость к отказам и сбоям. Отказ — это неустранимое нарушение работоспособности, как пример можно привести перегоревшую лампочку. Сбой — это нарушение, которое устраняется само по себе, или при минимальном воздействии оператора. Старый телевизор, который «чинится» ударом кулака — пример системы, работающей со сбоями.

Чем из большего числа элементов состоит система, тем вероятнее возникновение отказа какого-нибудь из них. В этом отношениии интегральная схема контроллера, содержащая миллионы транзисторов, на первый взгляд проигрывает жесткой логике, где всего несколько сот транзисторов на кристалл. Однако уровень надежности в микроэлектронике сегодня достаточно высок. Все кристаллы, вызывающие подозрения, отбракованы еще на этапе производства. Более слабыми местами являются печатные платы, соединения микросхем между собой и пассивные элементы. Таким образом, по частоте отказов, вызванных внутренними причинами, микроконтроллерные схемы даже выигрывают.

Проигрывают они по устойчивости к сбоям. Сбои, как правило, вызываются внешними воздействиями: температурой, электромагнитными помехами, радиацией. Особенно чувствительны контроллеры к электромагнитным воздействиям, которые вызывают зависания и самопроизвольные перезагрузки. Для обеспечения помехозащищенности микроконтроллерных схем требуются специальные меры: разделение шин питания, сторожевые таймеры, дополнительные слои металлизации на плате и т.п. Подробнее — см. [1].

Часто источником сбоев становится плохо отлаженная прошивка. Или же причина ненадежной работы лежит на стыке программной и аппаратной части. Например, многократная запись в одну и ту же ячейку flash-памяти рано или поздно приводит к исчерпанию ресурса ячейки, и данные начинают повреждаться. Микроконтроллер может обеспечить уровень надежности, необходимый для большинства задач, но только при грамотном подходе к проектированию. Об этом, кстати, стоит сказать отдельно.

Кажущаяся простота разработки


Прежде чем заниматься разработкой электроники, необходимо накопить значительную сумму знаний. Схемотехника цифровых устройств — это довольно объемный институтский курс. Плюс желательно знать электротехнику, основы аналоговой схемотехники и дискретную математику. Одним словом, порог входа для разработки электронных схем достаточно высок.

Порог входа для программирования гораздо ниже. Можно за один вечер изучить основы любого языка и научиться писать «Hello world»ы. Ясно, что между «программистом» и «хорошим программистом» лежит огромная пропасть, но легкость, с которой можно начать писать, подкупает.

Точно также низок порог входа для разработки устройств на контроллерах. Сейчас полно отличных Arduino-подобных комплектов, огромный выбор периферийных модулей к ним, осталось потратить тот самый вечер на освоение IDE (среды разработки) — и можно приступать к своему первому проекту.

Так почему же хороший программист встраиваемых систем — сравнительная редкость? Дело в том, что помимо непосредственно умения писать код, он должен знать все особенности своей архитектуры. Ему необходимо представлять, как работают цифровые устройства, разбираться в кодировании сигналов, знать, как поведет себя устройство в каких-либо нестандартных условиях. Программист, работающий с контроллерами, находится гораздо ближе к «железу», чем прикладной программист. Соответственно, без знания принципов работы этого железа ему не обойтись.

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

Функциональная перегруженность и неудобные интерфейсы


— Как выглядит идеальный интерфейс? Одна кнопка с надписью «Сделай мне хорошо».
— Нет, никаких кнопок, просто надпись «Тебе уже хорошо».

Шутка с долей правды.


Для решения той или иной задачи микроконтроллер всегда выбирается c запасом по параметрам. Соответственно, часть ресурсов контроллера (иногда до 90%) остается свободной. Это приводит к тому, что добавить несколько дополнительных функций можно практически «бесплатно», дописав пару десятков строк в коде прошивки. И такой возможностью часто злоупотребляют. В результате нарушается принцип K.I.S.S., объявляющий простоту системы одним из основных приоритетов в проектировании. Получается устройство, большая часть возможностей которого никогда не используется, а о половине из них пользователь даже не знает.

Наличие ненужных функций — лишь вершина айсберга. Казалось бы, не используется — и ладно, может когда-нибудь пригодится… Но функциональная сложность приводит к сложности пользовательских интерфейсов. Тут возможно два пути. Можно попытаться «втиснуть» управление всеми функциями в ограниченный набор элементов ввода-вывода. Так появляются меню с N-надцатью уровнями вложенности, или кнопки с десятками альтернативных действий. Как пример сумеречного инженерного гения в этом направлении можно привести телефон-АОН «Русь». У кого был этот агрегат, тот знает, что его настройка похожа на программирование в машинных кодах.

Второй путь — сделать интерфейс удобным для пользователя путем применения большого цветного экрана (лучше сенсорного) или добавления своей кнопки для каждой функции. Этот вариант уже лучше, но увеличиваются габариты, уменьшается время автономной работы, снижается надежность устройства. И не забываем о цене. Даже если затраты на производство возрастают незначительно, наличие «супер-пупер экрана с 5000000 цветов» позволяет без лишних угрызений совести накрутить +50…250% к конечной стоимости устройства.

Недокументированные функции


В крупном торговом комплексе ни с того ни с сего открываются фрамуги дымоудаления (большие окна с электроприводом) и выдают неисправность на реле управления. Ночью обещали дождь; не починим — зальёт полкомплекса.
Вызываю из фирмы спеца, который релюху эту программировал. Он на город один, зараза, сам всё паяет и ставит. Описал проблему; он ответил, мол, всё понятно, сейчас приеду и сделаю.
Приезжает, уверенной походкой идет к релюхе, снимает с неё плату, тыкает в переходник. Открывает редактор какой-то — всё в шестнадцатиричном коде, ни черта не понять. Что же, думаю, он делать будет? Наблюдаю как бы случайное движение мышки в правый нижний угол — навёл, каналья, дату посмотрел, открыл конвертер, перевёл какие-то числа в hex, поиском нашёл их в коде и заменил на другие. «Чё, — спрашиваю, — таймер отработал?»

IThappens.ru


Проанализировав схему устройства на жесткой логике, можно восстановить весь алгоритм его работы. Проделать то же самое с микроконтроллерным устройством на порядок сложнее. Прежде всего, нужно извлечь прошивку, что возможно далеко не всегда, современные контроллеры имеют неплохую защиту. Полученный файл нужно затем дизассемблировать, деобфусцировать, и только потом проводить анализ.

Какова вероятность того, что помимо основных функций, в прошивке не присутствуют какие-либо дополнительные? Это может быть отправка статистики производителю, намеренно сделанная ошибка, модуль перехвата данных, backdoor — все, что угодно. Причем «закладку» не обязательно добавлять во время разработки, можно внести изменения в прошивку любого существующего устройства. В качестве примера можно привести червя StuxNet, который внедрял свой код в ПЛК ядерно-обогатительных предприятий [2]. Если вы не обогащаете уран, это еще не значит, что вам ничего не угрожает. Уже разработаны механизмы атаки на принтеры [3] и роутеры [4], использующие смену прошивки. Учитывая, с какой легкостью перепрошивается большинство устройств, в ближайшем будущем следует ожидать появления новых «программно-аппаратных» вирусов и разновидностей атак.

А вы уверены, что прямо сейчас ваша микроволновка не следит за вами? 🙂


В ходе чтения этой статьи, особенно второй её части, может сложиться впечатление, что я призываю отказаться от широкого использования контроллеров. Это ни в коем случае не так. Во-первых, технический прогресс невозможно повернуть вспять. Во-вторых, для многих задач контроллеры — единственная альтернатива, и заменить их нечем. И, наконец, в-третьих, описанные негативные аспекты никоим образом не перевешивают достоинств микроконтроллера.

Основной вывод, который хотелось бы сделать — а он подходит для любой технологии — необходимо умело пользоваться преимуществами, которые дает эта технология, но не забывать об их оборотной стороне. Благодарю за внимание, и да пребудет с вами Сила!

Литература


[1] — Г. Горюнов. «Почему одни микроконтроллеры надежнее других».
[2] — «Как Symantec взломала Stuxnet». Хабрахабр.
[3] — «Десятки миллионов принтеров HP LaserJet уязвимы». Хакер.
[4] — «Троян в роутере: заражение D-link 500T в домашних условиях». Хакер №7/10

habr.com

29. Сравнение современных микроконтроллеров

Контроллером в технике регулирования считается управляющее устройство, осуществляющее регулирующие или контролирующие функции в системе. Контроллер, реализованный на одном кристалле, называется микроконтроллером. Современный микроконтроллер является большой цифровой интегральной схемой, объединяющей миллионы, выполненных по микронным технологиям, транзисторов.

Типовая структура микроконтроллера изображена на рис. 1.1. Микроконтроллерсостоит из трех, связанных системными шинами, элементов: процессорного ядра, памяти и набора программируемых функциональных блоков различного назначения.

Процессорное ядро(MCU-MicroprocessorComUnit) является основой микроконтроллера. Оно выполняет все вычислительные операции и одновременно, управляет работой всех остальных элементов схемы. По системным шинам процессорное ядро обменивается данными с памятью и всеми функциональными (ннж.ши Разрядность процессорного ядра определяет разрядность микроконтроллера Наиболее распространены в настоящее время 8-битные (8-разрядные) микроконфолперы Вместе с тем, широкое применение в простых задачах находят и 4-битные издания, а в сложных высокопроизводительных системах 16- и 32-битные

В памяти (Memory)хранится программа работы микрокош рол лора, исходные данные и все промежуточные результаты вычислений. Память состоит из множества многоразрядных ячеек, каждая из которых имеет свой адрес По этому адресу процессорное ядро находит конкретную ячейку памяти в процессе обмена. Память микроконтроллера обычно разделена на две части: память данных (DataMemory) и память программ (ProgramMemory).

Функциональные блокиразличных типов обеспечивают взаимодействие микроконтроллера с внешним миром. Эти блоки могут выполнять самые различные функции: ввод и вывод информации, подсчет внешних событий и интервалов времени, передача внешних запросов на процессорное ядро, аналого-цифровые и цифроаналоговые преобразования сигналов, сравнение различных величин, контроль за напряжением питания и др. Для процессорного ядра любой функциональный блок представляется в виде одного или нескольких регистров. Каждый регистр имеет свой оригинальный адрес, по которому процессорное ядро находит его в процессе работы.

Программа работы микроконтроллера хранится в памяти в виде последовательности команд (инструкций). 8 процессе работы процессорное ядро последовательно извлекает из памяти инструкции, расшифровывает и выполняет их. В зависимости от инструкции в ядре выполняются различные арифметические и логические операции, пересыпки данных. При необходимости, в процессе выполнения инструкции, процессорное ядро обращается за данными к ячейкам памяти и функциональным блокам, либо пересыпает в них результаты вычислений. Множество инструкций, которые понимает процессорное ядро, образует систему команд микроконтроллера.

Практически все ведущие производители разрабатывают целые семейства микроконтроллеров с так называемой модульной структурой. При этом процессорное ядро для всего семейства неизменно, а память и состав функциональных блоков у каждого микроконтроллера различны. Процессорное ядро всегда имеет свою оригинальную схему и, обязательно, оригинальное имя. Например, микроконтроллеры фирмы Motorolaпостроены на базе ядра НС05 и НС08, фирмаIntelсоздала ядроMCS-51 и мг.8-96, контроллеры фирмыMicrochipстроятся на базе ядраPIC12,PIC16,PIC17. 1’К’Ш фирма Л/me/ усиленно развивает семейство микроконтроллеров с ядромAVR

Процессорное ядро на основе известных схемотехнических решений, технологий проектирования и производства цифровых схем реализует определенную архитектуру системы. Для микропроцессорной системы понятие «архитектура» включает в себя множество её структурных особенностей, основными из которых считаются: организация памяти и система команд. В настоящее время известны четыре общих архитектурных принципа в той или другой мере, реализуемые в любом процессорном ядре.

По организации памяти различаются:

Неймановская архитектура— характеризуется общим пространством памяти для хранения данных и программы. При этом разрядность памяти зафиксирована (как правило, равна одному байту). Такую архитектуру имеют, например, микроконтроллеры НС05 и НС08 фирмыMotorola, в которых общий массив 8-битных ячеек памяти включает в себя как память программ, так и память данных [5].

Гарвардская архитектура— отличается разделением памяти программ и памяти данных. При этом разрядность памяти программ и памяти данных, а также шины доступа к ним, различны. В частности, все микроконтроллерыPIC12,PIC16 фирмыMicrochipимеют 8-битную память данных, а разрядность памяти программ у них различна:PIC12 имеют 12 битную память программ, а РЮШ — 14 битную [3]. По системе команд различаются:

0 CISC-архитектура (ComplicatedInstructionSetComputer) — архитектура с развитой системой команд. Система команд процессорного ядра имеет инструкции разного формата: однобайтовые, двухбайтовые, трехбайтовые. Различные инструкции при этом имеют и существенно разное время исполнения.

0 RISC-архитектура (ReducedInstructionSetComputer) — архитектура с сокращенным набором команд. Одна инструкция, как правило, занимает только одну ячейку памяти, и все инструкции имеют равное время исполнения.

Микроконтроллеры с RISC-архитектурой имеют сравнительно более высокую производительность при той же тактовой частоте сигнала синхронизации и в настоящее иремя более распространены.

Разные производители в своих изделиях используют зачастую различные архитектурные принципы. Поэтому приведенное выше деление довольно условно

Например, AVR-микроконтроллеры фирмыAtmel, по мнению ее создателей (AlfBogenиVergardWollan), имеют улучшеннуюRISC(enhancedRISC) архитектуру. В соответствии с принципамиRISC- архитектуры практически все команды микроконтроллера (исключая те, у которых одним из операндов является 16-разрядный адрес) занимают только в одну ячейку памяти программ. Но сделать это разработчикам удалось за счет одновременного использования принципов Гарвардской архитектуры и расширения ячейки памяти программ до 16 разрядов. Поэтому в системе командAVR-микроконтроллеров целых 130 различных команд, что значительно больше, чем у большинства современныхRISC- архитектур.

studfiles.net

Современное состояние и перспективы развития микроконтроллеров — Мегаобучалка

Общие сведения

 

Тенденция развития микропроцессоров нашла отражение и в развитии микроконтроллеров – особого класса вычислительных устройств, применяемого в качестве основы для построения различных контроллеров. Структурная организация, упрощенный набор команд, методы адресации команд и данных, а также специфическая организация ввода/вывода информации предопределяют область их использования в качестве специализированных вычислителей, включенных в контур управления объектом или процессом. Микроконтроллеры не являются машинами классического «фон Неймановского» типа, поскольку физическое и логическое разделение памяти программ и памяти данных исключают возможность модификации и/или перегрузки прикладных программ микроконтроллеров во время их работы.

Развитие архитектуры микропроцессоров и микроконтроллеров прошло путь от CISC-микропроцессоров до RISC-микропроцессоров. Венцом развития микроконтроллеров, на сегодняшний день, явилась архитектура ARM, объединившая мощное вычислительное ядро 32-разрядного процессора с RISC-архитектурой и сопроцессором, а также модуль цифровой обработки сигналов DSP.

Сокращение ARM происходит от названия английской компании Advanced RISC Machines, основанной в 1999 г. В результате сотрудничества компаний Acorn и Apple Computers. Компания не занимается непосредственным производством микросхем, а предоставляет свои разработки в электронном виде, на основе которых клиенты конструируют свои собственные микропроцессоры и микроконтроллеры.

CISC – это аббревиатура от Complete Instruction Set Computer (компьютер с полным набором команд). Для CISC-процессоров характерно: сравнительно небольшое число регистров общего назначения; большое количество машинных команд, некоторые из которых нагружены семантически аналогично операторам высокоуровневых языков программирования и выполняются за много тактов; большое количество методов адресации; большое количество форматов команд различной разрядности; преобладание двухадресного формата команд; наличие команд обработки типа регистр-память.



RISC – это аббревиатура от Reduced Instruction Set Computer (компьютер с сокращенным набором команд). Зачатки этой архитектуры уходят своими корнями к компьютерам CDC6600, разработчики которых (Торнтон, Крэй и др.) осознали важность упрощения набора команд для построения быстрых вычислительных машин. Эту традицию упрощения архитектуры С. Крэй с успехом применил при создании широко известной серии суперкомпьютеров компании Cray Research. Однако окончательно понятие RISC в современном его понимании сформировалось на базе трех исследовательских проектов компьютеров: процессора 801 компании IBM, процессора RISC университета Беркли и процессора MIPS Стэнфордского университета. Система команд разрабатывалась таким образом, чтобы выполнение любой команды занимало небольшое количество машинных тактов (предпочтительно один машинный такт). Сама логика выполнения команд с целью повышения производи-тельности ориентировалась на аппаратную, а не на микропрограммную реализацию. Чтобы упростить логику декодирования команд использовались команды фиксированной длины и фиксированного формата. Таким образом, RISC-архитектура подразумевает ограниченный набор команд, очередь выборки инструкции и ограниченный доступ к памяти.

В настоящее время архитектура ARM занимает лидирующее положение и охватывает 75% рынка 32-разрядных встраиваемых RISC-микропроцессоров.

Среди цифровых интегральных микросхем микроконтроллеры (МК) сегодня, занимают примерно такое же место, как операционные усилители среди аналоговых. Это – универсальные приборы и их применение в электронных устройствах самого различного назначения постоянно расширяется. Разработкой и производством МК занимаются почти все крупные и многие средние фирмы, специализирующиеся в области полупроводниковой электроники. Современные МК (ранее их называли однокристальными микро-ЭВМ) объединяют в своем корпусе мощное процессорное ядро, запоминающие устройства для хранения выполняемой программы и данных, устройства приема входных и формирования выходных сигналов, многочисленные вспомогательные узлы. Общая тенденция развития современного «микроконтроллеростроения» – уменьшение числа внешних элементов, необходимых для нормальной работы. На кристалле микросхемы размещают не только компараторы, аналого-цифровые и цифро-аналоговые преобразователи, но и всевозможные нагрузочные и «подтягивающие» резисторы, цепи сброса и др.

Выходные буферы МК рассчитывают на непосредственное подключение наиболее типичных нагрузок, например, светодиодных индикаторов. Почти любой из выводов МК (за исключением, конечно, выводов общего и питания) разработчик может использовать по своему усмотрению в качестве входа или выхода. В результате довольно сложный по выполняемым функциям прибор нередко удается выполнить всего на одной микросхеме.

Постоянное удешевление МК и расширение их функциональных возможностей снизило порог сложности устройств, которые целесообразно строить на их основе. Сегодня имеет смысл конструировать на МК даже такие приборы, для реализации которых традиционными методами потребовалось бы менее десятка логических микросхем средней и малой степени интеграции.

Стратегия развития сегодняшнего рынка микроконтроллеров направлена на предоставление разработчикам электронной аппаратуры микросхем с большей производительностью, широким набором периферии и малым энергопотреблением.

«Патриарх» микроконтроллерного мира Intel 8051, появившийся в конце 1970-х годов использовал 12 циклов для выполнения одной инструкции.

Через 20 лет Dallas Semiconductor снизила эти «затраты» до 4-х циклов.

В 2006 г. компанией Atmel были представлены шесть новых микроконтроллеров (AT89LP214, AT89LP213, AT89LP414, AT89LP413, AT89LP216, AT89LP416) на основе архитектуры Atmel 8051 Single Cycle Core, которая обеспечивает исполнение 70% инструкций за один цикл. Производительность новых микросхем достигла 20 MIPS на тактовой частоте 20 МГц.

Область применения для 8-битных микроконтроллеров существенно расширилась за счет развития коммуникационных интерфейсов. Автомобильные системы широко используют CAN, портативная бытовая электроника нуждается в USB, телекоммуникационные устройства все активнее опираются на Ethernet.

Новинкой продуктовой линейки компании Microchip Technology является семейство 8-разрядных микроконтроллеров PIC18F97J60, поддерживающих интерфейс IEEE 802.3 Ethernet. Производительность вычислительного ядра 10 MIPS, 128 Кб флэш-памяти программ и 4 Кб памяти данных RAM позволяют использовать данную микросхему в системах мониторинга серверного оборудования.

Рынок 8-разрядных микроконтроллеров успешно развивается. Но несомненным фактом является возрастание роли 32-разрядных процессоров в поддержке встраиваемых приложений. В настоящее время около трети новых разработок встроенных систем в мире основаны на 32-разрядных процессорных платформах. Применение новых технологических процессов позволяет снизить площадь кристаллов и повысить выход годных с одной кремниевой пластины до уровня, обеспечивающего сравнимость цен 8- и 32-разрядных микросхем.

Для создания микроконтроллеров уже применяются 90-нанометровые технологии, на базе которых производится, например, семейство 32-разрядных микроконтроллеров LPC-3000 с архитектурой ARM926EJ-S с тактовой частотой 200 МГц.

 

megaobuchalka.ru

Общие сведения о современных микроконтроллерах

Через несколько лет после появления первого микропроцессора разработчики создали еще одно устройство – микроконтроллер. Микроконтроллер (MCU, Micro Controller Unit) – разновидность микропроцессорной системы, ориентированная на реализацию алгоритмов управления техническими устройствами и технологическими процессами (рисунок 1).

Рисунок 1. Схемотехническое изображение поддерживаемых контроллером элементов

Основное отличие микроконтроллера от микропроцессора общего назначения заключается в том, что у первого размещается в одном корпусе большая часть элементов вычислительной системы. Сегодняшний микроконтроллер представляет собой законченную микропроцессорную систему, содержащую все, необходимые для работы элементы. На его кристалле, кроме процессорного ядра, размещены: память программ и оперативное запоминающее устройство, контроллеры прерываний, таймеры, системные устройства, набор стандартных интерфейсов и портов ввода/вывода. Для создания законченного устройства достаточно просто подключить периферийные устройства и загрузить программу.

Микроконтроллеры в целом можно разделить на группы 8, 16 и 32 разрядных по размеру их арифметических и индексных регистров, хотя некоторые разработчики считают, что 8/16/32 разрядную архитектуру определяет разрядность шины. По используемому в настоящее время технологическому процессу микроконтроллеры заняли нишу 32 нанометров (рисунок 2).

Рисунок 2. Классификация контроллеров по разрядности

Рассматривая недостатки микроконтроллеров можно сказать следующее. Во-первых, теряется универсальность в построении системы, так как возможности ограничены набором периферийных устройств и памяти. Во-вторых, ограничивается вычислительная мощность процессоров. Все это приводит к тому, что основной областью применения микроконтроллеров стали системы управления и встроенные устройства. Такие применения не требуют большой вычислительно мощности процессоров, но предъявляют особые требования к надежности, энергопотреблению и габаритам. На сегодняшний день практически каждое бытовое или промышленное устройство оснащается одним или несколькими контроллерами. Современное радиоэлектронное оборудование, устанавливаемое на борт воздушного судна содержит в себе до нескольких десятков таких устройств. Распространение микроконтроллеров привело к тому, что на их долю приходится до 90% выпускаемых процессоров в мире.

Обращаясь к истории можно сказать, что первый патент на однокристальную ЭВМ был выдан инженерам Texas Instruments М. Кочрену и Г. Буну. Через пять лет фирмой Intel (1976) были выпущены первые микроконтроллеры (восьмиразрядный МК 8048). В настоящее время многие производители выпускают 8-, 16- и 32-разрядные микроконтроллеры с емкостью памяти программ до десятков кБайт, небольшими оперативными запоминающими устройствами данных и набором таких интерфейсных и периферийных схем, как параллельные и последовательные порты ввода/вывода, аналого-цифровые и цифро-аналоговые преобразователи, широтно-импульсные модуляторы и так далее. Образцы выпускаемых промышленностью микроконтроллеров изображены на рисунке 3.

Рисунок 3. Образцы микросхем современных микроконтроллеров

5.6.1 Популярные семейства микроконтроллеров, выпускаемые отечественной и зарубежной промышленностью (на самостоятельное изучение)

5.6.2 Модульный принцип построения микроконтроллеров [5]

Широкое разнообразие моделей микроконтроллеров, возможность разработки и производства новых моделей в короткие сроки обеспечивает модульный принцип построения микроконтроллеров. При модульном принципе построения все микроконтроллеры одного семейства должны содержать в себе базовый функциональный блок, который одинаков для всех микроконтроллеров семейства, и изменяемый функциональный блок, который отличает модели микроконтроллеров в пределах одного семейства (рисунок 6).

Рисунок 6. Модульная структура микроконтроллера

Как видно из рисунка процессорное ядро (базовый функциональный блок) включает:

– центральный процессор;

– внутренние шины адреса, данных и управления. Иногда эти шины называют магистралями;

– схему управления режимами работы. Основное назначение этой схемы управление режимами работы микроконтроллера.

В процессе своего функционирования микроконтроллер работает с следующих режимах (рисунок 7):

в активным режиме. В этом режиме микроконтроллер выполняет основную программу. Все модули микроконтроллера находятся в рабочем состоянии, наблюдается максимальное потребление энергии от источника питания;

в режиме пониженного энергопотребления. В настоящее время одним из главных требований, предъявляемых к устройствам является пониженное энергопотребление. В современных микроконтроллерах возможно два направления реализации режима пониженного энергопотребления. Первое из них заключается в уменьшении потребляемого тока в рабочем режиме. Достигается это отключением всех неиспользуемых модулей в рабочем режиме. Суть второго направления заключается в полном или частичном останове процессора на период простоя;

в режиме начального запуска (сброса) и прерывания. Режим начального запуска необходим, для того чтобы обеспечить запуск основной программы только после того, как будет установлено требуемое напряжение питания, а также кварцевый резонатор выйдет на требуемую частоту работы. Как правило для начального запуска микроконтроллера используют комбинированные схемы обеспечивающие автоматическое формирование сигнала сброса сразу же после включения питания и ручной сброс в случае зацикливания основной программы. Как правило в режиме начального запуска происходит принудительное обнуление всех регистров и флагов.

Рисунок 7. Классификация режимов работы микроконтроллера

Процессорное ядро обозначают именем семейства микроконтроллеров, основой которого оно является. Например, ядро НС08 – процессорное ядро семейства Motorolla МС68НС08, ядро МСS-51 ядро семейства микроконтроллера Intel 8xC51, ядро PIC 16 – процессорное ядро Microchip PIC16.

Изменяемый функциональный блок содержит различные модули, которые принято называть библиотекой периферийных модулей. Библиотека каждого современного семейства микроконтроллеров включает модули пяти функциональных групп:

– модули памяти;

– модули периферийных устройств;

– модули встроенных генераторов синхронизации;

– модули контроля за напряжением питания и ходом выполнения программы;

– модули внутрисхемной отладки и программирования.

В направлении развития 8-разрядной элементной базы микроконтроллеров отчетливо прослеживается тенденция к закрытой архитектуре, при которой линии внутренней магистралей адреса и данных отсутствуют на выводах корпуса микро-контроллера. И, как следствие, не предоставляется возможность использования внешних запоминающих устройств. В этом случае разработчик изделия на микроконтроллере должен позаботится о том, чтобы реализуемый программный продукт сумел разместиться во внутренней памяти микроконтроллера. В противном случае придется сменить элементную базу. Для подобных случаев разработчики элементной базы микроконтроллеров обычно предлагают ряд модификаций микроконтроллеров с одним и тем же набором периферийных модулей и различающемся объемом резидентной памяти программ и данных.

Группа модулей периферийных устройств включает следующие основные типы (рисунок 8):

— Параллельные порты ввода/вывода. С аппаратной точки зрения порт вода/вывода представляет собой несколько выводов (пинов или другими словами ножек микросхемы) общее количество которых определяется разрадноностью передаваемых или получаемых данных. С точки зрения программы для микроконтроллера каждый порт – это несколько специальных регистров (переменных), производя чтение или запись данных в которые можно менять состояние или режим работы выводов микроконтроллера. В зависимости от программной настройки портов микроконтроллера они могут быть только портами ввода, только портами ввывода или же одновременно портами ввода и вывода.

— Таймеры-счетчики, таймеры периодических прерываний, процессоры событий.

— Контроллеры последовательного интерфейса связи нескольких типов (UART, SCI, SPI, I2C, CAN, USB).

UART, Univercal Asynchronous Receiver/Transmitter – универсальный асихронный приемник/передатчик. С помощью этого контроллера осуществляется управление преобразованием данных из принятого микроконтроллером параллельного формата передачи данных в последовательный и наоборот.

— Аналого-цифровые преобразователи;

— Цифро-аналоговые преобразователи;

— Контроллеры жидкокристаллических индикаторов и светодиодные матрицы.

Рисунок 8. Модули переферийных устройств

Существенное изменение претерпели в настоящее время генераторы синхронизации 8 разрядных микроконтроллеров (рисунок 9). Произошло функциональное разделение собственно генератора синхронизации, который выделился в отдельный модуль и схемы формирования многофазной последовательности импульсов для тактирования центрального процессора и межмодульных магистралей, которая является неотъемлемой частью процессорного ядра. Появилась возможность выбора внешнего времязадающего элемента.

Рисунок 9. Классификация микропроцессовров по элементов синхронизации

Повышение производительности процессорного ядра микроконтроллера связано с повышением частоты тактирования центрального процессора и межмодульных магистралей. Тактовая частота или, более точно, скорость шины определяет, сколько вычислений может быть выполнено за единицу времени. Некоторые микроконтроллеры, в основном ранних разработок имеют узкий диапазон допустимой тактовой частоты, в то время как другие могут работать вплоть до нулевой частоты. Иногда выбирается специфическая тактовая частота, чтобы сгенерировать другую тактовую частоту, требуемую в системе, например, для задания скоростей последовательной передачи. В основном, вычислительная мощность, потребляемая мощность и стоимость системы увеличиваются с повышением тактовой частоты. Цена системы при повышении частоты увеличивается из-за стоимости не только микроконтроллера, но также и всех требующихся дополнительных микросхем, таких как RAM, ROM, PLD и контроллеры шины.

5.6.2 Процессорное ядро микроконтроллера

Процессорное ядро представляет собой неразрывное единство трех составляющих его технического решения (рисунок 10):

1) архитектуры центрального процессора присущими ей набором регистров для хранения промежуточных данных, организацией памяти и способами адресации операндов в пространстве памяти, системой команд, определяющей набор возможных действий над операндами, организацией процесса выборки и исполнения команд;

2) схемотехнического воплощения архитектуры, которая определяет последовательность перемещения данных по внутренним магистралям микроконтроллера между регистрами, арифметическо-логическими устройствами и ячейками памяти в процессе выполнения каждой команды;

3) технологии изготовления полупроводникового кристалла микроконтроллера, которая определяет сложность размещенной схемы, определяет допустимую тактовую частоту и энергию потребления;

Рисунок 10

Эти три составляющие неразрывно связаны друг с другом и в конечном итоге определяют его производительность.

С точки зрения системы команд и способов адресации операндов процессорное ядро современных микроконтроллеров реализует один из двух принципов построения процессоров (рисунок 11) CISC (со сложным набором команд) RISC (с сокращенным набором команд).

К микроконтроллерам с CISC-архитектурой относятся микроконтроллеры фирмы Intel с ядром MCS-51, которые поддерживаются в настоящее время целым рядом производителей, микроконтроллеры семейств НС05, НС08 и НС11 фирмы Motorola и ряд других.

Восьми разрядные микрокнтроллеры с CISC-архитектурой имеет одно, двух, трех байтовый формат команд. Выборка команд из памяти осуществляется побайтно в течение нескольких машинных циклов. Длительнось машинного цикла равна периоду частоты тактирования внутренних магистралей контроллера .

Рисунок 11

Максимально допустимое значение частоты является одной из важных характеристик процессорного ядра, так как чем больше , тем выше его производительность. Следует особо обратить внимание на то, что для микроконтроллеров с CISC-архитектурой частота тактирования внутренних магистралей , всегда в несколько раз меньше предельно допустимой частоты кварцевого резонатора, который используется в качестве времязадающего элемента встроенного генератора (рисунок 12).

В процессорах с RISC-архитектурой набор исполняемых команд сокращен до минимума. Для реализации более сложных операций приходится комбинировать команды. При этом все команды имеют формат фиксированной длины (например, 12, 14 или 16 бит), выборка команды из памяти и ее исполнение осуществляется за один машинный цикл микроконтроллера, то есть один период – одна команда. Однако и для микроконтроллеров с RISC частота не всегда совпадает с частотой подключаемого кварцевого резонатора.

Рисунок 12. Подключение внешнего кварцевого резонатора к микроконтроллеру

Производительность процессоров и контроллеров принято оценивать числом элементарных операций, которые могут быть выполнены в течении одной секунды. Единица измерения производительности – миллион операций в секунду MIPS (million instructions per second). Для расчета численного значения производительности в MIPS принято использовать время выполнения самой быстрой команды – команды пересылки «регистр-регистр».

где – время выполнения команды.

На практике в качестве косвенного показателя оценки производительности микроконтроллера используют предельную частоту тактирования, то есть частоту кварцевого резонатора . Именно эта частота всегда указывается в справочных данных. Однако использовать ее для расчета производительности в большинстве случаев нельзя. Дело в том, что длительность машинного цикла процессорного ядра определяется обменом по внутренним магистралям адреса и данных

Система команд RISC-процессора предполагает возможность равноправного использования всех регистров процессора. Это обеспечивает дополнительную гибкость при выполнении ряда операций. К микроконтроллерам с RISC-процессором относятся микроконтроллеры AVR фирмы Atmel, микроконтроллер PIC16 и PIC17 фирмы Microchip и другие.

 

 

На первый взгляд, микроконтроллеры с RISC-процессором должны иметь более высокую производительность по сравнению с CISC микроконтроллерами при одной и той же тактовой частоте внутренней магистрали. Однако на практике вопрос о производительности более сложен и неоднозначен.

Во-первых, оценка производительности микроконтроллера по времени выполнения команд различных систем (RISC и CISC) не совсем корректна. Обычно производительность процессоров и контроллеров принято оценивать числом операций пересылки «регистр-регистр», которые могут быть выполнены в течение одной секунды. В микроконтроллерах с CISC-процессором время выполнения операции «регистр-регистр» составляет от 1 до 3 циклов, что, казалось бы, уступает производительности микроконтроллера с RISC-процессором. Однако стремление к сокращению формата команд при сохранении ортогональности системы команд RISC-процессора приводит к вынужденному ограничению числа доступных в одной команде регистров.

Так, например, системой команд микроконтроллера PIC16 предусмотрена возможность пересылки результата операции только в один из двух регистров — регистр-источник операнда f или рабочий регистр W.

Таким образом, операция пересылки содержимого одного из доступных регистров в другой (не источник операнда и не рабочий) потребует использования двух команд. Такая необходимость часто возникает при пересылке содержимого одного из регистров общего назначения (РОН) в один из портов микроконтроллера. В то же время, в системе команд большинства CISC-процессоров присутствуют команды пересылки содержимого регистров общего назначения в один из портов ввода/вывода. То есть более сложная система команд иногда позволяет реализовать более эффективный способ выполнения операции.

Во-вторых, оценка производительности микроконтроллера по скорости пересылки «регистр-регистр» не учитывает особенностей конкретного реализуемого алгоритма управления. Так, при разработке быстродействующих устройств автоматизированного управления основное внимание следует уделять времени выполнения операций умножения и деления при реализации уравнений различных передаточных функций. А при реализации пульта дистанционного управления бытовой техникой следует оценивать время выполнения логических функций, которые используются при опросе клавиатуры и генерации последовательной кодовой посылки управления. Поэтому в критических ситуациях, требующих высокого быстродействия, следует оценивать производительность на множестве тех операций, которые преимущественно используются в алгоритме управления и имеют ограничения по времени выполнения.

В-третьих, необходимо еще учитывать, что указанные в справочных данных на микроконтроллеры частоты синхронизации обычно соответствуют частоте подключаемого кварцевого резонатора, в то время как длительность цикла центрального процессора определяется частотой обмена по внутренним шинам контроллера. Соотношение частот индивидуально для каждого микроконтроллера и должно быть принято в расчет при сравнении производительности различных моделей контроллеров.

5.6.3 Резидентная память микропроцессора

Закрытая архитектура современных контроллеров стала реализуемой лишь при условии интеграции в кристалл микроконтроллера памяти двут типов: энергонезависимого запоминающего устройства для хранения кодов прикладных прграмм (ПЗУ) и оперативного запоминающего устройства для хранения промежуточных результатов вычислений (ОЗУ) (рисунок 13).

С точки зрения пользователей следует различать следующие типы энергонезависимой резидентной памяти

1 ПЗУ масочного типа – Mask-ROM. Содержимое ячеек ПЗУ этого типа записывается на заводе-изготовителе микроконтроллера с помощью масок и не может быть изменено или допрограммировано в области ранее не использованного сегмента памяти.

Рисунок 13

Масочные ПЗУ имею ограниченное применение из-за специфики записи в них инормации.

Достоинством масочных ПЗУ является высокая надежность храненения данных по причине программирования в заводских условиях с последующей проверкой качества. Недостатки масочных ПЗУ очевидны: любое изменение прикладной программы потребует замены микросхемы, что может оказаться весьмак дорогостоящим и времяемким решением.

2 ПЗУ однократно программируемые пользователем – OTPROM (One-Time Programmable ROM


Похожие статьи:

poznayka.org

Микроконтроллеры. Устройство и особенности. Применение

Микроконтроллеры внешне похожи на маленькие микросхемы. На их кристалле выполнена сборка своеобразного микрокомпьютера. Это значит, что в устройство корпуса одной микросхемы вмонтировали память, процессор и периферийные устройства, которые взаимодействуют друг с другом, с внешними устройствами, и работают под руководством особой микропрограммы, хранящейся внутри корпуса.

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

Устройство микроконтроллера

Сегодня выпускается много разных видов форм и серий микроконтроллеров, но их сфера использования, назначение и принцип работы одинаков.

Внутри корпуса микроконтроллера находятся основные элементы всей его структуры. Существует три класса таких устройств: 8, 16 и 32-разрядные. Из них 8-разрядные модели имеют малую производительность. Она достаточна для решения простых задач управления объектами. 16-разрядные микроконтроллеры – модернизированные 8-разрядные. Они имеют расширенную систему команд. 32-разрядные устройства включают в себя высокоэффективный процессор общего назначения. Они используются для управления сложными объектами.

  • Арифметико-логическое устройство служит для производства логических и арифметических операций, выполняет работу процессора совместно с регистрами общего назначения.
  • Оперативно запоминающее устройство служит для временного хранения информации во время функционирования микроконтроллера.
  • Память программ является одним из основных структурных элементов. Она основана на постоянном запоминающем устройстве с возможностью перепрограммирования, и служит для сохранения микропрограммы управления работой микроконтроллером. Она называется прошивкой. Ее пишет сам разработчик устройства. Изначально в памяти программ завод изготовитель ничего не закладывает, и там нет никаких данных. Прошивку с помощью программатора разработчик устройства записывает внутрь.
  • Память данных используется в некоторых моделях микроконтроллеров для записи различных постоянных величин, табличных данных и т.д. Эта память имеется не во всех микроконтроллерах.
  • Для связи с внешними устройствами существуют порты ввода-вывода. Их также используют для подключения внешней памяти, различных датчиков, исполнительных устройств, светодиодов, индикаторов. Интерфейсы портов ввода-вывода разнообразны: параллельные, последовательные, оборудованные USB выходами, WI FI. Это расширяет возможности применения микроконтроллеров для различных сфер управления.
  • Аналого-цифровой преобразователь требуется для введения аналогового сигнала на вход микроконтроллера. Его задачей является преобразование сигнала из аналогового вида в цифровой.
  • Аналоговый компаратор служит для выполнения сравнения двух сигналов аналогового вида на входах.
  • Таймеры используются для выполнения установки диапазонов и задержки времени в функционировании микроконтроллера.
  • Цифро-аналоговый преобразователь исполняет обратную работу по преобразованию из цифрового сигнала в аналоговый.
  • Действие микроконтроллера синхронизируется с генератором тактовыми импульсами при помощью блока синхронизации, который работает совместно с микропрограммой. Генератор тактовых импульсов может быть как внутренним, так и внешним, то есть, тактовые импульсы могут подаваться с постороннего устройства.

В результате микроконтроллеры можно назвать электронными конструкторами. На их основе можно создать любое управляющее устройство. С помощью программ можно подключать или отключать составные элементы, находящиеся внутри, задавать свой порядок действий этих элементов.

Микроконтроллеры и их применение

Сфера их использования постоянно расширяется. Микроконтроллеры применяются в различных механизмах и устройствах. Основными областями их применения являются:

  • Авиационная промышленность.
  • Робототехника.
  • Промышленное оборудование.
  • Железнодорожный транспорт.
  • Автомобили.
  • Электронные детские игрушки.
  • Автоматические шлагбаумы.
  • Светофоры.
  • Компьютерная техника.
  • Автомагнитолы.
  • Электронные музыкальные инструменты.
  • Средства связи.
  • Системы управления лифтами.
  • Медицинское оборудование.
  • Бытовая техника.

Примером можно рассмотреть использование микроконтроллеров в автомобильной электронике. В некоторых автомобилях Пежо встроено 27 различных микроконтроллеров. В элитных моделях БМВ применяется более 60 таких устройств. Они контролируют жесткость подвески, впрыск топлива, работу приборов освещения, стеклоочистителей, стеклоподъемников и других механизмов.

Советы по выбору

При разработке цифровой системы требуется сделать правильную модель микроконтроллера. Главной целью является подбор недорого контроллера для уменьшения общей стоимости всей системы. Однако, необходимо, чтобы он соответствовал специфике системы, требованиям надежности, производительности и условиям использования.

Основными факторами подбора микроконтроллера являются:

  • Способность работы с прикладной системой. Возможность реализации этой системы на однокристальном микроконтроллере, или на специализированной микросхеме.
  • Наличие в микроконтроллере необходимого количества портов, контактов, так как при их нехватке он не будет способен выполнить задачу, а если будут лишние порты, то стоимость будет завышена.
  • Необходимые устройства периферии: различных преобразователей, интерфейсов связи.
  • Наличие других вспомогательных устройств, ненужных для работы, из-за которых повышается стоимость.
  • Сможет ли ядро контроллера обеспечить требуемую производительность: мощность вычислений, дающую возможность обработки запросов системы на определенном прикладном языке программирования.
  • Имеется ли в проекте бюджета достаточно финансов, чтобы применять дорогостоящий микроконтроллер. Если он не подходит по цене, то остальные вопросы не имеют смысла, и разработчик должен искать другой микроконтроллер.
  • Доступность. В этот фактор входят следующие пункты:

• Нужное количество.
• Выпускается ли в настоящее время.
• Наличие поддержки разработчика.
• Наличие языков программирования, внутрисхемных эмуляторов, средств отладки и компиляторов.

  • Информационная поддержка, включающая в себя:

• Связь с профессиональными специалистами.
• Квалификация персонала, и их заинтересованность в помощи и решении проблем.
• Примеры текстов программ.
• Программы и бесплатные ассемблеры.
• Сообщения об ошибочных действиях.
• Примеры использования.

  • Надежность завода изготовителя. В этот фактор входит:

• Период работы по этой теме.
• Качество изделий, надежность изготовления.
• Профессиональная компетентность, подтвержденная научными разработками.

Похожие темы:

electrosam.ru

Добавить комментарий

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