Видове микроконтролер AVR - Atmega32 и ATmega8

Опитайте Нашия Инструмент За Премахване На Проблемите





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

Микроконтролерите AVR са базирани на усъвършенстваната RISC архитектура. ATmega32 е 8-битов микроконтролер с ниска мощност CMOS, базиран на AVR подобрена RISC архитектура. AVR може да изпълнява 1 милион инструкции в секунда, ако честотата на цикъла е 1MHz.

40 пинов DIP снимка на ATmega32

40 пинов DIP снимка на ATmega32



Основни функции:


  • 32 x 8 регистри с общо предназначение.
  • 32K байта в системната самопрограмируема флаш програма
  • 2K байта вътрешен SRAM
  • 1024 байта EEPROM
  • Предлага се в 40 пинов DIP, 44 олово QTFP, 44 подложки QFN / MLF
  • 32 програмируеми I / O линии
  • 8 канала, 10 битов ADC
  • Две 8-битови таймери / броячи с отделни прескалери и режими за сравнение
  • Един 16-битов таймер / брояч с отделен предскалер, режим на сравнение и режим на заснемане.
  • 4 ШИМ канала
  • При системно програмиране чрез програма за зареждане на чипа
  • Програмируем таймер за гледане на кучета с отделен вграден осцилатор.
  • Програмируем сериен USART
  • Сериен интерфейс Master / slave SPI

Специални характеристики на микроконтролера:

  • Шест режима на заспиване: неактивен, ADC намаляване на шума, икономия на енергия, изключване, режим на готовност и удължен режим на готовност.
  • Вътрешно калибриран RC осцилатор
  • Външни и вътрешни източници на прекъсвания
  • Включване при нулиране и програмируемо откриване на изчерпване.
40-пинов DIP на ATmega32

40-пинов DIP на ATmega32



Всичките 32 регистъра са директно свързани към аритметичната логическа единица (ALU), което позволява достъп до два независими регистъра в една единствена инструкция, изпълнена в един тактов цикъл.

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

Режимът за намаляване на шума на ADC спира процесора и всички I / O модули с изключение на ADC и асинхронен таймер. В режим на готовност, с изключение на кристалния осцилатор, останалата част от устройството спи. Както основният генератор, така и асинхронният таймер продължават да работят в разширен режим на готовност.

ATmega32 е мощен микроконтролер, поради вградената в системата самопрограмируема светкавица на монолитен чип, осигурява високо гъвкаво и рентабилно решение за много вградени контролни приложения.


44-подложка TQFP / MLF

44-подложка TQFP / MLF

Описания на щифтове:

VCC: Цифрово захранване

GND: Земя

Порт A (PA7-PA0): Този порт служи като аналогови входове към A / D конвертора. Той също така служи като 8-битов двупосочен вход / изход, ако A / D конверторът не се използва.

Порт B (PB7-PB0) и Порт D (PD7-PD0): Това е 8-битов двупосочен I / O порт. Неговите изходни буфери имат симетрични характеристики на задвижване както с висока способност на мивка, така и с източник. Като входове те са изключително издърпани, ако се активират издърпващите резистори. Той също така обслужва различни специални функции на ATmega32.

Порт C (PC7-PC0): Това е 8-битов двупосочен I / O порт. Ако интерфейсът JTAG е активиран, ще се активират издърпващите резистори на щифтове PC5 (TDI), PC3 (TMS) и PC2 (TCK).

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

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

Нулиране: Това е вход.

XTAL1: Това е вход към инвертиращия усилвател на осцилатора и вход към вътрешната работна верига на часовника.

XTAL2: Това е изход от инвертиращия осцилаторен усилвател.

AVCC: Това е щифтът на захранващото напрежение за порт A и A / D преобразувател. Той трябва да бъде свързан към VCC.

AREF: AREF е аналоговият референтен щифт за A / D преобразувателя.

Спомени от ATmega32:

Той разполага с две основни пространства памет памет данни и пространство програма памет. Освен това разполага с EEPROM памет за съхранение на данни.

В системно програмируема Flash програма памет:

ATmega32 съдържа 32Kbytes на чипа в системната препрограмируема флаш памет за съхранение на програми. Flash е организиран като 16k X 16 и паметта му е разделена на два раздела Раздел за стартиране на програма и раздел за приложна програма.

Схема на ISP програмист

Схема на ISP програмист

SRAM памет за данни:

Регистрационният файл, I / O паметта и вътрешният SRAM за данни се адресират от долните 2144 места за памет на данни. Първите 96 местоположения се отнасят до регистрационния файл и I / O паметта, а вътрешните SRAM данни се адресират от следващите 2048 местоположения. Директни, индиректни с изместване, индиректни, индиректни с предварително намаление и директно с последващи намаления са 5-те различни режима на адресиране на покритието на паметта за данни. 32-те регистъра с общо предназначение, 64 I / O регистъра и 2048 байта вътрешни SRAM данни са достъпни чрез използване на тези режими за адресиране.

Блокова схема на ATmega32

Блокова схема на ATmega32

EEPROM памет за данни:

Съдържа 1024 байта данни EEPROM памет. Той може да бъде достъпен като отделно пространство за данни, в което могат да се четат и записват единични байтове.

I / O памет:

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

ATmega8

Въведение

