категории: Практическа електроника, Микроконтролер вериги
Брой преглеждания: 21376
Коментари към статията: 0

Видове и разположение на AVR микроконтролери

 


AVR - Това е името на популярното семейство микроконтролери, което компанията произвежда. Atmel, В допълнение към ABP под тази марка се издават микроконтролери и други архитектури като ARM и i8051.


Какво представляват AVR микроконтролерите?

Микроконтролери AVR

Има три типа микроконтролери:

  1. AVR 8-битов.

  2. AVR 32-битов.

  3. AVR xMega

Повече от десетилетие най-популярно е 8-битовото семейство от микроконтролери. Много хамове започнаха да изучават микроконтролери от него. Почти всички те научиха света на програмируемите контролери, като направиха своите прости занаяти, като LED мигащи светлини, термометри, часовници, както и проста автоматизация, като например контролиране на осветителни и отоплителни уреди.

8-битовите микроконтролери AVR са разделени на две популярни фамилии:

  • ATtiny - От името става ясно, че по-младите (мънички - млади, млади, по-млади), в общи линии имат от 8 пина или повече. Обемът на тяхната памет и функционалност обикновено е по-скромен, отколкото в следващото;

  • Atmega - По-модерните микроконтролери имат повече памет, щифтове и различни функционални единици;

Микроконтролери Attiny

Най-мощната подсемейство на микроконтролерите е xMega - тези микроконтролери се предлагат в случаи с огромен брой пинове, от 44 до 100. Толкова са необходими за проекти с голям брой сензори и задействащи устройства. В допълнение, увеличеният капацитет и скорост на паметта ви позволяват да получите висока производителност.

Микроконтролер Atmega

Препис: Пин (англ. Pin - игла, щифт) е изходът на микроконтролера или, както се казва, крака. Оттук думата "pinout" - т.е. информация за целта на всеки от краката.


За какво са микроконтролери и за какво са предназначени?

Микроконтролерите се използват почти навсякъде! Почти всяко устройство през 21 век работи на микроконтролер: измервателни уреди, инструменти, домакински уреди, часовници, играчки, музикални кутии и пощенски картички, както и много повече; самото изброяване ще отнеме няколко страници текст.

Програмистът може да използва аналоговия сигнал от дъното му до входа на микроконтролера и да манипулира данни за неговата стойност. Тази работа се извършва от аналогово-цифров преобразувател (ADC). Тази функция позволява на потребителя да комуникира с микроконтролера, както и да възприема различни параметри на околния свят, използвайки сензори.

AVR микроконтролер на дъската

В обикновените AVR микроконтролери, напр. Atmega328което през 2017 г. е сърцето на много платки Arduinoно за тях по-късно. Използва се 8 канален ADCс битова дълбочина 10 бита, Това означава, че можете да прочетете стойността от 8 аналогови сензора. И цифровите сензори са свързани към цифровите изходи, което може да е очевидно. Цифровият сигнал обаче може да бъде само 1 (единица) или 0 (нула), докато аналоговият сигнал може да приема безкраен брой стойности.

Цифрови и аналогови сигнали

Обяснение:


капацитет Е стойност, която характеризира качеството, точността и чувствителността на аналоговия вход. Това не звучи много ясно. Малко практика: 10-битов АЦП, записва аналогова информация от порт в 10 бита памет, с други думи, микроконтролерът плавно се променя цифров сигнал като числова стойност от 0 до 1024.

12-битов АЦП вижда същия сигнал, но с по-висока точност - под формата от 0 до 4096, което означава, че измерените стойности на входния сигнал ще бъдат 4 пъти по-точни. За да разберете откъде са дошли 1024 и 4096, просто повишете 2 до мощност, равна на дълбочината на бита на ADC (2 до мощност 10, за 10 бита и т.н.)

За да контролирате мощността на натоварване, на ваше разположение има PWM канали, които могат да се използват например за регулиране на яркостта, температурата или скоростта на двигателя. В същия 328 контролер има 6 от тях.

По принцип структурата на микроконтролера AVR е изобразена на диаграмата:

Структура на AVR микроконтролер

Всички възли са подписани, но все пак някои имена може да не са толкова очевидни. Нека да разгледаме тяхното обозначение.

  • ALU - аритметично-логическо устройство. Необходимо за извършване на изчислението.

  • Регистри с общо предназначение (RON) - Регистрите, които могат да получават данни и да ги съхраняват, докато микроконтролерът е свързан към захранването, се изтриват след рестартиране. Служат като временни клетки за операции с данни.

  • прекъсва - нещо като събитие, което се случва поради вътрешни или външни влияния върху микроконтролера - преливане на таймера, външно прекъсване от pin MK и др.

  • JTAG - интерфейс за програмиране във веригата без премахване на микроконтролера от платката.

  • Flash, RAM, EEPROM - видове памет - програми, временни работни данни, дългосрочно съхранение, независимо от захранването на микроконтролера, според реда в имената.

  • Таймери и броячи - най-важните възли в микроконтролера, в някои модели техният брой може да бъде до десетина. Те са необходими за отчитане на броя на мерките, съответно, интервали от време, а броячите увеличават стойността си за всяко от събитията. Тяхната работа и неговият режим зависят от програмата, обаче, тези действия се извършват в хардуер, т.е. успоредно на основния текст на програмата, те могат да причинят прекъсване (чрез преливане на таймера, като опция) на всеки етап от изпълнението на кода, на който и да е ред от него.

  • A / D (аналогов / цифров) - ADC, вече описахме целта му.

  • WatchDogTime (Таймер за пазач) - RC осцилатор, независим от микроконтролера и дори неговия часовник генератор, който отчита определен период от време и генерира сигнал за нулиране на MK, ако е работил, и се събужда, ако е бил в режим на заспиване (икономия на енергия). Работата му може да бъде деактивирана чрез задаване на WDTE бита на 0.


