Выбираем микроконтроллер вместе / Хабр
Прочитав эту статью я заметил большой интерес к выбору микроконтроллера у читателей и решил взглянуть на эту проблему с другой стороны.Могу предположить, что всех интересует выбор их первого, либо первого 32-х битного МК.
Тем, кто знает, что на фотографии нет ни одного микроконтроллера — прошу в комментарии, дополнить мой рассказ и тем самым поделиться своим опытом с начинающими. Остальным, непременно под кат!
На мой взгляд чем проще будет каждый этап обучения — тем проще будет дойти до самостоятельного плаванья. Поэтому я считаю, что на начальном этапе следует брать все готовое. Ничего не придумывать самому. Представьте:
вы выбрали контроллер,
проглядели даташит,
развели под него плату,
или нашли ее на просторах интернета,
купили все компоненты(или аналоги если советуемых не было),
запаяли все,
написали первый «hello world»,
собрали программатор, прошили контроллер
И… и ничего не происходит! Что-то не работает, и вы не можете понять что: то ли в пайке ошибка, то ли что-то с программой, то ли в интернете кривая схема, то-ли проблемы с софтом.
Новичка такая ситуация ставит в тупик, знаю это по себе.
Чтобы такого не случилось проще всего сделать первые шаги под чьим-то руководством.
Преимущество простого старта отлично показывает платформа Arduino. Посудите сами: возможности контроллеров совсем не велики, цены на платы огромны, зато огромная поддержка сообщества и все уже готова, любые платы расширения, кучи примеров.
За счет этого и живет платформа!
Давайте посмотрим какой у нас вообще есть выбор! На рынке огромное количество производителей и архитектур. Но выбор на самом деле совсем не велик:
я бы сразу отсек все 8-ми и 16-ти битные архитектуры, кроме PIC и AVR, да иногда производители предлагают отладочные платы и контроллеры по очень заманчивой цене
но я не советую их брать потому, что это малораспространенные архитектуры и на них меньше примеров + пересаживаться на другие контроллеры будет сложнее.
Арм микроконтроллеры делятся на 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
популярные модели, плюсы и минусы
Контроллер – слово, образовавшееся от инфинитивной формы английского глагола «to control» – повелевать, управлять. Контроллеры разделяются по группам и, в зависимости от принципа работы, используются в конструировании механических или электронных устройств. Механические изобретения – дорогие и ненадежные.
Когда пользователь строит электронное приспособление, по окончанию работ система настраивается, и в процессе эксплуатации постоянно регулируется, что требует дополнительных затрат.
Существующий рынок микроконтроллеров
Рынок микроконтроллеров заполнен различными моделями такого вида устройств. Большинство производителей выпускают мини-компьютеры, в функционал которых заложена работа микроконтроллеров. Самый интересный проект – выпуск pcDuino. Такой мини компьютер отличается средней производительностью. Главный плюс заключается в количестве пинов для ввода и вывода. Кроме того, шилды напрямую идут от микроконтроллера Arduino.
С помощью описанного оборудования разработали концепцию «умный дом». Над системой работали несколько десятков лет, учитывая, что сфера электроники развивается в медленном темпе. Цены на эту систему заоблачные. Постепенно «умный дом» приобретает новые «знания». Бюджетный вариант для создания умного дома – розетки и сенсор движения от производителя Belkin Wemo.
Топ-5 популярных микроконтроллеров
Рассмотрим популярные компании, которые производят микропроцессоры, в таблице ниже.
Микроконтроллер | Особенности |
МК Iskra JS | Это флагманская плата. В «мозги» микропроцессора включен интерпретатор на языке JavaScript. Продукт создан на основе платформы Espruino. Подходит для совместной работы с Ардуино. Пригодится в проектах, где внимание уделено скорости и комфорту разработки. Техническое приспособление максимально совместимо с платами расширения и сенсорными инструментами. Пользователь начинает знакомство с устройством с изучения языка, который внедрен в микропроцессор. Особенности языка можно посмотреть в разделах вики. |
МК Mbed компании ARM | Компания ARM занимается созданием программно-аппаратных платформ и ОС (операционных систем) для электронных девайсов с 32-разрядными микроконтроллерами из группы ARM Cortex-M. Данный проект запускался одновременно с другими производителями подобной техники. Работа девайса проходит в онлайн-режиме. В платформу включена IDE, в которую входит:
Аппаратная часть состоит из:
|
Микропроцессоры Wemos | В линейку разработок этой компании вошли такие известные модели, как wemos d1 mini, lolin esp32 oled wemos, wemos lolin32, bme wemod d1.
Последнее устройство выпущено сравнительно недавно, и по характеристикам многим нравится: встроен usb-порт и разъем под батарею, главная особенность – esp-wroom-32 модуль с 4 Мб памяти. |
МК Arduino | Arduino – наиболее популярный микропроцессор среди начинающих электронщиков. На платформе находится процессор с памятью. Количество пинов = 20 штук. К контактам подключается периферия:
Если сравнивать arduino и esp8266, то многие профессионалы ругают первый микроконтроллер за его стоимость. Для новичка Ардуино легок для освоения: достаточно создать код, загрузить его в платформу и подцепить периферийные устройства. |
Raspberry | Наиболее популярная модель от этой компании – Raspberry Pi Zero. Плата построена по принципу Model A+, только гораздо уменьшена в размерах. В отличие от Arduino, raspberry pi по цене выходит дешевле – 300р или 420р. На микрокопьютере с таким миропроцессором легко запускается любой дистрибутив Линукса. Платформа загружает и запускает Raspbian или подобную ОС (операционную систему). Однако встроенной памяти на половину гигабайта вряд ли на что-то большее хватит. Зато устройство пригодно для конструирования электронных систем в качестве микроконтроллера. Микропроцессор поддерживает 2 штуки microUSB порта. Из вышеперечисленных устройств это самый мощный девайс для разрешения задач повышенной сложности: обрабатывание информации и визуализация. |
Аналоги популярных МК: плюсы и минусы
Ниже представлены популярные аналоги некоторых перечисленных выше микроконтроллеров.
Аналоги ардуино:
- Актуальные микропроцессоры, предназначенные для разработки в веб-индустрии и аналгичные ардуино, – particle photon и btphone d1 mini. Девайс поставляется с помощью вай-фая. Сегодня такой микроконтроллер – актуальная замена Ардуино. Программный код пишется аналогично Ардуино. Пользователь набирает код программы и переносит на МК.
- Teensy является также известной альтернативой МК Ардуино. С помощью Тинси создаются собственные проекты с электронными устройствами. Код, посредством загрузчика, переносится на микроконтроллер с помощью юсб-порта с флеш-накопителя.
- Основа этого МК – ARM. Основно преимущество – совместимость расположенных на платформе контактов. Пользователь может поискать на технических рынках модели нетдуино, однако стоимость таких девайсов достаточно высока.
- Совершенно новый подход к прототипированию устройств представляет аналог из линейки ардуино-устройств. Многие ардуино-платы формы выпуска мини или уно не пригодны для многих вещей, которые разработчики активно используют в создании электронного устройства. АТтини85 помогает без подключения всевозможных проводов и программаторов: код легко обкатывается. Это проводится для конструкции легких проектов, для программирования на низкоуровневых языка такой МК вряд ли пригодится. Наиболее пригодны для программирования robotdyn uno r3 или arduino digispark.
Аналоги популярного микроконтроллера Вемос:
- Вемос д1 мини про. Формфактор относительно других моделей более компактный. Формат сильно походит на Ардуино Уно. Так же, как и в других моделя подобных устройств, сначала программируется код на бесплатной среде разработки, после чего программа загружается на платформу. Юные электронщики с помощью такой платы создают автополивы и автоматизируют аквариумы. Ширина равняется 2 с половиной см. Длина немного больше – 3,5 см.
- Другие модели, на которых встроены доступные порты ЕСП32. Бонусное добавление – зарядка для Лион-батареи. Такое же сооружение встроено в клон avrisp mkil. То есть платформы могут работать в автономном режиме бесперебойно за счет встроенной батареи. Даже если в розетке возникло переменное напряжение, устройство не пострадает и продолжит свою работу. Не нужно придумывать дополнительных конструкций для поддержания рабочего состояния.
Заключение
Безусловно, каждый пользователь самостоятельно выбирает подходящее устройство для своего проекта. Однако некоторые разработчики заинтересованы в том, чтобы девайс по ценам был приемлемым.
Задумывая технологический стартап, вы совсем не обязаны быть асом в электронике, гораздо больше шансов на хорошую идею имеет узкий специалист со знанием основ маркетинга, но, даже заказывая кому-то разработку, ориентироваться в возможностях современной элементной базы и представлять цену решения необходимо обязательно. Иначе можно потребовать невозможного, либо получить устройство с завышенной себестоимостью на устаревшей элементной базе.
Под катом попытка кратко и просто рассказать о возможностях современных микроконтроллеров людям от них далёким. Для тех, у кого есть идея нового электронного устройства, но отсутствует представление о том, что такое микроконтроллер. Те, кто хочет сделать первый шаг от занимательных экспериментов с платформой ардуино к проектированию собственных устройств, также могут найти в ней простые, но полезные советы. Я старался, не останавливаясь на технических подробностях, для этого и книги не достаточно изложить суть и дать несколько простейших, но полезных советов по схемотехнике, чтобы предостеречь от элементарных ошибок начинающих.
Краткое содержание статьи:
Как микроконтроллеры завоевали мир
Архитектура ARM — сегодняшний лидер рынка микроконтроллеров
Конкуренция с младшими братьями
Об укладке асфальта, пользе сна и его разновидностях
Совсем коротко о технологии изготовления и о том, как появляются серии микроконтроллеров
Периферия простейшего ARM микроконтроллера за пол бакса
Самый дешёвый способ получить дополнительные функции
А что добавит переход на Cortex-M4, кроме возросшей в пару раз цены?
Cortex-M7 — когда хочется большего…
Защита кода, возможность его обновления и многообразие помогли микроконтроллерам завоевать мир
Любой умный прибор требует управления. В большинстве случаев сегодня этим занимаются микроконтроллеры — чипы, которые совмещают в себе микропроцессорное ядро, память и периферийные модули, отвечающие за связь с остальными компонентами устройства и внешним миром.
Микроконтроллеры — мастера на все руки. Один микроконтроллер способен заменить десятки специализированных микросхем, которые были бы необходимы для выполнения требуемых функций в случае, если бы роль вычислителя занимал микропроцессор.
Одно из неоспоримых преимуществ микроконтроллера — программа, под управлением которой он работает, скрыта внутри его корпуса (в секции под названием “память программ”) и очень хорошо защищена от взлома, конечно, в случае, если разработчик микрокода об этом позаботился, активизировав встроенные механизмы защиты. Таким образом, вы получаете защиту интеллектуальной собственности настолько большую, насколько это возможно в наши дни.
Что нельзя взломать — то можно скопировать. Зачем пытаться считать код, встроенной в микроконтроллер программы, с помощью дорогостоящих хитроумных приспособлений, если проще и дешевле найти профессионала, который может написать его заново? Возможно результат будет даже лучше, а функционал богаче чем у прототипа. Да это стоит денег, но содержание FLASH памяти сегодняшних микроконтроллеров настолько хорошо защищено, что попытки грубого “взлома” обойдутся ещё дороже. Кроме того, решается проблема интеллектуальной собственности, а вы, вместе с исходными кодами программы, получаете возможность развивать и совершенствовать своё устройство.
Память программ, в современных универсальных микроконтроллерах, является перезаписываемой, причём процесс перезаписи можно повторять не один десяток тысяч раз. Напрашивается использование этого факта для обновления программного обеспечения с целью устранения найденных в нём ошибок или расширения функций уже работающего устройства. Это достаточно просто реализовать — добавив в программу специальный участок кода под названием “бутлоадер”, вы получаете возможность обновлять программное обеспечение вашего прибора различными способами: в пункте сервисного обслуживания (если устройство имеет специальный, скрытый внутри корпуса от посторонних глаз, разъём), подключив к компьютеру по USB, через сетевой или даже беспроводной интерфейс. Главное, предусмотреть в приборе необходимую для этого периферию. Предоставляя возможность обновления ПО, всегда следует думать о безопасности, если этот процесс недостаточно защищён, мало того, что злоумышленники могут похитить ваш код, они могут модифицировать его и использовать в своих не исключено, что коварных целях. Например, взять под контроль вещи вашего “умного дома” или шпионить с помощью, установленной вами же у себя дома, WEB камеры.
Архитектура ARM — сегодняшний лидер рынка микроконтроллеров
Со времён Царя Гороха микроконтроллеры принято разделять по разрядности данных, над которыми они проводят операции. В подавляющем большинстве случаев, сегодня, в новых разработках, стоит останавливать свой выбор на 32 битных микроконтроллерах с ядром АRM. Существует огромное количество их модификаций и всегда можно подобрать экземпляр, наилучшим образом подходящий для решения вашей задачи. В зависимости от набора функций и производительности, цена чипа может составлять от десятков центов до десятков долларов.
Микроконтроллеры(MCU), в зависимости от архитектуры вычислительного ядра, принято разделять на крупные семейства. На сегодняшний день, для разработок устройств малой и средней сложности, наиболее популярны микроконтроллеры c ядрами от Cortex-M0 до Cortex-M7. Чем больше цифра, тем больше вычислительные (и не только) возможности, цена и максимальное энергопотребление. Не последнюю роль в популярности ARM сыграла преемственность архитектуры. Разработчик может с минимальными издержками модифицировать программный код своих предыдущих наработок, переходя от микроконтроллеров одного производителя к чипам другого и мигрируя между ядрами с разной производительностью.
Конкуренция с младшими братьями
Однако ARMы «рулили» не всегда. Я хорошо помню времена, когда абсолютными лидерами рынка были 8 битные микроконтроллеры и, с занятых позиций, их безуспешно пытались оттеснить 16 битные коллеги, но, по иронии судьбы, удалось сделать это только 32 битным старшим братьям. Так сложилось, что к моменту их появления, технологии изготовления чипов сильно удешевили интеграцию в них больших объёмов FLASH памяти. Воспользовавшись удобным случаем, программисты стали переходить с ассемблера на язык более высокого уровня — Си, структура которого отлично ложилась на 32 битную архитектуру. В результате 32 битные микроконтроллеры выполняли вычисления гораздо быстрее своих 8 и 16 битных коллег, но была одна проблема — у них был выше ток потребления.
Поэтому, поначалу, они использовались в случаях, когда требовалась большая вычислительная производительность.
Известно, что средний ток потребления вычислительного ядра микроконтроллера существенно увеличивается с поднятием его тактовой частоты. Поначалу 8 битные модели микроконтроллеров отличались заметно меньшим потреблением при сходной частоте и, кроме того, были способны работать от низкой тактовой частоты, вплоть до 32 кГц.
Энергопотребление микроконтроллеров сильно зависит от тактовой частоты ядра и периферии, чтобы её регулировать, для генерации стали использовать, широко применявшийся в радиопередающих устройствах, узел формирования тактовой частоты на основе ФАПЧ. Это позволило в широких пределах изменять тактовую частоту, не меняя задающий кварцевый резонатор. Периферийным модулям совсем не обязательно иметь такую же тактовую частоту, что и вычислительному ядру. Чтобы снизить их энергопотребление, частоту на них стали подавать через делители с программно-регулируемым коэффициентом деления. Ввели возможность отключать неиспользуемые модули. Эти меры сильно уменьшили энергопотребление, но оно по прежнему оставалось существенно больше, чем у 8 битных.
На короткое время сложился паритет — 32 битные MCU захватили нишу топовых приложений, а 8 битные уверенно удерживали позиции в устройствах, для которых было важно низкое энергопотребление. Он сохранялся до тех пор, пока 32 битные MCU не освоили в совершенстве «импульсный» режим работы.
8-битники, к тому времени, тоже научились это делать, но, из-за низкой производительности, бодрствовать им приходилось гораздо больше и, как результат, они начали проигрывать по энергопотреблению, особенно в задачах, требующих расчётов, что иллюстрирует картинка ниже.
Об укладке асфальта, пользе сна и его разновидностях
Итак, микроконтроллеры настолько хорошо научились считать, что стали выполнять свою работу очень быстро и большинство времени были вынуждены “бить баклуши”, пожирая энергию для выполнения холостых циклов. В устройствах с автономным питанием это сильно сокращает ресурс батарей или время работы от одной зарядки аккумуляторов.
Понаблюдайте за строительными рабочими которые кладут асфальт. Они резко активизируют свою работу, когда пришёл грузовик с новой порцией асфальта, а после его укладки снижают темп. Так и микроконтроллеры умеют повышать и снижать частоту тактирования ядра. Однако, им это даётся не так просто, как рабочим — одновременно изменится и частота работы всей внутренней периферии, поэтому, чувствительные к этому её части придётся перенастраивать.
Не проще ли, выполнив быстро всю работу, немного поспать. Зачастую, да. Причём виды сна микроконтроллеров отличаются ещё более драматично, чем у человека.
Можно просто вздремнуть. В этом случае наш чип всегда наготове и как только зазвенел будильник таймера или его потревожило внешнее прерывание, он просыпается практически мгновенно. Как человек во время дремоты может снять напряжение, но не выспаться толком, когда тебя постоянно дёргают, так и микроконтроллер может снизить своё энергопотребление в этом режиме “всего” раз в 10, называют этот режим SLEEP.
Лучший способ хорошо выспаться — раздеться, лечь в постель, задёрнуть шторы на окне и включить будильник. Однако, после такого сна, уже моментально в работу не включишься. Придётся, как минимум, предварительно ополоснуться холодной водой и одеться. Есть такой режим и у микроконтроллера, когда он ограничивает количество внешних раздражителей и выключает основной тактовый генератор. Это режим STOP. В нём можно уменьшить потребление в 1000 раз, но и на выход из него уже потребуется существенное время.
Теперь, представьте себе, что вы перед сном выпили изрядную дозу снотворного, отключили будильник и телефон, закрыли все окна и двери. Это будет режим STAND BY. Вывести из такого режима микроконтроллер можно только с помощью особых выводов и большая часть памяти о том, чем он занимался перед таким сном будет потеряна навсегда, придётся начинать работу заново. Зато находясь в таком режиме MCU потребляет ещё в два раза меньше.
Последний, весьма экзотический режим, напоминает уже кому, из которой нельзя выйти без специального оборудования. В этом случае работает только специальный генератор тем не менее, являющийся частью микроконтроллера на отдельном часовом кварце, который может функционировать от собственного источника питания и иметь буквально несколько байт оперативной памяти, предназначение которой напомнить микроконтроллеру о том, из какого состояния он в эту кому впал. Если остальные части микроконтроллера, при этом, отключить от питания, то энергопотребление может составить уже одну десятитысячную часть от активного режима.
Выбирая режим экономии энергопотребления необходимо помнить о последствиях применения:
- чем глубже сон, тем дольше пробуждение
- чем глубже сон, тем меньше способов вывести из него микроконтроллер
- чем глубже сон, тем меньше остаётся информации о предыдущем состоянии микроконтроллера
- для достижения минимальных заявленных значений, во многих режимах необходимо принимать дополнительные меры, например — отключения периферии
- для минимизации энергопотребления устройства в целом необходимо грамотно спроектировать схемотехнику всего устройства
- для минимизации энергопотребления устройства в целом, нужно позаботиться о том, чтобы остальные компоненты и цепи также имели микропотребление в неактивном режиме. Глупо предпринимать огромные усилия для того, чтобы опустить потребление микроконтроллера ниже одного микроампера и, при этом, применять в устройстве дешёвый стабилизатор с током собственного потребления в 100 микроампер
но встречается такое сплошь и рядом - для успешного использования режимов глубокого сна не только программа, но и схемотехника, должны быть тщательно продуманы, иначе, вместо экономии, можно получить весьма серьёзные проблемы — редко случающееся, зато “мёртвое” зависание устройства по необъяснимой причине, либо слишком частое пробуждение и, как результат, потребление на порядки выше ожидаемого
Если ваши программист со схемотехником не первый день винят друг друга в криворукости и, вместе, производителя в публикации нереальных цифр в даташитах на микроконтроллер, а ваше устройство сажает батарейки на порядок быстрее, чем вы рассчитывали, это повод, по крайней мере, обратиться к независимым высококвалифицированным экспертам.
Совсем коротко о технологии изготовления и о том, как появляются серии микроконтроллеров
Физически активная часть микроконтроллера, как и подавляющее количество других микросхем, обычно сформирована на пластине монокремния (назовём его, в данном контексте, ЧИП). Чипы занимают очень маленькую площадь, технологически же выгодно производить пластины большого диаметра, поэтому, обычно большое количество чипов, как соты, размещают на одной большой пластине и формируют, в ходе одного технологического процесса. В последствии пластины нарезают на кусочки, получая уже отдельные чипы, которые и помещают в корпуса. Разработка топологии и отладка технологических процессов нового чипа стоит очень дорого, а занимаемое на пластине одним чипом место, как правило, не велико. Производителям выгодно выпускать чипы крупными партиями, но пользователям требуются микроконтроллеры в разных корпусах — кому то важно получить корпус поменьше и подешевле, другому наоборот требуется побольше выводов, чтобы управлять LCD или внешней памятью с параллельным интерфейсом. Производителям выгодно перекрывать все ниши, чтобы клиенты не перебегали к конкурентам, не найдя оптимальной для себя модели.
Очень часто бывает выгодней выпустить крупной партией один универсальный чип и помещать его в разные корпуса, чем запускать десяток различных. У чипов, помещённых в корпуса с малым количеством выводов, часть портов (в данном контексте, под портами будем понимать контактные площадки на поверхности чипа, служащие для общения с внешним миром) просто останутся неподсоединёнными. Часто производители идут дальше — чтобы поднять спрос и цену на микроконтроллеры с большим количеством ножек, они искусственно обрезают функциональность тех, у которых их меньше — отключают некоторые функции, ограничивают объём доступной памяти и т. п.
Так на основе одного чипа формируют серии микроконтроллеров, существенно отличающиеся по объёму памяти и набору периферийных модулей, иной раз и в разы по цене. При этом чипы, в них установленные, могут нарезаться из одних и тех же пластин. Поскольку площадь, на которой размещается один чип, невелика, вклад её в себестоимость конечного изделия также мал и им можно пожертвовать. Становится выгодным отключение дополнительной памяти и других функций, например, на этапе тестирования — либо с помощью однократно программируемых битов конфигурации, либо пережиганием перемычек лазером. Лишь для наиболее массовых изделий имеет смысл для этого создавать слегка изменённый фотошаблон. Причём, совсем не обязательно там будет физически отсутствовать неиспользуемая память, её, опять же, можно просто отключить, удалив перемычки в шаблоне.
Так из одного стандартного дизайна чипа формируется целая серия микросхем.
Периферия простейшего ARM микроконтроллера за пол бакса
Процессорное ядро — это мозг, но, чтобы он не был подобен “сферическому коню в вакууме”, требуются аналоги органов чувств и конечностей.
В микроконтроллере их роль играют выводы на корпусе, к которым внутри корпуса могут подключаются порты(контактные площадки) чипа. В свою очередь, через внутренние коммутаторы, к одному и тому же порту могут подключаться различные периферийные модули.
Для начала рассмотрим периферию одной из простейших серий от ST на основе ядра Cortex-M0 — stm32F03.
Для этой серии имеем следующий набор базовых функций:
Часы реального времени (Real Time Clock или RTC), которые могут запитываться с помощью отдельного вывода и работают от отдельного низкочастотного резонатора. Этот модуль потребляет крайне мало энергии, в случае пропадания основного питания он может часами работать от заряженного конденсатора, или годами от маленькой встроенной в прибор батарейки. Кроме этого, он может служить в качестве будильника, выводя микроконтроллер из состояния даже самого глубокого сна в заранее заданное время.
WatchDog — сторожевая собака мешающая микроконтроллеру заснуть навсегда, например, свалившись в бесконечный цикл или перейдя по несуществующему адресу. Его принцип работы прост. Программист настраивает таймер защиты от “зависания” на определённый период времени, допустим на секунду, и запускает его. Затем он расставляет, в выбранных им местах программы, короткие участки кода, которые перезапускают таймер с нулевого значения. Если за секунду не произошло ни одного сброса таймера, WatchDog считает, что с программой что-то не так и устраивает микроконтроллеру перезапуск. Программа начинает работать с начала, причём существует возможность определить являлся ли инициатором ресета WatchDog и учесть этот факт при запуске.
Универсальные цифровые входы-выходы (General Purpose Input-Output GPIO) — это самая распространённая функция, которую поддерживают большинство выводов микроконтроллера. Они могут конфигурироваться либо как входы, либо как выходы.
Рассмотрим работу в качестве входа. Если напряжение на входе микроконтроллера меньше некоего порога (как правило близкого к половине питания), то оно воспринимается как логический ноль, в противном случае как 1. Цифровые входы обычно имеют очень высокое входное сопротивление, поэтому, если их оставить не подключенными, их состояние может скакать из нуля в единицу и обратно, под действием наводок электромагнитных полей. Для того, чтобы этого не происходило, существуют специальные режимы, когда внутри чипа вход соединяется через сопротивление 20 — 50 КОм с плюсом питания микроконтроллера (pull-up) или с минусом (pull-down).
Если выводы сконфигурированы цифровыми выходами, то их программно можно перевести в высокий уровень равный напряжению питания микроконтроллера, либо низкий. Существуют и более хитрые режимы, но не будем вдаваться в чрезмерные подробности.
Советы начинающим разработчикам Выводы микроконтроллера — мастера на все руки, но следует соблюдать простые правила, чтобы не вывести их из строя. Несмотря на все предосторожности, предпринимаемые производителями чипов, они боятся статики и перенапряжений, поэтому не стоит подсоединять их напрямую к разъёмам, выходящим за пределы платы. Необходимо, в этом случае, предпринять меры — либо воспользоваться специальными интегральными компонентами защиты, либо предусмотреть в схеме супрессор, стабилитрон или защитные диоды, плюс установить в разрыв между выводом разъёма и портом токоограничивающее сопротивление.На рисунке выше изображён участок схемы, спроектированного мной устройства (спутникового модема), с элементами простейшей защиты портов микроконтроллера. X4 — разъём для внешних коммуникаций. Нас интересуют контакты 5-7, к которым присоединяются тревожные кнопки. Сигналом тревоги служит замыкание на землю, поэтому, в нормальном состоянии, на портах должно присутствовать напряжение питания микроконтроллера, что и обеспечивают резисторы R24-R26, номиналом 1 КОм. Супрессоры VD4-VD6 ограничивают напряжение на уровне 5 вольт, это допустимо потому, что применяемый мной микроконтроллер, хотя и питается напряжением 3,3 вольта, но имеет порты толерантные к напряжению 5 вольт. Резисторы R29-R31 на 100 Ом.
Подобная защита спасёт порты вашего микроконтроллера от внешних перенапряжений. У некоторых микроконтроллеров отдельные порты не боятся напряжений, превышающих их напряжение питания. Так у многих микроконтроллеров STM32Fxx почти все порты будучи сконфигурированными как цифровые могут работать с 5 вольтовыми цепями, но если они работают в аналоговом режиме, например в качестве входа АЦП, теряют эту способность и это необходимо учитывать при разработке схемы.
Пожалуйста, соблюдайте технику безопасности. Не оставляйте, свободные, висящие в воздухе порты микроконтроллера сконфигурированными в виде входов, особенно в устройствах временами уходящих в глубокий сон — это как минимум может значительно усложнить процесс прохождение вашего устройства теста на ЭМС (электро-магнитную совместимость). Если оставляете их входами, лучше замкнуть их на землю или питание. Либо программно сконфигурировать выходами.
Существует ещё один лайфхак. Иногда их можно оставить входом и замкнуть на другую цепь. Это помогает в случае очень плотной трассировки провести проводник «сквозь» микроконтроллер, что особо актуально для двухслойных плат.
Используя порты микроконтроллеров в качестве выходов, также стоит свериться с даташитом. Отдельные порты могут иметь разное ограничение по максимальному току, который от них можно получить не опасаясь выхода их строя — нагрузочную способность. Кроме этого, сам чип имеет максимальную нагрузочную способность всех выходов в сумме, которую не следует превышать.
Последнее, о чём хочется упомянуть, выходные порты ARM микроконтроллеров не реагируют на программные инструкции мгновенно, как у 8-битных микроконтроллеров. Они управляются через шину, и их быстродействие зависит от частоты тактирования соответствующего узла, которую можно менять программно. Если вы хотите быстрой реакции, позаботьтесь об увеличении этой частоты, если важнее уменьшить энергопотребление, наоборот выберите менее скоростной режим.
Температурный сенсор Микроконтроллер имеет свой собственный температурный сенсор, правда не слишком точный, тем не менее его можно, с определёнными допущениями, использовать для измерения температуры внутри корпуса прибора.
Уникальный серийный номер Каждый микроконтроллер имеет свой уникальный серийный номер, присвоенный ему на производстве. Очень удобная особенность, которую можно использовать при организации серийного производства ваших изделий.
Интерфейсы обмена данными Различные микроконтроллеры данной серии могут иметь по нескольку наиболее распространённых интерфейсов, сильно облегчающих общение с другими чипами и внешним миром:
- USART — асинхронный последовательный порт, часто использующийся для связи с компьютером
там он называется COM или RS232, модемами и другими устройствами - SPI — высокоскоростной интерфейс, который имеют очень многие чипы, например внешняя память
- I2C — двухпроводной интерфейс, разработанный для общения с датчиками и другой периферией на небольшом расстоянии и небольших скоростях обмена. Большой его плюс заключается в том, что одновременно к одной шине можно подключить десятки различных устройств
Все эти интерфейсы несложно реализовать программно с помощью обычных GPIO, но они будут работать гораздо медленнее и отнимать много ресурсов вычислительного ядра.
Аналого-цифровой преобразователь АЦП или ADС на котором придётся остановиться подробнее.
Чрезвычайно полезный модуль, который способен измерять напряжение аналоговых сигналов. Оценивает он их в долях от величины опорного источника сигнала, в нашем случае это напряжения питания аналогового модуля микроконтроллера, которое может быть равным или немного ниже основного напряжения питания чипа. Теоретическая точность работы АЦП зависит от его разрядности. В современных микроконтроллерах чаще всего применяется 12 разрядный АЦП последовательного приближения, реже 10 и как экзотика встречается 16.
При питании 3 вольта 12 разрядный АЦП микроконтроллера будет иметь разрешающую способность 3/4096=0.00073 Вольта — лучше одного милливольта.
Но на практике достичь этого идеала бывает не просто.
Подробности для начинающих разработчиковНа практике всё бывает далеко не так красиво и точность измерений может снижаться по многим причинам. Ниже перечисляю основные, хорошо известные любому опытному электронщику, а также простые но эффективные способы сведения их пагубного влияния до минимуманестабильность напряжения источника питания АЦП
- применять для питания MCU линейные стабилизаторы с хорошими параметрами
- применять для питания аналоговой части MCU высокостабильные источники опорного напряжения
импульсные помехи по питанию АЦП
- подключать аналоговое питание к цифровому через простейшие фильтры низкой частоты — подавать питание на аналоговую часть MCU через индуктивность и в непосредственной близости от входа микроконтроллера устанавливать керамический конденсатор с диэлектриком XR7 ёмкостью 100 нанофарад, а ещё лучше, параллельно ему включить танталовый конденсатор с ёмкостью в одну — две микрофарады.
импульсные помехи на входе АЦП
- пропускать входной сигнал хотя бы через простейший ФНЧ, состоящий из резистора и конденсатора. Для борьбы с помехами от передающих радиотрактов и короткими импульсными помехами иногда достаточно одиночного конденсатора с диэлектриком NP0 ёмкостью в несколько десятков пикофарад, установленного между входом и землёй, в непосредственной близости от входа АЦП
- не экономить на блокировочных конденсаторах, по крайней мере самого микроконтроллера, устанавливать их в непосредственной близости от каждого вывода питания и в других местах, рекомендованных производителем, рекомендованного им номинала
- тщательно выбирать месторасположение компонентов и соблюдать правила трассировки цепей питания и особенно “земли”, в идеале аналоговая и цифровая земли должны соединяться в одной точке — рядом с выводом аналоговой земли микроконтроллера
высокое выходное сопротивление источника сигнала, опасно тем, что в момент старта измерения АЦП последовательного приближения, которое чаще всего используется в микроконтроллерах, его вход потребляет некоторый отличный от нуля ток и это может привести к уменьшению истинного значения напряжения, так как сигнал фактически подаётся через делитель напряжения.
- правильно выбирать параметры настройки АЦП, например во многих микроконтроллерах можно увеличить время зарядки входной цепи, правда тут приходится идти на компромисс, снижая быстродействие
- устанавливать на входе АЦП буферные усилители на основе ОУ (операционный усилитель), или повторители напряжения. Выбирать их по принципу самых дешёвых не стоит, можно не улучшить, а ухудшить ситуацию, причём значительно. Если не хватает собственного опыта, лучше поискать специально рекомендованные производителями для подобных приложений
Выше изображён участок реальной схемы для подачи питания на аналоговую часть микроконтроллера в устройстве с батарейным питанием. В данном случая я использовал АЦП для оцифровки сигнала с аналогового MEMS микрофона и поэтому имело смысл выделить в отдельную цепь не только аналоговое питание, но и аналоговую землю. В большинстве случаев это избыточно, для того чтобы от неё действительно был толк, нужна ещё и правильная трассировка.
От цепи VBUT питается вся цифровая часть микроконтроллера. На всякий случай привожу номиналы элементов: R5-10 Ом, С10 0.1 мкФ, без индуктивностей L1 и L2 BLM18PG471SN1D в большинстве случаев можно обойтись.
Ещё один любопытный пример из моей практики. В плате, на которой размещалось большое количество высокопотребляющих чипов ASIC, необходимо было измерять их температуру. Самый простой и дешёвый способ — использование высокоомных термисторов. В качестве фильтров я применил конденсаторы достаточно большой ёмкости, воспользовавшись тем фактом, что температура меняется сравнительно медленно. Для оцифровки звука такой фокус однозначно бы «не прокатил».
Осталось упомянуть ещё одну важную особенность АЦП, характерную для микроконтроллеров. Собственно, модулей АЦП в нём, как правило, один или два, а вот входов может быть много. В описываемой серии модуль 1, а входов может быть до 16. Как же так? Очень просто, входы подсоединены к нему через коммутатор. Если вы собираетесь измерять напряжение с 10 входов, то должны организовать цикл — последовательно переключить коммутатор к каждому из 10 входов и сделать измерение. Это необходимо учитывать, рассчитывая времена измерения. В данной серии АЦП, теоретически, способно сделать измерение за 1 микросекунду. Получается, что полный цикл 10 измерений у вас займёт точно больше 10 микросекунд!
Система прямого доступа в память ПДП или DMA — ещё одна архиважная вещь. Этот модуль позволяет пересылать данные от периферии в память или наоборот.
Например, с его помощью вы можете выделить участок памяти для хранения данных, приходящих из АЦП и сделать из него кольцевой буфер. Далее запускается АЦП в режиме считывания данных через равные промежутки времени. Используя механизмы DMA, считанные данные будут, без участия ядра, самостоятельно, байт за байтом, помещаться в выделенный буфер. Когда буфер будет полностью заполнен, ядро получит сигнал и приступит к их программной обработке, а система DMA начнёт процесс загрузки сначала. Поскольку DMA имеет несколько каналов, то никто не мешает реализовать для нашего случая автоматический вывод на USART данных из буфера. В результате мы получим, работающий без использования ядра процесс передачи считанных с АЦП в USART, и не простая работа программиста по конфигурации DMA окупится сторицей.
Модуль широтно-импульсной модуляции ШИМ или PWM, в силу ограниченности статьи не будем останавливаться на нём подробно, отмечу только, что это крайне полезная и широко используемая функция, с помощью которой возможно управлять яркостью светодиодов, скоростью вращения двигателей, рулевыми машинками, конструировать интеллектуальные DC-DC преобразователи и даже звук синтезировать.
Что можно получить, добавив 30 центов?
Переход на Cortex-M0+. Самый дешёвый способ получить дополнительные функции
А какие дополнительные плюшки предлагает микроконтроллер новейшей серии с ядром чуть посовременнее Cortex-M0+, при стоимости на 20-50 центов дороже аналогов в рассмотренной выше серии по корпусу и количеству выводов?
Таблица отличий между сериями
- в два раза увеличилась максимальная тактовая частота
- с 2 до 1.7 вольт понизилось минимальное напряжение питания
- АЦП способно работать в два с половиной раза быстрее
- появились два канала 12 битного цифро-аналогового преобразователя. Это крайне полезная функция, с помощью которой возможно формировать на выводах сигнал заданного напряжения с точностью лучшей чем 1 мВ, например сигналы произвольной формы в звуковом диапазоне частот
- появились компараторы — устройства для сравнения величин двух аналоговых сигналов, это бывает полезным скажем для определения момента возникновения перегрузки по току
- добавлен USB интерфейс, посредством которого можно подключать устройства к компьютеру. Особый интерес вызывает наличие поддержки опций управления питанием для реализации USB type3-C совместимого интерфейса. О нём я рассказывал в одной из своих статей на Хабре
- появился ускоритель AES для процедур 256 битного шифрования/дешифрации
- UART получил возможность работы в режимах сна и аппаратную поддержку протоколов LIN (простая сеть, широко используется в автопроме), IRDA (протокол передачи данных посредством инфракрасных светодиодов, вспомните телевизионные пульты), SIMcard…
- расширены возможности таймеров и модуля PWM
- верхняя граница температурного диапазона работы поднялась до 125 градусов
- увеличена надёжность работы за счёт расширения режимов перезапуска при возникновении проблем с питанием
- добавлен “честный” аппаратный генератор случайных значений — полезная функция в криптографии
Ну что же, для многих применений незначительная добавка в цене себя вполне окупает, поскольку можно отказаться от перехода на более дорогостоящие микроконтроллеры старших модельных рядов.
А что добавит переход на Cortex-M4, кроме возросшей в пару раз цены?
- Максимальная тактовая частота вырастает уже до 80 МГц
- Появился блок для ускорения вычислений с плавающей точкой
- Ясное дело, максимальная встроенная память увеличилась
- Модели с количеством ног 100 и более поддерживают работу с внешней статической памятью
- USB научился работать в режиме HOST
- Появился контроллер CAN интерфейса. Это очень перспективный интерфейс разработанный для высоконадёжных приложений. Своё победное шествие он начал с автомобильной промышленности и уже почти 20 лет ведёт затяжную войну с давно устаревшим RS-485 в крайне консервативной отрасли промышленной автоматизации.
- Появился интерфейс для подключения SDcard. Очень полезная функция — добавляете в своё устройство держатель за 50 центов и получаете съёмный носитель размером в десятки Гигабайт! С большинством карт удаётся работать и по обычному SPI, но намного медленнее
- Добавили встроенный Операционный Усилитель с большим разнообразием режимов работы. Именно благодаря этой и предыдущей функциям, для своего последнего проекта беспроводного стетоскопа, пришлось остановить выбор на M4 вместо M0+. В результате появилась возможность управлять усилением сигнала с MEMS микрофона и сохранять десятки часов аудиозаписей работы сердца на SD карте
- Криптомодуль научился аппаратно считать HASH функции.
- Контроллер сенсорных приложений усовершенствован и теперь поддерживает уже не только кнопки, но и элементы прокрутки
Cortex-M7 — когда хочется большего…
В подавляющем количестве проектов возможностей предоставляемых вышеописанными ядрами достаточно, но случаются и исключения. Лично со мной такое случалось всего пару раз, причём лишь один раз по действительно уважительной причине — требовалась высокая производительность для подготовки данных для ASIC, контроллер Ethernet и шина CAN-FD c повышенной скоростью обмена.
Если на уровне универсальных микроконтроллеров с ядрами Cortex 4 и ниже, на мой субъективный взгляд, по параметру цена/функциональность сейчас лидирует фирма ST, то в области более высокопроизводительных чипов она уступает лидерство ATMEL, вернее, теперь уже недавно поглотившему его MICROCHIP. Поэтому я остановил свой выбор на серии ATSAMV71, стоимостью от 6 долларов.
Помимо вышеописанного (контроллер Ethernet и шина CAN-FD), по большому счёту, мы получаем, существенно увеличивающее производительность ядро с ускорителем операций, работающее на тактовой частоте до 300 МГц, интерфейсы для подключения видеоматрицы и поддержку динамической памяти.
В заключении попрошу имеющих опыт общения с микроконтроллерами попрошу выбрать подходящий ответ на вопрос.
1976–2010 годы
Спустя пять лет после появления первого микропроцессора в 1976 году был создан первый микроконтроллер (МК). Это была микросхема 8048 фирмы Intel. Спроектированный в 1972 году четырехpазpядный TMS1000 от Texas Instruments, котоpый содеpжал ОЗУ (32 байт), ПЗУ (1 К), часы и поддеpжку ввода/вывода, благодаря своим характеристикам также мог считаться первым из микроконтроллеров. Кроме того, он имел возможность добавления новых инструкций.
Выпущенный в 1980 году микроконтроллер Intel 8051 — классический образец устройств данного класса. Этот 8‑битный чип стал первым из семейства микроконтроллеров, которое долго существовало и оставалось ведущим до недавнего времени.
В Минске, Киеве, Воронеже, Новосибирске изготавливали аналоги 8051, на которых вы росло целое поколение отечественных разработчиков.
В 1983 году Texas Instruments выпустила цифровой сигнальный процессор TMS32010, который превосходил по параметрам конкурентов и стал родоначальником целой династии DSP.
Другими яркими представителями восьмиразрядных микроконтроллеров стали изделия компаний Motorola (68HC05, 68HC08, 68HC11) и микроконтроллеры фирмы Zilog, основанной бывшими сотрудниками Intel (Z8).
Глобальные перемены начались после появления PIC-контроллеров фирмы Microchip. Они очень быстро захватили значительную часть рынка микроконтроллеров благодаря своей неслыханно низкой стоимости. К тому же кристаллы от Microchip не уступали, а нередко и превосходили микроконтроллеры х51 по производительности и не требовали дорогостоящего программатора.
В 1993 году на базе классического микроконтроллерного ядра Intel 8051 был создан первый микроконтроллер Atmel. А в 1996‑м корпорация Atmel представила свое семейство чипов на новом прогрессивном ядре AVR — это стало революционным событием, перевернувшим весь мир микроконтроллеров. Более продуманная архитектура AVR, быстродействие, превосходящее контроллеры Microchip, привлекательная ценовая политика — все это вызывало интерес многих разработчиков.
В 1999 году замечательное семейство 16‑разрядных микроконтроллеров MSP430 компании Texas Instruments вышло на рынок. Инженеры компании вдохновились ставшей сегодня уже легендарной системой команд и архитектурой компьютера PDP‑11 компании DEC при разработке микроконтроллеров.
В том же году образовалась компания Cygnal, которая позже совершила настоящий прорыв, оснастив микроконтроллеры усовершенствованным ядром CIP‑51. Модернизированное ядро CIP‑51 выполняло70% инструкций за один или два машинных цикла, и вообще не имело инструкций, выполняющихся более чем за восемь машинных циклов. В микроконтроллерах со стандартной архитектурой 8051 все инструкции, за исключением MUL и DIV, выполнялись за 12 или 24 машинных цикла.
Восьмиразрядные микроконтроллеры STM8 были выпущены в 2008 году. Они мало потребляли и имели высокую производительность, были недороги и обладали широким модельным рядом.
Чуть раньше, в 2004 году, Acorn разработали 32‑разрядное процессорное ядро ARM Cortex-M3, и компания STMicroelectronics стала одной из первых, кто вывел на рынок семейство микроконтроллеров на этом ядре, получивших название STM32. Начиналось все не так и давно — в 2007 году, с появления двух семейств Performance Line (STM32F103) и Access Line (STM32F101).
Не все компании выдержали конкурентную борьбу на рынке. В конце 2003 года Motorola решила окончательно порвать с производством полупроводников, и оставшаяся часть SPS в 2004 году была выделена в компанию Freescale Semicomductor. В 2006‑м уже сама Freescale Semiconductor была куплена консорциумом, возглавляемым Blackstone Group LP, что на тот момент стало крупнейшим частным приобретением технологической компании и вошло в десятку самых громких сделок в мире. В марте 2015 года компания NXP Semiconductors объявила о приобретении компании Freescale Semiconductor. Объединение NXP и Freescale в единую компанию создало четвертого по величине производителя процессоров и другой сложной микроэлектроники на планете, с общей стоимостью активов в $40 млрд. В следующем году, в январе 2016‑го, фирма Microchip покупает Atmel за $3,56 млрд. В декабре 2003 года компания Silicon Labs поглощает Cygnal Integrated Products. В декабре 2009 года IXYS Corporation купила Zilog, а в августе 2017‑го IXYS Corporation была приобретена Littelfuse Inc в обмен на $750 млн наличными и акциями.
Как все эти новые продуктовые семейства, приобретения и слияния отразились на российском рынке?
В конце 2010 года, судя по статистике запросов на eFind.ru, в России лидеры рынка по микроконтроллерам распределялись, как показано в таблице 1.
Необходимо уточнить, что в таблице указывается доля конкретного производителя среди всех запросов, посвященных микроконтроллерам. Не денег, не единиц, а именно поисковых запросов через поисковую систему. По отношению к Silicon Labs и Freescale могут быть неточности, но лидерство Atmel и Microchip в 2010 году не может подвергаться сомнению. Запросы по микроконтроллерам разной разрядности показаны в таблице 2.
2014–2017 годы. Борьба обостряется
Сейчас микроконтроллеры, чье производство сокращается или срок службы которых заканчивается, изготавливаются по технологии с 0,5‑мкм проектными нормами, ≪зрелые≫ микросхемы МК — по 250‑ или 180‑нм технологии, относительно новые изделия — по 130‑ и 90‑нм процессам, новейшие МК — с 65‑ и 55‑нм нормами.
Проектные нормы разрабатываемых контроллеров составляют 40 нм и менее. При этом с ростом потребности в микросхемах с меньшими размерами элементов более старые технологии отмирают из-за относительно больших затрат на производство. Несмотря на это, на рынке микроконтроллеров можно найти широкий ассортимент для разных задач. Но требования разработчиков встраиваемых систем к компонентам постоянно возрастают. Соответственно, на рынке непрерывно появляются новые МК, технические параметры которых постоянно совершенствуются благодаря развитию инновационных технологий. Например, важной тенденцией 2014 года стала интеграция в микросхему МК беспроводного устройства или модуля.
К 2014‑му борьба между 8‑ и 16‑разрядными микроконтроллерами усилилась. В опубликованном аналитической компанией Gartner рейтинге поставщиков 8‑разрядных МК на мировой рынок 2014 года отмечено, что Microchip Technology вновь заняла первое место после того, как в 2010 году ее потеснила компания Renesas Electronics, образованная в результате слияния деловой активности в области микроконтроллеров и микропроцессоров трех японских полупроводниковых гигантов — NEC, Hitachi и Mitsubishi.
В июле 2015 года Microchip снова подтвердила свое право на лидерство на рынке 8‑разрядных МК, выпустив два новых семейства PIC МК: PIC16F18877 и PIC16F1579 с усовершенствованной инновационной независящей от ядра периферией (Core-Independent Peripherals, CIPs) и ≪разумными≫ аналоговыми блоками, благодаря которым но‑ вые микросхемы по функциональности превосходят традиционные 8‑разрядные МК.
В то же время новое семейство 8‑разрядных МК для сверхэнергоэффективных, малогабаритных приложений IoT в феврале 2015 года выпустила и компания Silicon Labs.
Компания Silicon Labs, основанная в 1996 году выходцами из компании Cirrus Logic, ворвалась на мировой и российский рынок за счет поглощения сторонних компаний, развития собственных технологий и максимальной русскоязычной поддержки, которая осуществлялась вплоть до перевода даташитов на русский язык — этого не делала ни одна другая компания. Ее доля в запросах на 2012 год стабильно составляла около 4%, что было большим достижением для столь молодой компании.
Рынок с 32‑разрядными микроконтроллерами тоже не стоял на месте. В 2015 году компания Texas Instruments выпустила новое семейство микроконтроллеров MSP432 [1], которое продолжает традицию ультранизкого энергопотребления микроконтроллеров MSP430 [2] и добавляет новые вычислительные возможности за счет архитектуры ARM Cortex-M4F.
Но несмотря на новинки 8‑разрядных микроконтроллеров, преимущества 32‑разрядных были очевидны для многих изделий, где требовались значительные вычислительные ресурсы. Конечно, борьба за рынок между 32‑ и 8‑разрядными микроконтроллерами далека от завершения. Баланс между ними еще не найден. Разработчики осознали, что такие сложные приборы, как 32‑разрядные микроконтроллеры, предоставляют нужные вычислительные ресурсы, богатую периферию и простой доступ к всевозможным средствам проектирования и библиотекам. Поскольку 8‑разрядные МК последних поколений предоставляют ядру процессора многие быстродействующие периферийные устройства, они становятся привлекательными для применения в разнообразных встраиваемых проектах. И конечно, сегодня существуют приложения, где размеры и набор функций 8‑разрядных МК обусловливают их выбор в противовес 32‑разрядным.
Согласно отчету исследовательской компании Gartner за 2015 год, объемы продаж 8‑и 32‑битных устройств в долларовом выражении были примерно равны и составляли $6 млрд. С учетом разницы средних цен, эти цифры говорят о том, что в 2015 году на один встраиваемый 32‑битный микроконтроллер приходилось три 8‑битных.
В 2016 году на рынке микроконтроллеров зафиксировано падение выручки на 6% на фоне сократившихся поставок этих компонентов. Однако после того как складские запасы микроконтроллеров вернулись к нормальному уровню, производители электроники резко увеличили закупки МК в 2017 году. В результате поставки микроконтроллеров подскочили на 22%, а выручка на рынке увеличилась с $15 млрд до $16,8 млрд.
Средняя цена продажи (ASP) микроконтроллеров в 2017 году опустилась до наименьшего в истории значения и в 2018 году продолжила снижаться. В IC Insights полагают, что в 2019–2022 годах цены на МК будут падать, но уже не так быстро, как в прошлом. Ежегодное снижение в среднем составит 3,5%, тогда как с 2012 по 2017 год цены падали в среднем на 5,8%, а в период 1997–2017 годов микроконтроллеры дешевели в среднем на 6,3% в год.
Согласно оценке IC Insights, в 2019 году ожидается рост продаж еще на 9%, до $20,4 млрд. Прогноз IC Insights на ближайшие пять лет предусматривает, что объем рынка в деньгах будет в среднем увеличиваться на 7,2% и к 2022 году достигнет $23,9 млрд. Рост в штучном выражении ожидается на уровне 11,1%. К концу рассматриваемого периода поставки микроконтроллеров достигнут примерно 43,8 млрд единиц.
2018 год. Россия
Снова обратимся к поисковой системе eFind.ru. На конец 2018 года в России лидеры рынка по микроконтроллерам распределялись, как показано в таблице 3.
В списках популярных производителей микроконтроллеров Microchip/Atmel продолжают оставаться на первом месте, но их совместная доля, приведенная в таблице 3, неизменно снижается.
Доля STMicroelectronics за счет самого раннего старта продаж ARM Cortex-M3 продолжает увеличиваться. Автор статьи участвовал в первых закупках именно ARM Cortex от STMicroelectronics, тогда компания-дистрибьютор опередила ближайших конкурентов примерно на полгода. Спустя много лет компания остается лидером продаж по Cortex-ХХ, что говорит о важности вовремя распознать новинку и начать компанию по продвижению.
В таблице 4 сравнивается запрашиваемость микроконтроллеров, различающихся типом ядра. Текущие изменения:
- огромное падение доли запросов по AVR;
- сильно выросли все доли ARM Cortex. В сумме с 12,4 до 28,4%;
- доля PIC за все время наблюдений (с 2010 года [3]) упала с 15 до 11%;
- ядра ARM7 и ARM9 выпали из топ‑10.
Эти данные — запросы в системе поиска, которые отражают текущее состояние или будущие проекты. Следуя тенденции, можно предположить, что доля ядра ARM Cortex в вариациях продолжит увеличиваться за счет ядра AVR. Удивительно, что надежное, качественное, но все же уже устаревшее ядро 8051 продолжает удерживать весомую долю в статистике. Возможно, часть инженеров продолжает по привычке оценивать использование ядра в текущих разработках, или большое влияние оказывает ремонтный рынок.
С 2016 года Таможенная служба публикует в открытом доступе информацию по товарному экспорту и импорту. Прежде всего, это делается для борьбы с серым рынком. В процессе закупки партий товара покупатели могут проверить достоверность декларации: в страну завезены диоды, а не металлический лом. Как побочный эффект этой борьбы, мы теперь можем самостоятельно оценивать доли рынка по разным продуктам.
По большей части микроконтроллеры ввозятся в Россию по таможенному коду 8542319010 (≪Схемы интегральные монолитные≫), по данному коду еще ввозится огромное количество кристаллов для смарт-картили сами карты. Поэтому анализ требует знания рынка, но после вычитания данных мы получаем результат, представленный в таблице 5.
Четверо лидеров полностью совпадают со статистикой eFind. Небольшие различия в сумме объясняются лидерством Microchip/Atmel в 8‑разрядных, а STMicroelectronics — в 32‑разрядных микроконтроллерах. Microchip/Atmel в единицах, о чем говорит вес, продают в разы больше, но так как стоимость 8‑разрядных МК существенно меньше 32‑разрядных, разница в деньгах не столь существенная, как в поисковых запросах. Texas Instruments производит широкий круг цифровых сигнальных процессоров, которые тоже стоят значительно дороже 8‑разрядных МК.
Компания Infineon сильно выделяется, занимая пятое место в деньгах и последнее по запросам. Но большая часть продаж бренда приходится на одного дистрибьютора. Тут возможны два варианта: первый — несколько очень крупных проектов, второй — большая часть продаж Infineon приходится на схемы, не попадающие под определение микроконтроллеров, например смарт-карты.
В остальном данные поисковой системы и таможни совпадают.
Во время написания статьи появилась новость, что Texas Instruments решилась на мировую революцию, лишив статуса дистрибьютора всех, буквально всех, кроме Arrow. Тенденция к сокращению числа дистрибьюторов наблюдалась, особенно в полупроводниковом сегменте. У Altera, Xilinx и Analog Devices осталось по одному глобальному дистрибьютору. Но чтобы оставить одного и лишить всех региональных… В это даже трудно поверить. Что ж, тем интереснее будет отслеживать поисковые запросы и таможенный импорт по Texas Instruments, ведь у многих регионалов сместится точка приложения усилий. С другой стороны, что такое для Texas Instruments потеря пусть даже половины бизнеса в России на фоне возможного роста продаж в мире? Будущее покажет.
Борьба продолжается.
Статья опубликована в журнале КОМПОНЕНТЫ И ТЕХНОЛОГИИ
Литература
- Микроконтроллеры MSP432.
www.ti.com/microcontrollers/simplelink-mcus/wired-mcus/overview/overview.html - Микроконтроллеры MSP430.
www.ti.com/microcontrollers/msp430‑ultra-low-power-mcus/overview.html - Славгородский А. Микроконтроллеры: статистика запросов на eFind.ru // Компоненты и технологии. 2012. № 7.
- Славгородский А. Микроконтроллеры: статистика запросов на eFind.ru // Компоненты и технологии. 2019. № 7.
- www.gartner.com/en
- www.icinsights.com/
- Микроконтроллеры. Краткий обзор. www.myrobot.ru/stepbystep/mc_meet.php
- Гольцова М. Рынок микроконтроллеров. Конкурентная борьба усиливается // Электро-ника НТБ. 2015. № 7.
- www.electrosnab.ru/files/silabs/articles/G2.pdf
Холдинг «Росэлектроника» Госкорпорации Ростех разработал новый 32-х разрядный микроконтроллер 1921ВК024 с производительностью 250 млн операций в секунду. Основное предназначение разработки — управление электродвигателями любого типа. В частности, он может быть использован в системах электропривода таких как приводы станков с ЧПУ, робототехники, в агрегатах для нефтегазовой промышленности, сельскохозяйственном производстве и энергетике, а также в средствах измерений и медицинском оборудовании.
Чип может применятся для управления режимами работы электродвигателей, например частотой и направлением вращения вала, контролем и стабилизацией крутящего момента, процессом торможения, остановкой двигателя и его отключением от электрической сети при аварийных режимах работы.
Характеристики микросхемы: 200 МГц, ОЗУ 256 Кбайт, ПЗУ (FLASH) 1 МБайт+128кбайт, АЦП (24 канала, 12 бит), 20 каналов ШИМ, контроллер по ГОСТ Р 52070-2003, UART-6 (с поддержкой функций управления модемом и кодека ИК связи IrDASIR), Ethernet 10/100 Мбит/с ( MII), напряжение питания 1,8/3,3 (± 5%) В, тип корпуса 4250.208-1, диапазон рабочих температур 60.+85°С
Благодаря производительному ядру и специальной дополнительной периферии, данный микроконтроллер может применятся в высокопроизводительных и высокоточных системах.
Чип содержит внутрикристальную энергонезависимую память, что позволяет размещать программу управления непосредственно в памяти чипа, и избавляет от необходимости в дополнительной внешней памяти.
Осенью 2018 года планируется начать испытания изделия. В настоящее время с потенциальными потребителями обсуждается состав и функциональность периферии.
Головным разработчиком микроконтроллера является воронежский НИИ «Электронной техники» (НИИЭТ), входящий в концерн «Созвездие». НИИЭТ уже выпускает 8 и 16 разрядные сипы для управления электродвигателями.
Помимо нового микроконтроллера, предприятие представило новые Ga/N-транзисторы для сетей связи 5G. Как заявляет производитель, выходная мощность приборов — от 5 до 50 Вт, коэффициент усиления по мощности — от 9 до 13 дБ, КПД стока — не менее 45% на тестовой частоте 4 ГГц и 2,9 ГГц. Изделия уже прошли испытания в составе аппаратуры квадрокоптеров, радиостанций и аппаратуры локации аэропортов.
Компания Microchip анонсировала новые микроконтроллеры семейства PIC и AVR. Представленные модели PIC18 Q10 и ATtiny160 призваны освободить процессорное ядро для новых задач и существенно снизить потребление энергии за счёт усовершенствований в 8-разрядной архитектуре микроконтроллеров. Отличительная особенность ― наличие набора интеллектуальных независимых периферийных устройств (Core Independent Peripherals ― CIP). Данный модуль позволяет производить первичную обработку и анализ сигнала без участия ядра. В качестве стандартного примера, иллюстрирующего возможности АЦП, можно привести возможность накопить буфер из 32 значений, произвести усреднение и сравнение с заданными пользователем порогами, после чего принять решение о необходимости генерации прерывания. Ключевым моментом является то, что все перечисленные задачи решаются самим периферийным модулем, без участия процессорного ядра.
Микроконтроллеры новой линейки выпускаются в корпусах QFN размером 3х3 мм. В дополнение к быстродействующему АЦП, высокая скорость дискретизации аналоговых сигналов обеспечивает детерминированную реакцию системы, также присутствует тактовый генератор повышенной точности, позволяющий сократить количество внешних компонентов и снизить стоимость устройства.
Среди CIP семейства имеется модуль генератора комплементарных сигналов, упрощающий создание сложных схем коммутации, и АЦП с вычислительным модулем, способный аппаратно обрабатывать и фильтровать данные без какого-либо участия процессорного ядра. Такой набор CIP позволяет процессору выполнять более сложные задачи, поддерживая, например, функции человеко-машинного интерфейса, и экономить энергию, дольше оставаясь в режиме пониженного энергопотребления, пока не потребуется обработка данных.
Для упрощения конфигурирования и создания драйверов обслуживающих периферию для семейства PIC, Microchip предлагает инструмент MPLAB Code Configurator (MCC). Применение MCC существенно упрощает создание кода и изучение новых микроконтроллеров. Для контроллеров семейства AVR предоставляется бесплатный онлайн-конфигуратор Atmel START. Также для заказа доступны отладочные платы для удобства работы и оценки микроконтроллеров.
Фото: Антон Тушин
Специалисты холдинга «Росэлектроника» Госкорпорации Ростех разработали микроконтроллер для управления электродвигателями любого типа с производительностью 250 млн операций в секунду. Эксплуатационные испытания изделия планируется начать осенью 2018 года. В настоящее время с потенциальными потребителями обсуждается состав и функциональность периферии.
Разработчиком 32-разрядного микроконтроллера 1921ВК024 выступил воронежский НИИ электронной техники» (НИИЭТ), входящий в концерн «Созвездие».
Микроконтроллер предназначен для использования в системах электропривода различного типа, в том числе станков с ЧПУ, робототехники, агрегатах, применяемых в нефтегазовой промышленности, сельскохозяйственном производстве и энергетике, а также в средствах измерений, медицинском оборудовании.
Микроконтроллер управляет частотой и направлением вращения вала электродвигателя, контролем и стабилизацией крутящего момента, процессом торможения, остановкой двигателя и его отключением от электрической сети при аварийных режимах работы. Мощное производительное ядро и специально разработанная дополнительная периферия позволяют применять микроконтроллер в высокопроизводительных системах для высокоточного определения положения, направления и скорости вращения вала.
При этом объем внутрикристальной энергонезависимой памяти микроконтроллера позволяет разместить в ней управляющую программу практически любой сложности, что исключает необходимость использования внешних микросхем памяти.
В настоящее время НИИЭТ серийно выпускает 8- и 16-разрядные микроконтроллеры для управления электродвигателями.
Кроме того, предприятие выводит на рынок Ga/N-транзисторы для сетей связи 5G. Выходная мощность приборов – от 5 до 50 Вт, коэффициент усиления по мощности – от 9 до 13 дБ, КПД стока – не менее 45% на тестовой частоте 4 ГГц и 2,9 ГГц. Изделия уже прошли испытания в составе аппаратуры квадрокоптеров, радиостанций и аппаратуры локации аэропортов.
Введение в микроконтроллеры
- Микроконтроллер – это компактный крошечный компьютер, который изготовлен внутри микросхемы и используется в системах автоматического управления, включая системы безопасности, офисные машины, электроинструменты, системы сигнализации, управление светофорами, стиральные машины и многое другое. Больше.
- Это экономичное программируемое логическое управление, которое может быть сопряжено с внешними устройствами для управления устройствами на расстоянии.
- Первый микроконтроллер был изготовлен Michael Cochran и Gary Boone .
- Он был специально создан для встроенной системы и состоял из постоянной памяти для чтения, постоянной памяти, портов ввода-вывода, процессора и встроенных часов.
- C и языки ассемблера используются для программирования микроконтроллеров.
- Существуют и другие языки, доступные для программирования микроконтроллера, но в начале обучения программирование микроконтроллера с использованием языка C и ассемблера является отличным выбором, оба легко изучаются и дают четкое представление о микроконтроллере.
- Технологии развивались удивительным образом и сделали нашу жизнь проще, чем когда-либо прежде.
- Несколько лет назад приведение лифта в рабочее состояние было адской задачей, которая требовала сложного программирования и схемотехники.
- Теперь вы можете не только управлять лифтом с микроконтроллера, но и перемещать подводную лодку с помощью соответствующих инструкций, направленных в один микроконтроллер.
- Любое приложение, которое включает измерение, управление и отображение, содержит микроконтроллер внутри него.
- Микроконтроллеры поставляются с широким спектром приложений, но от вас зависит, какую задачу вы хотите решить с помощью микроконтроллера, потому что он будет принимать только инструкции в форме языка программирования.
- Вы можете создавать, загружать и выполнять любую программу в зависимости от ваших приоритетов.
Сравнение с микропроцессором
- Некоторые люди думают, что микроконтроллер и микропроцессор – это одно и то же, но на самом деле они разные.
- Микропроцессор использует внешнюю схему для построения связи с периферийной средой, но микроконтроллер не требует никаких внешних схем для приведения его в рабочее состояние, поскольку он поставляется с указанной встроенной схемой, которая экономит пространство и затраты на разработку устройство схожих характеристик.
- По сравнению с микропроцессором, который широко используется в ПК, ноутбуках и блокнотах, микроконтроллеры специально созданы для встроенных систем.
- Когда мы говорим о встроенной системе, мы фактически имеем в виду устройства, которые поставляются со встроенной схемой и нуждаются в загрузке надлежащих инструкций для управления устройствами.
- Отличительной особенностью встроенной системы является то, что она включает в себя индивидуальное программирование, которое напрямую связано с внутренней схемой, которую можно модифицировать снова и снова, пока вы не достигнете желаемого результата.
- Тактовая частота микропроцессора намного больше, чем у микроконтроллера, и они способны выполнять сложные задачи. Они могут работать на частоте 1 ГГц.
с настольными компьютерами
- В отличие от нашего настольного компьютера, микроконтроллеры представляют собой крошечные компьютеры, объем памяти которых намного меньше, чем у настольного компьютера.
- Также скорость настольного компьютера намного больше, чем скорость простого микроконтроллера.
- Тем не менее, микроконтроллеры обладают некоторыми характеристиками, аналогичными настольным компьютерам, так как они оснащены центральным процессором, который является мозгом микроконтроллера.
- Эти процессоры в микроконтроллерах имеют разную длину слова, то есть от 4 бит до 64 бит.
- Они могут работать на более низких частотах с частотой 4 кГц и иметь возможность сохранять функциональность до нажатия кнопки сброса или вызова какого-либо прерывания.
Характеристики микроконтроллера
- В современных технологиях некоторые устройства микроконтроллеров имеют сложную конструкцию и способны иметь длину слова более 64 бит.
- Микроконтроллер состоит из встроенных компонентов, включая EPROM, EEPROM, RAM, ROM, таймеры, порты ввода / вывода и кнопку сброса.ОЗУ используется для хранения данных, а ПЗУ – для хранения программ и других параметров.
- Современные микроконтроллеры спроектированы с использованием CISC (компьютер со сложным набором команд) архитектуры, которая включает в себя команды типа Marco.
- Инструкция одиночного макроса используется для замены количества маленьких инструкций.
- Современные микроконтроллеры работают при гораздо меньшем энергопотреблении по сравнению со старыми.
- Они могут работать при более низком напряжении в диапазоне от 1.От 8 В до 5,5 В.
- Флэш-память, такая как EPROM и EEPROM, – это очень надежные и расширенные функции в последних микроконтроллерах, которые отличают их от старых микроконтроллеров.
- EPROM быстрее и быстрее, чем память EEPROM. Это позволяет стирать и записывать циклы столько раз, сколько вы хотите, что делает его удобным для пользователя.
Детали микроконтроллера
- Микроконтроллер состоит из нескольких встроенных частей, что делает его компактным и производительным при меньшем объеме и стоимости.Ниже приведены основные части микроконтроллера.
CPU
- CPU рассматривается как мозг микроконтроллера, который принимает инструкции в форме программирования и помогает их выполнять.
- Он ведет себя как мост, который связывается с различными компонентами и действиями, происходящими внутри одного чипа.
- Индивидуальная опция программирования, доступная в микроконтроллере, делает его более надежным и удобным для пользователя. Процессор
- встроен в бортовые регистры, которые разделены на два типа регистров данных и регистров адресации.
- Регистры данных также известных аккумуляторов используются для логики и переключения команд.
- Регистры адресации используются для хранения адресов для доступа к данным памяти. Указатель стека называется регистром адреса, который направляет в память, используемую для аппаратного стека. Аппаратный стек используется для вызовов и возвратов прерываний, а также для вызовов и возвратов подпрограмм.
- Проектирование указателя аппаратного стека не является обязательным, некоторые ЦПУ имеют один регистр связи, который ведет себя как глубокий стек в ЦП и помогает в быстрых вызовах и возвратах подпрограмм.
- ЦПУ микроконтроллера способен выполнять серию команд, некоторые из которых являются инструкциями по обработке данных, некоторые являются логическими инструкциями, а некоторые являются командами переключения.
I / O
- В микроконтроллер встроены различные порты ввода / вывода.
- Они используются для подключения внешних устройств, таких как принтеры, LCD, LED, внешние запоминающие устройства к микроконтроллеру.
- В микроконтроллере доступно несколько последовательных портов, которые используются для последовательного подключения периферийных устройств к микроконтроллеру.
Память
- Как и микропроцессор, микроконтроллер поставляется с такими областями памяти, как ОЗУ и ПЗУ, которые помогают хранить исходный код программы.
- Эти области памяти очень малы по сравнению с настольными компьютерами.
- После создания программы и загрузки в микроконтроллер она сохраняется в определенном месте памяти микроконтроллера.
- Эти ячейки памяти уже установлены производителем.
Таймеры и счетчики
- Таймеры и счетчики очень удобны для решения различных задач, включая генерацию импульсов, генерацию частоты, измерение, функцию синхронизации и модуляцию.
- Функции таймера и счетчиков синхронизируются с часами микроконтроллера, используются для измерения временных интервалов между двумя событиями и могут считать до 255 для 8-битного микроконтроллера и 65535 для 16-битного микроконтроллера.
АЦП и ЦАП
- АЦП – это аналого-цифровой преобразователь, который преобразует аналоговый сигнал в цифровую форму, такую как преобразование аналогового сигнала датчика в цифровую форму.
- Аналогично, ЦАП – это цифроаналоговый преобразователь, который преобразует цифровой сигнал в аналоговую форму, которую можно использовать для управления двигателем.
Интерпретация управления
- Интерпретация управления используется для задержки программы. Эта задержка может быть сгенерирована внутри или снаружи.
Специальный функциональный блок
- Некоторые усовершенствованные микроконтроллеры поставляются со специальным функциональным блоком, который используется в новейшей робототехнике и современных космических системах.
- Этот специальный функциональный блок имеет больше портов, чем обычный микроконтроллер, и способен выполнять самые сложные и сложные задачи.
Типы микроконтроллеров
На основе памяти, архитектуры и размера слова микроконтроллеры подразделяются на различные типы. Некоторые из них следующие.
Классификация на основе битов
- Микроконтроллеры бывают 8-битные, 16-битные, 32-битные и 64-битные. Некоторые наиболее продвинутые микроконтроллеры имеют биты более 64, которые способны выполнять определенные функции во встроенных системах.
- 8-битный микроконтроллер способен выполнять меньшие арифметические и логические инструкции.Наиболее распространенными 8-битными микроконтроллерами являются atmel 8031 и 8051.
- В отличие от 8-битного микроконтроллера, 16-битный микроконтроллер выполняет программу с большей точностью и точностью. Самый распространенный 16-битный микроконтроллер – это 8096.
- 32-битный микроконтроллер применяется в системах автоматического управления и робототехнике, где требуется высокая надежность и надежность. Офисные машины и некоторые системы электропитания и связи используют 32-битный контроллер для выполнения различных инструкций.
Классификация на основе памяти
- На основе памяти микроконтроллеры делятся на два типа: i.микроконтроллеры с внешней памятью и микроконтроллеры со встроенной памятью.
- Если встроенной системе требуется и микроконтроллер, и внешний функциональный блок, который не встроен в микроконтроллер, микроконтроллер называется микроконтроллером с внешней памятью. 8031 – отличный пример микроконтроллера с внешней памятью.
- Когда все функционирующие блоки объединены в одном кристалле, который связан со встроенной системой, микроконтроллер называется микроконтроллерами со встроенной памятью.8051 – отличный пример микроконтроллеров со встроенной памятью.
Классификация на основе набора инструкций
- На основе набора инструкций микроконтроллеры подразделяются на два типа: CISC-CISC и RISC-RISC.
- CISC упоминается как компьютер со сложным набором команд. Одной действительной инструкции достаточно, чтобы заменить количество инструкций.
- RISC называется компьютером с сокращенным набором команд. RISC помогает сократить время выполнения программы.Это происходит за счет сокращения тактового цикла на инструкцию.
Типы микроконтроллеров
Существует множество типов микроконтроллеров, и я собираюсь подробно обсудить некоторые из них здесь:
8051 Микроконтроллер
- Чаще всего используемые микроконтроллеры принадлежат к семейству 8051. Микроконтроллеры ,
- , 8051 считаются идеальным выбором для большинства профессионалов.
- Изобретенный Intel, микроконтроллер 8051 состоит из двух элементов, включая 8052 и 8031.
- 8052 состоит из 3-х и 256-байтовой оперативной памяти. Он включает в себя те же функции, что и микроконтроллеры 8051.
- Вы также можете рассматривать 8051 как подмножество микроконтроллера 8052.
- Аналогично, 8031 обладает теми же функциями, что и 8051, за исключением ПЗУ.
- Однако для выполнения инструкций в этот чип может быть включено внешнее ПЗУ объемом 64 КБ.
8051 Микроконтроллер Архитектура
- 8051 – это 40-контактный 8-битный микроконтроллер, изобретенный Intel в 1981 году.
- 8051 поставляется с 128 байтами оперативной памяти и 4 КБ встроенного ПЗУ.
- В зависимости от приоритетов в микроконтроллер может быть встроена внешняя память объемом 64 КБ.
- В этот микроконтроллер встроен кристаллический генератор с частотой 12 МГц.
- В этот микроконтроллер встроены два 16-битных таймера, которые можно использовать как таймер, а также как счетчик.
- 8051 состоит из 5 прерываний, включая внешнее прерывание 0, внешнее прерывание 1, прерывание по таймеру 0, прерывание по таймеру 1 и прерывание последовательного порта.Он также состоит из четырех 8-битных программируемых портов.
PIC Микроконтроллер
- Изобретена микрочиповая технология Контроллер периферийного интерфейса (PIC), который очень распространен среди большинства профессионалов и экспертов.
- Micro-chip Technology очень заботится о потребностях и требованиях клиентов, поэтому они постоянно обновляют свои продукты для обеспечения первоклассного обслуживания.
- Низкая стоимость, возможность последовательного программирования и широкая доступность делают этот микроконтроллер неповторимым.
PIC микроконтроллер Architechture
- PIC микроконтроллер поддерживает гарвардскую архитектуру.
- Он состоит из ПЗУ, ЦП, последовательной связи, таймеров и счетчиков, генераторов, прерываний, портов ввода / вывода и набора регистров, которые также ведут себя как ОЗУ.
- Регистры специального назначения также встроены в микросхемы.
- Низкое энергопотребление делает этот контроллер идеальным выбором для промышленного использования.
- Каждый PIC вводит в игру «стек», способный сохранять адреса возврата.
- В более старой версии микроконтроллеров PIC доступ к стеку не мог быть запрограммирован, но более поздние версии могут быть легко доступны при программировании.
- Компьютера с низкими характеристиками достаточно для запуска программного обеспечения, способного программировать микроконтроллерную схему PIC.
- Последовательный порт или порт USB используется для подключения компьютера к микроконтроллеру.
AVR Микроконтроллер
- AVR называется Advance Virtual RISC, который был выпущен компанией Atmel в 1966 году.
- Он поддерживает Гарвардскую архитектуру, в которой программы и данные хранятся в разных пространствах микроконтроллера и могут быть легко доступны.
- Это более ранние типы контроллеров, в которых для хранения программ используется встроенная флэш-память.
AVR Architechture
- Архитектура AVR была разработана Вегардом Волланом и Альф-Эгилем Богеном.
- AT90S8515 был первым контроллером, основанным на архитектуре AVR.
- Однако AT90S1200 был первым микроконтроллером AVR, который был коммерчески доступен в 1997 году.
- Флэш-память, EEPROM и SRAM интегрированы в одном чипе, что исключает возможность объединения любой внешней памяти с контроллером.
- Этот контроллер имеет сторожевой таймер и множество энергосберегающих режимов ожидания, которые делают этот контроллер надежным и удобным для пользователя.
Области применения
- Периферийный контроллер ПК
- Робототехника и встраиваемые системы
- Биомедицинское оборудование
- Системы связи и питания
- Автомобили и системы безопасности
- Имплантированное медицинское оборудование
- Приборы пожарной сигнализации
- Температура и светочувствительные устройства
- Устройства промышленной автоматизации
- Устройства управления процессом
- Измерение и управление вращающимися объектами
Это все на сегодня.Надеюсь, вам понравилась статья. Наша задача – предоставить вам полезную информацию шаг за шагом, чтобы вы могли переварить информацию без особых усилий. Однако, если вы все еще чувствуете себя скептически или у вас есть сомнения, вы можете спросить меня в разделе комментариев ниже. Я хотел бы помочь вам в соответствии с моими знаниями. Быть в курсе.
от Jon Wilder
Раз за разом я вижу, как новички пытаются начать работать со встроенной электроникой, только чтобы ошеломиться и не знать, с чего начать. Некоторые даже совершают ошибку, пытаясь написать свой собственный код без предварительного глубокого понимания микроконтроллера / микропроцессора, с которым они работают, языка программирования, с которым они работают, или даже базовых концепций программирования. Не волнуйтесь, хотя … эта статья должна стать хорошим учебником для начинающих погружаться в мир встроенной электроники.
В этой статье не делается попытка рассказать о каком-либо конкретном микроконтроллере / микропроцессоре, но это скорее учебник для пояснения общих понятий, применимых ко всем микроконтроллерам / микропроцессорам.
Во-первых, давайте … давайте зададим себе пару вопросов. Первый вопрос –
Что такое микроконтроллер?
Микроконтроллер – это крошечный микрокомпьютер на чипе. Он имеет ЦП, ОЗУ (оперативное запоминающее устройство), регистры специальных функций, память программных ПЗУ, память ПЗУ данных, от одного до нескольких параллельных портов ввода-вывода (ввода / вывода) и может иметь множество периферийных устройств, включая но не ограничиваясь аналого-цифровой преобразователь (АЦП), цифро-аналоговый преобразователь (ЦАП), Serial UART, один или несколько таймеров, / на источник опорного напряжения чипа, захвата / сравнения / ШИМ (широтно-импульсная модуляция) модуля компараторов Главный синхронный последовательный порт для связи SPI (последовательный периферийный интерфейс) / I2C (Inter Integrated Circuit), USB-порт, порт Ethernet, на микросхемах, а также множество других периферийных устройств.
Что такое микропроцессор (подождите, вы имеете в виду, что на самом деле есть разница)?
Микропроцессор – это все, что есть микроконтроллер, но без программного ПЗУ на чипе. Код программы находится вне микросхемы в отдельной внешней микросхеме EPROM.
Программное ПЗУ и ПЗУ данных
Встроенное в микросхему ПЗУ (постоянное запоминающее устройство) на микроконтроллере похоже на жесткий диск микроконтроллера. У него есть два раздела. Один раздел зарезервирован для хранения программного кода, а другой раздел зарезервирован для постоянного хранения данных, которые используются микросхемой во время обычного выполнения программы.На данном микроконтроллере PIC с, скажем, 8K программного пространства, пространство программы будет занимать адреса ПЗУ 0x0000 – 0x1FFF (или 0 – 8191 в десятичном виде). Пространство данных начинается с адреса ПЗУ программы 0x2100. Если бы пространство ПЗУ данных было длиной 256 байт, пространство ПЗУ данных занимало бы адреса ПЗУ 0x2100–0x21FF (или 8448–8704 в десятичном виде).
CPU
CPU обозначает центральный процессор. Это в основном «мозги» микроконтроллера. Это то, что выбирает инструкции из памяти кода и выполняет инструкции, которые он выбирает.
ОЗУ данных
ОЗУ данных (оперативное запоминающее устройство) – это пространство данных, которое используется для временного хранения постоянных и переменных значений, которые используются микроконтроллером во время нормального выполнения программы. Объем физического ОЗУ на данном микроконтроллере варьируется от одного микроконтроллера к другому. ОЗУ данных на микроконтроллере организовано в несколько «регистров», каждый со своим уникальным «адресом». Регистр ОЗУ на 8-битном микроконтроллере может содержать всего 8 бит или один байт данных.Типичная спецификация пространства ОЗУ может указывать, что она составляет 256 x 8. Это означает, что в ОЗУ имеется в общей сложности 256 регистров, и эти регистры могут содержать 8 битов каждый.
Регистр – это просто место в памяти, в которое вы можете записывать или считывать данные. Некоторые из нас называют регистры «местоположениями».
Регистры специальных функций
Регистры специальных функций (или просто SFR) на микроконтроллере аналогичны регистрам в ОЗУ данных. Вы можете записывать данные в них, а также читать данные из них.Различия между ними заключаются в том, что некоторые SFR напрямую управляют встроенным оборудованием микроконтроллера, в то время как другие контролируются встроенным оборудованием микроконтроллера.
Каждый бит в SFR назначается функции. В SFR у вас есть биты управления и флажки. Управляющие биты похожи на «переключатели», которые включают или выключают функцию в зависимости от того, записали ли вы 1 или 0 в эту позицию бита в SFR. Биты флага похожи на «световые индикаторы», которые указывают, существует ли данное условие в зависимости от того, является ли бит флага 1 или 0.Управляющие биты напрямую управляют оборудованием. Флаговые биты контролируются аппаратными средствами. В любой конкретной программе мы обычно пишем управляющие биты, пока читаем биты флага (некоторые биты флага должны быть очищены вручную путем записи в них в зависимости от микроконтроллера… подробнее об этом позже).
Каждому элементу оборудования на микроконтроллере будет присвоен как минимум 1 SFR. Некоторому оборудованию может быть назначено несколько SFR. Обратитесь к спецификации вашего микроконтроллера, чтобы узнать больше о его конкретной организации SFR.
Биты конфигурации
Большинство микроконтроллеров имеют специальные биты, известные как «биты конфигурации». Эти биты настраивают специальные параметры на микроконтроллере, включая, но не ограничиваясь, –
* Тип генератора
* Вкл. / Выкл. Сторожевого таймера
* Вкл. / Выкл. Таймера включения питания
* Вкл. / Выкл. Сброса коричневого цвета
* Вкл. / Выкл. Программирования низкого напряжения
* Вкл. / Выкл. Монитора часов повышенной безопасности
* Внутреннее / внешнее переключение Вкл / Выкл
На микроконтроллере PIC есть даже биты конфигурации для защиты программного кода и кода данных.Эти биты предотвращают чтение программы или пространств данных внешним программным обеспечением, чтобы другие не могли украсть ваш код. На чипе Atmel AT89S (производная 8051) это устанавливается так называемыми «битами блокировки».
Некоторые называют биты конфигурации «битами предохранителей». Это происходит из-за старых микропроцессоров, в которых имелись настоящие «предохранители» на микросхеме, которые могли сгореть, если бы некоторые функции управления битами предохранителей были отключены. Эти предохранители были «запрограммированы один раз»… после того, как они сгорели, их нельзя было «раздувать».Однако с появлением флэш-памяти, доступной на современных микроконтроллерах, на чипе больше нет буквальных «предохранителей». Но сам термин перенесен из-за битов конфигурации, по существу обеспечивающих тот же контроль, что и биты предохранителей.
ALU (Арифметико-логическое устройство)
Этот аппаратный элемент в основном отвечает за все математические и логические операции, выполняемые микроконтроллером. На большинстве микроконтроллеров ALU будет иметь 3 флага, связанных с ним –
* Нулевой бит – Этот бит флага устанавливается в 1 аппаратным обеспечением всякий раз, когда математическая операция приводит к нулевому результату.Аппаратные средства сбрасывают его до 0, когда математическая операция приводит к ненулевому результату.
* Бит переноса / заимствования – Этот бит флага работает как бит переноса для операций сложения, а также как флаг заимствования для операций вычитания. «Перенос» происходит, когда результат операции сложения приводит к значению, превышающему то, что способен удерживать регистр. В 8-битном регистре может храниться максимальное значение 255 (FF в шестнадцатеричном или 11111111 в двоичном виде).
Если операция сложения приводит к результату больше 255, флаг переноса устанавливается в 1.Если в результате операции сложения результат меньше 255, перенос не выполняется, поэтому флаг переноса сбрасывается до 0.
Для операций вычитания флаг переноса используется вместо флага заимствования. Флаг заимствования работает напротив флага переноса. Если операция вычитания приводит к отрицательному результату, флаг заимствования очищается до 0. Если операция вычитания приводит к положительному результату, флаг заимствования устанавливается на 1.
* Бит переноса / заимствования цифры – Этот бит флага аналогичен флагу переноса / заимствования, но он работает только для указания того, происходит ли перенос / заимствование только между битами 3 и 4.
Биты флага ALU можно прочитать в любое время, чтобы узнать, были ли результаты математических операций равны нулю, положительны / отрицательны или больше / меньше чем, и т. Д. И т. Д.
Нулевой бит – это удобный бит флага, который позволяет нам сравнивать два значения, чтобы определить, равны они или нет. Если мы возьмем два числа и вычтем их, результат будет нулевым, если он равен, а ненулевым, если не равным. Таким образом, чтобы сравнить два значения, чтобы увидеть, равны они или нет, мы вычитаем их, затем читаем / проверяем нулевой бит, чтобы увидеть, является ли бит 1 или 0.Если нулевой бит = 1, результат вычитания равен нулю, что означает, что два значения равны. Если нулевой бит = 0, результат вычитания не равен нулю, что означает, что два значения не равны.
Бит переноса / заимствования – это удобный флаг, который позволяет нам сравнивать два значения, чтобы увидеть, является ли одно значение больше / меньше другого значения. Пример … у нас есть два значения: VALUE1 и VALUE2. В коде мы выполняем эту операцию –
ЗНАЧЕНИЕ1 – ЗНАЧЕНИЕ2 = ЗНАЧЕНИЕ3
После выполнения операции вычитания мы читаем / проверяем состояние максимума / минимума бита переноса / заимствования.
Если VALUE2 больше VALUE1, результат вычитания будет отрицательным, что очистит бит переноса / заимствования до 0. Если VALUE2 меньше VALUE1, результат вычитания будет положительным, что установит перенос / позаимствовать бит до 1.
Обратитесь к листу данных, чтобы узнать, какая SFR содержит эти биты. На микроконтроллерах PIC биты флага ALU находятся в STRUS SFR. На MCS-51 они находятся в PSW SFR (Слово статуса программы).
Счетчик программ
Счетчик программ – это «указатель адреса», который сообщает ЦПУ, где найти следующую инструкцию для выполнения в ПЗУ программы.ЦП будет извлекать инструкцию, находящуюся по адресу ПЗУ программы, который в данный момент загружен в счетчик программ.
Когда микроконтроллер перезагружается, счетчик программы инициализируется равным 0x0000. Процессор получит инструкцию, которая находится по адресу ПЗУ программы 0x0000. Как только эта инструкция получена, счетчик программы автоматически увеличивается до значения 0x0001. Счетчик программ непрерывно автоматически увеличивается на значение 1, что заставляет ЦП последовательно обращаться к содержимому каждой ячейки регистра в ПЗУ программы.Это продолжается до тех пор, пока процессор не выберет и не выполнит инструкцию, которая изменяет значение счетчика программы. Такими инструкциями, которые делают это, являются инструкции перехода (ajmp и ljmp на MCS-51, goto на PIC), вызовы подпрограмм (acall и lcall на MCS-51, вызов на PIC) и любые инструкции, которые добавляют или вычитают значение из или из счетчик программ.
Стек
Стек на микроконтроллере в основном используется во время вызовов подпрограмм и переходит к обработчику прерываний.Это буфер «Last In First Out», который используется для хранения адресов возврата. Во время вызова подпрограммы адрес текущего счетчика программы «помещается» в стек с добавлением смещения +1, затем счетчик программы изменяется со значением адреса, в котором находится вызываемая подпрограмма. Это заставляет счетчик программ перейти к коду подпрограммы для выполнения подпрограммы.
В конце подпрограммы будет инструкция «возврат» (ret на MCS-51, возврат на PIC). После выполнения инструкции возврата стек «выталкивается», а последнее значение адреса ПЗУ, помещенное в стек, извлекается из стека и возвращается в счетчик программ.Это заставляет счетчик программы вернуться к инструкции, которая находится после инструкции, которая вызвала подпрограмму (отсюда необходимость смещения +1 в момент, когда адрес ПК помещается в стек), и выполнение программы продолжается с того места, где оно было прервано. до вызова подпрограммы.
Некоторые микроконтроллеры имеют «программный стек» (MCS-51). Программный стек использует часть внутреннего пространства ОЗУ микроконтроллера в качестве пространства стека. Другие микроконтроллеры имеют аппаратный стек (PIC).В случае аппаратного стека этот стек представляет собой свое собственное выделенное пространство, которое отделено от всех других областей памяти чипа.
На некоторых микроконтроллерах стек доступен для записи. Это позволяет нам использовать стек для временного резервного копирования критических регистров во время вызовов подпрограмм и выполнения обработчика прерываний. Перед выполнением подпрограммы или обработчика прерываний содержимое регистров для резервного копирования помещается в стек. Затем, непосредственно перед возвратом из подпрограммы или обработчика прерываний, содержимое, которое мы поместили в стек в начале подпрограммы, извлекается из стека по одному за раз, а затем восстанавливается в исходное положение в обратном порядке. толкнул на стек (помните … последний вошел первым).
Хорошим примером этого может служить то, как мы выполняем резервное копирование аккумулятора и регистров PSW на MCS-51 во время выполнения процедуры обработки прерывания –
Код (текст):
push ACC; резервное копирование аккумулятора в стек
push PSW; резервное копирование слова состояния программы в стек
; выполнить код обработчика прерываний здесь
pop PSW; восстановить слово состояния программы
pop ACC; восстановить аккумулятор
reti; вернуться к основному коду из прерывания
Как видите, мы сначала помещаем содержимое аккумулятора в стек, а затем помещаем содержимое PSW в стек после него.Затем выполняется код обработчика прерываний.
После выполнения кода обработчика прерываний PSW сначала извлекается из стека, затем после него извлекается аккумулятор из стека… в порядке, обратном тому, как они были выдвинуты.
Типичная SFR
Типичная SFR настроена, как показано ниже.
Код (текст):
| ПОРТ 1 SFR |
———————————————————
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| P1.7 | P1.6 | P1.5 | P1.4 | P1.3 | P1.2 | P1.1 | P1.0 |
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Это SFR защелки порта на микроконтроллере MCS-51 для параллельного порта 1. Каждый порт MCS-51 является 8-битным параллельным портом, и каждый из битов в SFR порта назначается каждому выводу порта. P1.0 будет контактом 0 на порте 1, P1.1 будет контактом 1 на порте 1, P1.2 будет контактом 2 на порте 1 и т. Д. И т. Д.
Как показано, у нас есть все нули, записанные в каждый из битов SFR защелки порта 1.Это переведет все контакты на порт 1 в низкое состояние (0 вольт). Если бы мы записали 1 в любой из битов SFR порта, это установит вывод, связанный с позицией бита, в которую мы записываем «1» в верхнем состоянии (+ 5 В).
Например, давайте запишем значение 01010101 в порт 1 SFR –
Код (текст):
| ПОРТ 1 SFR |
———————————————————
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| P1.7 | P1.6 | P1.5 | P1.4 | P1.3 | P1.2 | P1.1 | P1.0 |
| 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
Как показано, это установит контакты P1.0, P1.2, P1.4 и P1.6 в верхнее состояние, в то время как контакты P1.1, P1.3, P1.5 и P1.7 находятся в нижнем состоянии.
Слово в таблицах … и почему они так важны
Не все микроконтроллеры созданы равными. Каждый из них разработан с определенным оборудованием на чипе. Микроконтроллеры разных производителей имеют разную архитектуру.Вы обнаружите, что микроконтроллеры PIC сильно отличаются от микроконтроллеров MCS-51 так же, как MCS-51 сильно отличается от, скажем, Motorola 65xx в отношении того, как реализованы SFR, как организовано ОЗУ данных, набор команд, слово конфигурации, как работают параллельные порты и т. д.
ЕДИНСТВЕННЫЙ способ точно знать, как работать с вашим микроконтроллером и его оборудованием, – это обратиться к его техническому описанию. Таблица данных объясняет каждую SFR, каждую часть встроенного аппаратного обеспечения, абсолютные максимальные электрические характеристики, организацию памяти программ / данных, как подключены параллельные порты и как они работают, сводку набора команд (для тех из вас, кто кодирует в сборке язык) и т. д.Практически все, что вам, как программисту, нужно будет знать о вашем микроконтроллере, содержится в техническом описании микроконтроллера.
Большинство из них находятся в свободном доступе в Интернете с помощью простого поиска в Google (я пока не нашел ни одного). Заявление о том, что вы не можете найти таблицу, не является приемлемым оправданием, когда дело доходит до этого. ЕДИНСТВЕННАЯ причина, по которой кто-то отказывается просматривать таблицу, заключается либо в том, что они слишком ленивы, либо в том, что они их не понимают, но не хотят, чтобы другие знали, что они этого не делают.Я скажу прямо сейчас, хотя … большинство вопросов форума, касающихся микроконтроллеров, можно было бы ответить самостоятельно, если бы человек нашел время, чтобы найти ответ в техническом описании.
Таблицы абсолютно обязательны. Вы не сможете написать свой собственный код без них.
Об авторе
Джон Уайлдер является независимым инженером-электронщиком и энтузиастом электроники более 20 лет. Он провел четыре года в ВМС США в качестве специалиста по авиационной электронике.Джон также играет на гитаре с 13 лет и начал интегрировать электронику и музыку с 15 лет. Джон создал свой первый ламповый усилитель в 17 лет. «Музыкальная электроника», говорит Джон, это его любовь и страсть.
Джон также является частым участником и страстным членом инженерного сообщества Electro-Tech-Online. На сайте Electro-Tech-Online вы можете задавать вопросы и получать ответы от коллег-инженеров по всем вопросам – от микроконтроллеров, возобновляемых источников энергии и автомобильной электроники до моделирования и проектирования схем.Кроме того, существуют специализированные форумы MCU для 8051/8951, AVR, ARM, Arduino, Oshonsoft Project, а также хранилище кода, где участники делятся фрагментами кода.
Следуйте за Джоном в Твиттере на @PICmcuguy.
,Микроконтроллеры | Микрочип Технология
Effortless Embedded Control Solutions
Легко отвечают постоянно меняющимся требованиям современной электроники с нашим портфелем масштабируемых 8-, 16- и 32-битных микроконтроллеров, контроллеров цифровых сигналов и микропроцессоров. Гибкие периферийные устройства и функции позволяют легко создавать дифференцированные приложения, которые отличают вас от конкурентов. Наши интуитивно понятные среды проектирования и инструменты визуального конфигурирования обеспечивают простое начало работы, а проверенные эталонные конструкции и профессионально протестированные библиотеки программного обеспечения снижают риск проектирования.
Инструменты разработки и экосистема
Вас просят быстро сделать прототип? Экосистема разработки Microchip позволяет быстро создавать прототипы в интуитивно понятных средах проектирования. Используйте один из наших эталонных дизайнов или плат для быстрого запуска вашего дизайна, чтобы вы могли сосредоточиться на дифференциации вашего конечного продукта. Начните с наших профессионально протестированных программных платформ, библиотек и примеров кода, чтобы с уверенностью написать свою прошивку.Наши инструменты работают вместе, чтобы обеспечить современную отладку для вашего проекта с помощью простых в использовании графических пользовательских интерфейсов. Если вам нужны образцы, примеры программного обеспечения или производственное программирование, Microchip обеспечит полную поддержку проектирования на каждом этапе вашего проекта.Масштабируемая производительность
Не позволяйте изменяющимся требованиям приложения вызывать полную модернизацию. Microchip является единственным поставщиком полупроводников, внедряющим инновации в 8-, 16- и 32-разрядные микроконтроллеры (MCU), цифровые контроллеры сигналов (DSC) и микропроцессоры (MPU), обеспечивая максимальный выбор масштабируемой производительности.Также нет необходимости изучать новую экосистему или запускать свой код с нуля, поскольку экосистема разработки Microchip позволяет использовать общую экосистему в нескольких проектах. Это позволяет вам сохранить ваши инвестиции в разработку кода путем повторного использования встроенного программного обеспечения вашего приложения, даже когда ваши требования к дизайну изменяются.
8 8-разрядные микроконтроллерыPIC ® и AVR ® позволяют разработчикам всех уровней квалификации легко воплощать свои идеи в жизнь.Комбинация легко настраиваемых периферийных устройств и самых эффективных в отрасли архитектур позволяет использовать несколько функций в одном чипе при минимальном программировании.
- Самая простая точка входа для разработки MCU
- Разработано для приложений управления в реальном времени
- Полностью совместимые члены семейства устройств позволяют расширять функциональность без значительных изменений
16-разрядные микроконтроллеры и DSC
Микроконтроллеры PIC24идеально подходят для приложений, которые переросли производительность или возможности памяти 8-разрядных микроконтроллеров и выигрывают от пребывания в общей экосистеме.Наши цифровые сигнальные контроллеры dsPIC® повышают производительность DSP для контуров управления по времени.
- Простота микроконтроллера с производительностью DSP
- Прецизионное управление двигателем с безсенсорным полевым управлением
- Эффективное цифровое преобразование мощности с коррекцией коэффициента мощности
- Надежная функциональная безопасность для критически важных приложений
32-разрядные микроконтроллеры
Наши 32-разрядные микроконтроллеры обеспечивают производительность и функциональные возможности для удовлетворения потребностей проектирования в широком спектре приложений.
- Маломощные, высокопроизводительные микроконтроллеры для запуска многопоточных приложений
- Аппаратные сенсорные и графические возможности для приложений HMI
- Возможности безопасности включают безопасную загрузку, безопасное обновление прошивки, изоляцию аппаратного обеспечения, защиту ключей и многое другое
- Высокая степень интеграции: CAN-FD / CAN, высокоскоростной USB, Ethernet
- Широкий ассортимент обеспечивает масштабируемость для простого удовлетворения меняющихся требований рынка
MPU
Микропроцессоры – это естественный следующий шаг для тех, кто перерос производительность MCU, нуждается в дополнительной памяти или хочет использовать Linux ® в своих приложениях.
- Доступная разработка MPU, независимо от опыта работы с опциями SoM, SiP и IC
- Масштабируемые решения безопасности от базовой защищенной связи и хранения до реализации безопасного анклава
- Аппаратные сенсорные и графические возможности для приложений HMI
- Поддержка для чистого металла, ОСРВ и Linux с поддержкой периферийных драйверов
Использование различных типов микроконтроллеров для обработки различных операций, таких как потребности обработки, автомобили, электрические системы и приложения, быстро возросло. Применения микроконтроллеров можно найти в различном крупногабаритном оборудовании для небольших устройств, таких как мэйнфреймы, кондиционеры, системы навигации самолета, цифровые часы, КПК и мобильные телефоны. В частности, наличие различных микроконтроллеров в автомобилях играет жизненно важную роль, что подтверждается наличием 25-35 ECU (электронного блока управления) в типичном форд-транспортном средстве.В частности, диапазон ECU в роскошных автомобилях, таких как BMW 7 серии, составляет 60-65. Микроконтроллеры управляют функциями ECU, такими как сиденья, электрические стеклоподъемники, торможение, рулевое управление, задние фонари и фары. В этой статье рассматриваются различные микроконтроллеры, используемые в автомобилях, а также их применение.
Различные микроконтроллеры в автомобиляхРазличные типы микроконтроллеров
Микроконтроллер представляет собой небольшой чип, используемый в качестве встроенной системы. Некоторые микроконтроллеры могут потреблять работу на тактовых частотах и в четырехбитовых выражениях, которые обычно включают в себя:
Различные типы микроконтроллеров
Использование различных микроконтроллеров в электронике автомобиля расширяется наряду с остальными электронными блоками управления.В основном, различные типы микроконтроллеров, используемых в автомобилях, представляют собой микроконтроллер AVR, микроконтроллер 8051, микроконтроллер PIC и т. Д. Эти типы микроконтроллеров нуждаются в микросхеме, содержащей ЦП, ОЗУ (память с произвольным доступом), программную память и программируемые I / P и О / Пс. Существующие микроконтроллеры усиливают контроль ассортимента автомобилей. Это диапазон от 8-битной 32-битной архитектуры Гарварда с недорогими процессорами, высокой производительностью и эффективным хранением данных в памяти.
Различные микроконтроллеры, используемые в автомобиле
Различные микроконтроллеры, используемые в автомобиле, могут связываться друг с другом через мультиплексирование.Эти микроконтроллеры могут управлять соответствующими системами отдельно, используя шину для связи с другими сетями, когда они необходимы для выполнения функции. Комбинация нескольких связанных сетей включает в себя CAN (сети контроллеров). Существующие локальные сети контроллеров допускают сложные взаимодействия, которые включают сенсорные системы, скорость автомобиля, взаимодействие с водопадами в условиях наружного дождя, при температурах автомобиля с элементами управления производительностью для обслуживания кондиционеров, аудиовизуальными мультимедийными системами и тормозными механизмами.
Связь в автомобилях, устанавливаемая различными микроконтроллерами, контролирует как отказоустойчивые системы, так и автомобильные отказоустойчивые системы, в которых микроконтроллеры могут не только реагировать на неисправности и неисправности, возникающие в автомобиле (антиблокировочная тормозная помеха, акселератор и разбитые огни), но также для дублирования в качестве вторичных блоков, которые постоянно проверяют первичный микроконтроллер в случае сбоя самого микроконтроллера. Пример отказоустойчивости – когда шины автомобиля скользят по заснеженной дороге.Инцидент не только активировал реакцию водителя автомобиля, но и инцидент также обнаруживается сенсорным микроконтроллером, который затем активирует систему антиблокировочного торможения, когда водитель автомобиля стучит по тормозам.
Трехъядерный микроконтроллер Infineon
Трехъядерный – это 32-разрядный микроконтроллер, разработанный Infineon. Эти микроконтроллеры собраны в более чем 50 автомобильных брендах, что означает, что каждый второй автомобиль, разработанный сегодня, включает в себя трехъядерный микроконтроллер.Он отвечает за поддержание максимально низкого уровня выбросов выхлопных газов и расхода топлива. Трехъядерные микроконтроллеры используются в коробках передач для управления впрыском, центральные блоки управления зажиганием двигателей внутреннего сгорания: постепенно они также используются в электрических и гибридных транспортных средствах.
Микроконтроллер Tricore
Микроконтроллер Atmel AVR
Микроконтроллеры Atmel AVR (Alf-Egil-Bogen-Vegard-Wollan-RISC) распределяют мощность, производительность и гибкость для автомобильных приложений.Этот микроконтроллер состоит из гарвардской архитектуры. Таким образом, устройство работает очень быстро с уменьшенным количеством инструкций уровня машины. Микроконтроллеры AVR подразделяются на три типа: Tiny AVR, Mega AVR и Xmega AVR. Основные характеристики микроконтроллеров AVR по сравнению с другими микроконтроллерами включают встроенный АЦП, 6-спальный режим последовательной передачи данных и внутренний генератор и т. Д.
Микроконтроллер Atmel AVRPIC Микроконтроллер
Краткая форма микроконтроллера периферийного интерфейса – PIC.Он запрограммирован и управляется таким образом, что выполняет несколько задач и контролирует линию генерации. Эти микроконтроллеры используются во многих приложениях, таких как смартфоны, автомобили, аудио аксессуары и медицинские приборы. В настоящее время на рынке представлены микроконтроллеры PIC от PIC16F84 до PIC16C84, которые являются доступными флэш-микроконтроллерами. Где микроконтроллеры PIC18F458 и PIC18F258 широко используются в автомобилях.
PIC МикроконтроллерRenesas Microcontroller
Renesas – это новейшее семейство автомобильных микроконтроллеров, которое предлагает высокую производительность и низкое энергопотребление в широком спектре изделий.Этот микроконтроллер предлагает встроенные характеристики безопасности и функциональную безопасность для современных автомобильных приложений. Эти микроконтроллеры предлагают самые полезные семейства микроконтроллеров в мире. Например, семейство RX предлагает различные типы устройств с вариациями памяти от 32 КБ флэш-памяти / 4 КБ ОЗУ до невероятных 8 флэш-памяти / 512 КБ ОЗУ. Этот микроконтроллер семейства RX использует 32-битную улучшенную архитектуру Harvard CISC для достижения очень высокой производительности.
Renesas MicrocontrollerМикроконтроллер 8051
Микроконтроллер 8051 представляет собой 40-контактный микроконтроллер и основан на архитектуре Гарварда, в которой память программ и память данных различаются.Этот микроконтроллер используется в большом количестве машин, таких как автомобили, поскольку его можно легко интегрировать вокруг машины.
8051 МикроконтроллерРост числа микроконтроллеров в автомобиле
Рост количества микроконтроллеров в автомобилях подразделяется на три типа, такие как малолитражные автомобили, автомобили среднего класса и роскошные автомобили, что показано на рисунке ниже.
Рост числа микроконтроллеров в автомобиляхБольшинство электронных систем управления в автомобилях усовершенствованы.Например, рассмотрим системы подушек безопасности, в которых на сегодня распространены две фронтальные подушки безопасности. К ним далее присоединяются подушки безопасности заднего пассажира и несколько других подушек безопасности. Аналогичным образом будут усовершенствованы функции рулевого управления, подвески, торможения, управления кузовом и силовой передачи путем внедрения более совершенных электронных систем. Кроме того, сложность систем может стать больше. В ближайшие несколько лет системы управления стабильностью, навигационные системы на основе GPS, проводные системы рулевого управления и торможения, распознавание голоса; будут введены системы предупреждения о столкновениях.
Применение микроконтроллеров в автомобилях
Управление транспортными средствами
- В основном используются 16-битные микроконтроллеры
- Ключевой фактор принятия решения о вычислительной производительности
- Цикл проектирования составляет от 3 до 4 лет
Силовая передача
- 16 до В основном используются 32-битные микроконтроллеры.
- Ключевой фактор решения для вычислительной производительности.
- Проектный цикл составляет от 4 до 5 лет
Информация о драйвере
- В основном используются 8-битные микроконтроллеры
- Высокая интеграция и низкий уровень EMI Ключевой фактор принятия решения
- Цикл проектирования составляет от 3 до 4 лет
Следовательно, В наши дни различные типы микроконтроллеров ознаменовали собой революционные изменения во всех аспектах процессов проектирования и производства автомобилей благодаря их адаптивности и гибкости.Кроме того, любые вопросы, касающиеся этой темы или проектов на основе микроконтроллеров или проектов электроники, вы можете оставить свой отзыв в разделе комментариев ниже.
Photo Credits:
- Трехъядерный микроконтроллер Infineon Infineon
- Рост в автомобильной промышленности mcjournal