"Вы читаете о роботах и программировании и думаете: «Было бы здорово сделать что-то подобное самому!» Теми, кем эта идея овладевает чуть больше просто мыслей смотрят кто и как делал своего робота. Читают статьи, смотрят видео. На картинках все понятно. В видеороликах тоже обычно показываются уже готовые продукты, а также сжато показываются технологии их изготовления. И вроде бы то же всё понятно: отпилил, прикрутил, припаял, соединил, запрограммировал вон на той программе вот этим кодом."

четверг, 16 января 2020 г.

Общее устройство микроконтроллеров ATmega и ATtiny



Краткие характеристики микроконтроллеров AVR семейства Mega и Tiny:
— тактовая частота от 0 герц до 20 мегагерц
— объем памяти программ 1-16 килобайт для семейства Tiny и 8-256 килобайт для семейства Mega
— напряжение питания от 1,8 до 5,5 вольт (для разных типов микроконтроллеров диапазон питающих напряжений разный, также встречается и от 0,7 вольт, и до 6 вольт)
— ток потребления микроконтроллером — в среднем около 5 миллиампер и сильно зависит от питающего напряжения и тактовой частоты, чем выше эти значения — тем больший ток потребления
https://microkontroller.ru/wp-content/uploads/2015/05/Obshhee-ustroystvo-mikrokontrollerov-AVR-ATmega-i-ATtiny.jpg

CPU — процессор микроконтроллера

Его задача сформировать адрес очередной команды, выбрать команду из памяти и организовать ее выполнение.
Основные устройства CPU:
— АЛУ — арифметико-логическое устройство
— блок регистров общего назначения (РОН)
АЛУ — устройство, которое выполняет арифметические и логические операции над данными, которые поступают из регистров общего назначения.
РОН — регистры общего назначения (всего 32 РОН, от R0 до R31), основная задача которых — обмен данными между АЛУ и ячейками памяти.

Память микроконтроллера

Микроконтроллеры AVR имеют три разновидности памяти:
FLASH
SRAM
EEPROM
FLASH-память — постоянное запоминающее устройство, она-же память программ. Предназначена для хранения кодов программ и констант (англ. flash memory) — разновидность полупроводниковой технологии электрически перепрограммируемой памяти (EEPROM).
SRAM-память — оперативное запоминающее устройство, она-же память данных. Предназначена для хранения данных, получаемых в процессе выполнения программы (при выключении питания — данные теряются)
EEPROM-память — постоянное запоминающее устройство, она-же энергонезависимая память данных. Предназначена для хранения констант и данных, получаемых в процессе выполнения программы (при выключении питания — данные не теряются) (англ. Electrically Erasable Programmable Read-Only Memory) — электрически стираемое перепрограммируемое ПЗУ (ЭСППЗУ), один из видов энергонезависимой памяти (таких, как PROM и EPROM). Память такого типа может стираться и заполняться данными до миллиона раз.)

Периферийные устройства

Порты ввода-вывода
Параллельный восьмиразрядный порт ввода-вывода предназначен для ввода и вывода данных. Количество портов — от 1 до 7 (зависит от модели микроконтроллера)и обозначаются они буквами A, B,C, D … .
Аналоговый компаратор
Присутствует во всех моделях МК
Аналоговый компаратор – устройство сравнения. Основная задача компаратора – это сравнение двух напряжений: одно из них – образцовое (с чем сравниваем), а второе – измеряемое (сравниваемое). Если сравниваемое напряжение больше образцового – компаратор вырабатывает сигнал логической единицы. Если сравниваемое напряжение меньше образцового – компаратор формирует на своем выходе логический ноль.
С помощью компаратора можно, к примеру, контролировать напряжение на заряжаемом аккумуляторе. Пока напряжение не достигнет нужного уровня, на выходе компаратора – логический ноль, как только напряжение аккумулятора достигло уровня нужного нам, компаратор вырабатывает логическую единицу, и значит можно завершить зарядку аккумулятора.
АЦП – аналогово-цифровой преобразователь
Имеют не все МК
АЦП – преобразователь аналогового напряжения в цифровую форму.
Аналоговое напряжение – это напряжение которое изменяется по напряжению во времени. Например – синусоидальный сигнал с выхода генератора частоты, напряжение в бытовой розетке, звуковой сигнал на колонках.
АЦП постоянно анализирует на своем входе величину напряжения и выдает на своем выходе цифровой код, соответствующий входному напряжению.
Примеры применения:
– цифровой вольтметр или амперметр
– процессорный стабилизатор напряжения
МК, которые имеют АЦП, также имеют раздельное питание для цифровой и для аналоговой частей.
Таймер/счетчик
Присутствует во всех моделях МК, но в разных количествах – от 1 до 4, и с разными возможностями
Таймер/счетчик – это как бы два устройства в одном флаконе: таймер + счетчик.
Таймер – устройство, которое позволяет формировать временные интервалы. Таймер представляет собой цифровой счетчик который считает импульсы или от внутреннего генератора частоты, или от внешнего источника сигнала.
С помощью таймера/счетчика можно:
– отсчитывать и измерять временные интервалы
– подсчитывать количество внешних импульсов
– формировать ШИМ-сигналы
К примеру, мы хотим создать прибор позволяющий измерять частоту входного сигнала (частотомер). В этом случае мы можем использовать два счетчика/таймера. Первый будет отсчитывать временные интервалы равные 1 секунде, а второй будет считать количество импульсов за промежуток времени в 1 секунду которые отсчитывает первый таймер. Количество импульсов подсчитанное вторым таймером/счетчиком за 1 секунду будет равно частоте входного сигнала.
ШИМ— широтно-импульсный модулятор, предназначен для управления средним значением напряжения на нагрузке.
ШИМ – один из вариантов работы таймера/счетчика, позволяющий генерировать на выходе МК прямоугольное импульсное напряжение с регулируемой длительностью между импульсами (скважностью), которое применяется в различных устройствах:
– регулирование частоты вращения электродвигателя
– осветительные приборы
– нагревательные элементы
Сторожевой таймер
Есть во всех моделях МК. Может быть включен или выключен по усмотрению программиста
У сторожевого таймера только одна задача – производить сброс (перезапускать программу) МК через определенный промежуток времени.

Последовательные порты

Последовательный периферийный интерфейс SPI
Имеется во всех моделях МК
Мы его в большинстве случаях применяем для программирования МК.
Кроме программирования МК, интерфейс SPI позволяет:
– обмениваться данными между МК и внешними устройствами
– обмениваться данными нескольким МК между собой
Универсальный приемопередатчик UART
Имеют все модели МК, но разных типов:
– USART
– UART
Предназначены для обмена данными по последовательному каналу по двухпроводным линиям связи. Прием и передача могут вестись одновременно.
Последовательный двухпроводный интерфейс TWI (I2C)
Встречается только в серии Mega.
Предназначен для обмена данными по двухпроводной линии. Всего к такой линии можно подключить до 128 устройств.
TWI является полным аналогом интерфейса I2C.

 По материалам:

  1. https://microkontroller.ru/ustroystvo-mikrokontrollerov-avr/obshhee-ustroystvo-mikrokontrollerov-avr/

  2. https://ru.wikipedia.org/wiki/%D0%A4%D0%BB%D0%B5%D1%88-%D0%BF%D0%B0%D0%BC%D1%8F%D1%82%D1%8C

  3. https://ru.wikipedia.org/wiki/EEPROM