2010-05-10 3 views
6

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

+0

Семейство AVR имеет интегрированную среду на основе GCC, которая бесплатна для всего спектра их процессоров. От самого маленького к самому большому, один код, чтобы управлять ими всеми. AVR - это 8-разрядный процессор, а на тех же часах он в 4 раза быстрее, чем 8-битный PIC и в 12 раз быстрее, чем 8051. ARM 32-бит, более мощный и гораздо более голодный. Он быстро съест аккумулятор, а AVR будет работать в течение нескольких недель или месяцев. Они не находятся в одном диапазоне и не используются для одних и тех же задач. Это было бы похоже на сравнение 4 ГГц четырехъядерного процессора blentium с небольшим ARM, который запускает ваш мобильный телефон. – avra

+0

«один код, чтобы управлять ими все» ... не на 100% точнее. регистр/вывод/таймер и различия в ISR, кроме нескольких других различий. Да, вы можете использовать обычный компилятор gnu C (C99), и среда IDE является общей. – icarus74

ответ

4

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

В общем:

PIC:

  • Старая архитектура. Это означает, что это либо дорого, либо медленно
  • Мишени только нижний конец рынка (< несколько Mhz)
  • Там много кода, написанного для него

ARM

  • Scalable
  • Fast/дешево

Atmega находится где-то посредине

+1

Некоторые из ваших критических замечаний относительно деталей PIC недействительны для всех частей в диапазоне. PIC24/dsPIC и PIC32 являются очень способными частями. Не то, чтобы я хочу быть поклонником для Microchip - противных и дорогих компиляторов, а неуклюжая IDE будет моей критикой. – Clifford

+1

Так же AVR32, но никто не жаловался на них, о которых не упоминалось. – avra

+3

@avra: Моя критика как AVR32, так и PIC32 будет «слишком запоздалой», ARM уже имеет этот рынок с более широким диапазоном поставщиков, периферийных устройств и возможностей производительности ». – Clifford

0

Ну, это нелегко ответить. Это в основном зависит от того, что вы использовали раньше. Если вы уже являетесь пользователем AVR, тогда это полезно использовать. С другой стороны, вы можете найти ПОС с аналогичными возможностями, поэтому я бы сказал, что это в основном личные предпочтения. Я думаю, что большинство ARM более способны, чем серии atmega32. Если вы хотите получить хороший совет, сообщите нам, для чего вы собираетесь его использовать.

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

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

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

+2

Пока вы делаете большую часть своего кода на C, портирование с одного чипа atmega на другое довольно безболезненно. прототип на все, что под рукой и оптимизировать позже. – SingleNegationElimination

3

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

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

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

13

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

  1. Тем не менее работает на 5 В, так что наследство 5 V вещи интерфейсы уборщик
  2. Даже если это 5 V способен, новые части могут работать до 1,8 В. Такой широкий диапазон очень редко ,
  3. Хороший набор инструкций, очень хорошая производительность по сравнению с другими процессорами (HCS08, PIC12/16/18).
  4. Высококачественный порт GCC (без фирменных компиляторов!)
  5. Варианты «PA» имеют хорошие возможности спящего режима в микроамперах.
  6. Хорошо округлены Набор периферийных устройств возможность
  7. QTouch

Недостатки

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

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

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

PIC до PIC24 также причудливый (регистрация банковского дела) и низкая скорость работы часов ->. Не существует первоклассного компилятора с открытым исходным кодом C.

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

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

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

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

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

4

Я нашел семью ПИК (до версии MIPS), чтобы иметь наиболее болезненную набор команд из всех, что означает Ассемблер является языком выбора, если вы хотите, чтобы сэкономить место, получить производительность, контроль и т.д.

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

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

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

Я отвечаю, что это зависит от того, что вы делаете, и я рекомендую попробовать все. В наши дни оценочные доски находятся в диапазоне ниже 50 долларов США, а некоторые - в диапазоне ниже 30 долларов США. Даже в семействе ARM (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 и, безусловно, ARM продолжает доминировать, я хотел бы, чтобы MSP430 использовался для вещей, отличных от сверхнизкой мощности. С ARM, AVR и MSP430 вы можете использовать и использовать инструменты GCC сейчас и в будущем, что имеет много преимуществ, даже если GCC не лучший компилятор в мире, он, безусловно, лучший поддерживаемый компилятор. Я бы избегал проприетарных компиляторов и инструментов. Я бы искал устройства, у которых есть программные интерфейсы, которые не являются проприетарными, которые программируются на поле, JTAG хорош, но, к примеру, новый SWD JTAG на Cortex-M3 плох. TI MSP был ранен этим, но некоторые хаки решили это, по крайней мере, на данный момент. Я действительно не очень хорошо говорю о ПИК и не буду пытаться. Большая вещь, которую нужно искать, - это логика клея, есть ли у части или семьи SPI или I2C или какая бы шина вы ни использовали, вам нужно внутреннее подтягивание или подключение или ввод?

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

2

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

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

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

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

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

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

Смежные вопросы