- Начать с требований к проекту
- Посмотрите на рекомендуемые параметры
- Рабочее напряжение
- Целевые соединители
- Расширенные интерфейсы
- Среда разработки
- Цена и доступность
- Другие особенности
- Заключение
Когда дело доходит до выбора микроконтроллера, это действительно запутанная задача, поскольку на рынке доступны различные микроконтроллеры с одинаковыми характеристиками. Таким образом, каждый параметр становится важным, когда дело доходит до выбора микроконтроллера. Здесь мы сравниваем два наиболее часто используемых микроконтроллера - микроконтроллер PIC и микроконтроллер AVR. Здесь они сравниваются на разных уровнях, что будет полезно при выборе микроконтроллера для вашего проекта.
Начать с требований к проекту
Соберите всю информацию о вашем проекте для начала, прежде чем начинать выбирать какой-либо микроконтроллер. Очень важно собрать как можно больше информации, так как это сыграет важную роль при выборе правильного микроконтроллера.
- Соберите информацию о проекте, например о размере проекта.
- Количество используемых периферийных устройств и датчиков
- Требования к мощности
- Бюджет проекта
- Требования к интерфейсам (например, USB, SPI, I2C, UART и т. Д.),
- Составьте базовую блок-схему оборудования,)
- Перечислите, сколько нужно GPIO
- Аналогово-цифровые входы (АЦП)
- ШИМ
- Выберите нужную архитектуру, то есть (8-бит, 16-бит, 32-бит)
- Распознать требования к памяти проекта (RAM, Flash и т. Д.)
Посмотрите на рекомендуемые параметры
Когда вся информация собрана, самое время выбрать микроконтроллер. В этой статье два конкурирующих микроконтроллера PIC и AVR будут сравниваться по множеству параметров. В зависимости от потребности проекта сравнить эти два параметра, обратите внимание на следующие параметры, например:
- Частота: скорость, с которой будет работать микроконтроллер.
- Количество контактов ввода / вывода: необходимые порты и контакты
- RAM: все переменные и массивы, объявленные (DATA) в большинстве MCU
- Флэш-память: любой код, который вы пишете, попадает сюда после компиляции.
- Расширенные интерфейсы: расширенные интерфейсы, такие как USB, CAN и Ethernet.
- Рабочее напряжение: рабочее напряжение MCU, такое как 5 В, 3,3 В или низкое напряжение.
- Целевые разъемы: разъемы для упрощения схемы и размера.
Большинство параметров одинаковы как в PIC, так и в AVR, но есть некоторые параметры, которые, несомненно, отличаются при сравнении.
Рабочее напряжение
Благодаря большему количеству продуктов с батарейным питанием, PIC и AVR удалось улучшить работу с низким напряжением. AVR более известны работой при низком напряжении, чем более старые серии PIC, такие как PIC16F и PIC18F, потому что в этих сериях PIC использовался метод стирания микросхем, для работы которого требуется не менее 4,5 В, а программисты PIC ниже 4,5 В должны использовать алгоритм стирания строк. который не может стереть заблокированное устройство. Однако это не относится к AVR.
AVR улучшил и выпустил последние варианты P (пикомощность), такие как ATmega328P, которые чрезвычайно маломощны. Кроме того, текущий ATtiny1634 улучшен и поставляется с режимами сна, чтобы снизить энергопотребление при отключении питания, что очень полезно для устройств с батарейным питанием.
Вывод состоит в том, что ранее AVR были ориентированы на низковольтные устройства, но теперь PIC была преобразована для работы при низком напряжении и выпустила некоторые продукты, основанные на picPower.
Целевые соединители
Целевые соединители очень важны при проектировании и разработке. В AVR определены 6- и 10-канальные интерфейсы ISP, что упрощает использование, в то время как у PIC его нет, поэтому программаторы PIC поставляются с подвесными выводами или гнездами RJ11, которые сложно вставить в схему.
Вывод заключается в том, что AVR упростил схему проектирования и разработки с целевыми разъемами, тогда как PIC все еще необходимо исправить это.
Расширенные интерфейсы
Что касается расширенных интерфейсов, то PIC, безусловно, является вариантом, поскольку он обладает расширенными функциями, такими как USB, CAN и Ethernet, чего нет в AVR. Однако можно использовать внешние микросхемы, такие как FTDI USB для последовательных микросхем, контроллеры Microchip Ethernet или микросхемы Philips CAN.
Вывод: PIC наверняка имеет более продвинутые интерфейсы, чем AVR.
Среда разработки
Помимо этого, есть важные особенности, которые отличают оба микроконтроллера друг от друга. Простота среды разработки очень важна. Ниже приведены некоторые важные параметры, объясняющие простоту среды разработки:
- IDE для разработки
- Компиляторы C
- Ассемблеры
IDE для разработки:
И PIC, и AVR поставляются со своими собственными IDE для разработки . Разработка PIC выполняется на MPLAB X, который, как известно, является стабильной и простой IDE по сравнению с AVR Atmel Studio7, который имеет большой размер 750 МБ и немного неуклюж с дополнительными функциями, что затрудняет и усложняет для новичков-любителей электроники.
PIC может быть запрограммирован с помощью микрочипа инструментов PicKit3 и MPLAB X . AVR программируется с помощью таких инструментов, как JTAGICE и AtmelStudio7. Однако пользователи переходят на более старые версии AVR Studio, такие как 4.18 с пакетом обновления 3, поскольку он работает намного быстрее и имеет базовые функции для разработки.
Вывод таков, что PIC MPLAB X немного быстрее и удобнее, чем AtmelStudio7.
Компиляторы C:
И PIC, и AVR поставляются с компиляторами XC8 и WINAVR C соответственно. PIC выкупила Hi-tech и выпустила собственный компилятор XC8. Это полностью интегрировано в MPLAB X и хорошо работает. Но WINAVR - это ANSI C, основанный на компиляторе GCC, который упрощает перенос кода и использование стандартных библиотек. Бесплатная ограниченная версия IAR C Compiler объемом 4 КБ дает представление о профессиональных компиляторах, которые стоят дорого. Поскольку AVR изначально был разработан для C, вывод кода небольшой и быстрый.
У PIC есть много функций, которые делают его лучше по сравнению с AVR, но его код становится больше из-за структуры PIC. Платная версия доступна с большей оптимизацией, однако бесплатная версия не оптимизирована.
Напрашивается вывод, что WINAVR лучше и быстрее с точки зрения компиляторов, чем PIC XC8.
Ассемблеры:
Благодаря трем 16-битным регистрам указателя, которые упрощают адресацию и операции со словами, язык ассемблера AVR очень прост с большим количеством инструкций и возможностью использовать все 32 регистра в качестве аккумулятора. Принимая во внимание, что ассемблер PIC не так хорош со всем, что вынуждено работать через аккумулятор, вынуждает постоянно использовать переключение банка для доступа ко всем регистрам специальных функций. Хотя MPLAB включает макросы для упрощения переключения банков, это утомительно и требует много времени.
Также отсутствие инструкций перехода, просто пропустите и GOTO, что приводит к запутанным структурам и немного запутанному коду. В серии PIC есть несколько серий микроконтроллеров, которые намного быстрее, но опять же ограничены одним аккумулятором.
Вывод состоит в том, что, хотя некоторые микроконтроллеры PIC быстрее, но AVR лучше работать с точки зрения ассемблеров.
Цена и доступность
Если говорить о цене, то и PIC, и AVR очень похожи. Оба доступны в основном по одинаковой цене. Что касается доступности, то PIC удалось доставить продукты в оговоренные сроки по сравнению с AVR, поскольку Microchip всегда придерживалась политики коротких сроков поставки. Компания Atmel пережила трудные времена, поскольку широкий ассортимент продукции означает, что AVR - небольшая часть их бизнеса, поэтому другие рынки могут иметь приоритет над AVR для производственных мощностей. Поэтому рекомендуется использовать PIC с точки зрения графиков поставок, тогда как AVR может иметь решающее значение для производства. Детали микрочипов обычно более доступны, особенно в небольших количествах.
Другие особенности
И PIC, и AVR доступны в различных пакетах. PIC выпускает больше версий, чем AVR. У этого развертывания версии могут быть свои плюсы и минусы в зависимости от приложений, например, большее количество версий создает путаницу при выборе подходящей модели, но в то же время обеспечивает большую гибкость. Последние версии PIC и AVR очень маломощны и работают в различных диапазонах напряжения. Часы и таймеры PIC более точны, но с точки зрения скорости PIC и AVR очень похожи.
Atmel Studio 7 добавила производственные файлы ELF, которые включают в себя данные EEPROM, Flash и предохранители в одном файле. В то время как AVR интегрировал данные предохранителя в свой шестнадцатеричный формат файла, поэтому предохранитель можно установить в коде. Это позволяет PIC упростить перенос проекта в производство.
Заключение
PIC и AVR - отличные недорогие устройства, которые используются не только в промышленности, но и являются популярным выбором среди студентов и любителей. Оба широко используются и имеют хорошие сети (форумы, примеры кода) с активным присутствием в сети. Оба имеют хороший охват сообщества и поддержку, и оба доступны в широких размерах и форм-факторах с периферийными устройствами, независимыми от ядра. Microchip захватила Atmel и теперь занимается как AVR, так и PIC. В конце концов, понятно, что изучение микроконтроллера похоже на изучение языков программирования, поскольку изучение другого будет намного проще, если вы выучите один.
Само собой разумеется, что кто бы ни победил, но почти во всех отраслях техники нет такого слова, как «лучший», тогда как «наиболее подходящее для применения» - это хорошо подходящая фраза. Все зависит от требований к конкретному продукту, метода разработки и производственного процесса. Таким образом, в зависимости от проекта, можно выбрать подходящий микроконтроллер из PIC и AVR.