Atmega168 atmega328 в чем разница • Вэб-шпаргалка для интернет предпринимателей!
Содержание
- Принципиальные схемы и исходные данные
- Питание:
- Память
- Входы и Выходы
- Связь
- Программирование
- Автоматическая (программная) перезагрузка
- Принципиальные схемы и исходные данные
- Питание:
- Память
- Входы и Выходы
- Связь
- Программирование
- Автоматическая (программная) перезагрузка
- Рекомендуем к прочтению
Принципиальные схемы и исходные данные
Arduino Nano 3.0 (ATmega328): схемы и файлы Eagle.
Микроконтроллер | ATmega168 или ATmega328 |
Рабочее напряжение | 5В |
Входное напряжение(рекомендуемое) | 7-12В |
Входное напряжение (предельное) | 6-20В |
Цифровые Входы/Выходы | 14 (6 из которых могут использоваться как выходы ШИМ) |
Аналоговые входы | 8 |
Постоянный ток через вход/выход | 40 mA |
Флеш-память | 16 Кб (ATmega168) или 32 Кб (ATmega328) при этом 2 Кб используются для загрузчика |
ОЗУ | 1 Кб (ATmega168) или 2 Кб (ATmega328) |
Тактовая частота | 16 MHz |
Питание:
Arduino Nano может получать питание через подключение Mini-B USB, или от нерегулируемого 6-20 В (вывод 30), или регулируемого 5 В (вывод 27), внешнего источника питания. Автоматически выбирается источник с самым высоким напряжением.
Микросхема FTDI FT232RL получает питание, только если сама платформа запитана от USB. Таким образом при работе от внешнего источника (не USB), будет отсутствовать напряжение 3.3 В, генерируемое микросхемой FTDI, при этом светодиоды RX и TX мигаю только при наличие сигнала высокого уровня на выводах 0 и 1.
Память
Микроконтроллер ATmega168 имеет 16 кБ флеш-памяти для хранения кода программы, а микроконтроллер ATmega328, в свою очередь, имеет 32 кБ (в обоих случаях 2 кБ используется для хранения загрузчика). ATmega168 имеет 1 кБ ОЗУ и 512 байт EEPROM (которая читается и записывается с помощью библиотеки EEPROM), а ATmega328 – 2 кБ ОЗУ и 1 Кб EEPROM.
Входы и Выходы
Arduino Nano лицевая сторонаArduino Nano обратная сторона
Каждый из 14 цифровых выводов Nano, используя функции pinMode(), digitalWrite(), и digitalRead(), может настраиваться как вход или выход. Выводы работают при напряжении 5 В. Каждый вывод имеет нагрузочный резистор (стандартно отключен) 20-50 кОм и может пропускать до 40 мА. Некоторые выводы имеют особые функции:
Последовательная шина: 0 (RX) и 1 (TX). Выводы используются для получения (RX) и передачи (TX) данных TTL. Данные выводы подключены к соответствующим выводам микросхемы последовательной шины FTDI USB-to-TTL.
Внешнее прерывание: 2 и 3. Данные выводы могут быть сконфигурированы на вызов прерывания либо на младшем значении, либо на переднем или заднем фронте, или при изменении значения. Подробная информация находится в описании функции attachInterrupt().
ШИМ: 3, 5, 6, 9, 10, и 11. Любой из выводов обеспечивает ШИМ с разрешением 8 бит при помощи функции analogWrite().
SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Посредством данных выводов осуществляется связь SPI, которая, хотя и поддерживается аппаратной частью, не включена в язык Arduino.
LED: 13. Встроенный светодиод, подключенный к цифровому выводу 13. Если значение на выводе имеет высокий потенциал, то светодиод горит.
На платформе Nano установлены 8 аналоговых входов, каждый разрешением 10 бит (т.е. может принимать 1024 различных значения). Стандартно выводы имеют диапазон измерения до 5 В относительно земли, тем не менее имеется возможность изменить верхний предел посредством функции analogReference(). Некоторые выводы имеют дополнительные функции:
I2C: A4 (SDA) и A5 (SCL). Посредством выводов осуществляется связь I2C (TWI). Для создания используется библиотека Wire (информация на сайте Wiring).
Дополнительная пара выводов платформы:
AREF. Опорное напряжение для аналоговых входов. Используется с функцией analogReference().
Reset. Низкий уровень сигнала на выводе перезагружает микроконтроллер. Обычно применяется для подключения кнопки перезагрузки на плате расширения, закрывающей доступ к кнопке на самой плате Arduino.
Обратите внимание на соединение между выводами Arduino и портами ATmega168.
Связь
На платформе Arduino Nano установлено несколько устройств для осуществления связи с компьютером, другими устройствами Arduino или микроконтроллерами. ATmega168 и ATmega328 поддерживают последовательный интерфейс UART TTL (5 В), осуществляемый выводами 0 (RX) и 1 (TX). Установленная на плате микросхема FTDI FT232RL направляет данный интерфейс через USB, а драйверы FTDI (включены в программу Arduino) предоставляют виртуальный COM порт программе на компьютере. Мониторинг последовательной шины (Serial Monitor) программы Arduino позволяет посылать и получать текстовые данные при подключении к платформе. Светодиоды RX и TX на платформе будут мигать при передаче данных через микросхему FTDI или USB подключение (но не при использовании последовательной передачи через выводы 0 и 1).
Библиотекой SoftwareSerial возможно создать последовательную передачу данных через любой из цифровых выводов Nano.
ATmega168 и ATmega328 поддерживают интерфейсы I2C (TWI) и SPI. В Arduino включена библиотека Wire для удобства использования шины I2C. Более подробная информация находится в документации. Для использования интерфейса SPI обратитесь к техническим данным микроконтроллеров ATmega168 и ATmega328.
Программирование
Платформа программируется посредством ПО Arduino. Из меню Tools > Board выбирается «Arduino Diecimila, Duemilanove или Nano w/ ATmega168» или «Arduino Duemilanove или Nano w/ ATmega328» (согласно установленному микроконтроллеру). Подробная информация находится в справочнике и инструкциях.
Микроконтроллеры ATmega168 и ATmega328 поставляются с записанным загрузчиком, облегчающим запись новых программ без использования внешних программаторов. Связь осуществляется оригинальным протоколом STK500.
Имеется возможность не использовать загрузчик и запрограммировать микроконтроллер через выводы блока ICSP (внутрисхемное программирование). Подробная информация находится в данной инструкции.
Автоматическая (программная) перезагрузка
Nano разработана таким образом, чтобы перед записью нового кода перезагрузка осуществлялась самой программой, а не нажатием кнопки на платформе. Одна из линий FT232RL, управляющих потоком данных (DTR), подключена к выводу перезагрузки микроконтроллеров ATmega168 или ATmega328 через конденсатор 100 нФ. Активация данной линии, т.е. подача сигнала низкого уровня, перезагружает микроконтроллер. Программа Arduino, используя данную функцию, загружает код одним нажатием кнопки Upload в самой среде программирования. Подача сигнала низкого уровня по линии DTR скоординирована с началом записи кода, что сокращает таймаут загрузчика.
Функция имеет еще одно применение. Перезагрузка Nano происходит каждый раз при подключении к программе Arduino на компьютере с ОС Mac X или Linux (через USB). Следующие полсекунды после перезагрузки работает загрузчик. Во время программирования происходит задержка нескольких первых байтов кода во избежание получения платформой некорректных данных (всех, кроме кода новой программы). Если производится разовая отладка скетча, записанного в платформу, или ввод каких-либо других данных при первом запуске, необходимо убедиться, что программа на компьютере ожидает в течение секунды перед передачей данных.
Принципиальные схемы и исходные данные
Arduino Nano 3.0 (ATmega328): схемы и файлы Eagle.
Микроконтроллер | ATmega168 или ATmega328 |
Рабочее напряжение | 5В |
Входное напряжение(рекомендуемое) | 7-12В |
Входное напряжение (предельное) | 6-20В |
Цифровые Входы/Выходы | 14 (6 из которых могут использоваться как выходы ШИМ) |
Аналоговые входы | 8 |
Постоянный ток через вход/выход | 40 mA |
Флеш-память | 16 Кб (ATmega168) или 32 Кб (ATmega328) при этом 2 Кб используются для загрузчика |
ОЗУ | 1 Кб (ATmega168) или 2 Кб (ATmega328) |
Тактовая частота | 16 MHz |
Питание:
Arduino Nano может получать питание через подключение Mini-B USB, или от нерегулируемого 6-20 В (вывод 30), или регулируемого 5 В (вывод 27), внешнего источника питания. Автоматически выбирается источник с самым высоким напряжением.
Микросхема FTDI FT232RL получает питание, только если сама платформа запитана от USB. Таким образом при работе от внешнего источника (не USB), будет отсутствовать напряжение 3.3 В, генерируемое микросхемой FTDI, при этом светодиоды RX и TX мигаю только при наличие сигнала высокого уровня на выводах 0 и 1.
Память
Микроконтроллер ATmega168 имеет 16 кБ флеш-памяти для хранения кода программы, а микроконтроллер ATmega328, в свою очередь, имеет 32 кБ (в обоих случаях 2 кБ используется для хранения загрузчика). ATmega168 имеет 1 кБ ОЗУ и 512 байт EEPROM (которая читается и записывается с помощью библиотеки EEPROM), а ATmega328 – 2 кБ ОЗУ и 1 Кб EEPROM.
Входы и Выходы
Arduino Nano лицевая сторонаArduino Nano обратная сторона
Каждый из 14 цифровых выводов Nano, используя функции pinMode(), digitalWrite(), и digitalRead(), может настраиваться как вход или выход. Выводы работают при напряжении 5 В. Каждый вывод имеет нагрузочный резистор (стандартно отключен) 20-50 кОм и может пропускать до 40 мА. Некоторые выводы имеют особые функции:
Последовательная шина: 0 (RX) и 1 (TX). Выводы используются для получения (RX) и передачи (TX) данных TTL. Данные выводы подключены к соответствующим выводам микросхемы последовательной шины FTDI USB-to-TTL.
Внешнее прерывание: 2 и 3. Данные выводы могут быть сконфигурированы на вызов прерывания либо на младшем значении, либо на переднем или заднем фронте, или при изменении значения. Подробная информация находится в описании функции attachInterrupt().
ШИМ: 3, 5, 6, 9, 10, и 11. Любой из выводов обеспечивает ШИМ с разрешением 8 бит при помощи функции analogWrite().
SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Посредством данных выводов осуществляется связь SPI, которая, хотя и поддерживается аппаратной частью, не включена в язык Arduino.
LED: 13. Встроенный светодиод, подключенный к цифровому выводу 13. Если значение на выводе имеет высокий потенциал, то светодиод горит.
На платформе Nano установлены 8 аналоговых входов, каждый разрешением 10 бит (т.е. может принимать 1024 различных значения). Стандартно выводы имеют диапазон измерения до 5 В относительно земли, тем не менее имеется возможность изменить верхний предел посредством функции analogReference(). Некоторые выводы имеют дополнительные функции:
I2C: A4 (SDA) и A5 (SCL). Посредством выводов осуществляется связь I2C (TWI). Для создания используется библиотека Wire (информация на сайте Wiring).
Дополнительная пара выводов платформы:
AREF. Опорное напряжение для аналоговых входов. Используется с функцией analogReference().
Reset. Низкий уровень сигнала на выводе перезагружает микроконтроллер. Обычно применяется для подключения кнопки перезагрузки на плате расширения, закрывающей доступ к кнопке на самой плате Arduino.
Обратите внимание на соединение между выводами Arduino и портами ATmega168.
Связь
На платформе Arduino Nano установлено несколько устройств для осуществления связи с компьютером, другими устройствами Arduino или микроконтроллерами. ATmega168 и ATmega328 поддерживают последовательный интерфейс UART TTL (5 В), осуществляемый выводами 0 (RX) и 1 (TX). Установленная на плате микросхема FTDI FT232RL направляет данный интерфейс через USB, а драйверы FTDI (включены в программу Arduino) предоставляют виртуальный COM порт программе на компьютере. Мониторинг последовательной шины (Serial Monitor) программы Arduino позволяет посылать и получать текстовые данные при подключении к платформе. Светодиоды RX и TX на платформе будут мигать при передаче данных через микросхему FTDI или USB подключение (но не при использовании последовательной передачи через выводы 0 и 1).
Библиотекой SoftwareSerial возможно создать последовательную передачу данных через любой из цифровых выводов Nano.
ATmega168 и ATmega328 поддерживают интерфейсы I2C (TWI) и SPI. В Arduino включена библиотека Wire для удобства использования шины I2C. Более подробная информация находится в документации. Для использования интерфейса SPI обратитесь к техническим данным микроконтроллеров ATmega168 и ATmega328.
Программирование
Платформа программируется посредством ПО Arduino. Из меню Tools > Board выбирается «Arduino Diecimila, Duemilanove или Nano w/ ATmega168» или «Arduino Duemilanove или Nano w/ ATmega328» (согласно установленному микроконтроллеру). Подробная информация находится в справочнике и инструкциях.
Микроконтроллеры ATmega168 и ATmega328 поставляются с записанным загрузчиком, облегчающим запись новых программ без использования внешних программаторов. Связь осуществляется оригинальным протоколом STK500.
Имеется возможность не использовать загрузчик и запрограммировать микроконтроллер через выводы блока ICSP (внутрисхемное программирование). Подробная информация находится в данной инструкции.
Автоматическая (программная) перезагрузка
Nano разработана таким образом, чтобы перед записью нового кода перезагрузка осуществлялась самой программой, а не нажатием кнопки на платформе. Одна из линий FT232RL, управляющих потоком данных (DTR), подключена к выводу перезагрузки микроконтроллеров ATmega168 или ATmega328 через конденсатор 100 нФ. Активация данной линии, т.е. подача сигнала низкого уровня, перезагружает микроконтроллер. Программа Arduino, используя данную функцию, загружает код одним нажатием кнопки Upload в самой среде программирования. Подача сигнала низкого уровня по линии DTR скоординирована с началом записи кода, что сокращает таймаут загрузчика.
Функция имеет еще одно применение. Перезагрузка Nano происходит каждый раз при подключении к программе Arduino на компьютере с ОС Mac X или Linux (через USB). Следующие полсекунды после перезагрузки работает загрузчик. Во время программирования происходит задержка нескольких первых байтов кода во избежание получения платформой некорректных данных (всех, кроме кода новой программы). Если производится разовая отладка скетча, записанного в платформу, или ввод каких-либо других данных при первом запуске, необходимо убедиться, что программа на компьютере ожидает в течение секунды перед передачей данных.
Про Arduino Pro Mini я уже писал обзор. Правда плата из того обзора полностью соответствовала спецификации Arduino. Но китайцы такие затейники, особенно если дело касается удешевления товара. Впрочем я уже давно не удивляюсь проявлениям китайского инженерного гения. В это раз, воодушевившись хорошим качеством и низкой ценой плат Pro Mini для своих изделий я заказал еще несколько подобных плат, но по более низкой цене.
Платы приехали двух видов. ДА-да, несмотря на точную спецификацию плат Arduino китайцы клепают немало их разновидностей, заменяя некоторые комплектующие более дешевыми аналогами (или не совсем аналогами) и перекраивая под это дело сами платы.
Все упаковано в антистатический пакет. Качественно упаковано и пакет приличный.
Видно что внутри сама плата и пины. На пакетике предусмотрены прорези для вскрытия пакета без ножниц.
Платы второго вида тоже в антистатическом пакете, но попроще.
Пакет разделен на две части, пины в одной, сама плата в другой.
Пины в обеих версиях абсолютно одинаковые.
Смотрим на сами платы Arduino Pro Nano. Сразу видно что использованы микросхемы в разных типах корпусов, но в обоих случаях это Atmega328, хотя в описании было Atmega 168. Ну да для моих целей это абсолютно не важно. От «нормальных» плат Pro Mini эти платы отличаются другим типом кнопки Reset и использованием здоровенного кварца на 16MHz.
Парочка крупных планов с видом на микросхему.
Первой к преобразователю USB-UART подключаю первую плату (с синим фоторезистом). Заливаю скетч. Все работает.
Затем переставляю пины на вторую плату (черный фоторезист). И…. ничего не происходит.
Странно, всетодиод мигает, а скетч не заливается.
Присмотревшись повнимательнее вижу что при разводке платы контакты для USB-UART преобразователя на второй плате перевернуты зеркально по сравнению со стандартной разводкой Arduino. Хорошо хоть маркировка нанесена правильно.
После того как разъем USB-преобразователя был перевернут на 180 градусов плата приняла скетч и работает нормально. Что ж, я еще раз убедился что за китайцами все нужно перепроверять.
В остальном, платы работают корректно. И главное, у них очень приятная цена.
Arduino Nano ATmega168
В настоящее время существует 2 модификации разновидности плат Arduino Nano.
Версии 3.хх на микроконтроллере ATmega328 и версии 2.хх на микроконтроллере ATmega168.
Поговорим про версию 2.хх
Сразу оговорюсь, что отличаются они только:
- Микроконтроллер Atmel ATmega168 или ATmega328
- Флеш-память 16 Кб (ATmega168) или 32 Кб (ATmega328) при этом 2 Кб используются для загрузчика
- ОЗУ 1 Кб (ATmega168) или 2 Кб (ATmega328)
- EEPROM 512 байт (ATmega168) или 1 Кб (ATmega328)
Все микроконтроллеры ATmega168 и ATmega328 установленные на Arduino Nano поставляются с уже записанным загрузчиком, что облегчает установку новых программ без внешних программаторов.
Основные параметры Atmel ATmega168
ЦПУ: Ядро | AVR |
ЦПУ: F,МГц | от 0 до 20 |
Память: Flash,КБайт | 16 |
Память: RAM,КБайт | 1 |
Память: EEPROM,Байт | 512 |
23 | |
Таймеры: 8-бит,шт | 2 |
Таймеры: 16-бит,шт | 1 |
Таймеры: Каналов ШИМ,шт | 6 |
Таймеры: RTC | Да |
Интерфейсы: UART,шт | |
Интерфейсы: SPI,шт | 1 |
Интерфейсы: I2C,шт | 1 |
Аналоговые входы: Разрядов АЦП,бит | 10 |
Аналоговые входы: Каналов АЦП,шт | 6 |
Аналоговые входы: Быстродействие АЦП,kSPS | 76. 9 |
Аналоговые входы: Аналоговый компаратор,шт | 2 |
VCC,В | от 1.8 до 5.5 |
ICC,мА | 10 |
TA,°C | от -40 до 85 |
Корпус | PDIP-28 MLF-32 TQFP-32 |
Посмотреть datasheet на этот микроконтроллер можно на странице Arduino Nano datasheet
Полезные статьи про Arduino Nano:
- Arduino Nano v 2.XX распиновка
- Arduino Nano описание
- Arduino Nano выходы
- Arduino Nano shield
Три альтернативы микроконтроллеру ATMEGA-328P-AU для преодоления кризиса микросхем .
Отчасти это связано с текущими ограниченными производственными мощностями Microchip, что приводит к задержке поставки продукции. В настоящее время срок поставки некоторых устройств Microchip увеличен до более чем 52 недель.Таким образом, принимая во внимание текущую нехватку поставок ATMEGA328P-AU и завышенные цены, каковы альтернативы? Продолжайте читать, чтобы узнать.
Глобальная нехватка микросхем возникла в 2020 году и является постоянной проблемой, когда спрос на интегральные схемы, такие как компьютерные микросхемы, превышает предложение. (Источник: © Quardia Inc. — stock.adobe.com) Что такое ATMEGA328P-AU микроконтроллер?ATMEGA328P-AU относится к семейству 8-разрядных микроконтроллеров picoPower® AVR® RISC от Microchip. Он имеет 32 КБ флэш-памяти ISP с возможностью чтения и записи, 1024 байт EEPROM, 2 КБ SRAM, 23 линии ввода-вывода общего назначения, 32 рабочих регистра общего назначения, три гибких таймера/счетчика с режимами сравнения. Он имеет программируемый сторожевой таймер с внутренним генератором и пять программно выбираемых режимов энергосбережения. Устройство работает в диапазоне 1,8-5,5 вольт.
Популяризированный движением производителей, ATMEGA328P находится на пилотной плате Arduino UNO, и многие другие микроконтроллеры Atmega поддерживают платформу Arduino. Он подходит для проектов и автономных систем, где необходим простой, маломощный и недорогой микроконтроллер, включая промышленные системы управления, импульсные источники питания и системы регулирования мощности.
Излишне говорить, что растущий спрос на микроконтроллеры ATMEGA328P показал свою популярность! Таким образом, мы составили список альтернатив, чтобы удовлетворить все потребности вашего проекта и обойти нехватку поставок. Не волнуйтесь, мы продолжим обновлять этот список по мере продвижения, и мы надеемся, что вы сможете найти тот, который удовлетворит ваш вкус.
Обратная совместимость, улучшенная замена популярного ATMEGA328P-AU. ATMEGA328P-AU. ATMEGA328PB-AU — это обратно совместимая альтернатива популярному ATMEGA328P-AU. Они имеют одинаковую производительность на архитектуре ядра AVR, но ATMEGA328PB-AU имеет 5 дополнительных входов/выходов. Что еще более удивительно, на момент написания статьи ATMEGA328PB-AU стоит всего треть цены ATMEGA328P-AU и имеет гораздо более стабильные поставки, чем последняя!ATMEGA328PB оснащен периферийным сенсорным контроллером (PTC) Atmel QTouch® и, несмотря на обратную совместимость, не является прямой заменой ATMEGA328P. Пожалуйста, обратитесь к конкретным таблицам данных для получения дополнительной информации.
Обратите внимание, что эти цены приведены только для справки и не включают налог. Если вашему проекту требуется альтернативное решение, пожалуйста, не стесняйтесь обращаться к нам за дальнейшим онлайн-предложением.
Microchip ATMEGA328P-AU | MICROCHIP ATMEGA328PB-AU | MICROCHIP ATMEGA168-20PU |
Цена @ 44. 8.8.8. USD (Справочная цена) | Цена @ 1 5,97 USD (справочная цена) | |
Корпус/Пакет TQFP-32 | Case/Package TQFP-32 | Case/Package PDIP-28 | /пакет PDIP-28 | .0029 Number of Pins 32 | Number of Pins 32 | Number of Pins 28 |
Core Architecture AVR | Core Architecture AVR | Core Architecture AVR |
Max Frequency 20 MHz | Макс. частота 20 МГц | Макс. частота 20 МГц |
Количество входов/выходов 23 | Количество входов/выходов 27 | 90 30 90 8|
Интерфейс 2-проводной, I2C, SPI, UART, USART | Интерфейс I2C, SPI, UART, USART | Интерфейс 2-проводной, I2C, SPI, последовательный, UART, USART 0 |
Memory Type FLASH | Memory Type EEPROM, FLASH | |
Memory Size 32 KB | Memory Size 32 KB | Memory Size 16 KB |
Peripherals Brown-out Detect/ Сброс, POR, PWM, WDT | Периферийные устройства Обнаружение/сброс пониженного напряжения, POR, PWM, WDT | Периферийные устройства Обнаружение/сброс пониженного напряжения, POR, PWM, WDT |