Това е 8-битов CMOS вграден микроконтролер от семейството AVR (разработен от Atmel Corporation през 1996 г.) и е изграден върху архитектурата RSIC (Reduced Instruction Set Computer). Основното му предимство е, че не съдържа никакъв акумулатор и резултатът от която и да е операция може да се съхранява във всеки регистър, определен от инструкцията.

Архитектура

Архитектура

Архитектура

Памет

Състои се от 8KB флаш памет, 1KB SRAM и 512 байта EEPROM. 8K светкавицата е разделена на 2 части - долната част, използвана като секция за зареждане на флаш, и горната част, използвана като секция за флаш на приложенията. SRAM съдържа 1K байта заедно с 1120 байта регистри с общо предназначение и I / O регистри. Долните 32 адресни местоположения се използват за 32 8 битови регистъра с общо предназначение. Следващите 64 адреса се използват за I / O регистри. Всички регистри са свързани директно към ALU. EEPROM се използва за съхраняване на дефинирани от потребителя данни.

Входно / изходни портове

Състои се от 23 I / O линии с 3 I / O порта, наречени B, C и D. Порт B се състои от 8 I / O линии, порт C се състои от 7 I / O линии и порт D се състои от 8 I / O линии.

Регистрите, съответстващи на всеки портX (B, C или D), са:

DDRX : Регистър за посока на данни на порт X

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

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

Таймери и броячи

Състои се от 3 таймера със сравними режими. Два от тях са 8 битови, докато третият е 16 битов.

Осцилатори

Той включва вътрешно нулиране и осцилатор, което прави възможно премахването на необходимостта от външен вход. Вътрешният RC генератор е способен да генерира вътрешен часовник, който може да работи на всяка честота от 1MHz, 2MHz, 4MHz или 8MHz, както е програмирано. Той също така поддържа външен генератор с максимална честота от 16MHz.

Комуникация

Той осигурява както синхронни, така и асинхронни схеми за трансфер на данни чрез USART (Universal Synchronous and Asynchronous Receiver Transmitter), т.е. комуникация с модеми и други серийни устройства. Той също така поддържа SPI (сериен периферен интерфейс), използван за комуникация между устройства, базиран на метода master-slave. Друг вид поддържана комуникация е TWI (двужилен интерфейс). Той позволява комутация между всякакви две устройства, като се използват 2 проводника заедно с обща земна връзка.

Той също така има модул за сравнение, интегриран в чипа, за да осигури сравнение между две напрежения, свързани към двата входа на аналоговия компаратор чрез външните чипове.

Той също така съдържа 6-канален ADC, от които 4 имат 10-битова точност, а 2 имат 8-битова точност.

Регистър на състоянието : Той съдържа информация за изпълнения в момента набор от аритметични инструкции.

ATmega Pin диаграма :

ATmega Pin диаграма

ATmega Pin диаграма

Една от важните характеристики на 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 се използват като външен осцилатор, както и осцилатори на броячите на таймера, където кристалът е свързан директно между щифтовете. Pin 10 се използва за кристален осцилатор или нискочестотен кристален осцилатор. Ако вътрешният калибриран RC осцилатор се използва като източник на часовника и асинхронният таймер е активиран, тези щифтове могат да се използват като щифтове на осцилатора на таймера.
  • Пин 19 се използва като изход за главен часовник, вход за подчинен часовник за SPI канал.
  • Пин 18 се използва като вход за главен часовник, изход за подчинен часовник
  • Пин 17 се използва като изход за главни данни, входящи данни за канал за SPI канал. Той се използва като вход, когато е активиран от подчинен и е двупосочен, когато е разрешен от главния. Този щифт може да се използва и като изход за сравнение на изхода, който служи като външен изход за сравнение на таймера / брояча.
  • Pin16 се използва като вход за избор на роб. Той може да се използва и като сравнение на таймер / брояч1 чрез конфигуриране на PB2 щифта като изход.
  • Pin15 може да се използва като външен изход за сравнение на таймера / брояча А.
  • Пинове 23 до 28 се използват за ADC канали. Пин 27 може също да се използва като часовник за сериен интерфейс, а пин 28 може да се използва като данни за сериен интерфейс
  • Пинове 13 и 12 се използват като аналогови сравнителни входове.
  • Пинове 11 и 6 се използват като източници на таймер / брояч.

Режими на заспиване на микроконтролера

Микроконтролерът работи в 6 режима на заспиване.

  • Режим на готовност: Той спира функционирането на процесора, но позволява работа на SPI, USART, ADC, TWI, таймер / брояч и Watchdog и прекъсва системата. Това се постига чрез задаване на SM0 на SM2 бита на регистрационния флаг на MCU на нула.
  • Режим ADC за намаляване на шума : Спира процесора, но позволява функционирането на ADC, външни прекъсвания, таймер / брояч2 и пазач.
  • Режим на изключване : Той позволява външни прекъсвания, 2-жичен сериен интерфейс, пазач, докато деактивира външния генератор. Спира всички генерирани часовници.
  • Режим за пестене на енергия : Използва се, когато таймерът / броячът е асинхронно тактиран. Спира всички часовници с изключение на clkASY.
  • Режим на готовност : В този режим на осцилатора е разрешено да работи, като спира всички останали операции.

Приложения, включващи Atmega8

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

Приложения, включващи Atmega8

Мигаща LEd схема

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

Снимка: