Atmega 168 или 328 в чем разница
Перейти к содержимому

Atmega 168 или 328 в чем разница

  • автор:

Урок 46. Другие платы Ардуино с микроконтроллерами ATmega168/328. Плата Arduino Pro Mini.

Arduino Pro Mini

Это одна из самых простых и миниатюрных плат Ардуино. На ней только минимум компонентов: микроконтроллер, кварцевый резонатор, блокировочные конденсаторы, два светодиода и стабилизатор напряжения.

Преобразователя интерфейсов плата не содержит. Для подключения к компьютеру через интерфейс USB, в том числе для загрузки программы из Arduino IDE, необходимо использовать внешний USB-UART конвертер.

Размеры платы Arduino Pro Mini всего 18 x 33 мм, что позволяет применять ее в проектах критичных к габаритам электроники.

Плата поставляется без впаянных разъемов. Это дает возможность выбрать свой способ подключения платы: впаять разъемы или выполнить соединение пайкой проводов.

Естественно, простота и миниатюрные размеры платы отразились на ее стоимости. Это одна из самых дешевых плат Ардуино. На момент написания статьи (февраль 2017 г.) по моей партнерской ссылке плата Arduino Pro Mini с микроконтроллером ATmega328 стоит всего 180 руб.

Arduino Pro Mini

Все вышесказанное делает привлекательным применение Arduino Pro Mini:

  • в проектах с ограниченными конструктивными размерами;
  • при отсутствии необходимости связи с компьютером;
  • при серийном выпуске;
  • при ограничениях на стоимость изделия.

Платы выпускаются в модификациях:

  • тип микроконтроллера ATmega168 или ATmega328;
  • напряжение питания 3,3 или 5 В.

В варианте с микроконтроллером ATmega168 объемы всех типов памяти (ОЗУ, FLASH и EEPROM) уменьшены в 2 раза.

В вариантах с питанием 3,3 В уменьшена тактовая частота с 16 до 8 мГц.

Характеристики платы Arduino Pro Mini.

Большей частью плата имеет такие же параметры, как и другие платы Ардуино с микроконтроллерами ATmega168/328.

Тип микроконтроллера ATmega168 ATmega328
Архитектура AVR
Напряжение питания микроконтроллера 3,3 или 5 В (в зависимости от модификации)
Напряжение питания платы 3,35 — 12 В (модификация 3,3 В) или 5,2 – 12 В (модификация 5 В)
Тактовая частота 8 мГц (модификация 3,3 В) или 16 мГц (модификация 5 В)
Объем оперативной памяти (SRAM) 1 кбайт 2 кбайт
Объем памяти программ (FLASH) 16 кбайт 32 кбайт
Объем энергонезависимой памяти (EEPROM) 512 байт 1 кбайт
Дискретные входы/выходы 14 ( 6 могут быть использованы для генерации ШИМ сигналов)
Аналоговые входы 6 или 8 входов
Максимально-допустимый ток цифрового выхода 40 мА (суммарный ток выводов не более 200 мА)
Размеры платы 18 x 33 мм

Назначение выводов платы Arduino Pro Mini.

Распиновка Arduino Pro Mini

Питание.

Arduino Pro Mini может получать питание следующими способами.

  • От внешнего стабилизированного источника питания напряжением 5 В. В этом случае используется вывод VCC.
  • От USB порта компьютера через преобразователь интерфейсов USB-UART, подключенный к 6 контактному разъему платы. Используется вывод VCC 6 контактного разъема.
  • От внешнего не стабилизированного источника питания напряжением до 12 В. В этом случае используется встроенный стабилизатор напряжения платы. Питание подключается через вывод RAW.

Схема питания платы Arduino Pro Mini выглядит так.

Схема питания Arduino Pro Mini

Перемычка SJ1 используется для отключения внутреннего стабилизатора платы в приложениях с низким энергопотреблением. На моем варианте платы этой перемычки нет.

В качестве стабилизатора напряжения питания микроконтроллера используется микросхема MIC5205. Это линейный стабилизатор с низким падением напряжения.

При внешнем питании платы через вывод RAW этот стабилизатор может быть использован для питания внешнего устройства через вывод VCC. Ток потребления ограничен нагрузочной способностью MIC5205 и не должен превышать 150 мА. Кроме того необходимо учитывать максимально-допустимую мощность рассеивания стабилизатора. По этой ссылке mic5205.pdf можно получить подробную информацию о MIC5205 и расчете максимальной мощности для этого стабилизатора.

Входы и выходы платы.

  • Все выводы, аналоговые или цифровые, могут работать в диапазоне от 0 до 5 В (от 0 до 3,3 В для модификации платы с питанием 3,3 В).
  • Для дискретного вывода в режиме выхода втекающий или вытекающий ток не должен превышать 40 мА. Суммарный ток выводов микроконтроллера должен быть не более 200 мА.
  • Все выводы микроконтроллера подключены к источнику питания через подтягивающие резисторы сопротивлением 20-50 кОм. Подтягивающие резисторы могут быть отключены программно.
  • Если на любой аналоговый или дискретный вход подать напряжение ниже 0 В или свыше 5 В (свыше 3,3 В для модификации с питанием 3,3 В), то оно будет ограничено защитными диодами микроконтроллера.

