Какие хорошие микроконтроллеры доступны сегодня? [закрыто]


40

У меня есть опыт программирования на ассемблере и C для микроконтроллеров, но я не знаком с различными семействами MCU и DSP, предлагаемыми современными компаниями. (например: Texas Instruments, Atmel, Renesas)

Я хотел бы знать о хороших микроконтроллерах / DSP и о том, что такое развиваться вместе с ними. Пожалуйста, кратко изложите свое понимание различных семейств MCU / DSP, по одной семье на ответ.

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

(Это «вики-сообщество», поэтому любой человек с> 100 репутацией может уточнить и улучшить ответы)


Я начинаю с нескольких ответов, пожалуйста, бесплатно добавьте свой собственный! или отредактируйте существующие семьи, чтобы добавить в вашу мудрость. Отдельное спасибо Jason S за всю мудрость TI MCU / DSP. chiphacker.com/users/330/jason-s
Эдвард

@Edward, этот сайт находится в режиме начальной загрузки, так что каждый может редактировать сообщения CW
Earlz

Я хотел бы видеть / услышать, какие из них доступны, откуда и особенно, если таковые имеются в качестве образцов.
XTL

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

1
@Ricardo Я действительно помню, как писал этот комментарий. Кто-то собирался получить значок Археолога или что-то в этом роде. Несмотря на это, этот старый вопрос больше не подходит под сферу видимости и требует отправки.
Мэтт Янг

Ответы:


35

ARM является отраслевым стандартом для 32-битных контроллеров, хотя PIC32 обладает некоторыми приятными функциями. Они довольно просты в использовании. Мне нравятся чипы NXP LPC2000 и LPC1000 ARM, но новый чип Micro Micro ARM Cortex-M3 очень интересен из-за его очень низкого энергопотребления - так же хорошо, как MSP430 [Youtube]. Поддержка очень разнообразна, у чипов NXP есть группа LPC2000, которой я управляю, что, похоже, нравится людям - у нас более 8000 участников!


1
PIC32 использует ядро ​​MIPS M4K - аналогично ARM в том, что ядро ​​лицензировано для других производителей - таких как микрочип для упаковки и добавления периферийных устройств.
smashtastic

Я также голосую за ARM. полностью стандартные компиляторы и отладчики, почти универсальный интерфейс JTAG, не зависящий от проприетарных двоичных файлов, таких как PICASM и C18. :-)
akohlsmith

1
Еще один поклонник ARM здесь. Я создал прототип проекта, а затем спроектировал и собрал печатную плату для TI Stellaris LM3S6965. Достойные документы и библиотеки программного обеспечения, у меня был опыт работы с программным обеспечением до этого проекта, и документов, предоставленных TI, было достаточно, чтобы научиться программировать устройство и использовать их образцы схем в качестве шаблона. Я учил себя, как делать макет платы, и создал что-то, что работает. Тонны функций и мощности за деньги. Сегодня я посмотрел на различные предложения Cortex M4, TI только что выпустил свои микро-M4, но я без колебаний посмотрел бы на предложения других поставщиков.
Suboptimus

27

Atmel AVR , возможно, в Arduino : я не согласен с Леоном и скажу, что линия Atmel AVR - отличная семья для начала. Это довольно разнообразно, от ATtiny, через ATmega, до Dragon (с которым я не работал). Я бы сказал, что AVR32 и Xmega - это разные семьи.

AVRfreaks - один из лучших форумов по электронике в сети (вскоре его превзойдет Chiphacker :), также существует сообщество Arduino, ориентированное на любителей. Arduino отлично подходит для изучения аппаратного обеспечения микроконтроллеров, хотя он не поможет вам в программировании (ОП заявил, что они знают ASM и C).

Набор WinAVR прост в сравнении с другими наборами инструментов. Просто скачайте, нажмите Next несколько раз, введите код и нажмите F5. Это не становится легче, чем это. Конечно, редактор AVR Studio не имеет всех функций, которые он должен иметь, но многие IDE от поставщиков не лучше и не хуже (* кашель * MPLAB * кашель *).

Я не уверен в доставке, но я бы сказал, что 6-контактный SOT23 ATtiny является нишевым чипом, и версия SO8 или DIP очень доступна. В связи с этим, они также отлично справляются с поставками как в DIP (для создания прототипов), так и в компактных пакетах SMT.


3
Если вы используете Linux, вы можете получить полностью работающий набор инструментов менее чем за полминуты с «sudo apt-get install gcc-avr avr-libc avrdude». Winavr по сути полностью совместим. Я держал общую кодовую базу между ними без единого изменения в Makefile. Если у вас есть аппаратный параллельный или даже последовательный порт, комплектное оборудование ISP состоит из нескольких готовых разъемов и пары пассивных (резисторов). Доступно несколько вариантов USB, а Bus Pirate за 30 долларов (поставляется по всему миру) напрямую делает AVR ISP и многое другое.
XTL

2
AVR также является одним из немногих чипов, которые ваш магазин электроники может иметь на полке.
XTL

1
Вы можете программировать для WINAVR (т.е. avr-libc) из Eclipse IDE с помощью плагина AVR Eclipse. Затмение делает все лучше!
Викацу

17

Серия TI MSP430

аппаратные средства

Разнообразие аппаратных периферийных устройств не так гибко, как PIC Microchip, но поддержка цепочки инструментов для отладки программного обеспечения намного лучше, чем части Microchip. Недавно TI выпустила новую версию Code Composer для микроконтроллеров MSP430 и DSP TMS320F28xx, в которой используется Eclipse. Поддержка отладки отличная.

Они также очень просты в настройке регистров управления, намного проще, чем DSP 28xx.

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

развитие

Вы можете купить систему разработки за 150 долларов (есть более дешевый вариант MSP430 на USB-флешке за 20 долларов, но это своего рода ограничение), и вы получите настоящую систему прототипирования аппаратного обеспечения и отладчика. Вы также можете получить новую панель запуска TI, которая поставляется с 2 чипами и стоит $ 4,30.


GCC доступен. mspgcc.sourceforge.net (старый) mspgcc4.sourceforge.net (новый)
XTL

В последнее время проблема с TI, похоже, заключается в том, что их «электронный магазин» просто не работает, а новые наборы всегда распродаются или отсутствуют на складе. Казалось бы, существует большой спрос на Chronos и Launchpad, а также комплекты EZ и EZ RF, но иногда они практически недостижимы, если вы не найдете магазин, в котором их есть в наличии. Надеюсь, это скоро прояснится.
XTL

TI также, очевидно, предлагает образцы своих чипов.
XTL

Elektor также предлагает плату, которая расширит ez430 в сторону более традиционного устройства. elektor.com/products/kits-modules/modules/…
XTL

У нас не было никаких проблем с получением стартовых площадок этим летом. Вопрос поставки, возможно, был недолгим.
Брайан Кноблаух

14

Микрочип ПИК 16F / 18F

Целевой рынок

Недорогие 8-битные микропроцессоры. 16F является одной из ранних линий процессоров Microchip и не особенно подходит для программирования на C / C ++ из-за:

  • его ядро ​​набора команд и архитектура памяти
  • необходимость переключения банков
  • отсутствие поддержки общих операций с указателями
  • низкая производительность в C / C ++ из-за архитектуры
  • требует большего размера программы для реализации алгоритмов

Серия 18F новее и должна быть рассмотрена, если вы можете себе это позволить для своего проекта. По целевому рынку, комплекту периферийных устройств, пакетам микросхем, инструментам разработки и цене он похож на серию 16F. Ядро 18F было разработано, чтобы быть более поддающимся C и C ++, благодаря:

  • поддержка косвенности
  • отдельные банки ОЗУ, которые всегда доступны (нет необходимости в переключении банков)

Програмное обеспечение

Программу довольно просто программировать, вы можете написать ее, используя 30 инструкций по сборке, или использовать компилятор Си . Это 8-битные микроконтроллеры, поэтому, если вы хотите работать со значениями> 255, вам придется найти / написать 2-байтовый код сложения / вычитания / умножения / деления. В его оперативной памяти 4 "банка", поэтому, если вы пишете в сборке, вам нужно переключаться назад и вперед, чтобы получить доступ к переменным, хранящимся в банках, отличных от текущих.

аппаратные средства

Эти микроконтроллеры работают довольно медленно, с типичной скоростью 4 MIPS и максимальной скоростью 20 MIPS. У них есть несколько встроенных аппаратных функций, которые работают нормально при правильной настройке, таких как АЦП, последовательный порт, параллельный порт, шина CAN, шина I2C, шина SPI, сравнение напряжения, EEPROM и, конечно, универсальные порты ввода-вывода. ,

Документация

  • Таблицы имеют всю необходимую информацию (распиновку, регистры для конфигурации и т. Д.), Аккуратно распределены по категориям и хорошо документированы. Руководство объясняет также углубленный об особенностях.

Инструменты разработки

  • В Microchip появился новый инструмент - VDI, который упрощает настройку различных аппаратных функций MCU, которые генерируют код сборки или C-код. Лучше, чем заливать таблицы.

  • Microchip уже много лет предлагает MPLAB IDE , и, хотя программа постепенно улучшается, по сравнению с инструментами разработки для ПК (Visual C ++, Eclipse / NetBeans для Java / и т. Д.) Пользовательский интерфейс очень плохой, а программное обеспечение по-прежнему особенно глючит. Он также не поддерживает C ++, несмотря на то, что разница между C и большинством функций C ++ (исключая динамическое выделение памяти, виртуальные функции и некоторые другие функции) очень незначительна, а C ++ поддерживает модульность программирования. Есть сторонние поставщики IDE, особенно IAR, но они дорогие. (Hi-Tech недавно была куплена Microchip.)

  • Внутриконтурная отладка в некоторых частях обеспечивается ICD-интерфейсом Microchip, 2-контактным последовательным интерфейсом, доступ к которому можно получить через отладочные адаптеры ICD2, ICD3 , REAL ICE , PICkit2 / 3 и т. Д. Убедитесь, что у выбранной детали есть особенности ICD! Функции отладки несколько ограничены и имеют «занос», когда вы устанавливаете точку останова для одной инструкции, а программа останавливается несколькими инструкциями позже. Тем не менее, ICD лучше, чем ничего.

Поддержка

  • Замечания по применению описывают код и схемы для различных общих приложений
  • Активное сообщество пользователей на форумах Microchip
  • Бесплатный веб-сайт технической поддержки 24/7, куда вы отправляете свои проблемы (билеты), а технический персонал ответит бесплатно и даже позволит вам позвонить, если вам потребуется дополнительная помощь
  • Презентации (веб-семинары), которые объясняют различные модули и приложения

Я думаю, SDCC также поддерживает PIC.
XTL

Да, SDCC работает очень хорошо для PIC18 и выше. Обратите внимание, что синтаксис немного отличается от компиляторов C Microchip, хотя, возможно, вам придется сделать некоторые переносы, если вы хотите повторно использовать код.
Вим

Я неохотно использовал sdcc, поскольку документация описывает генерацию кода pic как экспериментальную.
Джон Бертон

Я второй комментарий PIC16. Старая, причудливая, память организована в банках, не С-дружелюбная. Микрочип использует тот факт, что у него очень мало инструкций для изучения в качестве актива, что просто глупо, ИМО. MPLAB IDE - это шутка, похоже, что это все еще 1998 год.
Готье

11

Blackfin от Analog Devices Семейство Blackfin представляет собой гибридный DSP / микроконтроллер с сильным ядром RISC, а также с поддержкой инструкций по обработке видео / сигналов. Некоторые инструкции поддерживают SIMD.

аппаратные средства

Имеет ядро ​​RISC. Диапазон скоростей от одноядерного 200 МГц до двухъядерного 600 МГц. Он может иметь периферийные устройства: 10/100 Ethernet MAC, UARTS, SPI, контроллер CAN, таймеры с поддержкой ШИМ, сторожевой таймер, часы реального времени и бесклеевой контроллер синхронной и асинхронной памяти. Он имеет динамическое управление питанием - автоматически отключает части процессора, которые не используются.

развитие

Двумя основными инструментами разработки являются VisualDSP ++ AD и набор инструментов GNU. Существует также SDK с большим количеством кода и замечаний по применению. Код SDK служит либо платформой, либо хорошим примером кода. На нем будут работать несколько операционных систем, включая uCLinux. Есть много доступных плат eval . В Инструкции являются обязательными.

Цены на данный момент от 2 $ в количестве 1000 штук.


У Blackfin нет ядра MIPS!
Леон Хеллер

Как насчет цен?
bjarkef

11

Parallax Propeller является oddbird 8-жильного (восемь «винтиков» плюс концентратора) микроконтроллер , который может сделать очень интересные / впечатляют вещи , включая поколение видео SD / VGA.

Он имеет свою собственную среду разработки, включая язык SPIN. Сборка (PASM) естественно доступна.

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

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

Аппаратное (внутрисистемное) программирование, очевидно, состоит из последовательного порта уровня TTL и линии сброса. Доступен ключ под названием Prop Plug.

http://parallax.com

http://en.wikipedia.org/wiki/Parallax_Propeller



7

dsPIC33F и PIC24 : Microchip имеет семейство 16-битных 40-микроконтроллеров MIPS, называемых dsPIC33F, которые сочетают в себе набор команд PIC24F и периферийные устройства с функциями DSP, такими как два 40-битных аккумулятора с опциями округления и насыщения; однократное умножение и накопление; и до ± 16-битных сдвигов для 40-битных данных. Цены низкие (всего 2 доллара). Одна вещь, которая мне нравится в микроконтроллерах Microchip, это то, что многие их устройства доступны в DIP-упаковках, которые идеально подходят для макетирования. Я использовал один из них в проекте, где мне нужно было декодировать DTMF-сигналы; это было более рентабельно, чем выделенное аппаратное решение DTMF-декодера. PIC24 используется в удивительном UWatch, "Самые мощные в мире (и только!) Программируемые часы RPN / алгебраического научного калькулятора".


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

6

Cypress PSoC1 (CY8C29466) имеет простое 8-битное ядро ​​ЦП, окруженное FPGA-подобными цифровыми и аналоговыми блоками.

Он имеет как аналоговые входы, так и аналоговые выходы. Многие проекты, для которых потребовалось бы множество внешних компонентов с любым другим микроконтроллером - операционные усилители, PGA и т. Д. - могут быть выполнены с помощью одного чипа PSoC. Многие компьютерные мыши используют PSoC1. Например, он может декодировать тоны DTMF, поступающие на один входной контакт, и напрямую генерировать независимые аналоговые сигналы DTMF на двух выходных контактах - истинный аналоговый, а не ШИМ.

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

Довольно низкая мощность. Поставляется в пакетах DIP и SMT.

8-битное, 24 МГц ядро ​​примерно эквивалентно ядру PIC16F, причудливому переключению банков и прочему. Проприетарные компиляторы C доступны, но GCC вряд ли когда-либо будет портирован ни на один из них.

Проект "Gainer.cc" программирует системы на основе PSoC1 с использованием обработки через USB-кабель, очень похожий на более поздний проект "Arduino".

Http://www.psocdeveloper.com/ форум дружит. Для разработки под Linux есть несколько утилит: http://m8cutils.sourceforge.net/ .


PSoC1 сводит меня с ума. Новые PSoC3, однако, потрясающие.
Ракетный магнит

5

Микросхемы Freescale HCS08 являются прямыми конкурентами PIC10-18 и AVR, как правило, более дешевыми, но все же с довольно богатым набором периферийных устройств. Их библиотека заметок о приложениях и справочных материалов довольно хорошая.

Их CodeWarrior IDE (бесплатный компилятор для кода размером до 32 Кб) включает в себя несколько полезных библиотек «Инициализация устройства» для подхода, основанного на графическом интерфейсе, для переворачивания битов, и более продвинутый «Процессор Эксперт», который может генерировать драйверы более высокого уровня для периферийных устройств. Вы не обязаны использовать либо, и можете просто делать все в коде C, если это необходимо.


4

Серия DSP TI TMS320F28xx .

Целевой рынок

Управление двигателем и преобразователи питания с цифровым управлением: они имеют очень гибкую ШИМ-периферию и быстрые АЦП.

аппаратные средства

Эти DSP имеют два основных недостатка:

  • Более сложный в настройке - файлы компоновщика и все регистры (состояния ожидания памяти и т. Д.) Имеют слишком много опций, и вам действительно нужно знать, что вы делаете, чтобы убедиться, что вы делаете это правильно
  • Требуется два напряжения питания, 3,3 В для ввода-вывода и периферийных устройств, и 1,8-1,9 В для ядра DSP.

Инструменты разработки

Отладка в режиме реального времени через порт JTAG с использованием Code Composer v4 (на основе Eclipse !!!).

Поддерживается SimLink MatLAB для автоматической генерации кода (опыт программирования не требуется)

DSP от TI раньше были очень дорогими для создания прототипа, потому что вам требовался модуль отладки в режиме реального времени за 1500 долларов (адаптер JTAG), но цена на него снизилась (есть недорогой за 150-200 долларов), и они продают платы по цене встроенные адаптеры JTAG.


Интересно, что каждый адрес памяти с индивидуальной нумерацией содержит 16-битное слово.
JustJeff

16-битный байт?
Ник Т

4

XMOS производит ряд очень мощных 32-битных процессоров параллельной обработки (1600 MIPS из четырех ядер с 32 аппаратными потоками). Они достаточно быстры для высокоскоростного USB и Ethernet в программном обеспечении. Их инструменты очень хороши, чипы превосходны, они по разумной цене (они начинаются с 7,50 долларов), и люди там очень полезны. У них есть два очень хороших форума поддержки; одна управляется компанией, другая является независимой.


Я использую XMOS; Я доволен их продукцией.

3

Мне придется проголосовать за Cypress PSoC3. Я использую PIC около 10 лет (PIC16, PIC18, dsPIC и PIC32). Они сводят меня с ума своей раздражающей периферийной конфигурацией и постоянным поиском в таблице данных, чтобы найти тот бит, который нужно очистить, чтобы заставить работать какой-то контакт.

С другой стороны, опыт, который я имел до сих пор с PSoC3s, был восхитительным. Самое главное, настройка цифровой и аналоговой периферии - это настоящее удовольствие. Последовательные порты, часы, прерывания, драйверы, компараторы АЦП и ЦАП могут быть подключены на схеме, и они отлично работают.

Например, вы можете подключить свой ШИМ для запуска АЦП для выборки в середине импульса, что делает измерение тока двигателя более точным. Попробуйте сделать это на ПОС.

Хотите 5 ШИМ, 5 квадратурных декодеров, АЦП, SPI порт и генератор CRC на одном чипе? Ты получил это. Вы хотите настроить АЦП для последовательной выборки тока в каждом двигателе в центре импульса? Ты получил это. Кроме того, вы можете подключить все эти входы и выходы практически к любому желаемому выводу.

Ах да, И, если в библиотеке нет периферийных устройств, вы можете написать свое собственное в verilog!


1

Cypress PSoC5 имеет 32-битный ARM Cortex M3, окруженный FPGA-подобными цифровыми и аналоговыми блоками.

20-битное разрешение аналоговых АЦП и ЦАП.

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

Довольно низкая мощность.

32-разрядное ядро ​​ARM Cortex-M3 с частотой 80 МГц примерно соответствует ...

Http://www.psocdeveloper.com/ форум дружит.


1
Я бы не стал доверять 20-битному АЦП на том же кристалле, что и микроконтроллер. Шум от ОК, вероятно, сделает по крайней мере 4 бита бесполезными.
stevenvh

Вы могли бы в это поверить, если бы знали, что это всего лишь 180 сек.
Ракетный магнит

0

Собственная поддержка Atmel для AVR не очень хорошая, а их аппаратные средства немного ненадежны. Тем не менее, чипы хороши, а форум AVR Freaks очень хорош. У них серьезные проблемы с поставкой новых чипов, таких как XMega и 6-контактных чипов Tiny.


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

Загляните на форум AVR Freaks - люди всегда жалуются на Dragon и другие инструменты, а также на отсутствие многих чипов. Они также жалуются на отсутствие поддержки со стороны Atmel.
Леон Хеллер

1
Не уверен, поддерживаете ли вы или голосуете против AVR. Можете ли вы опубликовать свой личный опыт? Легко найти негативные отзывы от разочарованных постеров, но сложнее найти хорошие фишки и хороший форум поддержки. Я не думаю, что было бы сообщество, способное генерировать 500 000 постов по 75 000 тем, если бы общее согласие было отрицательным.
Кевин Вермеер

Поддержка открытого исходного кода Atmel AVR очень хорошая (avr-gcc и avrdude).
звездно-голубой

0

У Zilog также есть несколько микроконтроллеров. Лично я не пытался программировать линейку микросхем Z8 Encore , но они посылают образцы. У них много разных чипов от 1 КБ до 16 КБ (может и больше) с периферийными устройствами, включая UART, ADC, I2C , SPI и т. Д.

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


0

Я использовал несколько семейств процессоров. Основная проблема при изучении нового процессора - это научиться кодировать сотни регистров конфигурации периферийных регистров. Это будет основной трудоемкий процесс при переходе от одного семейства к другому. основной код приложения написан на языке c, и не имеет значения, какое семейство мы использовали, я бы хотел, чтобы был разработан стандарт для периферийных регистров. Если кто-нибудь знает о каких-либо разработках в этом направлении, пожалуйста, поделитесь им.


-1

Я использую PIC, ARM, MSP430, AVR и несколько других.

Microchip имеет отличную поддержку и хорошие аппаратные и программные средства, отладка особенно проста и быстра. 8-битная архитектура немного устарела. Их новые 16-битные чипы превосходны. Они являются лидером на рынке 8-битных микроконтроллеров.


2
Если у вас есть какая-то мудрость, я предлагаю вместо этого отредактировать ответы вики-сообщества. Все ваши очки уже упоминались в ответе 18F.
Эдвард
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.