Типы микроконтроллеров AVR - Atmega32 и ATmega8

Попробуйте наш инструмент устранения неполадок





ATmega32 - 8-битный микроконтроллер AVR

Микроконтроллеры AVR основаны на продвинутой архитектуре RISC. ATmega32 - это 8-битный КМОП-микроконтроллер с низким энергопотреблением, основанный на архитектуре RISC, улучшенной AVR. AVR может выполнять 1 миллион инструкций в секунду, если частота цикла составляет 1 МГц.

40-контактный DIP Фотография ATmega32

40-контактный DIP Фотография ATmega32



Ключевая особенность:


  • 32 х 8 регистров общего рабочего назначения.
  • 32 Кбайт встроенной в систему самопрограммируемой флэш-памяти программ
  • 2 Кбайт внутренней SRAM
  • 1024 байта EEPROM
  • Доступен в 40-контактном DIP, 44-контактном QTFP, 44-контактном QFN / MLF
  • 32 программируемых линии ввода / вывода
  • 8-канальный, 10-битный АЦП
  • Два 8-битных таймера / счетчика с отдельными предделителями и режимами сравнения
  • Один 16-битный таймер / счетчик с отдельным предварительным делителем, режимом сравнения и режимом захвата.
  • 4 канала ШИМ
  • В системном программировании с помощью встроенной программы загрузки
  • Программируемый сторожевой таймер с отдельным встроенным генератором.
  • Программируемый серийный USART
  • Ведущий / ведомый последовательный интерфейс SPI

Специальные функции микроконтроллера:

  • Шесть спящих режимов: режим ожидания, шумоподавление АЦП, энергосбережение, отключение питания, режим ожидания и расширенный режим ожидания.
  • Внутренний калиброванный RC-генератор
  • Внешние и внутренние источники прерываний
  • Сброс при включении и программируемое обнаружение обесточивания.
40-контактный DIP ATmega32

40-контактный DIP ATmega32



Все 32 регистра напрямую подключены к арифметико-логическому устройству (ALU), что позволяет получить доступ к двум независимым регистрам в одной инструкции, выполняемой за один такт.

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

Режим шумоподавления АЦП останавливает ЦП и все модули ввода / вывода, кроме АЦП и асинхронного таймера. В режиме ожидания, кроме кварцевого генератора, остальная часть устройства находится в спящем режиме. И основной генератор, и асинхронный таймер продолжают работать в расширенном режиме ожидания.

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


44-контактный TQFP / MLF

44-контактный TQFP / MLF

Описание контактов:

VCC: Цифровое напряжение питания

GND: Земля

Порт A (PA7-PA0): Этот порт служит аналоговым входом для аналого-цифрового преобразователя. Он также служит 8-битным двунаправленным портом ввода-вывода, если аналого-цифровой преобразователь не используется.

Порт B (PB7-PB0) и порт D (PD7-PD0): Это 8-битный двунаправленный порт ввода-вывода. Его выходные буферы обладают симметричными характеристиками привода с высокой пропускной способностью как приемника, так и источника. В качестве входов они становятся очень низкими, если активированы подтягивающие резисторы. Он также обслуживает различные специальные функции ATmega32.

Порт C (PC7-PC0): Это 8-битный двунаправленный порт ввода-вывода. Если интерфейс JTAG включен, подтягивающие резисторы на контактах PC5 (TDI), PC3 (TMS) и PC2 (TCK) будут активированы.

Взаимодействие с JTAG через порт C ATmega32

Взаимодействие с JTAG через порт C ATmega32

Перезагрузить: Это вход.

XTAL1: Это вход усилителя инвертирующего генератора и вход в рабочую схему внутренних часов.

XTAL2: Это выходной сигнал усилителя инвертирующего генератора.

AVCC: Это вывод напряжения питания для порта A и аналого-цифрового преобразователя. Он должен быть подключен к VCC.

AREF: AREF - это аналоговый опорный вывод для аналого-цифрового преобразователя.

ATmega32 Воспоминания:

Он имеет две основные области памяти: память данных и область памяти программ. Кроме того, он имеет память EEPROM для хранения данных.

В системно-программируемой флэш-памяти программ:

ATmega32 содержит 32 Кбайт встроенной в систему перепрограммируемой флэш-памяти для хранения программ. Флэш-память организована как 16k X 16, и ее память разделена на два раздела: раздел загрузочной программы и раздел прикладной программы.

Принципиальная схема программатора ISP

Схема программатора ISP

Память данных SRAM:

К файлу регистров, памяти ввода-вывода и внутренней SRAM данных обращаются 2144 нижних ячеек памяти данных. Первые 96 ячеек адресуют файл регистров и память ввода / вывода, а внутренняя SRAM данных адресуется следующими 2048 ячейками. Прямой, косвенный со смещением, косвенный, косвенный с пре-декрементом и косвенный с пост-декрементом - это 5 различных режимов адресации для покрытия памяти данных. При использовании этих режимов адресации доступны 32 регистра общего назначения, 64 регистра ввода / вывода и 2048 байтов внутренней SRAM данных.

Блок-схема ATmega32

Блок-схема ATmega32

Память данных EEPROM:

Он содержит 1024 байта памяти EEPROM данных. Доступ к нему можно получить как к отдельному пространству данных, в котором можно читать и записывать отдельные байты.

Память ввода / вывода:

Все устройства ввода-вывода и периферийные устройства размещаются в области ввода-вывода. Доступ к ячейкам ввода-вывода осуществляется командами IN и OUT, передавая данные между 32 регистрами общего назначения и пространством ввода-вывода. Регистры ввода-вывода с адресом 00-1F доступны напрямую по битам с использованием инструкций SBI и CBI.

ATmega8

Вступление

Это 8-битный микроконтроллер с КМОП-схемой из семейства AVR (разработанный Atmel Corporation в 1996 году), построенный на архитектуре RSIC (компьютер с сокращенным набором команд). Его основное преимущество в том, что он не содержит аккумулятора, а результат любой операции может быть сохранен в любом регистре, определяемом инструкцией.

Архитектура

Архитектура

Архитектура

объем памяти

Он состоит из 8 КБ флэш-памяти, 1 КБ SRAM и 512 байтов EEPROM. Флэш-память 8K разделена на 2 части: нижняя часть используется как секция загрузочной флэш-памяти, а верхняя часть используется как секция флэш-памяти приложения. SRAM содержит 1 Кбайт вместе с 1120 байтами регистров общего назначения и регистров ввода-вывода. 32 младших адреса используются для 32 8-битных регистров общего назначения. Следующие 64 адреса используются для регистров ввода / вывода. Все регистры подключены напрямую к АЛУ. EEPROM используется для хранения данных, определенных пользователем.

Порты ввода / вывода

Он состоит из 23 линий ввода / вывода с 3 портами ввода / вывода, названных B, C и D. Порт B состоит из 8 линий ввода / вывода, порт C состоит из 7 линий ввода / вывода, а порт D состоит из 8 линий ввода / вывода. линий.

Регистры, соответствующие любому порту X (B, C или D):

DDRX : Регистр направления данных порта X

PORTX : Регистр данных порта X

PINX : Входной регистр порта X

Таймеры и счетчики

Он состоит из 3-х таймеров с сопоставимыми режимами. Два из них 8-битные, а третий 16-битный.

Осцилляторы

Он включает в себя внутренний сброс и генератор, что позволяет устранить необходимость во внешнем входе. Внутренний RC-генератор способен генерировать внутренние часы, которые могут работать на любой частоте 1 МГц, 2 МГц, 4 МГц или 8 МГц в соответствии с программой. Он также поддерживает внешний генератор с максимальной частотой 16 МГц.

Коммуникация

Он обеспечивает как синхронные, так и асинхронные схемы передачи данных через USART (универсальный синхронный и асинхронный приемный передатчик), то есть связь с модемами и другими последовательными устройствами. Он также поддерживает SPI (последовательный периферийный интерфейс), используемый для связи между устройствами на основе метода ведущий-ведомый. Другой поддерживаемый тип связи - TWI (двухпроводной интерфейс). Это позволяет коммутировать между любыми двумя устройствами, используя 2 провода вместе с общим заземлением.

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