Защитные диоды на входах микроконтроллера

Сигналы с высоким напряжением и отрицательным напряжением должны подключаться к входам платы через ограничительные резисторы. В противном случае микроконтроллер обязательно выйдет из строя.

Цифровые выводы. У платы есть 14 цифровых выводов. Каждый из них может работать в режиме входа и выхода. Некоторые выводы еще имеют дополнительные функции.

Последовательный интерфейс UART: выводы 0(RX) и 1(TX). Используются для обмена данными по интерфейсу UART и загрузки программы в микроконтроллер из Arduino IDE. Плата не содержит преобразователя интерфейса USB-UART. Для связи с компьютером необходимо использовать внешний конвертер интерфейсов.

Входы внешних прерываний: выводы 2 и 3. К выводам могут быть подключены сигналы внешних аппаратных прерываний.

ШИМ: выводы 3,5,6,9, 10, 11. На этих выводах может быть сформирован аппаратным способом сигнал ШИМ. После сброса в системе установливаются параметры ШИМ: 8 бит, 500 Гц.

Интерфейс SPI: выводы 10 (SS), 11 (MOSI), 13 (SCK). Выводы аппаратного последовательного интерфейса SPI.

Интерфейс I2C: выводы 4 (SDA) и 5 (SCL). Сигналы аппаратного интерфейса I2C.

Светодиод: вывод 13. К этому выводу подключен светодиод общего назначения. Светится при высоком уровне сигнала на выводе 13.

Аналоговые входы: A0…A8. 6 или 8 аналоговых входов, предназначенных для измерения напряжения. Разрядность АЦП – 10 бит, что соответствует 1024 градациям сигнала. Время измерения порядка 100 мкс. Для сохранения точности выходное сопротивление источника сигнала не должно превышать 10 кОм.

RST. Сигнал сброса микроконтроллера. Низкий уровень приводит к перезагрузке системы. Вывод RST на 6 контактном разъеме имеет несколько другое назначение и используется при загрузке программы в микроконтроллер.

На плате есть 2 светодиода.

Светодиоды Arduino Pro Mini

  • Светодиод красного свечения, индицирующий наличие питания микроконтроллера.
  • Светодиод зеленого свечения. Управляется программой и может использоваться для любых целей по выбору разработчика.

Принципиальная схема платы Arduino Pro Mini.

Принципиальная схема Arduino Pro Mini

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

Загрузка программы в плату Arduino Pro Mini.

На платах Ардуино со встроенным конвертером интерфейсов эта операция происходит очень просто. Плата подключается стандартным кабелем к USB порту компьютера, нажимается кнопка в Arduino IDE и программа автоматически загружается в плату.

С платой Arduino Pro Mini все сложнее. Некуда подключать стандартный USB кабель.

Как происходит загрузка программ в платы Ардуино из среды Arduino IDE.

При нажатии кнопки ”Загрузка” в Arduino IDE происходит компиляция скетча. О чем сообщает надпись “Компиляция скетча” в нижней части окна.

Окно компиляция программы

Затем автоматически появляется сообщение “Загрузка”.

Окно загрузка программы

В этот момент Arduino IDE инициирует импульс низкого уровня на выходе DTR. DTR это один из сигналов управления передачей данных COM порта. Обычно он формируется на выходе встроенного преобразователя интерфейсов USB-UART.

Во всех платах Ардуино сигнал DTR подключен к выводу сброса микроконтроллера через конденсатор емкостью 0,1 мкФ. Получается простейшая дифференцирующая цепочка с постоянной времени 1 мс.

У платы Arduino Pro Mini внутреннего конвертера интерфейсов нет, поэтому сигнал DTR выведен на 6 контактный разъем. Схема сброса от сигнала DTR для Arduino Pro Mini выглядит так.

Схема сброса от сигнала DTR Arduino Pro Mini

Независимо от длительности импульса DTR на входе ”RESET” микроконтроллера будет сформирован короткий импульс сброса.

По любому сбросу микроконтроллер передает управление программе загрузчика. В течение примерно 1 секунды загрузчик ожидает связи с компьютером по протоколу STK500. Если данные от компьютера поступают, то происходит загрузка программы из Arduino IDE.

Если в течение секунды данные от компьютера не приходят, то управление передается пользовательской программе микроконтроллера. Так происходит, например, при включении питания. Секунду плата ожидает, не собираются ли в нее загружать данные, а затем выполняется уже загруженная программа.

Из всего вышесказанного становится понятно, что если плату Arduino Pro Mini подключить через полноценный конвертер интерфейсов с сигналами RXD, TXD и DTR, то загрузка будет происходит совершенно так же, как и в других платах Ардуино со встроенным преобразователем интерфейсов. Дополнительно можно использовать для питания платы сигнал 5 В интерфейса USB. Или 3,3 В для плат с питанием 3,3 В.

Для подключения внешнего преобразователя интерфейсов предназначен 6 контактный разъем платы Arduino Pro Mini (при необходимости его можно впаять). Разъем содержит все сигналы, необходимые для загрузки программы в плату.

6 контактный разъем Arduino Pro Mini

Надо только учитывать, что на некоторых платах сигналы RXI и TXO 6 контактного разъема могут соответствовать сигналам RXD и TXD микроконтроллера, а могут и быть включены наоборот. Например, как на этой плате.

Сигналы программирования Arduino Pro Mini

Лучше прозвонить цепи выводов RXI и TXO. На моей плате сигналы соответствуют. Схема подключения конвертера USB-UART к моей плате выглядит так.

Схема подключения конвертера USB-UART для программирования Arduino Pro Mini

Обратите внимание, что сигнал DTR надо подключать к выводу RST именно на 6 контактном разъеме. Он соединен с входом сброса микроконтроллера через дифференцирующий конденсатор. На плате есть еще один вывод RST. Он подключен непосредственно ко входу “RESET” микроконтроллера.

В качестве внешнего USB-UART конвертера можно использовать любой модуль, например, PL2303 USB-UART BOARD или модуль CH340. Не забудьте установить на компьютер драйвер для модуля преобразователя интерфейсов.

Беда в том, что большинство модулей – конвертеров интерфейсов не имеют на выходном разъеме сигнала DTR. Можно, конечно, припаять проводок к выводу DTR микросхемы конвертера. Практически на всех микросхемах преобразователей интерфейсов этот сигнал есть. Просто он не выведен на разъем модуля.

Другой способ – использовать кнопку ”RESET” платы Arduino Pro Mini.

Кнопка Arduino Pro Mini

При загрузке программы ее надо вовремя нажать. В момент, когда появилось сообщение ”Загрузка” в окне Arduino IDE необходимо кратковременно нажать эту кнопку. На это есть время примерно 1 секунда. В принципе это сделать несложно, но когда голова забита разработкой программы такая простая операция несколько напрягает.

В следующем уроке собираюсь начать новую большую тему – обмен данными между платами Ардуино.

Урок 45. Другие платы Ардуино с микроконтроллерами ATmega168/328. Плата Arduino Nano.

Arduino Nano

В последующих двух уроках расскажу о платах Ардуино функционально полностью совместимых с Arduino UNO R3, но имеющих другое конструктивное исполнение.

Плата Arduino UNO, наверное, имеет наибольшую популярность среди разработчиков электронных изделий на базе Ардуино. Она идеально подходит для отладки программной и аппаратной частей устройств на этапе разработки.

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

  • Плата Arduino UNO имеет небольшие размеры (69 x 54 мм), но ее некоторая избыточность позволяет в разы уменьшить размеры других вариантов плат. Например, у платы Arduino Pro Mini габариты всего 18 x 33 мм. Существует множество практических приложений, где размеры электроники играют решающее значение.
  • Подключение внешних сигналов к плате Arduino UNO происходит через разъемы. На этапе разработки это скорее плюс. А в готовом изделии разъемы резко снижают надежность устройства. При тяжелых условиях эксплуатации (вибрации, повышенная влажность и т.п.) разъемы платы Arduino UNO практически неработоспособны.
  • Плата Arduino UNO содержит преобразователь интерфейсов для подключения к компьютеру через порт USB. Но далеко не для всех устройств необходима связь с компьютером. Опять, то, что совершенно необходимо при отладке, оказывается лишним в рабочем устройстве.
  • Все перечисленное выше также влияет на стоимость платы Arduino UNO. Убрав лишнее, уменьшив размеры платы, появилась возможность снизить ее стоимость.

Речь идет о платах с теми же микроконтроллерами, имеющим те же характеристики, но с другими схемными и конструктивными решениями:

  • Arduino Nano;
  • Arduino Pro Mini.

Каждая из этих плат выпускается в двух вариантах с микроконтроллером ATmega328 и ATmega168. Во втором варианте в 2 раза уменьшаются объемы FLASH, ОЗУ и EEPROM.

Я собираюсь использовать эти платы в последующих уроках, поэтому решил рассказать о них.

Плата Arduino Nano.

Это небольшая плата размерами 19 x 43 мм. Тем не менее, по функциям и параметрам вполне заменяет Arduino UNO.

Arduino Nano

Как правило, не содержит разъемов для подключения внешних сигналов, но они легко могут быть запаяны.

У платы есть преобразователь интерфейса UART в USB и USB разъем для подключения к компьютеру.

Характеристики платы Arduino Nano.

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

Тип микроконтроллера ATmega168 ATmega328
Архитектура AVR
Напряжение питания микроконтроллера 5 В
Номинальное напряжение питания платы 7 – 12 В
Предельно-допустимое напряжение питания платы 6 – 20 В
Тактовая частота 16 мГц
Объем памяти программ (FLASH) 16 кбайт 32 кбайт
Объем оперативной памяти (SRAM) 1 кбайт 2 кбайт
Объем энергонезависимой памяти (EEPROM) 512 байт 1 кбайт
Дискретные входы/выходы 14 выводов ( 6 могут быть использованы для генерации ШИМ)
Аналоговые входы 8 входов
Предельно-допустимый ток цифрового выхода 40 мА (но не более 200 мА для всех выводов)
Ток потребления Не более 20 мА
Размеры платы 18,5 x 43 мм
Вес 7 г

Назначение выводов платы Arduino Nano.

Распиновка Arduino Nano

Питание.

Плата может получать питание двумя способами:

  • через кабель связи с компьютером от USB порта;
  • от внешнего источника питания напряжением 6-20 В. Напряжение может быть не стабилизировано, но с низким уровнем пульсаций.

Напряжение внешнего источника питания стабилизируется на уровне 5 В с помощью микросхемы LM1117IMPX-5.0. Напряжение USB порта компьютера подключается к выходу стабилизатора через диод Шоттки (с низким падением напряжения).

Схема питания

Таким образом, при одновременном подключении обоих источников плата питается от источника с большим напряжением.

Вывод 5 V может быть использован для питания внешнего устройства. Надо только помнить, что ток нагрузки не должен превышать для разных плат 500-800 мА.

К выводу 3.3V можно подключать питание внешних устройств напряжением 3,3 В. У моей платы ток нагрузки не должен превышать 180 мА.

Входы и выходы платы.

  • Все выводы, цифровые и аналоговые, могут работать в диапазоне 0 … 5 В.
  • Максимальный вытекающий или втекающий ток для цифрового вывода в режиме выхода не должен превышать 40 мА. Общий ток выводов не должен превышать 200 мА.
  • Все выводы могут быть программно подключены к источнику питания микроконтроллера 5 В через подтягивающие резисторы сопротивлением 20-50 кОм.
  • Если на аналоговый вход или дискретный вывод в режиме входа подать напряжение свыше 5 В или ниже 0 В, то оно будет ограничено защитными диодами микроконтроллера.

Схема входов ATmega168/328

В этих случаях сигнал должен подключаться через ограничительный резистор, иначе микроконтроллер может выйти из строя.

Цифровые выводы. У платы 14 цифровых выводов, каждый из которых может работать в режимах входа и выхода. Некоторые выводы имеют еще альтернативные функции.

Последовательный интерфейс UART: выводы 0(RX) и 1(TX). Используются для обмена данными по интерфейсу UART. Эти выводы платы непосредственно соединены с соответствующими выводами микроконтроллера. К ним же через резисторы сопротивлением 1 кОм подключены сигналы преобразователя интерфейса.

Схема подключения последовательного интерфейса

Таким образом, выводы платы имеют приоритет по отношению к сигналам преобразователя интерфейсов. При загрузке программы в плату или обмене данными с компьютером выводы RX и TX должны оставаться свободными.

Внешние прерывания: выводы 2 и 3. Выводы, которые могут быть использованы для формирования внешних прерываний.

ШИМ: выводы 3,5,6,9, 10, 11. На этих выводах может быть сформирован сигнал ШИМ аппаратным способом.

Последовательный интерфейс SPI: выводы 10 (SS), 11 (MOSI), 13 (SCK). Выводы аппаратного интерфейса SPI.

Светодиод: вывод 13. К этому выводу подключен светодиод, обозначенный на плате L. Светится при высоком уровне сигнала.

Аналоговые входы: A0…A8. 8 аналоговых входов для измерения напряжения с помощью встроенного АЦП. Разрядность АЦП – 10 бит.

Интерфейс I2C: выводы A4 (SDA) и A5 (SCL). Сигналы аппаратного интерфейса I2C.

AREF. Опорное напряжение для АЦП микроконтроллера. Определяет диапазон измерения напряжения на аналоговых входах.

RST. Сигнал сброса микроконтроллера. Низкий уровень приводит к перезагрузке системы.

Светодиоды.

На плате есть 4 светодиода, показывающие состояние сигналов.

Светодиоды контроллера

Обозначение на плате При каком уровне сигнала светится Назначение
TX низкий Сигнал TX активен
RX низкий Сигнал RX активен
PWR 5 В Питание есть
L высокий Светодиод общего назначения

Загрузка программы в плату из Arduino IDE происходит традиционным способом.

Принципиальная схема платы Arduino Nano.

Схемы плат разных производителей могут отличаться. Чаще всего различия касаются преобразователя интерфейсов USB-UART.

В китайских клонах обычно используются мосты USB-UART микросхемы CH340G. В фирменных платах преобразователь интерфейсов выполнен на микросхеме FT232RL.

Вот схема такого варианта платы Arduino Nano.

Принципиальная схема Arduino Nano

Микроконтроллер включен по стандартной схеме. Систему питания я уже объяснил.

Преобразователь интерфейсов FT232RL также включен по стандартной схеме. Сигнал DTR соединен через конденсатор емкостью 0,1 мкФ с выводом Reset микроконтроллера для формирования сигнала сброса при загрузке программы из Arduino IDE.

В следующем уроке я расскажу еще об одной плате на микроконтроллерах ATmega168/328. Об одной из самых миниатюрных плат — Arduino Pro Mini.

Разница между Atmega 168 и 328: подробное сравнение

kompter.ru

Atmega 168 и Atmega 328 – это два популярных микроконтроллера, выпускаемых компанией Atmel. Оба микроконтроллера являются частью семейства AVR и широко используются в электронике и робототехнике.

Однако, несмотря на сходство, у Atmega 168 и 328 есть и различия. Одно из основных отличий между ними – это объем памяти. Atmega 168 имеет 16 кБ флэш-памяти, 1 кБ оперативной памяти и 512 байт энергонезависимой памяти. В то время как у Atmega 328 объем флэш-памяти увеличен до 32 кБ, оперативная память составляет 2 кБ, а энергонезависимая память – 1 кБ.

Кроме того, Atmega 328 имеет больше входов-выходов (I/O) по сравнению с Atmega 168. В Atmega 168 их всего 23, в то время как в Atmega 328 их 28. Большее количество I/O позволяет использовать Atmega 328 для более сложных проектов, где требуется больше подключений и взаимодействий с внешними устройствами.

Несмотря на различия, оба микроконтроллера имеют ряд общих характеристик. К ним относятся: работа с тактовой частотой до 20 МГц, наличие 6 программных таймеров и встроенный UART для работы с последовательным интерфейсом. Они также обладают широкими возможностями по программированию и поддерживают различные языки программирования, такие как C и C++. Важно отметить, что Atmega 328 совместим с Atmega 168, что означает, что программы, написанные для Atmega 168, могут работать на Atmega 328 без изменений.

Архитектура и возможности

Микроконтроллеры Atmega 168 и 328 отличаются своей архитектурой и набором возможностей, хотя они имеют ряд общих характеристик и особенностей.

Atmega 168:

  • Архитектура: 8-битная
  • Тактовая частота: до 20 МГц
  • Внутренняя память Flash: 16 Кбайт
  • Оперативная память SRAM: 1 Кбайт
  • EEPROM: 512 байт
  • Количество входов/выходов: 23
  • Аналоговые входы: 6
  • ШИМ-каналы: 3
  • USART: 1
  • I2C: 1
  • SPI: 1
  • Таймеры: 2 (8-bit) и 1 (16-bit)

Atmega 328:

  • Архитектура: 8-битная
  • Тактовая частота: до 20 МГц
  • Внутренняя память Flash: 32 Кбайт
  • Оперативная память SRAM: 2 Кбайт
  • EEPROM: 1 Кбайт
  • Количество входов/выходов: 23
  • Аналоговые входы: 6
  • ШИМ-каналы: 6
  • USART: 1
  • I2C: 1
  • SPI: 1
  • Таймеры: 2 (8-bit) и 1 (16-bit)

Основные отличия между Atmega 168 и 328 заключаются в количестве памяти Flash, оперативной памяти и EEPROM. Atmega 328 имеет больше памяти, что позволяет ему работать с большими программами и данными.

Количество аналоговых входов, шим-каналов, а также наличие USART, I2C и SPI интерфейсов и таймеров у обоих микроконтроллеров одинаковое.

Выбор между Atmega 168 и 328 зависит от конкретной задачи. Если необходимо работать с большим объемом программного кода и данных, то лучше выбрать Atmega 328. Однако, если объем памяти не является критичным фактором или требуется более экономичное решение, то Atmega 168 также может быть подходящим вариантом.

Размер флеш-памяти и ОЗУ

ATmega168 и ATmega328 являются микроконтроллерами семейства Atmega. Они имеют некоторые существенные различия, включая размер флеш-памяти и оперативной памяти (ОЗУ).

ATmega168 имеет 16 Кб флеш-памяти, что означает, что он может хранить до 16 384 байт программного кода. Сравнительно, ATmega328 обладает в два раза большей флеш-памятью — 32 Кб, что позволяет хранить до 32 768 байт программного кода.

ОЗУ (оперативная память) также отличается между этими микроконтроллерами. У ATmega168 есть 1 Кб ОЗУ, что означает, что он может хранить 1024 байта данных во время выполнения программы. В то время как ATmega328 имеет 2 Кб ОЗУ, что в два раза больше, чем у ATmega168, и позволяет хранить 2048 байт данных.

Эти различия в размере флеш-памяти и ОЗУ могут быть существенными при разработке проектов. Большая флеш-память позволяет хранить более сложные программы и более объемные данные, что может быть важно для проектов, требующих большего объема кода или обработки данных. Большая ОЗУ может также быть полезна для более сложных проектов, требующих большего объема данных во время выполнения программы.

Важно учитывать размер флеш-памяти и ОЗУ при выборе микроконтроллера для конкретного проекта, чтобы быть уверенным, что он будет способен удовлетворить все требования программы.

Частота работы

Atmega 168 и Atmega 328 имеют некоторые различия в частоте работы. Рассмотрим каждый микроконтроллер по отдельности:

Atmega 168

Atmega 168 имеет следующие характеристики:

  • Частота внутреннего генератора — 1 МГц, 8 МГц или 16 МГц;
  • Возможность внешнего подключения кварцевого резонатора или источника тактирования.

Atmega 328

Atmega 328 имеет следующие характеристики:

  • Частота внутреннего генератора — 1 МГц, 8 МГц или 16 МГц;
  • Возможность внешнего подключения кварцевого резонатора или источника тактирования.

Таким образом, различий в частоте работы между Atmega 168 и Atmega 328 нет, они оба могут работать на одних и тех же частотах.

Количество входов/выходов

Микроконтроллеры Atmega 168 и 328 оба имеют порты ввода/вывода (GPIO), которые могут использоваться для подключения внешних устройств и датчиков.

Atmega 168 имеет 23 GPIO-пина, из которых 14 могут использоваться для вывода (в режиме выхода), а остальные 9 — для ввода (в режиме входа).

Atmega 328 имеет больше GPIO-пинов — 32, из которых 14 могут использоваться для вывода, а 19 — для ввода.

Оба микроконтроллера поддерживают прерывания на GPIO-пинах, что позволяет реагировать на изменение состояния пина (входного или выходного) и выполнять определенные действия.

Наличие дополнительных GPIO-пинов на Atmega 328 может быть полезно в проектах, требующих подключения большего количества внешних устройств или датчиков.

Однако, иногда в проектах требуется небольшое количество GPIO-пинов, поэтому Atmega 168 может быть более экономичным решением.

Микроконтроллер Количество GPIO-пинов для вывода Количество GPIO-пинов для ввода
Atmega 168 14 9
Atmega 328 14 19

Интерфейсы

Atmega 168 и 328 оба содержат несколько различных типов интерфейсов для подключения к внешним устройствам:

  • I2C (TWI): оба микроконтроллера имеют встроенный интерфейс I2C (TWI), который позволяет подключать различные устройства, такие как датчики и дисплеи, используя всего две жилы для обмена данными.
  • SPI: оба микроконтроллера также имеют интерфейс SPI, который обеспечивает коммуникацию с другими устройствами с помощью четырех проводов — MOSI, MISO, SCK и SS.
  • UART (USART): Atmega 168 и 328 оба оборудованы UART (USART), который может использоваться для подключения к компьютеру или другому микроконтроллеру.
  • Аналоговые входы: оба микроконтроллера имеют несколько аналоговых входов, которые могут быть использованы для подключения датчиков или других аналоговых устройств.

Кроме того, Atmega 328 имеет дополнительные интерфейсы, которых нет у Atmega 168:

  • UART1 (USART1): Atmega 328 имеет второй UART (USART1), который может использоваться для подключения к другому устройству UART.
  • I2C (TWI) второго порта: Atmega 328 также имеет второй порт I2C (TWI), позволяющий подключать дополнительные устройства I2C.
  • Улучшенный порта SPI: Atmega 328 имеет улучшенный порт SPI, который поддерживает более быстрый обмен данными.

Потребление энергии

Вопрос потребления энергии в микроконтроллерах Atmega 168 и 328 имеет большое значение при разработке низкопотребляющих устройств.

Оба микроконтроллера отличаются по стандартным значениям тока потребления в различных режимах работы.

Atmega 168 имеет следующие значения тока потребления:

  • Режим активной работы (Active): 3.6 мА (при частоте 8 МГц и напряжении питания 5 В).
  • Режим ожидания (Idle): 0.7 мА (при частоте 8 МГц и напряжении питания 5 В).
  • Режим сна (Power-down): 0.13 мА (при частоте 1 МГц и напряжении питания 5 В).

Atmega 328 имеет следующие значения тока потребления:

  • Режим активной работы (Active): 1.5 мА (при частоте 8 МГц и напряжении питания 5 В).
  • Режим ожидания (Idle): 0.6 мА (при частоте 8 МГц и напряжении питания 5 В).
  • Режим сна (Power-down): 0.1 мА (при частоте 1 МГц и напряжении питания 5 В).

Как видно из значений, Atmega 328 потребляет меньше энергии во всех режимах работы по сравнению с Atmega 168. Это делает Atmega 328 хорошим выбором для проектов, где важна низкая потребляемая мощность.

Также стоит отметить, что потребление энергии может зависеть от других факторов, таких как скорость работы процессора, использование периферийных устройств и т. д. Поэтому при разработке низкопотребляющих устройств рекомендуется проводить тестирование и оптимизацию потребления энергии для конкретного проекта.

Стоимость и доступность

Оба микроконтроллера Atmega 168 и 328 являются доступными и популярными в мире микроконтроллерами. Они широко используются в проектах различной сложности.

Стоимость микроконтроллеров Atmega 168 и 328 зависит от многих факторов, включая страну производства, тип пакета и магазин, в котором они приобретаются. В среднем, стоимость Atmega 328 немного выше по сравнению с Atmega 168. Однако эта разница в цене небольшая и не существенно влияет на общую стоимость проекта.

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

Благодаря своей популярности и распространенности, Atmega 168 и 328 также можно найти в некоторых локальных магазинах электроники или техники.

Сравнение стоимости:

Микроконтроллер Средняя стоимость
Atmega 168 100-150 рублей
Atmega 328 150-200 рублей

Цены указаны примерно и могут меняться в зависимости от времени и места приобретения.

Оба микроконтроллера являются отличным выбором по соотношению «цена-качество» и доступны для широкой аудитории инженеров, студентов и энтузиастов. Стоимость и доступность Atmega 168 и 328 позволяют использовать их в различных проектах и экспериментах без значительных финансовых затрат.

Вопрос-ответ

Какие основные отличия между Atmega 168 и 328?

Главное отличие между Atmega 168 и 328 заключается в объеме встроенной памяти. Atmega 168 имеет 16 килобайт флэш-памяти, в то время как Atmega 328 имеет увеличенный объем — 32 килобайта. Кроме того, Atmega 328 имеет большее количество GPIO-пинов и аппаратных UART интерфейсов, чем Atmega 168.

Какой микроконтроллер лучше выбрать для своего проекта: Atmega 168 или 328?

Выбор между Atmega 168 и 328 зависит от требований вашего проекта. Если вам необходим больший объем памяти и дополнительные GPIO-пины, то лучше выбрать Atmega 328. Однако, если вам нужна экономия памяти и микроконтроллер с меньшими размерами, то Atmega 168 подойдет лучше.

Можно ли просто заменить Atmega 168 на Atmega 328 в своем проекте?

В общем случае да, возможно заменить Atmega 168 на Atmega 328 в своем проекте. Однако, перед заменой вам необходимо убедиться, что аппаратное и программное обеспечение вашего проекта совместимы с Atmega 328. Также стоит учесть, что Atmega 328 имеет больший потребляемый ток, поэтому возможно потребуется более мощное питание.

Могу ли я использовать те же программы и библиотеки с Atmega 328, что я использовал с Atmega 168?

В большинстве случаев да, вы можете использовать те же программы и библиотеки с Atmega 328, что вы использовали с Atmega 168. Однако, возможны некоторые различия в работе, так как Atmega 328 имеет больший объем памяти и некоторые дополнительные функции. Перед использованием на новом микроконтроллере рекомендуется провести тестирование и адаптацию программного обеспечения для оптимальной работы.

Какие еще параметры микроконтроллеров Atmega 168 и 328 стоит рассмотреть при выборе?

Помимо объема памяти, при выборе между Atmega 168 и 328 стоит обратить внимание на такие параметры, как тактовая частота, количество GPIO-пинов, наличие аппаратных интерфейсов (например, UART), а также наличие дополнительных функций, которые могут быть полезными для вашего проекта. Также стоит учесть потребление энергии и стоимость микроконтроллера.

Atmega 168 или 328: в чем отличия и какой лучше выбрать

v3.wdzd.ru

Atmega 168 и Atmega 328 — две популярные микроконтроллерные платы, которые широко используются в различных проектах. Они представляют собой микросхемы, основанные на архитектуре AVR, которые обеспечивают обработку информации и управление электронными компонентами.

Одной из ключевых различий между Atmega 168 и Atmega 328 является объем памяти. Atmega 328 имеет больший объем памяти по сравнению с Atmega 168, что позволяет хранить большее количество программного кода, переменных и данных. Это особенно важно при работе с проектами, требующими больших объемов информации, например, при использовании графического интерфейса или работы с различными датчиками и модулями.

Кроме того, Atmega 328 обладает некоторыми дополнительными функциями и возможностями по сравнению с Atmega 168. Например, Atmega 328 имеет большее количество пинов ввода-вывода, что делает его более гибким при подключении различных компонентов и периферийных устройств. Также Atmega 328 поддерживает аппаратное шимирование, что позволяет регулировать яркость светодиодов и скорость работы моторов с помощью аппаратных средств.

Выбор между Atmega 168 и Atmega 328 зависит от конкретной задачи и требований проекта. Если вам необходимо обрабатывать большие объемы информации или использовать дополнительные функции, то Atmega 328 является лучшим выбором. Однако, если ваши требования более скромные или у вас ограниченный бюджет, то Atmega 168 также может подойти для ваших нужд.

Atmega 168 или 328: как выбрать подходящую микроконтроллерную плату

Частота процессора: Одним из основных отличий между Atmega 168 и 328 является частота процессора. Atmega 168 работает на частоте 16 МГц, в то время как Atmega 328 может работать на частоте 16 или 20 МГц. Если вам требуется более высокая производительность, то Atmega 328 может быть предпочтительнее выбором.

Память: Еще одним важным фактором при выборе микроконтроллерной платы является объем памяти. Atmega 168 имеет 16 Кб флеш-памяти, 1 Кб Энергонезависимой памяти (EEPROM) и 512 байт оперативной памяти (RAM). С другой стороны, Atmega 328 имеет 32 Кб флеш-памяти, 1 Кб EEPROM и 2 Кб RAM. Если вам нужно больше места для хранения программ и данных, стоит выбрать Atmega 328.

Количество GPIO портов: GPIO порты представляют собой основные интерфейсы для подключения внешних устройств к микроконтроллеру. Atmega 168 имеет 22 GPIO порта, в то время как Atmega 328 имеет 23 GPIO порта. Если вам нужно больше GPIO портов для подключения дополнительных устройств, Atmega 328 может быть более подходящим вариантом.

Цена: Наконец, стоит обратить внимание на стоимость микроконтроллерных плат. Обычно Atmega 168 стоит немного дешевле, чем Atmega 328. Если вам нужна недорогая плата с базовыми характеристиками, Atmega 168 может быть оптимальным выбором.

