В чем разница/связь между Arduino и AVR?
Я всегда думал, что Arduino — это платформа микроконтроллера, но на самом деле микроконтроллер — это чип AVR, изготовленный Atmel, или что-то в этом роде, сделанное кем-то другим, на основе RISC ISA, и Arduino обычно используется для обозначения всего печатная плата с питанием от этого чипа AVR. Верно ли я понимаю?
В чем разница/связь между Arduino и AVR?
@, 👍15
6 ответов
Arduino — это процессор AVR, на котором выполняется специальный код, позволяющий использовать среду Arduino.
AVR можно использовать отдельно с некоторыми дополнительными вспомогательными компонентами.
Arduino представляет собой комбинацию AVR (чипа) и макетной платы.
AVR — это одиночный чип, и для него потребуется макетная плата.
Arduino — это макетная плата, и термин «Arduino» также используется для обозначения IDE и библиотеки на стороне ПК, а также всей экосистемы. AVR — это архитектура (разработанная Atmel) микроконтроллера, используемая во всех официальных 8-битных платах и почти во всех клонах. Наиболее часто используемые платы Arduino UNO и 2009 года используют чип AtMega328P.
Во многих случаях Arduino используется для быстрого тестирования какой-то идеи, датчика и схемы, затем на основе чипа AtMega строится отдельная плата, так как она стоит 1/10 платы Arduino, припаивается схема на полосовой плате или на пользовательской печатной плате более повторяемы и могут быть оптимизированы по некоторым аспектам, таким как энергопотребление, занимаемое пространство, высокий ток/напряжение и т. д.
В новейших и усовершенствованных платах Arduino используется другой чип с совершенно другой архитектурой; Arduino Yun использует SAM плюс классический AVR, Due использует ARM (та же архитектура, что и многие смартфоны), Galileo использует x86 (как классический одноядерный процессор).
Arduino — это набор спецификаций аппаратного и программного обеспечения с открытым исходным кодом, изначально задуманный как платформа для студентов. Я бы добавил, что спецификации хоть и находятся в открытом доступе, но распространяются под различными публичными лицензиями.
Есть "официальные" Платы Arduino производятся одноименной итальянской компанией, но поскольку конструкции плат находятся в открытом доступе, существует множество хороших (и несколько «менее хороших») вариантов из других источников.
AVR относится к линейке микроконтроллеров, производимых Atmel и используемых в оригинальных разработках. В 2016 году компания Atmel была приобретена компанией Microchip Technology, которая продолжает производить устройства AVR.
В некоторых из последних разработок Arduino используются более мощные процессоры других производителей микросхем, но во многих по-прежнему используются процессоры Atmel/Microchip AVR. Относительная простота небольших AVR (ATtiny и ATmega, f/ex) делает их идеальными для быстрого проектирования/сборки плат и программного обеспечения для менее требовательных приложений, а также для изучения программирования и цифрового управления.
Инструменты и экосистема Arduino поддерживают не только чипы Atmel AVR, но и другие процессоры. Например, Arduino Due использует процессор ARM Cortex-M3.
Arduino на самом деле представляет собой обычный набор кода, который делает использование плат для разработки, которые они продают, доступным широкому кругу пользователей.
Arduino — это, по сути, IDE, использующая язык C/C++ и набор классов, адаптируемых к обычному набору оборудования, преимущественно Atmel и в основном AVR, хотя, как уже упоминалось, платы Arduino становятся все более мощными. Но просто удивительно, как много можно сделать с ATmega328p.
Для программирования платы не обязательно использовать Arduino IDE, я обычно использую Atmel Studio или Notepad++. Вы можете получить плагин для Atmel Studio 6.2 и выше, который позволит вам создавать скетчи и загружать их на большинство плат Arduino.
Хотя предыдущие ответы технически верны, я думаю, что в настоящее время значение слова «Arduino» изменилось.
Когда были выпущены оригинальные платы Arduino, они были на голову лучше конкурентов, особенно если рассматривать соотношение цены и производительности.
Но это уже не так. Платы на базе чипов ESP8266 и ESP32 дешевле и намного мощнее, чем чипы Atmel. Кроме того, среда AVR IDE была расширена для поддержки этих чипов. И чтобы еще больше запутать проблему, этот "Arduinio" На форуме почти 2000 вопросов с тегами ESP8266 и около 850 с тегами ESP32.
Так что ждите перемен. Они уже происходят. Будет ли «Ардуино» имеется в виду любой чип, поддерживаемый IDE? Перейдет ли этот форум на более общее название, например IOT? Я правда не знаю.
- Как преобразовать скетч примера Arduino в полный проект C++?
- Не удается записать загрузчик через Arduino Nano clone ISP в atmega328p
- Поскольку double и float представляют один и тот же тип данных (обычно), что предпочтительнее?
- Как создать задержки на языке ассемблера AVR
- Программирование микроконтроллера Attiny85 без arduino
- AVR (Arduino Uno) Serial.print и Serial.println печатают только 1 или 2 символа
- Прерывание переполнения таймера AVR не работает
- Заменить предохранители Arduino Uno (может ли Arduino Uno заменить свои собственные предохранители?)
Для справки: вы можете использовать среду Arduino для многих чипов AVR без какого-либо специального кода. Единственное, что вам нужно, это AVR-программатор, который может быть официальным программатором Atmel за 40 долларов, USPASP за 5 долларов или даже другим Arduino, на котором работает эскиз ArduinoISP., @imjosh