Изходите на микроконтролера са доста слаби, което означава, че токът през тях обикновено е до 20-40 милиампеса, което е достатъчно, за да запали LED и LED индикаторите. За по-мощен товар са необходими усилватели на ток или напрежение, например същите транзистори.


Какво ви е необходимо, за да започнете да изучавате микроконтролери?

Първо трябва да закупите самия микроконтролер. Ролята на първия микроконтролер може да бъде всеки Attiny2313, Attiny85, Atmega328 и други. По-добре е да изберете модела, който е описан в уроците, с които ще се занимавате.

Attiny2313

Следващото нещо, от което се нуждаете, е програмист, Необходим е да изтеглите фърмуер в паметта на MK, той се счита за най-евтиния и най-популярен USBASP.

програмист

Малко по-скъп, но не по-малко обикновен програмист AVRISP MKII, което можете да направите сами - от обикновен борд Arduino

Програмист AVRISP MKII

Друг вариант е да ги прокарате USB UART адаптер, който обикновено се прави на един от преобразувателите: FT232RL, CH340, PL2303 и CP2102.

USB-UART адаптер

В някои случаи за такъв преобразувател се използват AVR микроконтролери с USB хардуерна поддръжка; няма твърде много такива модели. Ето някои:

  • ATmega8U2;

  • ATmega16U2;

  • ATmega32U2.

USB хардуерно базиран AVR микроконтролер

Само едно „но“ - в паметта на микроконтролера първо трябва да заредите UART bootloader. Разбира се, за това все още се нуждаете от програмист за AVR микроконтролери.


Интересно: Bootloader - Това е нормална програма за микроконтролер, но с необичайна задача - след стартирането му (свързване към захранването) очаква известно време, че фърмуерът може да бъде зареден в него. Предимството на този метод е, че можете да флаш всеки USB-UART адаптер и те са много евтини. Недостатъкът е, че фърмуерът отнема много време за зареждане.

За работа UART (RS-232) интерфейс в микроконтролерите AVR разпредели цял регистър UDR (Регистър на данните на UART), UCSRA (RX, TX трансивър настройки), UCSRB и UCSRС - набор от регистри, отговорни за настройките на интерфейса като цяло.


Как мога да пиша програми?

В допълнение към програмиста, за писане и изтегляне на програмата имате нужда от IDE среда за разработка. Разбира се, можете да напишете код в бележника, да преминете през компилатори и т.н. Защо е необходимо, когато има отлични готови опции. Може би един от най-мощните е IAR, но той се плаща.

Официалният Atmel IDE е AVR Studio, което беше преименувано на Atmel studio на версия 6. Той поддържа всички AVR микроконтролери (8, 32, xMega), автоматично открива команди и помага за влизане, подчертава правилния синтаксис и много други.С негова помощ можете да мигате МК.

Най-разпространеният е C AVR, така че намерете урок по него, има тонове опции на руски език, а един от тях е Хартов В.Я. „AVR микроконтролери. Работилница за начинаещи. "

Програмиране на микроконтролери

Най-лесният начин да научите AVR

Купете или направете сами Arduino дъска, Проектът на arduino е създаден специално за образователни цели. Разполага с десетки дъски с различни форми и брой контакти. Най-важното в arduino е, че купувате не само микроконтролер, а пълноценна дъска за отстраняване на грешки, припоена към висококачествена текстолитова печатна платка, покрита с маска и монтирани SMD компоненти.

Най-често срещаните са Arduino Nano и Arduino UNO, те по същество са идентични, само че "Nano" е около 3 пъти по-малък от "Uno".

Arduino uno

Няколко факта:

  • Arduino може да се програмира на стандартен език - “C AVR”;

  • собствен - окабеляване;

  • стандартна среда за разработка - Arduino IDE;

  • за да се свържете с компютър, просто трябва да свържете USB кабела към микро-USB гнездото на Arduino nano платката, да инсталирате драйверите (най-вероятно това ще се случи автоматично, освен когато конверторът на CH340, аз нямах драйвери на Win 8.1, трябваше да го изтегля, но го Това не отне много време.) След това можете да качите своите „скици“;

  • „Скици“ е името на програмите за arduino.

Експерименти с Arduino UNO

данни

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

Вижте също на i.electricianexp.com:

  • PIC микроконтролери за начинаещи
  • Програмиране на микроконтролери за начинаещи
  • Свързване и програмиране на Arduino за начинаещи
  • Програмируеми микроконтролери в JavaScript: кой да изберем, характеристики ...
  • Какво представляват микроконтролерите - предназначение, устройство, софтуер

  •