Окончательный выбор между Atmega 168 и 328 зависит от ваших потребностей и задач. Если вы ищете микроконтроллерную плату с более высокой производительностью, большей памятью и дополнительными GPIO портами, то Atmega 328 может быть лучшим вариантом. Однако, если вам важна стоимость и вы не нуждаетесь в больших объемах памяти и GPIO портах, то Atmega 168 подойдет вам лучше.

Описание и назначение микроконтроллеров Atmega 168 и 328

Atmega 168 и 328 оба основаны на архитектуре RISC и работают на тактовой частоте до 20 МГц. Оба микроконтроллера обладают 32 Кб флеш-памяти для программного кода, 2 Кб оперативной памяти SRAM и 1 Кб энергонезависимой памяти EEPROM. Кроме того, оба микроконтроллера имеют широкий набор периферийных устройств, таких как UART, SPI, I2C, а также аналогово-цифровые преобразователи (ADC).

Главное отличие между Atmega 168 и 328 касается количества входов/выходов GPIO (General Purpose Input/Output). Atmega 168 имеет 20 GPIO, в то время как Atmega 328 имеет 23 GPIO. Это может быть важным параметром при разработке проектов, требующих большего количества входов/выходов.

Характеристика Atmega 168 Atmega 328
Архитектура RISC RISC
Частота До 20 МГц До 20 МГц
Флеш-память 32 Кб 32 Кб
Оперативная память 2 Кб 2 Кб
Энергонезависимая память 1 Кб 1 Кб
GPIO 20 23

Выбор между Atmega 168 и 328 зависит от конкретной задачи и требований проекта. Если необходимо больше входов/выходов, Atmega 328 может быть предпочтительней. Однако, если количество GPIO не является критичным параметром, то Atmega 168 может быть более экономичным вариантом, так как обладает более низкой стоимостью. В конечном итоге, выбор микроконтроллера будет зависеть от конкретных потребностей проекта и его бюджета.

Различия в архитектуре микроконтроллеров Atmega 168 и 328

1. Количество памяти:

Atmega 168 оснащен 16 Кбайтами флеш-памяти, 1 Кбайтом EEPROM-памяти и 1 Кбайтом SRAM-памяти. В то время как Atmega 328 предлагает 32 Кбайта флеш-памяти, 1 Кбайт EEPROM-памяти и 2 Кбайта SRAM-памяти. Это означает, что Atmega 328 имеет больше памяти для программ и данных, что делает его предпочтительным выбором для проектов с более сложной логикой и большим объемом информации для хранения.

2. Скорость процессора:

Оба микроконтроллера имеют тактовую частоту 16 МГц и используют один и тот же внутренний резонатор. У Atmega 168 и 328 одинаковая скорость работы, так что в этом отношении они идентичны.

3. Количество портов:

Atmega 168 и Atmega 328 имеют одинаковое количество портов ввода/вывода — 23 порта. Это означает, что можно подключать одинаковое количество периферийных устройств и работать с ними параллельно на обоих микроконтроллерах.

4. Наличие аппаратного UART:

Atmega 168 не имеет встроенного аппаратного UART, в то время как Atmega 328 поддерживает один аппаратный UART. Это означает, что Atmega 328 может использоваться для более простой и удобной реализации последовательной коммуникации, тогда как Atmega 168 может потребовать дополнительного программного обеспечения для реализации такой функциональности.

Итоги:

Atmega 168 и 328 имеют ряд схожих характеристик, но различия в памяти, наличии аппаратного UART могут определить их применение в различных проектах. Если вам необходим больший объем памяти и поддержка аппаратного UART, то Atmega 328 будет лучшим выбором. В противном случае, Atmega 168 может быть экономичным вариантом для меньших проектов с более ограниченными требованиями.

Разница в объеме памяти микроконтроллеров Atmega 168 и 328 и ее влияние на функциональность

Atmega 168 имеет 16 килобайт внутренней флэш-памяти, которая используется для хранения программного кода. Он также оснащен 1 килобайтом оперативной памяти (RAM) и 512 байт энергонезависимой памяти (EEPROM), которая предназначена для хранения данных после отключения питания.

С другой стороны, Atmega 328 обладает большим объемом памяти. Он имеет 32 килобайта внутренней флэш-памяти, 2 килобайта оперативной памяти (RAM) и 1 килобайт энергонезависимой памяти (EEPROM). Больший объем памяти позволяет загружать более сложные программы, хранить больше данных и эффективнее работать с переменными.

Разница в объеме памяти между Atmega 168 и 328 может быть важным фактором при выборе подходящей микроконтроллерной платы для вашего проекта. Если вам нужно запустить простое приложение или маленький проект, Atmega 168 может быть достаточным. Однако, если вам требуется более сложная программная логика, обработка большого объема данных или работа с большим количеством переменных, лучше выбрать Atmega 328 для обеспечения более широких возможностей.

Кроме того, больший объем памяти Atmega 328 может упростить процесс разработки и программирования, так как позволяет избежать переполнения памяти и ограничений на количество хранимых данных.

Итак, при выборе микроконтроллерной платы Atmega 168 или 328, следует учитывать объем памяти, чтобы подобрать подходящий вариант для вашего проекта с учетом его требований к функциональности.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *