Как выбрать семейство микроконтроллеров: Микроконтроллеры семейств AVR, MSP430, STM32 и мои субъективные впечатления / Хабр

Содержание

Микроконтроллеры семейств AVR, MSP430, STM32 и мои субъективные впечатления / Хабр

Микроконтроллеры семейств AVR, MSP430, STM32 и мои субъективные впечатления

Здравствуйте, обитатели Хабра. В этой статье хочу поделится своими впечатлениями об опыте программирования микроконтроллеров семейств AVR, MSP430, STM32.
Введение

В бытность мою студентом занимался я прикладным программированием на Delphi и горя не знал, но и счастья не ведал. Пока как-то раз не посетил меня на четвертом курсе предмет «Микропроцессорные контроллеры». Ну, и пошло-поехало.

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

Предмет «Микропроцессорные контроллеры» как раз и был посвящен программированию микроконтроллеров на примере семейства AVR Atmega фирмы Atmel. Лабораторные работы по данному предмету заключались в программировании отладочных плат с Atmega16 на ассемблере данного семейства в программной среде AVR Studio 4.18.

Программа отлаживалась при помощи симулятора и зашивалась в микроконтроллер посредством встроенного в отладочную плату LPT-программатора на логике через программу ponyprog2000.

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

Прекрасный новый мир открылся мне. Но потом все это немного заглохло до следующего курса, на котором программирование тех же самых плат происходило, но уже не на ассемблере, а на языке Pascal в среде E-LAB. Об этой среде мало кто знает, а зря. Ведь задолго до всяких там arduino, данная среда включала в себя много библиотек для внешних устройств простых в использовании. Не верите?

Посмотрите сами тут. Тут вам для E-LAB и JTAG-отладчики есть.
Но во времена написания лабораторных работ JTAG-отладка доступна не была. Поэтому мы пользовались встроенным в E-LAB симулятором. Как и тогда, библиотеки E-LAB позволяют создавать проекты с ОСРВ, работающей по принципу Round-robin.
Последние версии E-LAB поддерживают и кооперативную многозадачность.


В принципе с этих двух циклов лабораторных работ я и начал свое знакомство с микроконтроллерами и, в частности, семейством AVR. Что можно сказать теперь?
AVR — самое популярное семейство микроконтроллеров в мире, я думаю.
Arduino-мания только укрепила это. Эти простые в освоении микроконтроллеры и сейчас остаются лучшим решением для первого знакомства. Позволяют получить опыт создания простых приложений с использование интерфейсов SPI, I2C, UART, позволяют понять работу портов ввода/вывода, подсистемы прерываний. По сути, на данном семействе можно научится основам и делать малые и средние проекты. В последних версиях AVR Studio можно делать проекты на С.

А если взять в руки паяльник, то можно себя обеспечить и программатором, и JTAG-отладчиком.
Есть желание начать? Тут тоже много всего.
Фирменные отладочные платы и программаторы от Atmel крайне дороги.
Главным недостатком AVR является слабое вычислительное ядро без вспомогательных математических блоков, причем восьмиразрядность усугубляет ситуацию. Т.е. на сложные математические вычисления может уйти много времени. Микроконтроллер может не успевать обрабатывать собранную или принятую информацию. Последний проект для Atmega16 я делал на С в среде разработки IAR Embedded Workbench for Atmel AVR.

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

После семейства AVR микроконтроллерый мир уже открыл мне часть своих тайн.
А тут подоспел и новый предмет, посвященный также программированию микроконтроллеров, но это было уже семейство MSP430 фирмы Texas Instruments, а именно микроконтроллер msp430f169 на отладочной плате с ziff-панелью и минимальной обвязкой.
Разработка программы для него и отладка проходили в среде IAR Embedded Workbench for MSP430 при помощи JTAG-отладчика MSP-FET430UIF.
В первую очередь в этом семействе понравились примеры программ работы с внутренней периферией от производителя. Ну и с него берет моя подсадка на JTAG и IAR. Однажды попробовав JTAG-отладку не захочется возвращаться к разработке с просто программированием. Ведь под JTAG-отладкой можно по шагам видеть, что происходит в регистрах в памяти и где сейчас идет выполнение кода, ставить точки останова. С этого времени я и на IAR подсел. Ведь это кроссплатформенный компилятор выпущенный под множество микроконтроллерных семейств. Стоит один раз запомнить интерфейс и не надо каждый раз, при переходе на новое микроконтроллерное семейство, переучиваться. Это ли не чудо? Но затягивает.

Минус только в стоимости полной версии. Вообщем на этом семействе я и начал свою работу, как программист микроконтроллеров. И связка язык C (по сути кроссплатформенный ассемблер), кроссплатформенная среда разработки IAR и JTAG-отладка всегда были вместе со мной.

Семейство MSP430 в отличие от AVR шестнадцатиразрядное и более производительное за счет применения встроенного аппаратного умножителя.
Возможность использования режимов пониженного энергопотребления обеспечивает увеличение срока службы элементов питания при применении в мобильных портативных устройствах. А микроконтроллеры MSP430F5419 и MSP430F5438, с которыми я работал, на частоте 25 МГц в плотную подтягиваются к ARM. Так что они такие мощные середнячки. Если иметь фирменный JTAG-отладчик, IAR for MSP-430, нормальную отладочную плату, то работать с ними одно удовольствие.

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

Последним я познакомился с семейством STM32 фирмы STMicroelectronics.
Архитектура ARM сама по себе является дверью ко многим семействам.
Т.к. для множества этих микроконтроллеров разных фирм потребуется только один JTAG-отлдачик J-Link или его клон. А также если есть в наличии среда разработки IAR Embedded Workbench for ARM, то двери открыты.
Плюсом в сторону семейства STM32 является наличие библиотеки встроенной периферии, которая позволяет быстро писать свои пользовательские библиотеки с минимальными трудозатратами, а также 32-разрядность ядра в отличии от AVR и MSP430. Линейка микроконтроллеров STM32 включает много вариантов их внутреннего наполнения встроенной периферией от чего варьируется и стоимость. Например, микроконтроллер STM32L152VBT6 на ядре Cortex-M3, как микроконтроллеры семейства MSP430, нацелен на низкое энергопотребление и работает на 32 МГц.

Другой микроконтроллер STM32F107VCT6 также на ядре Cortex-M3 подходит для большинства задач, возлагаемый на данный класс устройств, и имеет частоту 72 МГц. Тут сразу видно, что для «тяжелой» математики и обработки микроконтроллеры на ядре Cortex-M3 куда больше подходят, чем MSP430 и AVR. Я работал и с «тяжеловесом» данного семейства STM32F407VGT6 на ядре Cortex-M4, частота которого доходит до 168 МГц. «Большой брат» идеально подошел для решения сложных математических задач. Кроме того, он имеет аппаратный FPU для математики с плавающей точкой. Для семейства STM32 разработана линейка плат DISCOVERY, которая позволяет получить плату со встроенным JTAG-отладчиком ST-Link, причем его можно использовать, чтобы программировать платы собственной разработки.

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

Заключение

В заключении хочу сказать. Что у всех рассмотренных семейств есть свои плюсы. Со всеми связаны теплые воспоминания.

Классификация и выбор микроконтроллеров


 

Все микроконтроллеры можно условно разделить на 3 класса в соответствии с их разрядностью:

  • 8-разрядные
  • 16-разрядные
  • 32-разрядные

8-разрядные микроконтроллеры имеют относительно низкую производительность, которая вполне достаточна для решения широкого круга задач управления различными объектами. Это простые и дешевые микроконтроллеры, ориентированные на использование в относительно несложных устройствах массового выпуска. Основными областями их применения являются бытовая и измерительная техника, промышленная автоматика, автомобильная электроника, теле-, видео- и аудиоаппаратура, средства связи. Для этих микроконтроллеров характерна реализация Гарвардской архитектуры, где используется отдельная память для хранения программ и данных. Внутренняя память программ обычно имеет объем от нескольких единиц до десятков килобайт. Для хранения данных используется регистровый блок, организованный в виде нескольких регистровых банков, или внутреннее ОЗУ. Объем внутренней памяти данных составляет от нескольких десятков байт до нескольких килобайт. Ряд микроконтроллеров этой группы позволяет, в случае необходимости, дополнительно подключать внешнюю память команд и данных, объемом до 64…256 килобайт. Микроконтроллеры этой группы обычно выполняют относительно небольшой набор команд (30-100), использующих наиболее простые способы адресации. Такие микроконтроллеры обеспечивают выполнение большинства команд за один такт машинного времени.

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

32-разрядные микроконтроллеры содержат высокопроизводительный процессор, соответствующий по своим возможностям младшим моделям микропроцессоров общего назначения. В ряде случаев процессор, используемый в этих микроконтроллерах, аналогичен CISC- или RISC-процессорам, которые выпускаются или выпускались ранее в качестве микропроцессоров общего назначения. Например, в 32-разрядных микроконтроллерах компании Intel используется процессор i386, в микроконтроллерах компании Motorola широко применяется процессор 68020, в ряде других микроконтроллеров в качестве процессорного ядра служат RISC-процессоры типа PowerPC. На базе данных процессоров были реализованы различные модели персональных компьютеров. Введение этих процессоров в состав микроконтроллеров позволяет использовать в соответствующих системах управления огромный объем прикладного и системного программного обеспечения, созданный ранее для соответствующих персональных компьютеров.

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

Цифровые сигнальные процессоры (ЦСП, DSP) представляют особый класс специализированных микропроцессоров, ориентированных на цифровую обработку поступающих аналоговых сигналов. Специфической особенностью алгоритмов обработки аналоговых сигналов является необходимость последовательного выполнения ряда команд умножения-сложения с накоплением промежуточного результата в регистре-аккумуляторе. Поэтому архитектура ЦСП ориентирована на реализацию быстрого выполнения операций такого рода. Набор команд этих процессоров содержит специальные команды MAC (Multiplication with Accumlation), реализующие эти операции. Значения поступившего аналогового сигнала может быть представлено в виде числа с фиксированной или с “плавающей” точкой. В соответствии с этим ЦСП делятся на процессоры, обрабатывающие числа с фиксированной или плавающей точкой. Более простые и дешевые ЦСП с фиксированной точкой обычно обрабатывают 16-разрядные операнды, представленные в виде правильной дроби. Однако ограниченная разрядность в ряде случаев не позволяет обеспечить необходимую точность преобразования. Поэтому в ЦСП с фиксированной точкой, выпускаемых компанией Motorola, принято 24-разрядное представление операндов.

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

Выбор микроконтроллера

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

Основные критерии выбора микроконтроллера представлены ниже в порядке значимости.

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

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

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

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

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

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

  • симуляторы
  • эмуляторы.

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

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

Назад


Назад: Программирование микроконтроллеров

Классификация микроконтроллеров

Радиоэлектроника, схемы, статьи и программы для радиолюбителей.
  • Схемы
    • Аудио аппаратура
      • Схемы транзисторных УНЧ
      • Схемы интегральных УНЧ
      • Схемы ламповых УНЧ
      • Предусилители
      • Регуляторы тембра и эквалайзеры
      • Коммутация и индикация
      • Эффекты и приставки
      • Акустические системы
    • Спецтехника
      • Радиомикрофоны и жучки
      • Обработка голоса
      • Защита информации
    • Связь и телефония
      • Радиоприёмники
      • Радиопередатчики
      • Радиостанции и трансиверы
      • Аппаратура радиоуправления
      • Антенны
      • Телефония
    • Источники питания
      • Блоки питания и ЗУ
      • Стабилизаторы и преобразователи
      • Защита и бесперебойное питание
    • Автоматика и микроконтроллеры
      • На микроконтроллерах
      • Управление и контроль
      • Схемы роботов
    • Для начинающих
      • Эксперименты
      • Простые схемки
    • Фабричная техника
      • Усилители мощности
      • Предварительные усилители
      • Музыкальные центры
      • Акустические системы
      • Пусковые и зарядные устройства
      • Измерительные приборы
      • Компьютеры и периферия
      • Аппаратура для связи
    • Измерение и индикация
    • Бытовая электроника
    • Автомобилисту
    • Охранные устройства
    • Компьютерная техника
    • Медицинская техника
    • Металлоискатели
    • Оборудование для сварки
    • Узлы радиаппаратуры
    • Разные схемы
  • Статьи
    • Справочная информация
    • Аудиотехника
    • Для начинающих
    • Микроконтроллеры

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

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

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

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

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

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

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

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

Raspberry Pi Zero

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

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

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

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

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

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

Заключение

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

Выбор микроконтроллера для автономных измерительных устройств

В данной статье описываются особенности применения микроконтроллеров в автономных устройствах. Рассматриваются такие характеристики микроконтроллеров как: диапазоны питания, производительность, режимы пониженного энергопотребления, наборы инструкций, ПЗУ, ОЗУ, интерфейсы микроконтроллеров фирм Motorola, Atmel, Microchip.

 

 

 
Рис.1

 

 

 

Микроконтроллеры являются основной частью для большинства современных автономных устройств. Он может выполнять как функции управления, так и служить промежуточным звеном между исследуемым объектом и устройством верхнего уровня. На рис.1 представлена обобщенная функциональная схема автономного измерительного устройства. Сигналы с датчиков D1-Dn поступают на преобразователи сигнала П1-Пn, после чего оцифровываются в АЦП1-АЦПn и через порты ввода/вывода попадают непосредственно в микроконтроллер. Блок АЦП нужен не всегда, например, если встроенное АЦП микроконтроллера удовлетворяет техническим требованиям, то можно им воспользоваться.

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

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

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

Для микроконтроллеров, которые питаются от автономного источника напряжения, обязательна функция сброса по снижению напряжения питания. Если напряжение микроконтроллера опускается ниже определенного значения на заданное время, то происходит сброс. Также следует не забывать про режимы пониженного энергопотребления микроконтроллера. В данных режимах микроконтроллер не выполняет часть своих функций, однако потребляет намного меньше тока. У каждого типа микроконтроллера существуют свои особенности в построении, которые зачастую существенно отличаются друг от друга. Наиболее распространенными являются восьмиразрядные микроконтроллеры, поэтому рассмотрим особенности построения средних семейств восьмиразрядных микроконтроллеров ведущих фирм, таких как Microchip (PIC-контроллеры), Motorola и Atmel (AVR), применительно к автономным устройствам.

Микроконтроллеры фирмы Motorola семейства HC08 имеют 2 режима пониженного энергопотребления. В режиме ожидания (Wait mode) останавливается тактовый генератор центрального процессора, однако продолжается тактирование периферийных модулей и разрешаются прерывания. Также существует возможность программно отключать неиспользуемые периферийные модули, что приводит к меньшему энергопотреблению. Выход из этого режима может быть осуществлен по сигналу внешнего сброса, по переполнению сторожевого таймера, по запросу внешних прерываний и прерываний от периферийных модулей. В режиме останова (Stop mode) прекращается тактирование всей схемы микроконтроллера, и разрешаются прерывания. Выход из этого режима также может быть осуществлен по сигналу внешнего сброса и по запросу внешних прерываний.

У микроконтроллеров фирмы Microchip среднего семейства существует один режим энергосбережения – Sleep mode. В данном режиме выключается тактовый генератор микроконтроллера, сбрасывается сторожевой таймер, порты ввода/вывода свое состояние не изменяют. Выход из режима Sleep mode происходит при подачи сигнала внешнего сброса, при переполнении сторожевого таймера (если он разрешен) и при периферийном прерывании.

Для микроконтроллеров семейства Classic AVR предусмотрено 2 режима пониженного энергопотребления. При работе микроконтроллера в режиме холостого хода (Idle mode) центральный процессор останавливается, но продолжается тактирование таймеров/счетчиков и сторожевого таймера. Если прерывание от аналогового компаратора не требуется, то он может быть программно отключен. Выход из режима холостого хода происходит как от внешних прерываний, так и по переполнению таймеров/счетчиков или по сбросу сторожевого таймера. Когда микроконтроллер работает в экономичном режиме (Power Down Mode) останавливается генератор тактовых импульсов. Если разрешена работа сторожевого таймера, то выход из экономичного режима может произойти при его переполнении. В противном случае, выход произойдет только по сигналу внешнего сброса или внешнего прерывания.

Для микроконтроллеров семейства Classic AVR предусмотрено 2 режима пониженного энергопотребления. При работе микроконтроллера в режиме холостого хода (Idle mode) центральный процессор останавливается, но продолжается тактирование таймеров/счетчиков и сторожевого таймера. Если прерывание от аналогового компаратора не требуется, то он может быть программно отключен. Выход из режима холостого хода происходит как от внешних прерываний, так и по переполнению таймеров/счетчиков или по сбросу сторожевого таймера. Когда микроконтроллер работает в экономичном режиме (Power Down Mode) останавливается генератор тактовых импульсов. Если разрешена работа сторожевого таймера, то выход из экономичного режима может произойти при его переполнении. В противном случае, выход произойдет только по сигналу внешнего сброса или внешнего прерывания.

Из всего вышесказанного можно сделать вывод, что с точки зрения пониженного энергопотребления, микроконтроллеры фирм Motorola и AVR являются более предпочтительными, чем PIC-контроллеры. Это обусловлено наличием у данных микроконтроллеров двух режимов пониженного энергопотребления, тогда как у PIC-контроллеров он только один.

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

Как для автономных, так и для стационарных систем, одним из основных критериев выбора микроконтроллера является его производительность, которая напрямую зависит от производительности процессорного ядра. В настоящее время применяются 2 принципа построения ядра: с полной системой команд (CISC) и с сокращенной системой команд (RISC). По первому принципу построены микроконтроллеры таких производителей, как Motorola, Philips, Dallas, часть продукции Atmel. Микроконтроллеры с RISC архитектурой производятся фирмами Microchip, Scenix, Atmel.

Для процессора с CISC архитектурой применяется однобайтовый, двухбайтовый, трехбайтовый или четырехбайтовый формат команды. Выборка команды из памяти осуществляется в течение нескольких циклов синхронизации. Формат команд для RISC-процессоров может быть произвольным, например 14 или 16 байт, а выборка осуществляется за 1 цикл синхронизации, поэтому микроконтроллеры с RISC архитектурой имеют более высокую производительность по сравнению с CISC-контроллерами. Однако, следует учесть и внутреннее изменение тактовой частоты, так в PIC-контроллерах (Microchip) частота делится на 4, в микроконтроллерах AVR (Atmel) частота не изменяется, а в микроконтроллерах фирмы Motorola — увеличивается. Кроме того, у каждого типа микроконтроллера существует свой набор команд: семейство Classic AVR насчитывают 120 команд; система команд микроконтроллеров Motorola семейства HC08 включает 90 инструкций; среднее семейство PIC-контроллеров содержит 35 инструкций. Чем больше инструкций «понимает» процессор, тем меньше получается размер программы, а, следовательно, экономится память программ и увеличивается быстродействие. Также следует учесть, что производительность зависит от выполняемой программы. Так, в автономных измерительных устройствах редко используются сложные математические алгоритмы, поэтому наличие в системе таких инструкций, как деление и умножение не является определяющим. Автономные устройства часто используются для сбора различных данных, а для их хранения требуется формировать таблицы. В данном случае будут полезны команды ветвления и переходов, а также различные способы адресации. Исходя из этого, микроконтроллеры фирмы Motorola и AVR обладают наибольшем количеством требуемых инструкций, однако нельзя однозначно сказать, что их производительность выше, чем у PIC-контроллеров. Производительность микроконтроллера следует определять для каждого конкретного случая.

Практически все современные микроконтроллеры имеют закрытую архитектуру, т.е. не используют внешние микросхемы для хранения памяти программ. Как правило, для автономных устройств не требуется большой объем памяти программ, так что рассмотрим только ею технологию изготовления. В настоящие время широко применяются 2 типа памяти программ – однократно программируемое пользователем ПЗУ (OTPROM) и Flash память. OTPROM уже давно используется в микроконтроллерах и является конкурентоспособной благодаря достаточно небольшой цене. Flash память стоит несколько дороже, однако имеет ряд несомненных преимуществ перед OTPROM. В отличие от OTPROM, Flash память многократно программируемая, причем имеет достаточно большое число циклов стирания/программирования. Это может оказаться полезным при модернизации устройств. Если микроконтроллер с OTPROM придется заменить, то в микроконтроллер с Flash памятью надо всего лишь записать новую программу. Причем у большинства современных микроконтроллеров есть режим внутрисхемного (низковольтного) программирования, который позволяет записывать программу в память микроконтроллера непосредственно на плате изделия. Также Flash память программ оч

6 лучших плат микроконтроллеров для всех уровней

Микроконтроллеры в основном следуют аналогичным конструкциям. Они имеют ограниченную встроенную память, работают с низким энергопотреблением и оснащены набором выводов ввода-вывода общего назначения (GPIO), которые обычно программируются через кабель USB.

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

Независимо от того, на каком уровне вы находитесь, один из этих микроконтроллеров должен хорошо работать для вас.

1. Лучший микроконтроллер для начинающих
Arduino Uno R3

Arduino Uno R3

Arduino Uno R3
Купить сейчас на Amazon $ 20,49

Если у вас есть интерес к микроконтроллерам, вы почти наверняка слышали об Arduino. Они популяризировали хобби-оборудование с открытым исходным кодом со своим набором плат для разработки и независимой средой разработки (IDE) для их кодирования.

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

Makeblock mBot Robot Kit

Makeblock mBot Robot Kit
Купить сейчас на Amazon $ 69,99

Подожди, это не похоже на плату микроконтроллера!

Ну, у mBot Robot Kit в качестве мозга есть микроконтроллер. Его дизайн делает его идеальным для обучения детей робототехнике без необходимости иметь дело со сложным кодом. Визуальный код блока, собранный в приложении Blocky, передается на плату через Bluetooth, чтобы повлиять на поведение робота.

Вы можете купить микроконтроллер отдельно от набора роботов, но почему бы вам? Роботы самые лучшие!

Этот комплект охватывает все, от создания роботов до основ программирования. Для представления микроконтроллеров молодой аудитории нет ничего лучше!

3. Лучший микроконтроллер для программистов
STM32 F3 Discovery

STMicroelectronics STM32 F3 Discovery

STMicroelectronics STM32 F3 Discovery
Купить сейчас на Amazon $ 20,94

Плата STM32 F3 Discovery представляет собой микроконтроллер на основе ARM Cortex-M4 для экспериментов со всеми аспектами аппаратного программирования. Плата оснащена встроенным детектором движения, трехосным гироскопом, датчиком линейного ускорения и датчиком магнитного поля.

Есть также восемь светодиодов в круглом расположении. Обратите внимание, что эта плата требует отдельного адаптера FTDI для связи с компьютерами через USB. Если вы не уверены, что это такое, то мы использовали его в нашем собственном руководстве по Arduino для связи с чипом ATMega328P.

Обучение программированию F3 Discovery является более глубоким процессом, чем многие другие микроконтроллеры. К счастью, есть библиотеки, которые делают этот процесс более доступным, и многие учебные пособия начинаются с основ. Наряду с использованием языка программирования C ++, доска является предметом Книги Открытий; руководство по началу работы по внедрению языка программирования Rust.

4. Лучший микроконтроллер для носимых
Adafruit Gemma M0

Adafruit Gemma M0

Adafruit Gemma M0
Купить сейчас на Amazon $ 9,99

Благодаря тому, что микроконтроллеры сочетают в себе расширенный контроль над светодиодами и другими компонентами с небольшими форм-факторами и низкими требованиями к мощности, неудивительно, что они проявляются в дизайне костюмов и косплее. Плата Gemma M0 от Adafruit представляет собой микроконтроллер размером с монету, идеально подходящий для подключения светодиодов или других компонентов с помощью проводящей резьбы. Кроме того, вы можете использовать встроенный светодиод RGB DotStar.

Чип ATSAMD21E18 (попробуйте сказать, что спешите) – это шаг вперед по сравнению с обычными встроенными контроллерами для микроконтроллеров этого типа. В то время как вы можете использовать стандартный Arduino типа C ++, плата поставляется с предустановленной CircuitPython для программирования на Python и собственным USB-соединением, которого обычно нет на других платах этого типа.

5. Лучший микроконтроллер для питания
Teensy 3.2

Teensy 3.2

Teensy 3.2
Купить сейчас на Amazon $ 26,22

Для необработанной мощности в крошечном форм-факторе линейка Teensy 3.2 считается лучшей. 32-разрядный микропроцессор ARM Cortex запускает кольца практически на любой другой плате. Помимо скорости, Teensy имеет аудиоинтеграцию I2C и несколько высококачественных аналого-цифровых преобразователей (АЦП).

Каждый вывод на Teensy настраивается как прерывание, и платы работают с 64 КБ ОЗУ и 256 КБ флеш-памяти. Все это совместимо с Arduino IDE с использованием библиотеки Teensyduino, и, если вам недостаточно 28 выводов Teensy 3.2, 48-контактные разъемы Teensy 3.5 и 3.6 доступны на веб-сайте PJRC.

Mbed LPC1768 Совет по развитию

Mbed LPC1768 Совет по развитию
Купить сейчас на Amazon $ 145,15

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

Хорошим примером платы прямо на границе между потребителем и промышленностью является Совет по развитию Mbed LPC1768. Эта доска – скачок в качестве и инструментах, и цена отражает это. Mbed предоставляет онлайн-IDE для оборудования и библиотеки для выполнения задач с помощью выводов GPIO и встроенных светодиодов.

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

Маленькие Доски, Большие Планы

Этот список должен помочь вам принять обоснованное решение о том, какой микроконтроллер подходит именно вам. Это, однако, ни в коем случае не является исчерпывающим, и пропускает отличные платы, как Arduino, убивающий NodeMCU.

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

15 отличных проектов Arduino для начинающих

15 отличных проектов Arduino для начинающих
Заинтересованы в Arduino, но не знаете, с чего начать? Вот некоторые из наших лучших проектов Arduino для начинающих!
Прочитайте больше
поможет вам справиться с обоими!

Кредит изображения: Ha4ipiri / Depositphotos

Узнайте больше о: Arduino, советы по покупке, электроника, Raspberry Pi.

Лучшие приставки IPTV в 2019 году

ПЛИС, SoC, микроконтроллеры - краткое изложение устройств IoT

Если вы новичок в мире Интернета вещей, скорее всего, вы слышали множество терминов и сокращений и задавались вопросом об их различиях или стоит ли покупать Raspberry Pi или ODROID.

Эта основная причина, по которой мне стало любопытно, насколько взаимозаменяемо используются эти платы, было то, что некоторые из основных вводных в лаборатории встроенных систем в Массачусетском технологическом институте (6.08, 6.111, 6.115) обучают программированию микроконтроллеров, PSoC и FPGA.

Впервые я услышал о различных типах плат примерно в 2012 году, примерно в то время, когда Arduino и Raspberry Pi стали популярными. Я в основном использовал платы для разработки микроконтроллеров из-за простоты их интеграции в небольшие проекты (обычно для небольших устройств Интернета вещей не требуется высокая вычислительная мощность или периферийные устройства, такие как ОЗУ).

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

Микроконтроллер (MCU)
Atmel ATMEGA32U4-AU AVR Микроконтроллер от Tindie

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

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

Их можно использовать, помимо прочего, для сбора данных, считывания, приведения в действие физических устройств и приложений с низким энергопотреблением. Некоторые распространенные микроконтроллеры Atmel AT89, MSP430 от Texas Instrument и ESP32 / ESP8266.

Обычно можно найти платы для разработки, которые включают микроконтроллер (например, Arduino Uno, Intel Galileo, TI Launchpad или BeagleBone Black), что устраняет необходимость разработки печатной платы для микроконтроллера.

Микропроцессор
Микропроцессор Intel Core i7

Микропроцессор - это устройство, которое объединяет функции ЦП на одной ИС (или нескольких). Это управляемая часами цифровая интегральная схема на основе регистров, которая принимает двоичные данные в качестве входных данных, обрабатывает их в соответствии с набором команд, хранящимся в ее памяти, и обеспечивает вывод.

Различные наборы инструментов определяют разные архитектуры микропроцессоров (AMD x86 и x86–64, PowerPC, ARM). Сегодня более распространенные архитектуры - это, как правило, 32-разрядные или 64-разрядные, с некоторыми микропроцессорами с сокращенным набором команд (RISC), которые, как и ожидалось, имеют сокращенные наборы команд.

Существуют и другие многоядерные устройства (процессоры Intel Xeon, AMD Phenom II). Исторически AMD и Intel известны как компании с самыми быстрыми процессорами с их двухъядерными и четырехъядерными процессорами.

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

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

Система на чипе (SoC)
AMD Am286ZX / LX, SoC на базе Intel 80286 (из Википедии)

Интегральная схема со всеми компонентами компьютера, включая ЦП, память, порты ввода-вывода и вторичное хранилище . Они потребляют меньше энергии и занимают меньше места, чем многочиповые конструкции, и часто встречаются во встроенных системах. По сравнению с архитектурой на основе материнской платы, ЦП, графика, жесткий диск, USB-подключение, ПЗУ / ОЗУ и интерфейсы памяти интегрированы (материнская плата может подключать все компоненты отдельно или как карты расширения).

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

Обратите внимание, что система на кристалле может относиться ко многим вещам на рынке, и обычно это относится к одному чипу, который делает все, что раньше занимало несколько чипов (некоторым по-прежнему требуются периферийные устройства, такие как ОЗУ или флэш-память, поэтому название может вводить в заблуждение).

Наиболее распространенными из них являются программируемая система Cypress Semiconductor на кристалле (PSoC) и система Altera на программируемом кристалле (SOPC). По этой теме PSoC относится исключительно к семейству интегрированных в микроконтроллер SoC, производимых Cypress Semiconductor, хотя существуют и другие программируемые SoC.

Этот поток StackExchange имеет некоторые полезные сведения о текущих соглашениях в SoC.

Программируемая вентильная матрица (ПЛИС)
ПЛИС Xilinx Spartan из Википедии

ПЛИС - это интегральная схема, которая может быть сконфигурирована потребителем после изготовления («программируемая на месте»).Его конфигурация указывается с помощью языка описания оборудования (HDL). Они содержат программируемые логические блоки (например, AND и XOR) и иерархию реконфигурируемых межсоединений, которые «связывают вместе» блоки.

Эти блоки могут также содержать элементы памяти (триггеры и т. Д.). Крупнейшие компании, поставляющие ПЛИС, включают Altera и Xilinx.

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

Распространенными ПЛИС являются серии Xilinx Spartan и Virtex, а также серии Altera Stratix и Cyclone.

(Подробнее в этой ветке StackExchange)

Комплексное программируемое логическое устройство (CPLD)
CPLD Altera MAX серии 7000 с 2500 вентилями из Википедии

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

Они в основном производятся компаниями Altera, Atmel, Cypress Semiconductor, Lattice Semiconductor или Xilinx и программируются на VHDL, Verilog HDL или стандартном языке тестирования и программирования (JAM / STAPL).

Программируемое логическое устройство (PLD)

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

Различные типы PLD (в приблизительном порядке сложности от наименьшей к наибольшей) включают в себя программируемый логический массив (PLA), программируемую логику массива (PAL), общую логику массива (GAL), сложное программируемое логическое устройство (CPLD), полевая программируемая вентильная матрица (FPGA) и другие варианты. Некоторые термины, используемые для описания PLD, являются товарными знаками определенных компаний (например, PAL принадлежала Monolithic Memories, Inc. (MMI), а в настоящее время - Lattice Semiconductor). Устройства низкой сложности программируются на языках PALASM, ABEL или CUPL, а устройства более высокой сложности - на языках Verilog и VHDL более высокого уровня.

Цифровой сигнальный процессор (DSP)
Texas Instruments DSP-процессор от Analog Devices

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

DSP обычно имеют лучшую энергоэффективность и используются в мобильных телефонах или устройствах с ограничениями энергопотребления. Используемые алгоритмы требуют быстрого выполнения большого количества математических операций (КИХ-фильтры, быстрые преобразования Фурье (БПФ), матричные операции).Архитектуры набора команд, обычно используемые для увеличения параллелизма в DSP, включают SIMD, VLIW и суперскалярную архитектуру.

Интегральная схема (ИС)
ИС со стираемой программируемой постоянной памятью (СППЗУ) из Википедии

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

Цифровые интегральные схемы могут содержать логические вентили, триггеры, мультиплексоры и другие схемы и обычно производятся в виде микроконтроллеров, DSP или микропроцессоров. Наиболее продвинутые ИС - это обычно микропроцессоры («ядра»). Их также можно разделить на логические ИС, микросхемы памяти, интерфейсные ИС, ИС управления питанием и программируемые устройства.

Аналоговые ИС могут включать в себя датчики, устройства управления питанием, ВЧ-микросхемы и операционные усилители (операционные усилители), которые обрабатывают непрерывные сигналы и выполняют такие функции, как усиление, активная фильтрация, микширование и демодуляция. Они снижают нагрузку на разработчиков схем, предоставляя эффективно спроектированную аналоговую схему, которую может быть сложно спроектировать с нуля.

ИС смешанного сигнала могут создавать такие функции, как аналого-цифровые преобразователи (АЦП) или цифро-аналоговые преобразователи (ЦАП), цифровые потенциометры, а также ИС синхронизации.

Интегральная схема специального назначения (ASIC)
Bitfury 55nm ASIC H-Board от Cryto Store

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

Согласно некоторым определениям, вы можете рассматривать графический процессор как ASIC, например графические процессоры NVIDIA, которые предназначены для графических вычислений. Они лучше, чем ЦП, в этой конкретной задаче из-за компактной конструкции (меньше места и материалов), рассеиваемой мощности (время автономной работы) и скорости вычислений. Обычно дискурс между GPU vs.ASIC входят в сообщество майнеров альткойнов, которое обычно обсуждает ASIC в контексте чипов, предназначенных для решения определенного сложного алгоритма.

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

Автоматизация проектирования электроники (EDA)
Простая печатная плата, разработанная в EAGLE

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

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

Основными компаниями, производящими EDA, являются Altium (Altium Designer), Cadence Design Systems (Verilog, OrCAD), Autodesk (EAGLE), National Instruments (Multisim) и WestDev (Pulsonix). Существует также KiCAD, программное обеспечение EDA с открытым исходным кодом, а также множество веб-инструментов EDA, некоторые из которых являются веб-версиями вышеупомянутых EDA.

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

ODROID
ODROID C-2 из Википедии

Серия одноплатных компьютеров, на которых могут работать дистрибутивы Android и Linux (название происходит от «open» + «Android»). Аппаратное обеспечение включает SoC с процессором ARM и встроенным графическим процессором.SD-карты используются для хранения операционной системы, а выходы включают USB 2.0, USB 3.0, HDMI и разъем 3,5 мм. Существуют также выходные контакты нижнего уровня с контактами ввода / вывода общего назначения (GPIO), поддерживающие общие протоколы, такие как I2C. Также есть модели с портом 8P8C Ethernet и портом eMMC.

Распространенными моделями являются ODROID-C1, ODROID-C2 и ODROID-XU4.

Raspberry Pi
Raspberry Pi Zero из Википедии

Серия одноплатных компьютеров, разработанных для обучения основам информатики в школах.Все модели имели SoC Broadcom с процессором ARM и встроенным графическим процессором. SD-карты используются для хранения операционной системы, а выходы включают порты USB, порты HDMI, гнездо 3,4 мм для аудио и контакты GPIO нижнего уровня, поддерживающие I2C и другие протоколы. Также есть модели с портом 8P8C Ethernet и портом eMMC.

Распространенными моделями являются Модель A, Модель B и Zero.

Arduino
Arduino Uno из Википедии

Компания по производству аппаратного и программного обеспечения с открытым исходным кодом и сообщество пользователей, производящая одноплатные микроконтроллеры и наборы микроконтроллеров.Их оборудование содержит 8-битный микроконтроллер AVR Atmel с флэш-памятью и одинарный или двойной ряд контактов, которые могут подключаться к дополнительным модулям («щитам») и могут быть адресованы через последовательную шину I2C.

Большинство моделей предварительно запрограммированы с загрузчиком для загрузки программ во встроенную флэш-память. Некоторые выводы ввода / вывода могут генерировать сигналы с широтно-импульсной модуляцией и принимать аналоговые входы.

Распространенными платами являются Arduino Pro, Arduino Mega и Arduino Yun.

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

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

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

Сайты, такие как Digi-Key (и, в разной степени, SparkFun, Adafruit и Tindie), имеют огромный набор встроенных устройств и интегральных схем (ИС), выходящих далеко за рамки Arduino. Я бы рекомендовал проверить похожие сайты, если вы работаете над более масштабным проектом.

Если вам понравился этот пост и вы хотите узнать больше о моих мыслях об аппаратном обеспечении, информатике или даже о жизни студента университета, не стесняйтесь подписываться на меня или искать меня где-нибудь в Интернете!

Twitter @sharontlin

Facebook @sharonlinnyc

GitHub @ sharon-lin

Связанные
Теги
Присоединяйтесь к Hacker Noon

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

Микроконтроллеры - Программирование - Нигерия

Микроконтроллеры от hoodboi (m): 21:25 марта 04 , 2013

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

1 Like

Re: Микроконтроллеры от davechika (m): 22:40 04 марта , 2013

watz проект около.

Re: Микроконтроллеры от hoodboi (m): 10:03 am On Mar 05 , 2013

это что-то на дверях безопасности, мне нужен микроконтроллер, который может помочь в открытии и закрывать дверь по команде с компьютера.Мне это очень нужно, пожалуйста. Я компьютерный программист, но у меня практически нет опыта работы с подобным оборудованием. Если бы я мог просто толкнуть в правильном направлении, я бы знал, что делать. Я провел небольшое исследование и обнаружил, что мне нужно найти что-то, называемое программистом, чтобы помочь мне преобразовать код, написанный на C или C ++, в шестнадцатеричный код, который затем будет записан на микроконтроллер. Но мне нужно знать, как это сделать.

Re: Микроконтроллеры davechika (m): 16:31 pm On Mar 05 , 2013
hoodboi: это что-то на дверях безопасности, мне нужен микроконтроллер, который может помощь в открытии и закрытии двери по команде с компьютера. Мне это очень нужно, пожалуйста. Я компьютерный программист, но у меня практически нет опыта работы с подобным оборудованием. Если бы я мог просто толкнуть в правильном направлении, я бы знал, что делать. Я провел небольшое исследование и обнаружил, что мне нужно найти что-то, называемое программистом, чтобы помочь мне преобразовать код, написанный на C или C ++, в шестнадцатеричный код, который затем будет записан на микроконтроллер. Но мне нужно знать, как это сделать.
это просто, я думаю, у вашей двери уже есть приводы для открывания и закрывания, семейство микроконтроллеров atmel 8051 - хорошее начало.
записать код на чип так же просто, как ABCD.u может получить этот универсальный программатор chino (китай), такой как topwin (я использую его в основном для своих кодов) и т. Д. keil u vision) он отличается от обычного компилятора C.
вам нужны программы моделирования, а также программы для моделирования ur-кода перед записью на чип.
Если у вас есть больше вопросов, пожалуйста, задавайте.

1 Нравится

Re: Микроконтроллеры от hoodboi (m): 8:59 pm 05 марта , 2013

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

Re : Microcontrollers by davechika (m): 11:48 pm On Mar 05 , 2013
hoodboi: Большое спасибо за это, я попробую эти советы и принесу вам пользу .. У вас есть представление о том, сколько стоит программист? Я собираюсь использовать роторы для дверей d.. У вас также есть ссылка для загрузки симулятора или вы должны были найти компилятор переменного тока для микроконтроллеров .. Tnx

просто google keil u vision free download или их веб-сайт
www. keil.com/c51/ и загрузите ознакомительные версии для симулятора go на веб-сайт www.labcenter.com/index.cfm, чтобы также загрузить ознакомительные версии.
что касается программатора, у меня есть мой (Topwin 2005 - это программист chinco) # 28k, как 3 года назад, но теперь он намного дешевле.

u может использовать микроконтроллер 89C2051, remba u gat для сопряжения микросхемы d с драйвером двигателя, например ULN2803, если это двигатели постоянного тока.

Если это раздвижная дверь, лучше использовать линейный привод. Как для вашего интерфейса к ПК, используя протоколы USB или RS232?

Re: Микроконтроллеры от hopefullman: 2:47 am On Mar 07 , 2013

Я хочу научиться программировать микроконтроллеры, так как многие из них имеют глубокие знания 2much. научи меня

Re: Микроконтроллеры от princejude (m): 7:02 am On Mar 07 , 2013
@hoodboi
Этот сайт может помочь вам. Они участвуют в разработке и обучении встроенных систем.
Они также продают микроконтроллеры, программаторы и комплекты для разработки.
www.j

1 Like

Re: Микроконтроллеры от princejude (m): 7:09 am On Mar 07 , 2013
53 1 Like
Re: Микроконтроллеры от hoodboi (m): 7:43 am 07 марта , 2013

Nairalanders лучшие, я знал, что как только надену это здесь, я получу ответы.Большое спасибо, ребята, зайдем на сайт и свяжемся с вами

Re: Микроконтроллеры от hopefullman: 8:13 утра 07 марта , 2013

@ prince.thanks очень много. Я не знал, что ds-сайт существует на nig.d-сайте очень gud.bt hw я пишу свою собственную треску как новичок, потому что dcod are readymad.any краткое введение 4dummybeginers lyk me.2nks

Re: микроконтроллеры от nnabuike1 (m): 12:00 pm On Mar 07 , 2013

atmel 45 - это самое простое введение в микроконтроллеры, которое я могу придумать

Re: Microcontrollers by princejude (m): 12:23 pm On Mar 07 , 2013
hopefullman: @prince. большое спасибо. Я не знал, что ds-сайт существует в nig.d site очень gud.bt hw я пишу свой собственный код как новичок, потому что d cod are readymad.any краткое введение 4dummybeginers lyk me.2nks
Все зависит от типа микроконтроллера, который вы хотите начать (например, 8051, PIC или AVR). Где вы находитесь? Вы можете попытаться связаться с ними для индивидуального практического и интенсивного обучения работе с любым из семейства микроконтроллеров, с которым вы хотите работать.

Я могу создать новую тему в руководстве по проектированию встроенных систем, но до этого я хочу, чтобы мы проголосовали за тип используемого микроконтроллера.Если вы хотите, чтобы мы использовали ответ 8051 с «8051», если вы хотите, чтобы мы использовали ответ микросхемы PIC с «PIC», и если вы предпочитаете, чтобы ответ AVR был «AVR».

Как выбрать пол ребенка в Sims 4

Хотя в Sims 4 детей не особо настраивают, игроки могут влиять на пол их новоприбывших. Вот как.

Значительная часть сообщества Sims 4 будет считать себя семейными игроками, потому что их цель в игре - имитировать семейную жизнь и вырастить нескольких детей до успешной взрослой жизни.Конечно, большая часть семейных игр зависит от беременности и рождения ребенка. В то время как Sims 4 предоставили немного больше свободы с беременностью в Create-A-Sim, когда они добавили контроль гендерной идентичности и беременности, после того, как симы WooHooed с помощью Try for a Baby, это в значительной степени не в руках игроков. Младенцы в Sims 4 также гораздо менее настраиваемы, чем когда-либо. Все они, как правило, выглядят одинаково, и новые родители не могут носить их с собой или действительно перемещать с колыбели, пока они не достигнут возраста малыша.Ультразвука нет, поэтому игрокам невозможно заранее узнать пол малыша, что затрудняет оформление детской.

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

По теме: The Sims 4: Как быстро заработать симолеоны (без читов)

Есть два способа, которыми игроки могут лучше контролировать пол своего ребенка.Один из них, простой чит, - единственный способ гарантировать, что ребенок будет желаемого пола игрока. Игроки, которые не хотят жульничать, могут использовать второй метод, когда беременные симы выполняют определенные действия, чтобы повлиять на пол ребенка, но не гарантировать его. Вот как выбрать пол малыша в Sims 4 даже после родов.

Чит для выбора пола ребенка в Sims 4

Самый простой и эффективный способ выбрать пол ребенка в Sims 4 - это обмануть.Игрокам, которые решат использовать чит-коды, нужно будет подождать и сменить пол ребенка после родов.

Игрокам, которые хотят использовать этот метод, сначала необходимо включить читы. Для пользователей ПК: нажмите Ctrl + Shift + C, чтобы открыть консоль. Для пользователей PlayStation 4 или Xbox One нажмите все четыре плечевые кнопки.

Чтобы активировать читы, введите testingcheats true . Затем, когда читы активны, введите cas.Фулледитмоде . Это открывает возможность редактировать все в симе, как будто это первый раз, когда игрок создает нового персонажа.

Удерживая нажатой клавишу Shift, щелкните маленького сима (используйте X и кружок на консоли), чтобы открыть режим создания сима. В этом меню игроки могут изменить имя и пол ребенка.

Правильно питайтесь и слушайте музыку, чтобы выбрать пол ребенка в Sims 4

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

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

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

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

Далее: The Sims 4: Экологический образ жизни - как использовать новый навык изготовления

Sims 4 доступно для ПК, PlayStation 4 и Xbox One.

This Animal Crossing Pokémon Battle Is Perfectly Done

Об авторе Мария Мелюзо (Опубликовано 607 статей)

Мария Мелусо (Maria Meluso) - штатный специалист по игре и автор обзоров для Screen Rant, базирующийся на Среднем Западе США.Она охватывает все, от масштабных ролевых игр с открытым миром до небольших инди-хоррор-проектов. Она из тех людей, которые любят инструкции и руководства, но которые достаточно упрямы и конкурентоспособны, чтобы ждать, чтобы проконсультироваться с руководствами по игре, пока она не завершит игру хотя бы 15 раз. Когда она не пишет, вы обычно можете увидеть, как она играет в фэнтезийные ролевые игры, такие как Dragon Age, и пишет сценарии.

Ещё от Maria Meluso

Выбор подходящего микроконтроллера для вашего приложения

Сложная тема!

Я бы сказал, что рецепт выбора микроконтроллера предполагает смешивание:

  • одна часть: бизнес
  • одна часть: арт
  • одна часть: ресурсы под рукой
  • две части: инженерная

Одна часть - бизнес:

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

В идеале бизнес-команда способна поставить инженерам четкие цели по затратам.

One Part - Art:

Такие темы, как выбор микроконтроллера, являются «искусством».Я не знаю, как это полностью объяснить. Что ваша "интуиция" говорит о рассматриваемом микроконтроллере? Вы верите компании, создающей микроконтроллер, когда говорят, что он готов к работе? Вы верите в их гарантии по окончании срока службы? Вы верите, что они будут поддерживать микроконтроллер во время и после разработки целевого продукта?

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

Одна часть - ресурсы под рукой

С каким микроконтроллером команда уже имеет опыт работы? С каким микроконтроллером команда инженеров хотела бы работать? Какие члены команды доступны для текущего проекта? Что вы будете делать, если единственный доступный инженер глубоко влюблен в MSP430, но предпочтительным микроконтроллером оказывается микроконтроллер на базе ST-ARM?

Еще одна субъективная область.Но иногда политика инженерной группы должна преобладать над идеальным выбором.

Две части - проектирование

Очевидно, что инженеры должны управлять микроконтроллером и выбирать его. Я перечисляю инженерное дело в последнюю очередь, потому что другие перечисленные выше ингредиенты должны быть известны и доступны для принятия окончательного решения. Итак, какие приоритеты и вопросы следует задавать инженерам?

  • Каковы требования к питанию устройства? Как микроконтроллер повлияет на требования к питанию или будет управлять ими?
  • Какие требования к безопасности продукта? Как микроконтроллер повлияет на безопасность продукта или повысит его безопасность?
  • Какие программные алгоритмы будет выполнять микроконтроллер? Можно ли их заранее охарактеризовать, чтобы помочь определить требования к процессору микроконтроллера?
  • Какой компилятор или набор инструментов доступен для микроконтроллера? Доступен и распространен этот набор инструментов или он проприетарный и дорогой?
  • Какие средства отладки или проверки поддерживают микроконтроллер? Являются ли они инструментами мирового класса, которые помогут нашей команде инженеров быстро выполнять итерации при разработке программного обеспечения?
  • Какие внутренние интерфейсы требуются продукту? Например, для внешнего акселерометра потребуется интерфейс I2C или SPI?
  • Какие внешние интерфейсы требуются продукту? Например, будет ли продукт включать порт Ethernet, и если да, будет ли микроконтроллер взаимодействовать напрямую с Ethernet?
  • Какие меры безопасности вызывает продукт? Как микроконтроллер повысит безопасность продукта?
  • Как микроконтроллер повлияет на общую спецификацию? Требуется ли для этого микроконтроллера обширная связующая логика или другие внешние затраты, такие как RAM, Flash и т.

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

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