Он также содержит 6-канальный АЦП, из которых 4 имеют точность 10 бит, а 2 - точность 8 бит.

Регистр статуса : Он содержит информацию о текущем выполняемом наборе арифметических инструкций.

Схема контактов ATmega :

Схема контактов ATmega

Схема контактов ATmega

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

  • Контакты 23,24,25,26,27,28 и 1 используются для порта C, тогда как контакты 9,10,14,15,16,17,18,19 используются для порта B и контактов 2,3,4, 5,6,11,12 используются для порта D.
  • Контакт 1 также является контактом сброса, и подача сигнала низкого уровня в течение времени, превышающего минимальную длину импульса, приведет к сбросу.
  • Контакты 2 и 3 также используются для последовательной связи для USART.
  • Контакты 4 и 5 используются как внешние прерывания. Один из них будет срабатывать, когда установлен бит флага прерывания в регистре состояния, а другой будет срабатывать, пока преобладает условие прерывания.
  • Контакты 9 и 10 используются в качестве внешнего генератора, а также в качестве генераторов счетчиков таймера, где кристалл подключается непосредственно между контактами. Контакт 10 используется для кварцевого генератора или кварцевого генератора низкой частоты. Если внутренний откалиброванный RC-генератор используется в качестве источника тактовой частоты и включен асинхронный таймер, эти выводы можно использовать как выводы генератора таймера.
  • Контакт 19 используется как выход Master Clock, вход Slave Clock для канала SPI.
  • Контакт 18 используется как вход тактовых импульсов главного устройства, выход тактовых импульсов подчиненного устройства.
  • Контакт 17 используется как выход данных Master, вход данных Slave для канала SPI. Он используется как вход, когда разрешен ведомым устройством, и двунаправлен, когда разрешен ведущим. Этот вывод также можно использовать в качестве выхода сравнения сравнения, который служит внешним выходом для сравнения таймера / счетчика.
  • Контакт 16 используется как вход выбора ведомого. Его также можно использовать в качестве сравнения таймера / счетчика1, настроив вывод PB2 как выход.
  • Контакт 15 может использоваться как внешний выход для совпадения таймера / счетчика A.
  • Контакты с 23 по 28 используются для каналов АЦП. Контакт 27 также может использоваться как часы последовательного интерфейса, а контакт 28 может использоваться как данные последовательного интерфейса.
  • Контакты 13 и 12 используются как входы аналогового компаратора.
  • Контакты 11 и 6 используются как источники таймера / счетчика.

Спящий режим микроконтроллера

Микроконтроллер работает в 6 спящих режимах.

  • Режим ожидания: Он останавливает работу ЦП, но разрешает работу SPI, USART, ADC, TWI, таймера / счетчика и сторожевого таймера и прерывает систему. Это достигается установкой битов SM0 в SM2 флага регистра MCU в ноль.
  • Режим шумоподавления АЦП : Останавливает ЦП, но разрешает работу АЦП, внешних прерываний, таймера / счетчика2 и сторожевого таймера.
  • Режим отключения питания : Включает внешние прерывания, 2-проводный последовательный интерфейс, сторожевой таймер при отключении внешнего генератора. Он останавливает все сгенерированные часы.
  • Энергосберегающий режим : Используется, когда таймер / счетчик работает асинхронно. Останавливает все часы, кроме clkASY.
  • Режим ожидания : В этом режиме осциллятор может работать, останавливая все остальные операции.

Приложения с участием Atmega8

Мигающий светодиод

Приложения с участием Atmega8

Схема мигающего светодиода

Программа написана на языке C и сначала компилируется как файл .c. Программный инструмент ATMEL преобразует этот файл в двоичный объектный файл ELF. Затем он снова конвертируется в шестнадцатеричный файл. Затем шестнадцатеричный файл передается в микроконтроллер с помощью программы AVR dude.

Фото: