Atmega 328: ATmega328-AU, Микроконтроллер 8-Бит, AVR, 20МГц, 32КБ Flash [TQFP-32], Microchip
|Содержание
Как перейти от Arduino к серийному образцу. Минимальная обвязка AtMega 328
Вот вы написали программу, и залили её в свой UNO. Всё великолепно работает, но такую громадную железку не запихнуть в миниатюрный корпус. Да и вдруг, вы хотите сделать 100 таких устройств, а зачем вам увеличение себестоимости, ведь на платах Arduino куча ненужного барахла.
Ну что же, попробуем. Для начала, как мы помним, в самых распространённых платах Nano и Mega, используется камень AtMega328P. Логично, что для его запуска, нам нужно подать питание на него. Для этого здесь достаточно много пинов VCC и GND, особенно в планарных типах корпуса. Связано это с топологией чипа на уровне производства, ведь каждый пин контроллера держит токовую нагрузку, поэтому МК должен быть запитан равномерно со всех сторон
Пин AREF отвечает за опорное напряжение АЦП, туда можно подать напряжение, относительно которого вы хотите читать результаты, или, если это будет 5в, или 2.5 от внутреннего делителя, то подтянуть конденсатором к питанию. Также, по классике, на линию питанию нужно повесить конденсаторы для сглаживанию питающего напряжения — от этого зависит стабильность микроконтроллера.
Знаете, на arduino, есть такая кнопка — Reset, от которой можно перезагрузить МК. Это такой выход i/o, на который на который вроде бы можно повесить периферию, но с большими ограничениями. Поэтому, если вам хватает ног, лучше не трогайте этот пин. Изначально он подтянут внутренним резистором, но лучше, для надёжности и стабильности сделать внешнюю подтяжку резистором 10кОм. Перезагружать готовое устройство нужды особой нет — кнопку ставить не будем.
Теперь нужно разобраться с тактированием. Arduino работает на частоте 16Мгц, т.е. от внешнего кварца. Если вы продолжаете работать на этой частоте, то этот кварц нужно установить на создаваемую плату, вместе с конденсаторами 22пФ.
Но если точность вычислений вам не сильно нужна, а хочется сэкономить в размерах, как иногда мне, то кварц можно вообще не ставить, а тактироваться от внутренней RC цепочки с 8Мгц. Как скомпилировать прошивку в arduino с другой частотой в 8Мгц, я расскажу позже. А пока рассмотрим самую важную часть — как программировать то голый микроконтроллер? Ведь usb выхода у него нет. Есть разные пути, но самый простой — использовать внутрисхемное программирование SPI. И купить дешёвый программатор USB ASP. Мой выглядит так, у него не подписаны контакты
Нарисовал удобную распиновку, если смотреть со стороны контактов. Для SPI нам важны 5 контактов, но я обычно беру и питание с программатора — MISO, MOSI, SCK, RST, GND
Также у меня лежит самодельный UsbAsp, но он громоздкий, и у него не сделан вывод 3.3в, поэтому я его давно не использую
Теперь рассмотрим, какие выводы мы будем использовать для программирования на принципиальной схеме МК.
Теперь если подать питание, и подключить выводы программатора MOSI, MISO, SCK, RESET, GND то можно приступать к программированию. Как помните, из предыдущей статьи, где мы рассказали как достать HEX файл из среды Arduino, IDE делает два файла — *. hex и *with_bootloader.hex. Загрузчик нам не нужен, поэтому будем использовать обычный *.hex. Есть один нюанс — при покупке голого кристалла, он запрограммирован на RC цепочку 1Мгц. Да и вообще у atmega, есть система фьюз-битов. Выглядит это обычно не очень понятно, но конечно в среде Arduino всё это вырезано, чтоб не смущать новичков. Чтобы добраться до этих конфигураций, полезно будет скачать программу AVRDUDE. Главное окно выглядит так, здесь нужно сразу выбрать нужный МК
Переходим во вкладку Fuses — здесь, чтобы не наделать бед, а если вы запишите неправильные данные, контроллер можно превратить почти в кирпич (что не очень удобно на распаянной smd плате), я сначала СЧИТЫВАЮ биты, заодно можно убедиться в правильности подключения программатора к МК. Если всё хорошо — получаем такую картинку
Чтобы правильно выставить fuse-биты, нужно воспользоваться помощью специального калькулятора. Я пользуюсь этим. Тут также нужно выбрать чип, способ тактирования и другие параметры. В принципе для смены частоты достаточно сменить блок CKSEL фьюзов. В данном случае я выбрал Int RC — 8Mhz.
Получил картинку фьюзов.
А теперь переносим параметры в AVR DUDE, также калькулятор включает делитель на 8, бит CKDIV8, он нам не нужен. Можете пользоваться нижеприведённым скриншотом, для запуска atmega 328p на 8Мгц от внутреннего RC осциллятора.
Жмём запись — и МК принимает необходимую конфигурацию. Теперь осталось залить прошивку, но ведь она у нас рассчитана на 16Мгц, но в Arduino IDE, есть простой путь скомпилировать прошивку для atmega 328, для частоты 8Мгц. Нужно выбрать плату arduino pro, и указать частоту 8mhz
Как вы заметили, напротив чипа, стоит напряжение 3.3В при пониженной частоте — всё верно, но это не означает, что нельзя запитать кристалл от 5В. Зато от 3.3В теперь можно). Теперь после компиляции нам осталось по знакомому пути найти файл прошивки в формате HEX, и вернуться в AVR DUDE. Выбрать файл прошивки — и нажать программирование.
Всё! Вы избавились от лишней периферии Arduino, можете сделать плату в своём дизайне PCB, а прошивку использовать с вашего прототипа. В следующей статье, мы сделаем свою плату игральных костей в размере 4х4 см, чтобы упаковать в маленький корпус, и проделаем эти шаги на практике.
Atmega 328 в категории «Техника и электроника»
Arduino Nano v 3.0, (ATmega328p/Ch440G) [mini USB]
На складе в г. Винница
Доставка по Украине
170 грн
Купить
Arduino pro mini (atmega328p) [5V, 16mHz]
На складе в г. Винница
Доставка по Украине
160 грн
Купить
Arduino NANO V3.0, ATmega328P, Ch440, 5В, 16МГц, разъем MiniUSB
Доставка из г. Васильков
165 грн
Купить
Arduino UNO R3 (ATmega328 + Ch440G) [#F-7]
На складе в г. Запорожье
Доставка по Украине
220 грн
Купить
Плата Arduino Nano V3.0 AVR ATmega328 P-20AU Ch440
На складе
Доставка по Украине
225 — 270 грн
от 16 продавцов
225 грн
Купить
Arduino UNO R3 (ATmega328 + Ch440G)
На складе в г. Винница
Доставка по Украине
210 грн
Купить
Плата Arduino Uno R3, ATmega328P-AU, USB, AVR, USB кабель
На складе
Доставка по Украине
303 — 425 грн
от 10 продавцов
539 грн
377 грн
Купить
Arduino Nano V3.0 AVR ATmega328 P-20AU плата Ch440
На складе
Доставка по Украине
231 — 280 грн
от 6 продавцов
400 грн
280 грн
Купить
Arduino Uno R3 ATmega328P U + ATmega16U2
На складе в г. Николаев
Доставка по Украине
410 грн
Купить
Плата Arduino Nano ATmega328P V3.0 Ch440
На складе
Доставка по Украине
210 грн
Купить
Arduino UNO R3 (ATmega328 + ATmega16) [#F-8]
На складе в г. Запорожье
Доставка по Украине
385 грн
Купить
Плата Arduino Pro Mini ATmega328P 5V 16Mhz
На складе
Доставка по Украине
190 грн
Купить
Плата Arduino Uno R3 Ch440 (Ревизия 2020 ATmega328P)
На складе в г. Вознесенск
Доставка по Украине
286 грн
240.24 грн
Купить
ARDUINO UNO R3 ATmega328P Rev 3.0 USB-B + USB Кабель
На складе в г. Кропивницкий
Доставка по Украине
по 300 грн
от 2 продавцов
300 грн
Купить
Arduino UNO R3 ATmega328P dip, ATMEGA16U2
На складе в г. Кропивницкий
Доставка по Украине
по 450 грн
от 2 продавцов
450 грн
Купить
Смотрите также
Arduino pro mini (atmega328p) [3.3V, 8mHz]
На складе в г. Винница
Доставка по Украине
160 грн
Купить
Плата Arduino Uno R3, ATmega328P-AU, USB, AVR, USB кабель
На складе в г. Ровно
Доставка по Украине
по 300 грн
от 15 продавцов
300 грн
Купить
Контроллер Arduino NANO ATmega328 ардуино нано разъём Type-C
Доставка по Украине
285 грн
Купить
Arduino Nano Ch440G ATMEGA328P
На складе в г. Харьков
Доставка по Украине
215 грн
Купить
Arduino Pro Mini ATMEGA328PB 5V (Микроконтроллер Про Мини)
На складе в г. Вознесенск
Доставка по Украине
215 грн
Купить
Плата Arduino Uno R3, ATmega328P-AU, USB, AVR, USB кабель
На складе в г. Ровно
Доставка по Украине
300 грн
Купить
Плата Arduino Nano v3 16 МГц ATmega328 P-20AU Ch440 2000-01916
На складе
Доставка по Украине
225 грн
Купить
Плата Arduino Nano ATMega328P V3.0 Ch440 с распаянными коннекторами
На складе
Доставка по Украине
220 грн
Купить
Плата для контроллера v.1.1 на AtMega 168/328 + ESP01 от Mega-Radiodetali
На складе
Доставка по Украине
168 грн
Купить
Плата для контроллера v. 2.1 на AtMega 168/328 + ESP01 от Mega-Radiodetali
На складе
Доставка по Украине
322 грн
Купить
Arduino UNO R3 ATmega328P Rev 3.0 USB-B
На складе
Доставка по Украине
288.88 грн
259.99 грн
Купить
Плата Arduino Nano V3.0 AVR ATmega328 P-20AU Ch440
Доставка по Украине
по 225 грн
от 3 продавцов
225 грн
Купить
Плата Arduino Uno R3, ATmega328P-AU, USB, AVR + USB кабель
Доставка по Украине
по 300 грн
от 3 продавцов
300 грн
Купить
Микроконтроллер ATMEGA328P-PU с загрузчиком DIP28
На складе в г. Одесса
Доставка по Украине
334 грн
Купить
Три альтернативы микроконтроллеру 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
Как видно из таблицы, микроконтроллер AVR ATMEGA328PB-AU также имеет 32 КБ флэш-памяти программ, 2 КБ ОЗУ и такой же размер, как 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 | |
Интерфейс 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 |
КОД ЗАКАЗА | ПАКЕТ |
ATmega328/328P-AU | 32А |
ATmega328/328P-АВР | 32А |
ATmega328/328P-MU | 32М1-А |
ATmega328/328P-МУР | 32М1-А |
ATmega328/328P-PU | 28П3 |
- СКОРОСТЬ (МГц) — 20
- ИСТОЧНИК ПИТАНИЯ (В) — 1,8 — 5,5
- РАБОЧИЙ ДИАПАЗОН — Промышленный (-40C — 85C)
ATmega328/328P и ARDUINO UNO
- ATmega328/328P — это микроконтроллер, используемый на плате Arduino UNO.
- Когда мы загружаем код в Arduino UNO, он фактически загружается в микроконтроллер Atmega328328P.
- Программный драйвер, называемый загрузчиком, предварительно установлен во флэш-памяти микроконтроллера Atmega328, что делает его совместимым с Arduino IDE.
Контакты ATmega328/328P и ARDUINO UNO:
Контакты ATmega328/328P подключаются к соответствующим контактам Arduino. Их соединение друг с другом показано на схеме выводов, показанной на рисунке ниже.
Хотя Atmega328P и Atmega328 архитектурно одинаковы во всех смыслах. Таким образом, вы можете просто добавить 328p вместо 328 и наоборот.
РАЗНИЦА МЕЖДУ ATMEGA328/328P
Atmega328P просто потребляет меньше энергии, чем Atmega328. Посмотрите цифры в даташите. Это означает, что 328P производится в более тонком процессе, чем 328. Пример: 328 может быть 90-нанометровый процесс, а 328P может быть 60-нанометровым. Вариант пакета TQFP для чипа доступен только в 328P, а не в 328. Это потому, что вам нужен более тонкий процесс, чтобы получить меньший кристалл чипа, чтобы поместиться в меньший корпус, такой как TQFP.
Сигнатуры чипов 328P и 328 разные. Поэтому, если какая-либо программа считывает эти сигнатуры для принятия решения (в Arduino), вам придется быть настороже, поскольку программное обеспечение может жаловаться, говоря, что был использован неправильный чип.
Многие люди также путают 328P и 328-PU. Буква P в первом случае (328P) указывает пико-мощность. Буква P во втором случае (328-PU) указывает на упаковку (PDIP). Если вам нужен чип питания pico в корпусе PDIP, вы должны были получить ATMEGA328P-PU.
Технические характеристики
Описание | ATmega328/328P |
Рабочее напряжение | 1,8–5,5 В |
Диапазон температур | от -40°C до 105°C |
Потребляемая мощность при 1 МГц, 1,8 В, 25°C | – Активный режим: 0,2 мА — Режим отключения питания: 0,1 мкА — Режим энергосбережения: 0,75 мкА (включая RTC 32 кГц) |
Расширенная архитектура RISC | 131 Мощные инструкции – Наибольшее количество выполненных циклов за один такт — 32 x 8 рабочих регистров общего назначения — Полностью статическая операция — пропускная способность до 20 MIPS на частоте 20 МГц — Встроенный 2-тактный умножитель |
Сегменты долговременной энергонезависимой памяти | — 32 КБ внутрисистемной самопрограммируемой флэш-памяти программ – 1 КБ EEPROM — 2 КБ внутренней SRAM — Циклы записи/стирания: 10 000 флэш-памяти/100 000 EEPROM – Срок хранения данных: 20 лет при 85°C/100 лет при 25°C(1) — Дополнительный раздел загрузочного кода с независимыми битами блокировки • Внутрисистемное программирование с помощью встроенной программы загрузки • Истинная операция чтения во время записи — Блокировка программирования для безопасности программного обеспечения |
Периферийные элементы | — два 8-битных таймера/счетчика с отдельным предделителем и режимом сравнения — один 16-разрядный таймер/счетчик с отдельным предделителем, режимом сравнения и режимом захвата – Счетчик реального времени с отдельным генератором — Шесть каналов ШИМ — 8-канальный 10-разрядный АЦП в корпусе TQFP и QFN/MLF • Измерение температуры — 6-канальный 10-битный АЦП в корпусе PDIP • Измерение температуры — два последовательных интерфейса SPI Master/Slave — Один программируемый последовательный USART — однобайтовый 2-проводной последовательный интерфейс (совместимый с Philips I2C) — Программируемый сторожевой таймер с отдельным встроенным генератором — Один встроенный аналоговый компаратор — Прерывание и пробуждение при смене контакта |
Специальные функции микроконтроллера | — сброс при включении питания и программируемое обнаружение отключения питания — Внутренний калиброванный осциллятор — Внешние и внутренние источники прерываний — Шесть режимов сна: бездействие, шумоподавление АЦП, энергосбережение, отключение питания, режим ожидания и расширенный режим ожидания |
ATMEGA328P PU и ATMEGA328P U
ATmega328P-PU — это тот же чип микроконтроллера, что и на платах Arduino Uno, но в совместимом с макетом корпусе.