Prom Electric
СПб, Швецова, 23Б
mail@prom-electric.ru
+7 (812) 952-38-45
+7 (921) 952-38-45
Online-заявка
\/
Спасибо, мы ответим в течение 24 часов

Что такое AVR микроконтроллер?

AVR микроконтроллеры – это тип устройств, разработанный компанией Atmel, которые имеют определенное преимущество перед обычными микросхемами, но, сначала, давайте разберемся, что такое микроконтроллер?

Самый простой способ понять это – сравнить микроконтроллер с вашим компьютером, в котором установлена материнская плата. На этой плате стоит микропроцессор (на чипе Intel или AMD), который обеспечивает устройство вычислений, память RAM и EEPROM, и интерфейсы остальных систем, например, серийные порты (в настоящее время в основном USB), жесткие диски и графические интерфейсы. В микроконтроллере все эти возможности встроены в один чип, а это значит, что отсутствует потребность в материнской плате и многих других компонентах, например, светодиод может быть подключен напрямую к AVR. В микропроцессорах нет такой возможности!

AVR микроконтроллеры выпускаются в нескольких корпусах, некоторые предназначены для монтажа в отверстия, некоторые для поверхностного. AVR бывают 8-ми и 100-пиновыми, хотя все, что выше 64-х пинов только для монтажа в отверстия. Большинство людей начинают с DIL (Сдвоенный в линию) 28—х пинового чипа, например, ATmega328 или 40-ка пинового ATmega16 или ATmega32.

Компьютерные микропроцессоры бывают минимум 32-х битными, а теперь чаще 64-х битные. Это означает, что они могут обрабатывать данные 32-х битными или 64-х битными блоками, если они подключены к шине. AVR гораздо проще и работает с 8-ми битными блоками, пропускная ширина потока 8 бит, хотя сейчас стали появляться AVR32 с 32-х битной шиной.

На компьютере установлена операционная система (Windows или Linux), и именно в ней запускаются программы, такие, как Word, InternetExplorer или Chrome. На 8-ми битном микроконтроллере, например, на таком, как AVR обычно нет установленной операционной системы, хотя, при необходимости, она может быть установлена. Вместо этого реализована возможность запуска одной программы.

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

Так что же это за программа? Она состоит из серии инструкций, очень простых, и направленных на обработку данных. В большинстве приложений, которые вы будете использовать с AVR, например, в контроллере промышленного оборудования, необходимо, чтобы считывалась информация со входов, проводилась проверка состояния и, соответственно, происходило переключение на выходы. Иногда вам нужно менять данные, управлять ими, или передавать их на другое устройство, например, на ЖК дисплей или на серийный порт. Чтобы выполнять эти простые задачи, используется серия простых бинарных инструкций, каждая из которых соответствует команде на ассемблере, понятной пользователю. Самый простой способ написать программу для AVR – использовать ассемблер (хотя, если хотите оставаться педантичным, можете записывать двоичные числа).

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

Чтобы этого избежать, для написания программ для AVR были использованы языки программирования более высокого уровня, основным считается Cи, а также, можно использовать Basic и Java. Высокий уровень означает, что каждая строка Cи (или Basic, или Java) кода может переводиться в множество строк ассемблера. Компилятор также разбирается со структурой программы и управлением памятью, так что все становится гораздо проще. Наиболее часто используемые процессы, например, задержки или вычисления, могут храниться в библиотеках, и доступ к ним очень простой.

Мне кажется, что написание программ на Си для AVR сравнимо с управлением автомобилем. Да, вы очень легко можете это делать, но, если что-то идет не так, то вы понятия не имеете, как быть, и как справиться со сложной ситуацией, например, со скользкой дорогой. Написание простейших программ на ассемблере дает вам понять, что происходит «под капотом», как это работает, и что с этим можно сделать. Потом вы переходите на Си, но, к этому моменту, вы уже знаете, как функционирует AVR, и знаете его ограничения.

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

У AVR также есть I/O, которое используется, чтобы контролировать аппаратные средства микроконтроллера. К аппаратным средствам относятся порты, АЦП (ADC), коммуникационные интерфейсы, например, I2C (2—х проводной интерфейс), SPI и UART (серийный порт), таймеры и система watchdog, которая восстанавливает систему после сбоя. Все эти периферийные устройства контролируется из-под программы, используя специальные инструкции. Большая часть кода программирования AVR посвящена тому, как устанавливать и контролировать эти аппаратные интерфейсы.

 

 


Задать вопрос или обсудить в Telegram: t.me/ruelectronics

Наши услуги:
 Ремонт частотных преобразователей Разработка промышленной электроники
 Ремонт частотных преобразователей Siemens Ремонт частотных преобразователей ABB
 Ремонт устройств плавного пуска Ремонт контроллеров
 Ремонт АИД-70 Ремонт РТ-2048
 Ремонт СНЧ-25 Ремонт УПУ-10
 Ремонт Ретом-21 Ремонт Ретом-51
 Ремонт контрольно-измерительных приборов и автоматики Разработка шкафов управления
 Наладка систем телемеханики и диспетчеризации Ремонт промышленных ИБП
 Ремонт электроники станков Ремонт серводрайверов и сервоусилителей