Преимущества atmega32 [закрыто]

каковы преимущества использования ATmega32 чем другие микроконтроллеры? Это лучше, чем ПОС, ARM и 8051?

6 ответов


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

В общем:

PIC:

  • старая архитектура. Это означает, что это либо дорого, либо медленно
  • цели только низкий конец рынка (
  • для этого написано много кода

ARM

  • масштабируемость
  • быстрое/дешевое

Atmega находится где-то между


преимущества

  1. все еще работает на 5 V, поэтому legacy 5 V stuff interfaces cleaner
  2. даже если это 5 в, новые части могут работать до 1,8 В. этот широкий диапазон очень редок.
  3. хороший набор инструкций, очень хорошая пропускная способность по сравнению с другими процессорами (HCS08, PIC12/16/18).
  4. высококачественный порт GCC (нет собственных дерьмовых компиляторов!)
  5. варианты"ПА" имеют хорошие возможности режима сна, внутри микро-ампер.
  6. хорошо закругленный периферийный набор
  7. qtouch с возможностью

недостатки

  1. все еще 8-бит. ARM-это 16/32-битная рабочая лошадка, и она будет толкать больше данных вокруг, на гораздо более высоких тактовых частотах, чем любой 8-бит.
  2. стоимость. Может быть дорогим по сравнению с HCS08 или другими 8-битными процессорами.
  3. GCC toolchain имеет причуды, такие как модель разделенной памяти и ограниченный 16-бит указатели.
  4. Atmel не лучший поставщик на планете (по крайней мере, они не Максим...)

короче говоря, они очень чисты и просты в работе с 8-битным микроконтроллером.

8051-это наследие: инструменты проходимы, архитектура причудлива (idata? данных XData? нереентерабельные функции в большинстве компиляторов по умолчанию?).

ПОС перед PIC24 также странно (Регистрация банков) и плохие часы->пропускная способность инструкций. Также нет первоклассного компилятора C открытым исходным кодом.

PIC32 конкурирует с ARM7TDMI и ARM Cortex-M3 на основе адаптированного ядра MIPS и имеет порт GCC (не основной).

AVR32 конкурирует с Cortex-M3 и предлагает довольно хорошее значение, особенно в области низкой мощности.

MSP430 является королем для сверхнизких устройств и имеет проходимый порт GCC (если вы не нацелены на 430X).

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

ARM раньше была более высокой точкой входа в стоимость, но с введением архитектуры Cortex-M3 цена падала по сравнению с 8-битной. Например, серия LPC13xx во многих отношениях сопоставима с ATmega32. Luminary (TI) имеет довольно впечатляющий периферийный набор.


Я считаю, что семейство PIC (до версии MIPS) имеет самый болезненный набор инструкций из всех, что означает, что ассемблер-это язык выбора, если вы хотите сохранить пространство, получить производительность, иметь контроль и т. д.

8051 немного менее болезненный, больше регистров, но все же берет несколько инструкций, чтобы сделать что-нибудь полезное (то есть вы не можете сравнить их с другими чипами с точки зрения МГц). Мне нравится AVR во многих отношениях, они охватывают доморощенного и разработчика сообщество, или если не напрямую, есть гораздо лучшая семья разработчиков по сравнению с конкурентами. Мне не нравится набор инструкций, но он на десятилетия опережает PIC и 8051. Мне нравится набор инструкций MSP430 совсем немного, это один из лучших наборов инструкций для обучения ассемблера, TI не является дружественным к разработчику, хотя это может быть борьба. EZ430 был на правильном пути, но goodfet лучше, поскольку у вас нет его неспособности работать с каждой другой версией ядра.

MSP430 и ARM имеют лучшие наборы инструкций, насколько это касается меня, что приводит к хорошему ассемблеру и хорошим инструментам компилятора. Вы можете найти коммерческие инструменты для всего вышеперечисленного и, конечно, для 8051, MSP430 и ARM free tools (MSP430 и ARM могут использовать GCC, 8051 не может, ищите SDCC). Пока ... mspgcc4.sf.net и CodeSourcery место для инструментов основанных GCC для MSP430 и рукоятки. LLVM поддерживает оба, я смог получить LLVM 27, чтобы победить последний GCC в тест dhrystone, но это один тест, LLVM отстает в производительности, но улучшается.

Что касается поиска и создания бесплатных кросс-компиляторов, я вижу LLVM уже как самый простой в получении и использовании, и, надеюсь, он будет только лучше. К сожалению, порт MSP430 для LLVM был взглядом, что я мог сделать во второй половине дня презентации PowerPoint, а не серьезный порт.

мой ответ таков: это зависит от того, что вы делать, и я рекомендую вам попробовать их все. В эти дни оценочные платы находятся в диапазоне sub US$50, а некоторые-в диапазоне sub US$30. Даже в семье АРМ (ST, Atmel, Stellaris, LPC и т. д.) существует широкая правдивость функций и причуд, которые вы найдете, только если попробуете их. Избегайте праймеров lpcexpresso, mbed2 и STM32. Избегайте LPC в целом и избегайте Cortex-M3 в целом, пока вы не порежете зубы на ARM7. Посмотрите на SparkFun для Olimex и других плат. Хотя это, вероятно, LPC ARMmite PRO и Arduino Pro - это хороший выбор. EZ430-хороший старт MSP430, и я не помню, кто делает 8051 материал, Renasys (sp?), 8051s не все созданы равными, пространство регистров варьируется от одного к другому, и вы должны подготовиться к этому. Я, вероятно, буду искать симулятор 8051, если вы хотите играть с 8051.

Я вижу, что AVT и определенно рука продолжают доминировать, я хотел бы видеть MSP430 используется для вещей, отличных от просто супер низкой мощности. С ARM, AVR и MSP430 вы можете использовать и привыкать к инструментам GCC сейчас и в будущем, что имеет много преимуществ, даже если GCC не лучший компилятор в мире, это, безусловно, лучший поддерживаемый компилятор. Я бы избегал собственных компиляторов и инструментов. Я бы искал устройства, которые имеют непатентованные программные интерфейсы, которые программируются в полевых условиях,JTAG хорошо, но, например, новый SWD JTAG на Cortex-M3 это плохо. TI MSP был ранен этим, но некоторые взломы разрешили это, по крайней мере, на данный момент. Я действительно не могу сказать много хорошего о PIC и не буду пытаться. Большая вещь, которую нужно искать, - это логика клея, есть ли у части или семьи SPI или с I2C или любой автобус вы хотите использовать, вам нужна внутренняя тяга вверх или связанный проволокой или входной сигнал?

некоторые чипы просто не имеют этой опции, и вам нужно добавить внешнее оборудование. Вам нужно прерывание, с кондиционированием? ARM имеет тенденцию побеждать в этом, потому что это ядро, используемое многими, поэтому каждый поставщик ARM ставит свой собственный ввод-вывод, поэтому вы все еще можете жить в мире ARM и иметь много вариантов, AVR и MSP будут очень ограничены по сравнению. С ARM инструменты будут современным, ARM является наиболее используемым процессором прямо сейчас. AVR и MSP-это аддоны специального проекта, менее широко поддерживаемые и хрупкие. Хотя ARM имеет низкую мощность по сравнению с Intel на SBC или компьютерная платформа, это вероятно, не такой маломощный, как AVR или MSP. Вам действительно нужно посмотреть на свой проект и выбрать правильный процессор для работы, я бы не ограничил себя одной семьей. С такими дешевыми, как оценочные доски, и почти все могут использовать бесплатные инструменты, это всего лишь вопрос нескольких ночей или выходных, чтобы узнать каждый. Я предлагаю изучить более одного AVR и изучить более одного микропроцессора.


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

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

В общем, платформы Pic и avr хороши для простых устройств с одной функцией, где as arm используется в случаях, когда вам нужен полный стек ОС, такой как QNX или Linux, для таких вещей, как TCP или в режиме реального времени с OS services.


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

но, обращаясь к вашему вопросу напрямую, весь диапазон AVR имеет согласованную архитектуру и общий периферийный набор от крошечного до Мега (не AVR32, Однако, который полностью отличается). Это существенная разница с рис, где при движении вверх по диапазону (PIC10, 12, 16, 18, 24, 32), вы получаете различные периферийные конструкции, различные наборы инструкций, и потребность проинвестировать в различных компиляторах и отлаживать оборудование.

набор инструкций для AVR был разработан для эффективной компиляции кода C (опять же, в отличие от PIC).

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

ARM Cortex-M3 по существу заменяет ARM7TDMI и является более чистым дизайном с хорошо продуманной архитектурой. Это требует минимального кода запуска ассемблера, и даже ISRs и векторные таблицы могут быть закодированы в C напрямую без каких-либо странных расширений компилятора или кода входа/выхода ассемблера. Свой метод bitbanding позволяет всем памяти и периферийным устройствам быть атомарно бит адресуемым, что полезно для быстрого ввода-вывода и безопасной многопоточности. В основном он предназначен для обеспечения кода C или C++ на системном уровне без нестандартных расширений компилятора. Это, конечно, 32-битная архитектура, поэтому не имеет ресурсов или арифметических ограничений 8-битных устройств. Цены на недорогие детали конкурируют с более высокопроизводительными 8-битными устройствами и выдувают большинство 16-битных устройств из воды (делая 16 чуть чуть устарели).

еще одна ключевая вещь, чтобы помнить, что PIC и AVR от одиночных поставщиков, в то время как 8051 и ARM являются лицензированными ядрами. Каждый лицензиат добавляет свой собственный периферийный набор, поэтому нет никакой общности между поставщиками на периферии, поэтому код драйвера устройства должен переноситься при переключении поставщиков, и вам нужно убедиться, что часть имеет необходимые периферийные устройства. Если вы хорошо разрабатываете свой слой устройства, это редко является большой проблемой.


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

Аврс имеют плоскую модель памяти и имеют свободные инструменты разработки и дешевое оборудование развития доступно для их.

Я не знаю достаточно о 8051 комментировать.

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