Из чего состоит микроконтроллер: Архитектура AVR микроконтроллеров, из чего состоит микроконтроллер

Содержание

Устройство микроконтроллера: АЛУ и организация памяти

Процессорное ядро микроконтроллеров:
– арифметико-логическое устройство
– организация памяти

Доброго дня уважаемые радиолюбители!
Приветствую вас на сайте “Радиолюбитель“

Сегодня (точнее – в течении нескольких статей) мы с вами более подробно рассмотрим основу любого микроконтроллерапроцессорное ядро.

Основные элементы:

1. Арифметико-логическое устройство

АЛУ – сердце (а может быть и ум, с честью и совестью) микроконтроллера.
Здесь мы не будем входить в роль “маньяка-расчленителя” и ковыряться во внутренностях этого устройства. Усвоим только, что благодаря АЛУ происходит вся работа микроконтроллера. Если у вас когда-нибудь появится желание более глубже узнать как работает “сердце” микроконтроллера (а будет неплохо, если оно появится), то в книгах замечательных авторов Белова, Рюмика, Евстифеева, Ревича, Баранова и многих других, вы всегда найдете подробный ответ.

2. Память микроконтроллера (организация памяти)

Прежде чем рассматривать память микроконтроллера, немного поговорим о памяти вообще.
Человеческая память – с ней все понятно, – она бывает “твердой” (когда находишься в твердой памяти, а иногда еще и в здравом уме) и, как не прискорбно, – “дырявой”. А вся информация хранится в так называемых “нейронах” – маленьких ячейках памяти.
У микроконтроллеров почти все также. Только, если у человека самая маленькая ячейка для хранения информации называется “нейрон”, то для микроконтроллера самая маленькая ячейка памяти для хранения информации называется “бит“.
В одном бите может храниться или одна логическая единица, или один логический ноль.
Бит – минимальная единица измерения объема памяти в микропроцессорной технике.
Следующая основная, или самая распространенная, единица измерения памяти – байт.
Байт – это восемь бит информации. В одном байте может храниться только восемь нулей и единиц.

Максимальное число которое можно записать в байт – 255. Если в программе вы будете оперировать большими числами то следует знать (чтобы знать сколько байт потребуется для хранения числа), что максимальное число, которое можно записать в:
– один байт = 255
– два байта = 65 535
– три байта = 16 777 215
– четыре байта – число величиной более 4 миллиардов (если вы не входите хотя бы в сотню журнала “Форбс”, то четыре байта памяти для хранения чисел вам не понадобятся).
Запись в память и чтение из памяти происходит байтами (нельзя записать или считать один бит информации).
Следующая единица измерения – килобайт.
В килобайте помещается 1024 байт информации (именно 1024, а не 1000 байт).
Есть еще и большие величины измерения объема памяти (мегабайт, гигабайт), но в микроконтроллерах они пока не применяются.
Я надеюсь, что с единицами измерения электронной памяти нам все понятно:

Организация памяти в микроконтроллере

Микросхемы AVR имеют три вида памяти:
память программ, она же FLASH-память


память данных, она же ОЗУ (оперативно-запоминающее устройство), она же SRAM
энергонезависимая память, она же ЭСППЗУ, она же EEPROM
В микроконтроллере выделяется три адресных пространства в которых располагаются вышеперечисленные разновидности памяти. Память данных при этом (в смысле выделенного адресного пространства) оказалась немного обделенной – ей приходится делить свое адресное пространство с ячейками памяти в которых хранятся регистры общего назначения и регистры ввода/вывода (о них вы подробно узнаете в следующей статье). Эти регистры физически не относятся к памяти данных, но находятся в том же адресном пространстве. Если начальные адреса памяти программ и энергонезависимой памяти начинаются с нулевого адреса, то начальный адрес памяти данных не начинается с нулевого адреса – с нулевого адреса занимают места регистры общего назначения и регистры ввода/вывода, и только за ними следуют адреса ячеек памяти программ.
В некоторых видах МК ATiny память данных отсутствует.

Память программ (FLASH память)

Память программ предназначена для хранения в ней наших программ, а также любых нужных нам данных, которые не меняются в ходе выполнения программы (константы). При выключении питания микроконтроллера, все данные в памяти программ сохраняются.
Память программ, естественно, имеют все микроконтроллеры. Размер памяти программ, в зависимости от типа МК, варьируется от 1 килобайта до 256 килобайт.
Доступ к памяти программ имеет только программист при программировании МК, у самого МК доступ к памяти программ тоже имеется, но только для чтения данных из памяти, записать туда он ничего не может (мало ли что, вдруг захочет испортить нашу программу). Правда, у МК семейства Mega есть возможность (с разрешения программиста) вносить изменения в памяти программ, но это отдельная история.
Для памяти программ  есть еще два вида измерения объема памяти – “слово” и “страница“.
Дело в том, что память программ состоит из ячеек состоящих из двух байт. Такая ячейка называется “словом”

. А сделано это так потому, что почти все команды МК состоят из двух байт, и, соответственно, для их записи нужно два байта в памяти программ. Каждая команда МК – это одно “слово”. Есть несколько команд, для записи которых требуется 4 байта в памяти – два слова, но такие команды встречаются в МК у которых память программ больше 8 килобайт.
Таким образом, в одну ячейку памяти программ можно записать:
– любую команду, состоящую из двух байт
– половину команды, состоящей из 4 байт
– две константы, каждая из которых умещается в один байт, или одну шестнадцатиразрядную константу. При этом, если вы записываете в память три однобайтовых константы, они все равно займут в памяти четыре байта (два слова).
Кроме того, запись в память программ осуществляется не только “словами”, но еще и “страницами”. Размер “страницы” составляет от 64 до 256 байт (чем больше объем памяти программ, тем больше объем “страницы”). Что это значит. Если вы создали маленькую программку, объем которой составляет 11 слов (22 байта), в памяти программ она все равно займет место в одну страницу, т.е. как минимум 64 байта. “Лишние” 42 байта при этом будут заполнены или нулями, или единицами.
Вот такие вот,  пироги.
Но и это еще не все.
Память программ может иметь три состояния (если можно так выразиться):
1. Вся память находится в распоряжение программиста
В этом случае мы можем забить всю память полностью своей программой и данными. А программа будет стартовать с нулевого адреса памяти.
2. Часть памяти забирает МК
В случае, если при работе МК используются прерывания (а я надеюсь – вы помните, что это такое), часть памяти МК забирает для нужд обработки прерываний и хранит в ней “векторы прерываний“. 
Что это такое.
Когда мы разрешаем МК обрабатывать прерывания, он, начиная с нулевого адреса памяти, забирает часть ячеек для хранения в них адресов, по которым надо перейти МК для выполнения подпрограммы прерывания. Для каждого прерывания МК выделяет два байта памяти (одно слово) в которых хранятся адреса подпрограмм обработки прерываний. Вот эти адреса, которые указывают где находится в памяти подпрограмма обработки того, или иного прерывания, называются “
векторами прерываний
“. А вся область памяти, в которой хранятся “векторы прерываний”, называется таблицей векторов прерываний. Количество занятых ячеек памяти под прерывания зависит напрямую от количества возможных прерываний данного микроконтроллера (от нескольких штук, до нескольких десятков). Все прерывания располагаются в начале памяти программ, с нулевого адреса, и имеют четкую последовательность. По нулевому адресу всегда располагается вектор прерывания по “сбросу” (Reset). Когда мы включаем устройство, или производим сброс кнопкой, срабатывает прерывание по сбросу. МК считывает с нулевого адреса (с ячейки) адрес, который указывает где в памяти находится начало нашей программы, и перейдя по этому адресу начинает выполнять программу. Сама программа в этом случае будет располагаться в памяти программ сразу за таблицей прерываний.
3. МК забирает еще одну часть памяти программ (точнее не забирает, а выделяет область в конце памяти, в которой программист размещает специальную программу – “загрузчик”).

Такое возможно в МК семейства “MEGA”, у которых есть возможность разрешить МК вносить изменения в памяти программ. Что это значит.
Некоторые МК имеют возможность самопрограммироваться. В практике любителей такая возможность МК используется крайне редко. Возможность перепрограммироваться (самопрограммироваться) нужна, в основном, в случаях промышленного производства какого-то устройства на микроконтроллере, для которого потом может выпускаться обновление программного обеспечения. Мы эту возможность рассматривать не будем, по крайней мере пока. Нам достаточно только знать, что в МК, которые поддерживают самопрограммирование, память программ разделяется на две части:
- верхняя – секция прикладной программы, где располагается наша программа и векторы прерываний
- нижняя – секция загрузчика (Boot Loader Section – по английски), где программист располагает свою программу-загрузчик. Размер секции загрузчика зависит от общего размера памяти программ МК, и может составлять от 128 байт до 4096 байт.
Если возможность самопрограммирования МК мы не используем, то эта секция отдается для нашей программы и данных. 
Ну а FLASH-памятью память программ называют потому, что она делается по так называемой Flash-технологии (как и всем нам привычные компьютерные “флешки”)
Память программ допускает 10 тысяч циклов перепрограммирования.

Память данных (Статическое ОЗУ, SRAM)

Оперативно-запоминающее устройство, оно же память данных типа SRAM, предназначена для хранения в ней различных данных, получаемых в результате работы программы.
При выключении питания микроконтроллера, все данные хранящиеся в ней теряются.
Память данных есть почти во всех микроконтроллерах (отсутствует у простейших МК семейства Tiny).
Во всех МК семейства Mega (и части МК семейства Tiny) объем встроенной памяти данных колеблется от 128 байт до 8 килобайт, и почти вся она отдана в наше полное распоряжение.

Только немножко забирает себе МК для организации стека (что это такое узнаем позднее). В некоторых МК предусмотрено подключение внешней памяти (она может быть любого типа – FLASH, SRAM, EEPROM) объемом до 64 килобайт. В случае подключения внешней памяти в таких МК, она становится как-бы продолжением памяти данных.
Запись в  память данных и чтение из нее происходит побайтно, и в отличии от памяти программ в ней нет деления на страницы и слова.

Энергонезависимая память (EEPROM)

Энергонезависимая память также относится к памяти данных, но в отличие от последней имеет несколько особенностей. Предназначена она для хранения данных и констант, которые должны сохраняться при отсутствии питания.
EEPROM имеют все микроконтроллеры.
При выключении питания микроконтроллера все данные, хранящиеся в энергонезависимой памяти сохраняются (поэтому она и называется энергонезависимой).
Объем энергонезависимой памяти, в зависимости от типа МК, колеблется от 64 байт до 4 килобайт.


Запись и чтение информации в память производится побайтно. Однако в старших моделях семейства MEGA, энергонезависимая память, так же как и память программ, имеет страничную запись. Объем страницы небольшой, составляет всего 4 байта. На практике эта особенность не имеет значения – и запись, и чтение осуществляется все равно побайтно.
Число циклов записи и стирания памяти достигает 100 000.
Главная особенность EEPROM заключается в том, что при записи в нее данных она становится очень “медленной” – запись одного байта может продолжаться от 2 до 4 миллисекунд (это очень низкая скорость), и может случиться, к примеру, что во время записи сработает какое-либо прерывание и в этом случае процесс записи данных будет загублен.
Кроме того, не рекомендуется записывать данные в энергонезависимую память с нулевого адреса  (не помню источника этих сведений, но точно помню, что где-то читал) – возможно повреждение данных в ходе работы МК. Иногда программисты отступают на несколько байт от начала памяти, и только в следующих ячейках начинают запись данных.


Предыдущие статьи:

♦ Микроконтроллер и как его победить
♦ Микроконтроллер и системы счисления
♦ Микроконтроллер и логические операции
♦ Общее устройство микроконтроллера

Следующие статьи:

♦ Регистры общего назначения, регистры ввода/вывода, стек, счетчик команд
♦ Регистр состояния SREG
♦ Порты ввода/вывода микроконтроллера



Архитектура AVR микроконтроллеров: развитие вширь и вглубь. Часть 1. Обзор основных характеристик - Компоненты и технологии

В январе 2007 года корпорация ATMEL провела в Норвегии, на родине AVR, традиционный дистрибьюторский семинар, посвященный новым достижениям в AVR-строении. Развитие AVR-контроллеров происходит по трем основным направлениям: микросхемы для автомобильных применений, микросхемы со сверхнизким энергопотреблением (picoPower) и микросхемы, построенные на принципиально новом высокопроизводительном низкопотребляющем 32-разрядном ядре AVR32. В первой части статьи приводится обзор основных характеристик новинок. Во второй части более подробно будет рассмотрено семейство контроллеров AVR32 с Flash-ПЗУ на кристалле.

Автомобильные AVR-контроллеры

Для применения в автомобильной промышленности ATMEL разработала «высокотемпературные» версии микросхем. Следует отметить, что это не «отобранные» стандартные кристаллы, а специально разработанная топология. Особое внимание уделено модулю Flash-памяти. Известно, что время хранения информации, записанной во Flash-память, обратно пропорционально температуре кристалла. Таким образом, для микросхемы любого производителя фактический срок хранения данных в памяти при комнатной температуре и при температуре, например, +85 °C, отличается в несколько раз. Инженеры копрорации ATMEL разработали специальную топологию элемента FLASH-памяти со сниженными токами утечки. В результате гарантируется надежная работа микросхем в диапазоне температур от –40 до +125 °C. Существует четыре градации диапазонов рабочих температур для микросхем автомобильного применения:

  • Grade 3, –40…+85 °C — индекс в названии микросхемы Т;
  • Grade 2, –40…+105 °C — индекс в названии микросхемы Т1;
  • Grade 1, –40…+125 °C — индекс в названии микросхемы Z;
  • Grade 0, –40…+150 °C — индекс в названии микросхемы Т2.

Пилотной микросхемой на «автомобильный» температурный диапазон стала ATmega88.

В настоящее время список микросхем расширен, а специальная версия ATmega88-ERSAT2 может работать в диапазоне от –40 до +150 °C! Основные параметры микросхем приведены в таблице 1.

Таблица 1. Основные параметры микросхем фирмы ATMEL

  Flash

кбайт

EEPROM

байт

SRAM

байт

16-раз-

рядный

таймер

8-раз-

рядный

таймер

ШИМ-каналы RTC SPI UART TWI Умно-

житель

Преры-

вания

Внеш-

ние

преры-

вания

Тип корпуса
AT90CAN128 128 4096 4096 2 2 8 + + 2 + 34 8 LQFP/MLF64
AT90CAN32 32 1024 2048 2 2 8 + + 2 + 34 8 LQFP/MLF64
AT90CAN64 64 2048 4096 2 2 8 + + 2 + 34 8 LQFP/MLF64  
ATtiny25 2 128 128 2 4 USI USI 15 7 Узкий SOIC 8
ATtiny45 4 256 256 2 4 USI USI 15 7 Узкий SOIC 8
ATtiny85 8 512 512 2 4 USI USI 15 7 Узкий SOIC 8
ATmega48 4 256 512 1 2 6 + 1+USART 1 + + 26 26 TQFP/QFN32
ATmega88 8 512 1024 1 2 6 + 1+USART 1 + + 26 26 TQFP/QFN32
ATmega168 16 512 1024 1 2 6 + 1+USART 1 + + 26 26 TQFP/QFN32

Еще одним интересным решением для применения в автомобильной промышленности является микросхема, содержащим в корпусе два кристалла — AVR-контроллер и модуль интерфейса LIN. Микросхема функционирует в диапазоне напряжений питания от 5 до 18 В. Типовая схема включения микросхемы приведена на рис. 1.

Рис. 1. Схема включения контроллера ATA6602/6603

К концу 2007 года будет выпущено более 10 типов микросхем с расширенным диапазоном рабочих температур (рис. 2).

Рис. 2. Программа развития микроконтролеров серии «automotive»

Технология picoPower

С момента появления на рынке в 1997 году контроллеры AVR отличались невысоким энергопотреблением. Для управления потребляемой мощностью контроллер имеет шесть режимов энергосбережения:

  • Idle mode — в этом режиме блокируется подача тактовых импульсов на CPU и Flash-память.
  • ADC noise reduction mode — Idle mode, плюс блокируется тактирование портов ввода–вывода.
  • Extended Standby mode — ADC noise reduction mode, плюс запрещается работа АЦП и EEPROM.
  • Standby mode — Extended Standby mode, плюс запрещается работа таймера 2.
  • Power Down mode — Standby mode, плюс запрещается работа генератора.
  • Power Save mode — самый низкопотребляющий режим, активны только асинхронные модули — прерывания и порт TWI.

В 2006 году компания анонсировала разработку новых экономичных AVR-контроллеров семейства picoPower. В этом семействе реализован ряд дополнительных мер со снижению энергопотребления как в режиме ожидания, так и в активном режиме. Ниже более подробно рассмотрены особенности нового семейства.

Питание 1,8 В для всех модулей кристалла. В отличие от микроконтроллеров прежних поколений, технология picoPower подразумевает напряжение 1,8 В для питания абсолютно всех модулей кристалла, включая аналоговые модули (АЦП, компаратор, источник опорного напряжения), а также модулей памяти (Flash-ПЗУ, EEPROM и ОЗУ).

Концепция «спящий BOD». Практически все современные микроконтроллеры имеют на кристалле модуль слежения за уровнем напряжения питания — BOD (Brown Out Detector). Есть два подхода к снижению потребления этого модуля. Первый — сделать модуль очень экономичным. Плата за экономичность — резкое, до единиц миллисекунд, снижение быстродействия. Второй — использовать быстродействующий BOD, однако отключать этот модуль на время пребывания контроллера в режиме ожидания. При этом время срабатывания модуля составляет 2 мкс. Естественно, для надежной работы контроллера модуль BOD отключается после перехода в режим ожидания, а включается до выхода из этого режима.

Ультранизкопотребляющий генератор на 32 кГц. При переходе контроллера в режим Standby существенную долю общего потребления контроллера составляют цепи генератора. Применение новой версии модуля генератора, работающего с «часовым» кварцем, позволяет получить ток не более 650 нА с учетом работающего модуля BOD. Это лучший на сегодня показатель в промышленности.

Минимизация токов утечки. Потребление тока в режимах энергосбережения в большей степени определяется токами утечки кристалла. Применение собственного процесса для изготовления кристаллов по технологии picoPower позволяет получить токи утечки в режиме Standby при напряжении питания 1,8 В не более 100 нА.

Дальнейшие меры по снижению энергопотребления относятся к работе периферийных узлов в активном режиме. Как известно, потребление КМДП-микросхем в активном режиме напрямую зависит от частоты переключения вентилей вследствие перезаряда паразитных емкостей кристалла. Таким образом, если запретить подачу тактовых импульсов на некоторые модули контроллера, можно снизить потребляемую мощность. Эта технология получила название Clock Gating. Существует три уровня работы Clock Gating. Кристалл разделен на три энергопотребителя — Analog Domain, CPU Domain и In/Out Domain. Первый уровень отвечает за тактирование каждого энергопотребителя в зависимости от текущего режима работы контроллера.

Второй уровень задается программированием специального регистра снижения потребляемой мощности (Power Reduction Register, PRR). Известно, что в конкретной программе, выполняемой контроллером, не все периферийные модули могут быть активными постоянно. Некоторые модули задействуются на определенные интервалы времени, а какие-то — вообще не используются при выполнении той или иной процедуры. Регистр PRR управляет включением-выключением периферийных модулей.

При отключении модуля его текущий статус запоминается, и все его регистры становятся недоступными для модификации. Как показывает стастистика, использование такого механизма позволяет снизить суммарную потребляемую мощность на 5–10% в активном режиме и на 10–20% в режиме Idle.

Третий уровень Clock Gating отвечает за адаптивное тактирование регистров. Известно, что не все регистры модифицируются в каждом такте. Таким образом, можно не подавать тактирующие импульсы на регистры, состояние которых не требуется модифицировать в данном цикле процессора.

Снижение потребления модуля Flash-памяти. Flash-память — это, по существу, аналоговый блок со статическим энергопотреблением. Как правило, во время работы контроллера этот блок всегда активен. Следует учесть, однако, что в ряде случаев контроллер используется не на максимальной тактовой частоте, следовательно, время выборки команды из Flash-ПЗУ меньше одного периода тактовой частоты. Когда AVR-контроллер работает на частоте не выше нескольких мегагерц, используется техника «Flash sampling» — модуль памяти активизируется только на время, необходимое для выборки команды, а затем отключается. Этот алгоритм проиллюстрирован на рис. 3.

Рис. 3. Работа системы «Flash sampling»

Снижение токов утечки по входам. Многие AVR-контроллеры имеют модуль АЦП, который использует некоторые порты как аналоговые входы (рис. 4).

Рис. 4. Структура универсального порта ввода–вывода

Мультиплексирование выводов контроллера для цифровых или аналоговых операций повышает функциональность, однако приводит к увеличению энергопотребления. Это объясняется следующим.

Входной каскад КМДП-логики состоит из двух комплементарных МДП-транзисторов. При изменении уровня входного напряжения, в моменты, когда на вход подается уровень, примерно равный половине питания, оба транзистора «приоткрыты», и через входной каскад протекает сквозной ток. Для цифровых сигналов с крутыми фронтами это время пренебрежимо мало, однако если вывод используется как вход АЦП, на нем «неудобное» напряжение может оставаться сколь угодно долгое время, что приводит к увеличению уровня потребляемого тока. Для снижения потребления нужно отключать цифровой вход на время работы АЦП. Для этого введен специальный регистр DIDR (Dedicated Input Disable Register), который выборочно запрещает цифровые входы при работе АЦП.

Также этот регистр запрещает неиспользуемые входы контроллера при переходе в ждущий режим.

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

Архитектура AVR32

Большую долю рынка 32-разрядных контроллеров в настоящее время захватили микросхемы на базе ядер ARM7, ARM9 и ARM11. ATMEL также производит контроллеры на базе ядер ARM7 и ARM9. Несмотря на это, в 2001 году корпорация начала разработку принципиально новой 32-разрядной RISC-архитектуры. Основной целью было повышение вычислительной производительности за такт процессора. Задача формулировалась как разработка процессора, который сможет решать сложные задачи цифровой обработки информации при малом потреблении энергии — требование разработчиков мобильных устройств. Ядро должно одновременно выполнять задачи MPU и DSP в рамках одной программной и инструментальной базы. В дополнение к производительному ядру контроллеры нового поколения имеют высокоскоростную периферию, в частности, два контроллера 10/100 Mbps MAC и High-Speed USB (480 Mbps). В последующих версиях контроллеров будет добавлет хост-контроллер USB (480 Mbps), поддерживающий режим OTG (On The Go).

Основные параметры микросхем приведены в таблице 2.

Таблица 2. Основные параметры микросхем AT32AP700X

  SDRAM (кбайт) DSP

инст-

рук-

ции

Век-

тор-

ный

со-

про-

цес-

сор

Ether-

net 10/ 100 MAC

USB HS Devi-

ce

Конт-

рол-

лер

LCD 2048 x 2048

Число выво-

дов общего назна-

чения

Число DMA кана-

лов

Интер-

фейс внеш-

ней шины

Конт-

роллер SDRAM

AC97 Интер-

фейс к камере

ФАПЧ Квар-

цевый осцил-

лятор

MMU/ MPU Бес-свинцовый корпус
AT32AP7000 32 + + 2 1 24бит 160 20 + + 1 CMOS 2 2 MMU 256 CTBGA
AT3AP7001 32 + + 0 1 90 20 + + 1 CMOS 2 2 MMU 208 VQFP
AT32AP7002 32 + + 0 1 18бит 85 20 + + 1 CMOS 2 2 MMU 196 CTBGA

Архитектура AVR32 разработана в норвежском городе Тронхейм, там же, где созданы 8-разрядные AVR-контроллеры. В разработке участвовала команда из двадцати инженеров и программистов. В результате 4-летней работы над такими алгоритмами, как вычисление суммы абсолютных разностей (SAD) и обратное дискретное косинусное преобразование (IDCP), был достигнут 35% прирост эффективности на один такт процессора по сравнению с ядром ARM11. Это означает возможность декодировать в реальном времени видеофрагмент MPEG-4 разрешением QVGA с частой 30 кадров в секунду при частоте ядра 100 MГц, в то время как ARM11 для решения этой задачи требуется частота 150–170 MГц.

Структурная схема первого представителя AVR32 — контроллера AT32AP7000 приведена на рис. 5.

Рис. 5. Структурная схема контроллера AT32AP7000

На ядре AVR32 разрабатывается семейство контроллеров с аббревиатурой AP (Application Processor). Микросхемы будут выпускаться в корпусах BGA и TQFP. На рис. 6. представлена программа развития этого семейства.

Рис. 6. Планы развития AVR32

Структурная схема конвейера AVR32

Основой архитектуры AVR32 является семистадийный конвейер (рис. 7), обеспечивающий высокую производительность. Семистадийный конвейер AVR32 состоит из трех модулей, подготавливающих команду и четырех модулей, производящих выполнение.

Рис. 7. Схема конвейера AVR32

На первом этапе инструкции выбираются из кэш-памяти.

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

Совместно с высокой плотностью кода это позволяет снизить использование памяти и производить переходы без потери циклов.

Третий этап — декодирование команды. В зависимости от содержания команды она попадает в целочисленный модуль, который состоит из трех конвейеров:

  • конвейер умножения, состоящий из двух блоков умножения;
  • конвейер АЛУ, состоящий из двух блоков вычислений;
  • конвейер данных, состоящий из модуля адресации и модуля доступа к данным.

Конвейер данных имеет доступ к сопроцессору для параллельного выполнения матричных и векторных операций.

Три перечисленных конвейера поддерживают одновременное исполнение независимых инструкций с изменением последовательности (рис. 8). То есть, например, пока модуль умножения в течение 32 тактов занят, в модуле АЛУ может выполняться следующая операция.

Рис. 8. Плотность кода AVR32 AP в тестах EEMBC (оптимизация по скорости)

Оптимизация доступа к памяти

Конвейеры соединены шинами, позволяющими передавать данные непосредственно от одного модуля к другому без загрузки дополнительных ресурсов. Например, результат суммирования из блока АЛУ2 сразу после завершения выполнения операции пересылается на вход модуля умножения 1, АЛУ1 и блок адресации данных (Data Address). Такой механизм позволяет экономить 3 такта, которые требуются для программной пересылки данных на вход конвейера (рис. 9).

Рис. 9. Плотность кода AVR32 AP в тестах EEMBC (оптимизация по длине)

Работа с сопроцессором реализована через конвейер данных, что минимизирует задержки во время выполнения команд сопроцессором.

Оптимизация на уровне буфера команд за счет переменной длины команд

AVR32 работает с расширенным набором RISC-команд. Команды могут иметь длину 16 или 32 бита и следовать общим потоком. В отличие от архитектуры ARM, у этого ядра нет необходимости переключаться между двумя режимами. Все команды распознаются непосредственно в конвейере.

SIMD инструкции

В набор команд AVR32 входят инструкции для операций с множественными данными (Single Instruction Multiply Data), позволяющие в четыре раза увеличить производительность некоторых DSP алгоритмов, которые требуют выполнения одинаковых операций с потоком данных. Например, при декодировании видео формата MPEG производится расчет восьмибитных сумм абсолютных разностей (SAD). Для этого четыре 8-битных пикселя загружаются из памяти одной операцией, затем выполняется пакетное вычитание беззнаковых байтов с проверкой переопустошения, сложение байтов внутри старшей и младшей пар и распаковка их в полуслова.

Затем для вычисления значения SAD все значения складываются.ptr3[offset3&0xff];

В основе лежат четыре операции доступа к памяти, извлекающие один из четырех байтов 32-разрядного слова. Результатом операции является адрес памяти, к которому требуется доступ.

Для выполнения этой операции на МК с традиционной RISC-архитектурой потребуется 14 тактов. AVR32 выполнит эту операцию всего за 7 тактов. Использование инструкции чтения с извлеченным индексом (extracted index) позволяет ядру AVR32 выполнить все четыре операции доступа к памяти за четыре такта, сохраняя при этом все четыре смещения в одном регистре.

За счет уменьшения числа требуемых инструкций для выполнения операций увеличивается производительность ядра AVR32.

DSP-инструкции

В набор команд входят DSP-команды, такие как битовые операции, умножение с накоплением (МАС), сдвиг на любое число битов за один такт, быстрые масочные операции с битами в слове и многое другое. Такое нововведение позволяет не только быстро выполнять операции с портами общего назначения. Появляется возможность выполнять потоковую обработку данных на кристалле, Фурье-анализ, кодирование-декодирование, распознавание образов, воспроизведение аудио и видео без использования внешних кодеков (рис. 10).

Рис. 10. Сравнительная производительность AVR32

Аппаратное выполнение Java-инструкций

В конвейере AVR32 реализована аппаратная поддержка виртуальной машины Java— то есть кроме RISC-инструкций ядро может выполнять большинство инструкций байткода Java. Использование Java увеличивает возможности по использованию существующих пользовательских приложений и позволяет сократить время на перенос существующих или разработку новых приложений.

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

Разветвленная шинная топология и энергопотребление

Применение в AP7000 многослойной разветвленной архитектуры системных шин (рис. 11) позволяет распараллеливать операции передачи данных, а два независимых периферийных контроллера, работающие на разных частотах, физически разделяют высокоскоростную и медленную периферию. Таким образом, не тратится дополнительная энергия при работе медленных периферийных модулей на высокой частоте.

Рис. 11. Схема шин и периферии AP7000

Контроллер разделен на четыре домена— ядро и шинная матрица (HBUS Matrix) и два периферийных контроллера, в каждом из которых частота может быть установлена независимо.

Поддержка компиляторов и ОС

Архитектура AVR32 разрабатывалась при тесном сотрудничестве с компанией IAR, которая занимается разработкой компиляторов для микроконтроллеров. Это выразилось в более удобной для компилятора архитектуре регистров. Также на этапе разработки было заложено требование по поддержке и оптимизации на уровне архитектуры использования операцилннй системы (ОС) для AVR32. В качестве ОС выбрана Linux. Существует специальный механизм, ускоряющий переключение между процессами и выполнение некоторых часто используемых системных вызовов. Естественно, во всех микроконтроллерах семейства AP7000 присутствует модуль MMU. Разработку программного обеспечения для AVR32 можно вести с применением компилятора GCC. Также в разработке находится порт Linux под AVR32.

Таким образом, микроконтроллер AT32 AP7000, построенный на новом ядре AVR32, предоставляет возможности по высокоскоростному вводу и передаче данных, выводу информации на ЖК-дисплей, потоковой обработке. При этом AP7000 остается микроконтроллером с низким потреблением, которое на 80% связано с архитектурными особенностями семейства AVR32.

В дополнение к семейству AVR32 AP (Application Processor) будут выпущены микросхемы семейства uC (MicroController). Эти микросхемы являются упрощенной версией AP с точки зрения насыщенности интерфейсными модулями, однако они содержат на кристалле Flash-ПЗУ и ОЗУ, что позволит создавать на них компактные недорогие одноплатные решения. Об этом — вторая часть статьи.

§ 1. Введение в робототехнику






Содержание урока

Роботы и робототехника

Из чего состоит робот?

Выводы

Вопросы и задания


Из чего состоит робот?

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

Роботом нужно как-то управлять, поэтому необходима система управления, которая в современных роботах строится на микроконтроллерах.

Микроконтроллер — это миниатюрный компьютер, все части которого размещены на одном кристалле кремния. Он содержит процессор, разъёмы для управления внешними устройствами (порты), оперативную и постоянную память. В постоянную память микроконтроллера записана программа, которую он при включении сразу начинает выполнять.

Используя дополнительные источники, выясните, кто и когда впервые получил патент на микроконтроллер.

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

Передвижение роботов — это достаточно сложная самостоятельная задача. Например, современные роботы-спасатели должны уметь подниматься по лестнице здания.

Для того чтобы получать данные об окружающей обстановке, роботу нужны датчики (сенсоры, чувствительные элементы) — устройства, которые измеряют какую-то физическую величину и выдают информацию о ней в виде электрических сигналов. Поскольку эти сигналы затем будет обрабатывать цифровой компьютер, их нужно преобразовать в двоичный код, в числа. Эту работу выполняет аналого-цифровой преобразователь (АЦП), который, как правило, встроен в микроконтроллер.

Существуют различные типы датчиков (рис. 1.2): датчики температуры, давления, скорости, освещённости, датчики касания («кнопки»), датчики расстояния (они измеряют время, за которое ультразвук отражается от препятствия и возвращается обратно), инфракрасные датчики для поиска и обнаружения объектов и многие другие. Более сложные роботы имеют системы компьютерного зрения на основе видеокамер. Они могут «узнавать» простые предметы, определять их расположение в пространстве и достраивать невидимые части, используя информацию из своей базы данных.

Рис. 1.2

Таким образом, встроенный микроконтроллер робота управляет исполнительными устройствами и обрабатывает данные, поступающие с датчиков (рис. 1.3).

Рис. 1.3

Используя дополнительные источники, выясните, какие микроконтроллеры применяются:

• в наборах LEGO Mindstorms;
• на платах Arduino, которые широко используются робототехниками-любителями.

На какой тактовой частоте они работают? Сравните её с тактовой частотой процессоров для настольных компьютеров.

Следующая страница Выводы

Cкачать материалы урока

Архитектура микроконтроллеров (Реферат) - TopRef.ru

Томский политехнический университет

Государственное образовательное учреждение высшего профессионального образования

«ТОМСКИЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»

Реферат на тему

«Архитектура микроконтроллеров C51, AVR, ARM»

Томск 2009

Содержание

Введение

1. Архитектура микроконтроллеров MCS-51

1.1. Блок управления и синхронизации

2. Архитектура микроконтроллеров ARM

2.1. Основные характеристики ядра ARM7

3. Архитектура микроконтроллера AVR

3.1. Микропроцессор

3.2. Память

3.2.1. Память программ (Flash ROM или Flash ПЗУ)

3.2.2. Память данных

3.2.3. Регистровая память (РОН и РВВ)

3.2.4. Энергонезависимая память данных (EEPROM)

3.2.5. Оперативная память (ОЗУ или RAM)

3.3. Периферия

3.3.1. Порты ввода/вывода (I/O)

3.3.2. Прерывания (INTERRUPTS)

3.3.3. Таймеры/счетчики (TIMER/COUNTERS)

3.3.4. Сторожевой таймер (WDT)

3.3.5. Аналоговый компаратор (AC)

3.3.6. Аналого-цифровой преобразователь (A/D CONVERTER)

3.3.7. Универсальный последовательный приемопередатчик (UART или USART)

3.3.8. Последовательный периферийный интерфейс SPI

3.3.9. Двухпроводной последовательный интерфейс TWI

3.3.10. Интерфейс JTAG

3.3.11. Тактовый генератор

3.3.12. Система реального времени (RTC)

3.4. Питание

3.4.1. Сброс при снижении напряжения питания (BOD)

Заключение

Список литературы

Введение

Микроконтроллер (MCU) — микросхема, предназначенная для управления электронными устройствами. Типичный микроконтроллер сочетает в себе функции процессора и периферийных устройств, может содержать ОЗУ и ПЗУ. По сути, это однокристальный компьютер, способный выполнять простые задачи. Использование одной микросхемы, вместо целого набора, как в случае обычных процессоров, применяемых в персональных компьютерах, значительно снижает размеры, энергопотребление и стоимость устройств, построенных на базе микроконтроллеров.

Микроконтроллеры являются основой для построения встраиваемых систем, их можно встретить во многих современных приборах, таких, как телефоны, стиральные машины и т. п. Большая часть выпускаемых в мире процессоров — микроконтроллеры[3].

В отличие от микросхем "жесткой логики", микроконтроллер - это микросхема, у которой, во-первых, зависимость выходных сигналов от входных определяется исключительно правилами, заложенными разработчиком заранее (это называется программированием, а сами правила - программой), а во-вторых, нет четкого деления выводов на входы и выходы - обычно почти все выводы микроконтроллера в зависимости от желания и намерения разработчика могут быть как входами, так и выходами (и даже менять свое назначение в процессе работы).

  1. Архитектура микроконтроллеров MCS-51

Архитектура семейства MCS-51 в значительной мере предопределяется ее назначением - построение компактных и дешевых цифровых устройств. Все функции микроЭВМ реализуются с помощью единственной микросхемы. В состав семейства MCS-51 входит целый ряд микросхем от самых простых микроконтроллеров до достаточно сложных. Микроконтроллеры семейства MCS-51 позволяют выполнять как задачи управления различными устройствами, так и реализовывать отдельные узлы аналоговой схемы. Все микросхемы этого семейства работают с одной и той же системой команд, большинство из них выполняется в одинаковых корпусах с совпадающей цоколевкой (нумерация ножек для корпуса). Это позволяет использовать для разработанного устройства микросхемы разных фирм - производителей (таких как Intel, Dallas, Atmel, Philips и т.д.) без переделки принципиальной схемы устройства и программы.[5]

Рис 1. Структурная схема контроллера К1830ВЕ751

Структурная схема контроллера представлена на рис.1. и состоит из следующих основных функциональных узлов: блока управления, арифметико-логического устройства, блока таймеров/счетчиков, блока последовательного интерфейса и прерываний, программного счетчика, памяти данных и памяти программ. Двусторонний обмен осуществляется с помощью внутренней 8-разрядной магистрали данных. Рассмотрим подробнее назначение каждого блока. По такой схеме построены практически все представители семейства MCS-51. Различные микросхемы этого семейства различаются только регистрами специального назначения (в том числе и количеством портов). Система команд всех контроллеров семейства MCS-51 содержит 111 базовых команд с форматом 1, 2 или 3 байта и не изменяется при переходе от одной микросхемы к другой. Это обеспечивает прекрасную переносимость программ с одной микросхемы на другую.

Микроконтроллер и микропроцессор — в чём разница?

В составе разных электронных устройств часто встречаются как микроконтроллеры, так и микропроцессоры. Оба этих компонента берут из памяти команды и по ним выполняют логические и арифметические операции, работая при этом с устройствами ввода/вывода и прочей периферией. Так в чём тогда разница?

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

Микроконтроллер — (далее МК) это микросхема, предназначенная для программного управления электронными схемами. МК выполняется на одном кристалле. На нём расположено как вычислительное устройство, так и ПЗУ и ОЗУ. Кроме этого, в составе МК чаще всего находятся порты ввода/вывода, таймеры, АЦП, последовательные и параллельные интерфейсы. В некоторых даже можно заметить Wi-Fi-/Bluetooth-модуль и даже поддержку NFC.

Первый патент на микроконтроллер был выдан в 1971 году компании Texas Instruments. Инженеры этой компании предложили размещать на кристалле не только процессор, но и память с устройствами ввода/вывода.

Структурная схема микроконтроллера

Несмотря на то, что всё необходимое для работы микроконтроллера в нём уже есть, иногда они используются в паре с внешними периферийными устройствами. К примеру, когда внутренней ПЗУ не хватает (или она попросту отсутствует), подключают внешнюю. Именно так сделали с микроконтроллерами серии ESP. У ESP8266 встроенной памяти нет вообще, а у ESP32 есть незначительные 448 КБ. Поэтому к ним в корпус (точнее под радиатор) помещается flash-память ёмкостью 1–16 МБ.

Тогда почему бы не сделать какой-нибудь портативный компьютер на основе микроконтроллера? Дело в том, что вычислительной мощности у МК чаще всего достаточно мало. Её хватает на управление например, системой полива, микроволновкой или же каким-нибудь станком.

Например, одна из мощных плат платформы Arduino — Due. Она находится под управлением 32-битного AVR-микроконтроллера AT91SAM3X8E. Его тактовая частота 84 МГц. Постоянной памяти тут 512 КБ, а оперативной — 96 КБ. МК имеет 54 цифровых GPIO (12 из которых с поддержкой ШИМ), 12 аналоговых входов и 2 аналоговых выхода (ЦАП). Тут так же присутствуют различные интерфейсы, такие как UART, SPI, I2C.

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

Микропроцессор

С микропроцессором (далее МП) дела обстоят немного иначе. Он содержит в себе арифметико-логическое устройство, блок синхронизации и управления, запоминающие устройство, регистры и шину. То есть МП содержит в себе только то, что непосредственно понадобится для выполнения арифметический и логических операций. Все остальные комплектующие (ОЗУ, ПЗУ, устройства ввода/вывода, интерфейсы) нужно подключать извне.

Структурная схема микропроцессорного устройства

Первые микропроцессоры появились тоже в начале 70-х. Самым популярным на тот момент считался 4004. Это микропроцессор, разработанный компанией Intel и представленный 15 ноября 1971 года. Он имел внушающие на тот период характеристики:

  • 2300 транзисторов;
  • тактовая частота — 740 кГц;
  • разрядность регистров и шины — 4 бита;
  • техпроцесс — 10 мкм;
  • площадь кристалла: — 12 мм².

К слову, 4004 был выполнен в обычном DIP-16 корпусе. Этот МП является самой популярной микросхемой для коллекционирования. Некоторые экземпляры продаются по 400 $ за штуку. Менее раритетные стоят около 250 $.

Уже через пару лет 8-битные МП позволили создавать первые бытовые микрокомпьютеры.

Естественно, тут преимуществом является то, что к МП можно на выбор подключать разную периферию с разными характеристиками (что не во всех случаях можно на МК). Второе основное отличие микропроцессора от микроконтроллера в том, что МП имеют больше вычислительной мощности. Их не имеет смысла ставить в микроволновки и «умные» лампочки. Микропроцессоры применяют там, где вычислительная мощность МК уже не справляется — игровые приставки, сложные вычислительные устройства и приборы, гаджеты.

Получается, чтобы обеспечить работоспособность микропроцессора, нужно подключить ему хотя бы минимальный набор периферии. Минусы:

  1. Размер — если в случае МК всё уже находится в одном корпусе, то минимальный набор элементов для работы МП занимает больше места.
  2. Цена — обычно, вся «сборка» комплектующих для МП выходит гораздо дороже «голых» микроконтроллеров.

Плюсы:

  1. Производительность — микропроцессоры обладают большей производительностью, чем микроконтроллеры.
  2. Выбор — в случае МП у вас есть возможность подобрать комплектующие. Это позволит поставить более подходящую под ваши цели периферию.

Применение

Микроконтроллер обладает явной простотой: требуется меньше аппаратного обеспечения, с ним легче работать на программном уровне, да и стоимость начинается с копеек. Но эта простота касается и производительности. Как говорилось выше, микроконтроллер не способен обеспечить высокую производительность наравне с микропроцессорами. Микропроцессоры хоть и требуют внешней коммутации «железа» и относительно МК сложны в работе, но они уже спокойно могут применяться в более сложных устройствах.

Однако иногда в сети появляются умельцы, которые впихивают в микроконтроллер ESP32 DOOM и даже эмулятор NES-игр.

Микроконтроллеры. Энциклопедия электроники L7805CV

Микроконтроллер (microcontroller , microcontroller unit, MCU) – интегральная микросхема, совмещающая в себе процессор, ОЗУ, ПЗУ, АЦП, ЦАП, каналы ввода/вывода, таймеры и прочее.

Классификация

В зависимости от разрядности (как правило, шины данных) микроконтроллеры бывают: 4, 8, 16, 32 битные.

В настоящее время существует большое число архитектур микроконтроллеров. Наиболее распространены МК Гарвардской архитектуры с системой команд RISC. Ниже перечислены некоторые из них:

  • AVR – семейство 8ми битных МК выпускаемые фирмой Microchip (ранее выпускались фирмой Atmel).
  • PIC – семейство 8, 16 и 32 битных МК выпускаемые фирмой Microchip.
  • SAM – семейство 32 битных МК на базе ядра ARM Cortex выпускаемые фирмой Microchip.
  • STM8 – семейство 8ми битных МК выпускаемых фирмой ST.
  • STM32 – семейство 32 битных МК на базе ядра ARM Cortex выпускаемых фирмой ST.

Семейство восьмибитных микроконтроллеров PIC делится на несколько серий:

  • PIC10 – серия самых простых микроконтроллеров в малом корпусе с сокращенной системой команд;
  • PIC12/PIC16 – наиболее массовая серия микроконтроллеров, содержит разнообразную периферию: SPI, I2C, USART, LCD, АЦП;
  • PIC18 – серия продвинутых восьмибитных микроконтроллеров в больших корпусах (от 28 до 100 выводов), содержит сложную периферию: CAN, USB, Ethernet, LCD, драйвер сенсорных кнопок.

Семейство восьмибитных микроконтроллеров AVR делится на несколько серий:

  • tinyAVR – серия микроконтроллеров в малом корпусе;
  • megaAVR – наиболее массовая серия микроконтроллеров, содержит разнообразную периферию: SPI, USART, ЦАП, PWM и т.д.;
  • XMEGA – серия продвинутых восьмибитных микроконтроллеров в больших корпусах (от 44 до 100 выводов), содержит сложную периферию: USB, DMA.

Структура

Структурная схема микроконтроллера семейства AVR приведена на рисунке.

Память программ (Program memory)

В микроконтроллере программа хранится в отдельной области памяти – память программ. Первые микроконтроллеры выпускались с однократно программируемой памятью программ. У выпускаемых в настоящее время микроконтроллеров программы хранятся в электрически перепрограммируемой памяти типа FLASH. Это позволяет обновлять программу в процессе жизненного цикла изделия. Применяемая в микроконтроллерах FLASH память допускает около 10 000 циклов записи/очистки.

Оперативная память (Data memory, SRAM)

Оперативная память микроконтроллера содержит регистры портов ввода/вывода и пользовательские регистры необходимые для выполнения программ. Например, адресное пространство оперативной памяти микроконтроллера семейства AVR Atmega8A состоит из 32 регистров общего назначения, 64х регистров портов ввода/вывода и 1024 байтов памяти.

Память данных (EEPROM)

Энергонезависимая память данных (EEPROM) предназначена для хранения данных при отсутствии питания, например, коэффициенты настройки устройства, текущий режим и т.д. В МК память данных выделена в отдельное адресное пространство. Для чтения и записи используются специальные команды. Ресурс памяти около 100 000 циклов записи/очистки.

АЛУ и регистры данных

Арифметико-логическое устройства (АЛУ) предназначено для выполнения операций с регистрами и константами. Операции могут быть арифметические, логические, операции, изменяющие счетчик команд.

Особенностью архитектуры AVR является наличие 32 регистров общего назначения: R0…R31. В архитектуре PIC предусмотрен один 8ми битный регистр, под названием W.

После выполнения операции в АЛУ происходит запись регистра статуса (в архитектурах AVR и PIC регистр называется STATUS). В нем содержится информация о выполненной информации. Отдельные биты характеризуют: флаг четности, флаг отрицательного числа, флаг нуля и т.д.

Также после выполнения команды изменяется счетчик программы: адрес в памяти программ выполняемой команды.

Тактовый генератор

Для работы АЛУ, периферии ввода/вывода, оперативной памяти необходим тактовый сигнал. В качестве источника тактового сигнала в большинстве микроконтроллеров могут выступать:

  • встроенный RC генератор;
  • внешний сигнал от генератора прямоугольных импульсов;
  • встроенный генератор от внешнего кварцевого резонатора;
  • встроенный генератор от внешней RC цепочки.

На рисунке ниже показано использование генератора от внешнего кварцевого резонатора.

Встроенный RC генератор может работать на нескольких частотах. Выбор конкретной частоты осуществляется программированием специальной ячейки. Например, у МК ARV частота задается изменением прожигаемых ячеек (fuses) CKSEL.

Недостатком генераторов на RC цепочках является зависимость частоты от температуры. Для применений где требуется временная точность рекомендуется использовать внешний кварцевый резонатор.

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

Выводы микроконтроллера могут быть настроены на прием или на выдачу логического сигнала. Направление работы вывода меняются в пользовательской программе путем изменения регистра порта ввода/вывода. На рисунке вывод PB3 работает как вход, PB0, PB1 – как выход. Применение полевых транзисторов позволяет подключать светодиоды непосредственно к микроконтроллеру.

Некоторые выводы микроконтроллера кроме приема и выдачи логических сигналов могут применяться для других целей, например, вход АЦП, компаратора и т.д.

Интерфейсы связи

Шина SPI (Serial Peripheral Interface) – синхронная полнодуплексная шина. Предназначена для обмена между микроконтроллером и другими устройствами.

Протокол SPI позволяет подключать несколько ведомых устройств к одному ведущему. Для связи используется 4 линии:

  • MOSI (master output, slave input) - передача информации от ведущего устройства ведомому;
  • MISO (master input, slave output) - передача информации от ведомого устройства;
  • SCLK - тактовый сигнал;
  • SS – выбор ведомого устройства.

Обмен данными между микроконтроллером ATMega8A и EEPROM памятью AT25010B по шине SPI

Шина I2C, TWI – последовательная ассиметричная шина, использующая две линии связи:

  • SDA (serial data) – линия данных;
  • SCL (serial clock) – линия тактового сигнала.

АЦП MCP3425 измеряет сопротивление терморезистора, чтение измеренных значений осуществляется по шине I2C/TWI

USART (Universal Synchronous and Asynchronous serial Receiver and Transmitter) – универсальный синхронный/асинхронный последовательный передатчик/приемник. Позволяет принимать/передавать данные по последовательному интерфейсу.

Для связи с персональным компьютером через порт RS-232 используется микросхема MAX232. Обмен информацией осуществляется через порт USART микроконтроллера.

Счетчики/таймеры

Счетчики/таймеры предназначены для предназначены для подсчета импульсов. Источником импульсов может служить внешний сигнал или тактовый сигнал микроконтроллера.

С помощью таймеров можно осуществить задержку по времени в программе.

Блок прерываний

Прерывания необходимы для выполнения определенной программы при возникновении некоторых событий, например, изменения логического входа, переполнение счетчика, завершения передачи данных по USART и т.д.

Сторожевой таймер

Сторожевой таймер (watchdog timer) предназначен для сброса микроконтроллера при его зависаниях. Зависания могут возникнуть из-за ошибок в пользовательской программе, (переход в бесконечный цикл, переход в «пустую» область памяти программ). При переполнении сторожевого таймера осуществляется сброс микроконтроллера.

АЦП

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

Компараторы

Компараторы предназначены для сравнения двух сигналов. Принцип действия следующий: когда на положительном входе напряжение больше чем на отрицательном в специальном регистре устанавливается (логическая единица) определенный бит. При обратной ситуации бит сбрасывается (логический ноль).

Конфигурируемая логика

Блок конфигурируемой логики позволяет реализовать физическую логическую схему внутри МК. Данные блоки являются редкостью для микроконтроллеров.

Входами логической схемы могут являться: выводы МК, тактовый сигнал, биты регистров оперативной памяти. Выходами могут быть выводы МК, биты регистров оперативной памяти. Конфигурируемую логику можно настроить на выполнение простейших логических операций: И, И-НЕ, ИЛИ-НЕ и прочих.

Корпуса

Одна модель микроконтроллера может выпускаться в различных корпусах. Корпус DIP для монтажа в отверстия платы последнее время встречается всё реже. Ниже приведен краткий список наиболее распространенных корпусов микроконтроллеров:

  • DIP – Dual Inline Package;
  • SOIC – Small-Outline Integrated Circuit;
  • SSOP – Shrink Small Outline Package;
  • TQFP – Thin profile plastic flat package;
  • MLF – Micro Lead Frame Package.

Язык

Программирование микроконтроллеров может осуществляться на ассемблере или на языке высокого уровня Си.

Запись программ в МК

Запись программ в память микроконтроллера (программирование) осуществляется с помощью программаторов. Запись можно выполнить двумя способами: вставить микроконтроллер в панель программатора или подключить программатор к конечному устройству (внутрисхемное программирование).

Контроллеры Microchip PIC16 программируются по технологии ICSP (In-Circuit Serial Programming). По данной технологии программирование может осуществляться в готовом устройстве. Программатор имеет пять линий связи с МК:

Микроконтроллеры Microchip AVR можно запрограммировать параллельным и последовательным способами. Для параллельного метода необходимо: 9 (управляющие линии) + 8 (линии данных) +2 (линии питания и земли) линий связи. Параллельное программирование требует подачи напряжения 12 В в микроконтроллер.

Для последовательного метода используется интерфейс SPI: 5 линий связи. Одним из недостатков является медленная скорость по сравнению с параллельным методом и необходимость предварительного запуска МК.

На рисунке ниже представлен внутрисхемный USB программатор микроконтроллеров AVR. Такой программатор продается в известном китайском магазине.

Среда разработки

Разработка программ для микроконтроллеров осуществляется в интегрированной среде разработке (IDE). Для создания проектов на AVR и PIC можно воспользоваться средой: Atmel Studio 7 IDE, MPLAB X IDE, он-лайн MPLAB Xpress.

Онлайн среда разработки MPLAB Xpress

IDE среда разработки содержит редактор проектов, программ, компилятор, отладчик, симулятор и много другое. Также для программирования микроконтроллеров могут использоваться сторонние среды разработки.

Онлайн среда конфигурирования ATmel START

Применение

Микроконтроллеры применяются во многих бытовых и промышленных устройствах, таких как стиральные машины, СВЧ печи, автосигнализации, преобразователи частоты для электродвигателей и многие другие.

Страница не найдена

Тактовая частота, МГц

от

до

Блок арифметики с плавающей точкой (FPU) не важно да нет

Поддержка DSP-инструкций не важно да нет

Графический ускоритель, аппаратное декодирование видео не важно да нет

Блок управления памятью (MMU) не важно да нет

Каналы DMA

от

до

Блок защиты памяти (MPU) не важно да нет

Аппаратный блок шифрования не важно да нет

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

Микроконтроллер - это компактная интегральная схема, предназначенная для управления определенной операцией во встроенной системе. Типичный микроконтроллер включает в себя процессор, память и периферийные устройства ввода-вывода (I / O) на одном кристалле.

Иногда называемые встроенным контроллером или микроконтроллером (MCU), микроконтроллеры используются, среди прочего, в транспортных средствах, роботах, офисной технике, медицинских устройствах, мобильных радиопередатчиках, торговых автоматах и ​​бытовой технике.По сути, это простые миниатюрные персональные компьютеры (ПК), предназначенные для управления небольшими функциями более крупного компонента без сложной интерфейсной операционной системы (ОС).

Как работают микроконтроллеры?

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

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

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

Из чего состоит микроконтроллер?

Основные элементы микроконтроллера:

  • Процессор (CPU) - Процессор можно рассматривать как мозг устройства. Он обрабатывает и реагирует на различные инструкции, управляющие работой микроконтроллера.Это включает в себя выполнение основных арифметических, логических операций и операций ввода-вывода. Он также выполняет операции передачи данных, которые передают команды другим компонентам в более крупной встроенной системе.
  • Память - память микроконтроллера используется для хранения данных, которые процессор получает и использует для ответа на инструкции, которые он запрограммировал выполнять. Микроконтроллер имеет два основных типа памяти:
    1. Программная память, в которой хранится долгосрочная информация об инструкциях, выполняемых ЦП.Программная память - это энергонезависимая память, то есть она хранит информацию с течением времени без использования источника питания.
    2. Память данных, которая требуется для временного хранения данных во время выполнения инструкций. Память данных является энергозависимой, то есть данные, которые она хранит, являются временными и поддерживаются только в том случае, если устройство подключено к источнику питания.
  • Периферийные устройства ввода / вывода
  • - устройства ввода и вывода являются интерфейсом для процессора с внешним миром.Порты ввода получают информацию и отправляют ее процессору в виде двоичных данных. Процессор получает эти данные и отправляет необходимые инструкции устройствам вывода, которые выполняют задачи, внешние по отношению к микроконтроллеру.

Хотя процессор, память и периферийные устройства ввода / вывода являются определяющими элементами микропроцессора, есть и другие элементы, которые часто используются. Термин «Периферийные устройства ввода-вывода» просто относится к вспомогательным компонентам, которые взаимодействуют с памятью и процессором.Существует множество вспомогательных компонентов, которые можно отнести к категории периферийных устройств. Наличие некоторого проявления периферийных устройств ввода / вывода является элементарной задачей для микропроцессора, поскольку они являются механизмом, через который применяется процессор.

Прочие вспомогательные элементы микроконтроллера включают:

  • Аналого-цифровой преобразователь (АЦП) - АЦП - это схема, преобразующая аналоговые сигналы в цифровые. Это позволяет процессору в центре микроконтроллера взаимодействовать с внешними аналоговыми устройствами, такими как датчики.
  • Цифро-аналоговый преобразователь (ЦАП)
  • - ЦАП выполняет обратную функцию АЦП и позволяет процессору в центре микроконтроллера передавать свои исходящие сигналы внешним аналоговым компонентам.
  • Системная шина - Системная шина - это соединительный провод, соединяющий все компоненты микроконтроллера вместе.
  • Последовательный порт - Последовательный порт является одним из примеров порта ввода-вывода, который позволяет микроконтроллеру подключаться к внешним компонентам.Он имеет функцию, аналогичную USB или параллельному порту, но отличается способом обмена битами.

Характеристики микроконтроллера

Процессор микроконтроллера зависит от приложения. Варианты варьируются от простых 4-битных, 8-битных или 16-битных процессоров до более сложных 32-битных или 64-битных процессоров. Микроконтроллеры могут использовать энергозависимые типы памяти, такие как оперативная память (RAM) и энергонезависимые типы памяти - сюда входят флэш-память, стираемая программируемая постоянная память (EPROM) и электрически стираемая программируемая постоянная память (EEPROM).

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

Архитектура микроконтроллера

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

Процессоры микроконтроллеров

могут быть основаны на вычислениях со сложным набором команд (CISC) или на вычислениях с сокращенным набором команд (RISC). CISC обычно имеет около 80 инструкций, в то время как RISC имеет около 30, а также больше режимов адресации, 12-24 по сравнению с RISC 3-5. Хотя CISC может быть проще в реализации и более эффективно использует память, он может иметь снижение производительности из-за большего количества тактовых циклов, необходимых для выполнения инструкций.RISC, который уделяет больше внимания программному обеспечению, часто обеспечивает лучшую производительность, чем процессоры CISC, которые уделяют больше внимания аппаратному обеспечению из-за упрощенного набора инструкций и, следовательно, повышенной простоты конструкции, но из-за упора на программное обеспечение, программное обеспечение может быть более сложным. Какой ISC используется, зависит от приложения.

Когда они впервые стали доступны, микроконтроллеры использовали исключительно язык ассемблера. Сегодня популярным вариантом является язык программирования C.Другие распространенные языки микропроцессоров включают Python и JavaScript.

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

оснащены входными и выходными контактами для реализации периферийных функций. К таким функциям относятся аналого-цифровые преобразователи, контроллеры жидкокристаллических дисплеев (LCD), часы реального времени (RTC), универсальный синхронный / асинхронный приемный передатчик (USART), таймеры, универсальный асинхронный приемный передатчик (UART) и универсальная последовательная шина ( USB) возможность подключения. Датчики, собирающие данные, связанные, в частности, с влажностью и температурой, также часто присоединяются к микроконтроллерам.

Типы микроконтроллеров Стандартные микроконтроллеры

включают Intel MCS-51, часто называемый микроконтроллером 8051, который был впервые разработан в 1985 году; микроконтроллер AVR, разработанный Atmel в 1996 году; контроллер программируемого интерфейса (PIC) от Microchip Technology; и различные лицензированные микроконтроллеры Advanced RISC Machines (ARM).

Ряд компаний производят и продают микроконтроллеры, включая NXP Semiconductors, Renesas Electronics, Silicon Labs и Texas Instruments.

Приложения микроконтроллера Микроконтроллеры

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

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

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

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

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

Различие между микроконтроллерами и микропроцессорами стало менее четким, поскольку плотность и сложность микросхем стали относительно дешевыми в производстве, и микроконтроллеры, таким образом, интегрировали более «общие компьютерные» типы функциональности.В целом, однако, можно сказать, что микроконтроллеры работают сами по себе, с прямым подключением к датчикам и исполнительным механизмам, где микропроцессоры предназначены для максимизации вычислительной мощности на кристалле, с подключением к внутренней шине (а не с прямым вводом / выводом). для поддержки оборудования, такого как ОЗУ и последовательные порты. Проще говоря, в кофеварках используются микроконтроллеры; настольные компьютеры используют микропроцессоры.

Микроконтроллер Microchip Technology ATtiny817. Микроконтроллеры

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

Выбор подходящего микроконтроллера

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

Помимо стоимости, важно учитывать максимальную скорость, объем RAM или ROM, количество или типы контактов ввода-вывода на MCU, а также энергопотребление, ограничения и поддержку разработки.Обязательно задавайте такие вопросы, как:

  • Какие аппаратные периферийные устройства требуются?
  • Нужны ли внешние коммуникации?
  • Какую архитектуру использовать?
  • Какие сообщества и ресурсы доступны для микроконтроллера?
  • На каком рынке представлен микроконтроллер?

Основы микроконтроллера Вопросы и ответы

Этот набор вопросов и ответов с несколькими вариантами ответов (MCQ) для микроконтроллеров посвящен теме «Введение в микроконтроллер».

1. Микроконтроллер должен состоять как минимум из:
a) RAM, ROM, портов ввода-вывода и таймеров
b) CPU, RAM, портов ввода-вывода и таймеров
c) CPU, RAM, ROM, ввода-вывода порты и таймеры
d) ЦП, ПЗУ, порты ввода-вывода и таймеры
Просмотр ответа

Ответ: c
Объяснение: микроконтроллер, по крайней мере, состоит из процессора в качестве центрального процессора с ОЗУ, ПЗУ, портами ввода-вывода и таймерами . Он может содержать некоторые дополнительные периферийные устройства, такие как АЦП, ШИМ и т. Д.

2. В отличие от микропроцессоров, микроконтроллеры используют батареи, потому что они имеют:
a) высокое рассеивание мощности
b) низкое энергопотребление
c) низкое потребление напряжения
d) низкое потребление тока
Посмотреть ответ

Ответ: b
Объяснение: Микроконтроллеры созданы с использованием концепции СБИС.Итак, здесь логические вентили на основе КМОП соединены вместе с помощью этого метода, который потребляет мало энергии.

3. Какой порядок решает процессор или ЦП контроллера для выполнения инструкции?
a) декодирование, выборка, выполнение
b) выполнение, выборка, декодирование
c) выборка, выполнение, декодирование
d) выборка, декодирование, выполнение
Просмотр ответа

Ответ: d
Объяснение: Первая инструкция извлекается из памяти программ . После выборки инструкция декодируется для генерации сигналов управления для выполнения намеченной задачи.После декодирования выполняется инструкция и завершается намеченная задача этой конкретной инструкции.

4. Если мы говорим, что микроконтроллер 8-битный, то здесь 8-битный означает размер:
a) Шина данных
b) ALU
c) Шина управления
d) Адресная шина
Просмотр ответа

Ответ: b
Объяснение: Если мы говорим, что микроконтроллер 8-битный, это означает, что он способен обрабатывать 8-битные данные за раз. Обработка данных - это задача ALU, и если ALU может обрабатывать 8-битные данные, шина данных должна быть 8-битной шириной.В большинстве книг указывается размер шины данных, но если быть точным, это размер ALU, потому что в Гарвардской архитектуре есть два набора шин данных, которые могут быть одинакового размера, но это не обязательно.

5. Как на производительность и возможности компьютера влияет увеличение ширины его внутренней шины?
a) увеличивается и вращается лучше
b) уменьшается
c) остается прежней
d) ширина внутренней шины никак не влияет на производительность
Посмотреть ответ

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

6. Сокращайте CISC и RISC.
a) Компьютер с полным набором команд, компьютер с сокращенным набором команд
b) Компьютер со сложным набором команд, компьютер с сокращенным набором команд
c) Компьютер со сложным набором команд, надежный компьютер с набором команд
d) Компьютер с полным набором команд, надежный компьютер с набором команд
Просмотр Ответ

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

7. Назовите имена присутствующих в контроллере шин для передачи данных из одного места в другое?
a) шина данных, шина адреса
b) шина данных
c) шина данных, шина адреса, шина управления
d) шина адреса
Просмотр ответа

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

8. Какое расширение файла загружается в микроконтроллер для выполнения любой инструкции?
a) .doc
b) .c
c) .txt
d) .hex
Просмотреть ответ

Ответ: d
Пояснение: микроконтроллеры загружаются с расширением .hex, поскольку они понимают язык только нулей и единиц.

9. Каков наиболее подходящий критерий для выбора правильного микроконтроллера по нашему выбору?
a) скорость
b) доступность
c) удобство работы с продуктом
d) все упомянутое
Посмотреть ответ

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

10. Почему микроконтроллеры не называют компьютерами общего назначения?
a) потому что они встроены в RAM и ROM
b) потому что они предназначены для выполнения специальной задачи
c) потому что они дешевы
d) потому что они потребляют мало энергии
Посмотреть ответ

Ответ: b
Объяснение: микроконтроллеры разработаны для выполнения специальных задач.Конечное использование компьютеров общего назначения при проектировании компьютеров неизвестно.

Sanfoundry Global Education & Learning Series - Микроконтроллер.

Чтобы попрактиковаться во всех областях микроконтроллера, представляет собой полный набор из 1000+ вопросов и ответов с несколькими вариантами ответов .

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

Основы микроконтроллеров: история, структура, приложения

Добро пожаловать в мир микроконтроллеров, крошечное (но очень мощное) устройство, изменившее облик встраиваемых систем.В этом руководстве / статье вы узнаете о росте микроконтроллеров, некоторых основах микроконтроллеров, структуре микроконтроллера, а также о некоторых различиях между микропроцессором и микроконтроллером.

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

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

Микроконтроллер - это интегральная схема (IC) СБИС (очень крупномасштабная интеграция), которая содержит электронный вычислительный блок и логический блок (вместе известный как ЦП), память (память программ и память данных), порты ввода-вывода (ввод / вывод). Порты) и несколько других компонентов, интегрированных в один чип.

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

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

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

Бытовая электроника - еще одна область, в которой используются микроконтроллеры. Микроконтроллеры входят в состав цифровых фотоаппаратов, видеокамер, проигрывателей компакт-дисков и DVD, стиральных машин, духовок и т. Д.

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

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

Сначала мы увидим «Расцвет микроконтроллеров», где вы узнаете, как происходила разработка микроконтроллеров.

Восстание микроконтроллеров

Микропроцессор, изобретение, которое штурмом взяло область вычислений.Микропроцессор - это интегральная схема (ИС), которая содержит центральный процессор (ЦП). Самыми ранними известными микропроцессорами являются Intel 4004 и TMS1000 от Texas Instruments.

С тех пор вычислительная мощность, сложность и энергопотребление продолжали расти, чтобы обеспечить максимальную производительность (энергопотребление необходимо обсуждать отдельно из-за таких разработок, как СБИС с низким энергопотреблением и т. Д.).

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

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

Это требование проложило путь для интеграции минимального оборудования, необходимого для полного функционирования процессора, на одном кристалле i.е. тот же чип, что и процессор, если быть точным.

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

Также читайте: 8051 МИКРОКОНТРОЛЛЕР ВВЕДЕНИЕ И ОСНОВЫ

Основы микроконтроллеров

В основном микроконтроллер состоит из следующих компонентов.

  • Центральный процессор (ЦП)
  • Память программ (ПЗУ - постоянная память)
  • Память данных (ОЗУ - оперативная память)
  • Таймеры и счетчики
  • Порты ввода / вывода (ввод / вывод - ввод / вывод )
  • Интерфейс последовательной связи
  • Схема синхронизации (схема генератора)
  • Механизм прерывания

Большинство современных микроконтроллеров могут содержать еще больше периферийных устройств, таких как SPI (последовательный периферийный интерфейс), I2C (межинтегральная схема), АЦП (аналого-цифровой преобразователь) ), ЦАП (цифро-аналоговый преобразователь), CAN (управляемая сеть), USB (универсальная последовательная шина) и многие другие.

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

Интеграция таких функций, как АЦП, ЦАП и т. Д., На том же чипе, что и ЦП, делает его более эффективным и дешевым, чем использование отдельной микросхемы АЦП.

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

Базовая структура микроконтроллера

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

На следующем изображении показана основная структура микроконтроллера.

Из приведенного выше изображения вы можете понять, что три важных (или основных) компонента микроконтроллера:

  • ЦП (центральный процессор)
  • Память и
  • Порты ввода / вывода

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

CPU

Центральный процессор или ЦП - это мозг микроконтроллера. Он состоит из арифметико-логического блока (ALU) и блока управления (CU). ЦП считывает, декодирует и выполняет инструкции для выполнения арифметических, логических операций и операций передачи данных.

Память

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

Обычно память программ - это постоянное запоминающее устройство или ПЗУ, а память данных - это оперативное запоминающее устройство или ОЗУ. Память данных иногда называется памятью для чтения и записи (R / W M).

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

Интерфейс микроконтроллера с внешним миром обеспечивается портами ввода / вывода или портами ввода / вывода.Устройства ввода, такие как переключатели, клавиатуры и т. Д., Предоставляют информацию от пользователя к ЦП в форме двоичных данных.

ЦП, получив данные от устройств ввода, выполняет соответствующие инструкции и дает ответ через устройства вывода, такие как светодиоды, дисплеи, принтеры и т. Д.

Шина

Другой важный компонент микроконтроллера, но редко обсуждаемый - это система. Автобус. Системная шина - это группа соединительных проводов, которые соединяют ЦП с другими периферийными устройствами, такими как память, порты ввода-вывода и другие вспомогательные компоненты.

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

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

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

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

Прерывания

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

АЦП (аналого-цифровой преобразователь)

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

ЦАП (цифро-аналоговый преобразователь)

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

Прочтите этот связанный пост: 8051 АРХИТЕКТУРА МИКРОКОНТРОЛЛЕРА

Преимущества микроконтроллеров

  • Микроконтроллер - это настоящее устройство, которое соответствует идее «компьютер на кристалле».
  • Нет необходимости во внешнем взаимодействии основных компонентов, таких как память, порты ввода-вывода и т. Д.
  • Микроконтроллеры не требуют сложных операционных систем, так как все инструкции должны быть записаны и сохранены в памяти. (ОСРВ - исключение).
  • Все порты ввода / вывода программируются.
  • Интеграция всех основных компонентов снижает стоимость, время разработки и площадь продукта (или приложения).

Недостатки микроконтроллеров

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

Приложения микроконтроллеров

Существует огромное количество приложений микроконтроллеров. Фактически, вся индустрия встраиваемых систем зависит от микроконтроллеров. Ниже приведены несколько применений микроконтроллеров.

  • Элементы управления передней панели в таких устройствах, как духовка, стиральная машина и т. Д.
  • Функциональные генераторы
  • Дымовая и пожарная сигнализация
  • Системы домашней автоматизации
  • Автоматическое включение фар в автомобилях
  • Система блокировки дверей с датчиком скорости

В этом руководстве / статье мы познакомились с основами микроконтроллеров, базовой структурой Микроконтроллер, различные компоненты микроконтроллера, преимущества, недостатки и применения микроконтроллеров.

Микроконтроллер - обзор | Темы ScienceDirect

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

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

Среднее энергопотребление микроконтроллера может быть приблизительно равно [16]

(2) Pmcu = ACcfV2 + AIswV + IleakV + Pext

, где A - доля времени, в течение которого микроконтроллер активен, C c - общая емкость кристалла, f - тактовая частота, V - напряжение питания, I sw - средний ток переключения при коротком замыкании, возникающий во время переходов, I утечка - ток утечки из-за инжекции подложки и подпороговых эффектов, а P ext - мощность, используемая для управления внешними нагрузками.Уравнение (2) предполагает, что снижение рабочего напряжения, емкости, частоты и включения / выключения устройства снижает энергопотребление. Уменьшение A , количества времени, в течение которого микроконтроллер находится во включенном состоянии, чрезвычайно важно для минимизации энергопотребления, и конструкции обычно стремятся удерживать микроконтроллер в режимах глубокого сна в течение как можно большего количества времени. В результате, помимо потребления тока, важными факторами для определения общего энергопотребления микроконтроллера являются (1) то, включает ли он сохранение состояния (т.е.д., может ли микроконтроллер сохранять содержимое своих регистров во время сна / неактивного режима или они должны передаваться в / из памяти за счет времени и энергии), и (2) поддерживает ли он периферийные устройства, которые могут работать без ЦП вмешательство в режимах с низким энергопотреблением (например, прямой доступ к памяти, чтобы данные с внешнего АЦП могли передаваться прямо в память без включения основного микроконтроллера).

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

Таблица 2. Энергопотребление и сравнение времени запуска маломощных микроконтроллеров от Texas Instruments и технологии микрочипов. миллионы инструкций в секунду (MIPS).

PIC24F16KA102 MSP430F2001 MSP430F2619
Технические данные Настольные часы Настольные часы Настольные часы 0.8 мкА 0,7 мкА 0,6 мкА 0,4 мкА 0,6 мкА 0,5 мкА
Ожидание (тактовая частота 32 кГц) 0,9 мкА 0,8 мкА 0,92 0,8 мкА 0,92 0,92 0,5 мкА 1,1 мкА 0,7 мкА
Время пуска (до 1 MIPS) - 3 мкс <1 мкс 0,4 мкс <1 мкс 0,43 мкс (до 16 MIPS)
1000 мкс 1000 мкс <1 мкс 0.4 мкс 1 мкс 0,4 мкс
Активный режим (1 MIPS) 1110 мкА 1,110 мкА 300 мкА 300 мкА 515 мкА 515 мкА 515 сравнительная таблица, показывающая различные характеристики микроконтроллера.

Недавно лицензирующие органы, такие как EEMBC, начали предоставлять такие услуги, как ULPMark, которые позволяют сравнивать характеристики мощности микроконтроллера в тех же или аналогичных режимах работы, в различных областях, таких как мощность ядра, периферийное питание и энергия пробуждения в спящем режиме. [18].Это значительно упрощает создание прототипов и принятие первоначальных проектных решений. Исторически носимые микроконтроллеры широко использовали платформу MSP430 от Texas Instruments (как показано в таблице 2). Сегодня, когда требуется большая вычислительная мощность, обычно используются ядра Arm из серии M: от M0, M4 или M7 в порядке увеличения вычислительной мощности. M4, доступный от ряда поставщиков, например MSP432 от Texas Instructions, добавляет поддержку чисел с плавающей запятой и поэтому является широко используемым выбором, когда требуется некоторая обработка собранных данных.

Микроконтроллер - классификация, архитектура, применение, преимущество

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

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

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

Микроконтроллер - это устройство, которое фиксирует ввод, обрабатывает его и генерирует вывод на основе полученной информации.Его также называют MC или MCU (микроконтроллерный блок), который представляет собой компактный цифровой процессор на микросхеме металл-оксид-полупроводник. Микроконтроллеры также называют «компьютерами специального назначения». Они предназначены для выполнения конкретной задачи, которая запрограммирована и хранится в ПЗУ.

Рис.1 - Введение в микроконтроллер

Они доступны со встроенной памятью и портами ввода-вывода, что исключает создание схемы с отдельными внешними ОЗУ, ПЗУ и периферийными микросхемами.MC работают на более низких скоростях, сохраняя функциональность и потребляя меньше энергии. Эти особенности микроконтроллеров делают их идеальным выбором для встраиваемых приложений.

На рисунке 2 ниже показан одноплатный микроконтроллер, также называемый микроконтроллером макетной платы, встроенный на одну печатную плату (PCB). Он предоставляет необходимые схемы, включая процессор, память, часы, схемы ввода-вывода и т. Д. Они широко используются в образовательных целях для получения опыта, поскольку доступны по невысокой цене.

Рис.2 - Макетная плата микроконтроллера 8051

Классификация микроконтроллеров

Микроконтроллеры широко классифицируются по различным категориям на основе:

  • Память
  • Архитектура
  • Битовая конфигурация
  • Набор команд

Классификация микроконтроллеров на основе памяти

MC делится на две категории в зависимости от конфигурации памяти.Их:

  • Микроконтроллер внешней памяти
  • Микроконтроллер со встроенной памятью
Микроконтроллер внешней памяти

МК этого типа не имеют памяти программ на микросхеме. Пример - Intel 8031 ​​MC.

Микроконтроллер со встроенной памятью

Этот тип МК имеет все программы и память данных, счетчики и таймеры, прерывания, порты ввода / вывода, встроенные в микросхему. Пример - Intel 8051 MC.

Рис.3 - Классификация микроконтроллеров

Классификация микроконтроллеров на основе архитектуры

Существует два типа архитектуры MC:

  • Архитектура фон Неймана
  • Архитектура Гарварда
Архитектура фон Неймана

Этот тип архитектуры имеет общую память для хранения данных и программ.

Гарвардская архитектура

Эта архитектура имеет отдельные блоки памяти для хранения программ и данных и отдельные шины для передачи данных и инструкций.

Классификация микроконтроллеров на основе конфигурации битов

Существует три типа микроконтроллеров на основе битовой конфигурации. Их:

  • 8-битный MC
  • 16-битный MC
  • 32-битный MC
8-битный MC
8-битный микроконтроллер

в основном используется для выполнения арифметических и логических операций, таких как сложение, вычитание, умножение и деление.Он обрабатывает 8 бит данных за раз. Например. Микроконтроллер Intel 8031 ​​и 8051.

16-битный MC

Этот тип MC используется в приложениях, где требуется более высокая точность и производительность. Он также используется для выполнения арифметических и логических операций, например. Intel 8096.

32-битный MC

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

Классификация микроконтроллеров на основе набора команд

MC подразделяется на два типа в зависимости от конфигурации набора команд. Их:

CISC

CISC - это аббревиатура от «Компьютер со сложным набором команд». CISC позволяет пользователю вставить одну инструкцию в качестве альтернативы множеству простых инструкций.

RISC

RISC - это аббревиатура для компьютеров с сокращенным набором команд. RISC помогает сократить время работы за счет сокращения тактового цикла на инструкцию.

Архитектура микроконтроллера

Самый популярный микроконтроллер 8051 разработан с использованием Гарвардской архитектуры, и поэтому этот тип архитектуры был рассмотрен здесь для объяснения его компонентов. Различные компоненты / модули микроконтроллера:

  • Ядро процессора
  • Память
  • Контроллер прерываний
  • Таймер / счетчик
  • Цифровой ввод / вывод
  • Аналоговый ввод / вывод
  • Интерфейсы
  • Сторожевой таймер

Фиг.4 - Архитектура микроконтроллера 8051

Ядро процессора

Это центральный процессор микроконтроллера, состоящий из арифметико-логического блока (ALU). Этот блок отвечает за выполнение арифметических и логических операций.

Блок управления

Он управляет работой MC и представлен регистром STATUS. Это помогает в передаче данных в другие регистры.

Память

В MC есть два типа памяти данных.Их:

  • Статическое ОЗУ (SRAM)
  • EEPROM / Flash

Статическое ОЗУ (SRAM)

SRAM состоит из регистров специального назначения (SFR) и регистров общего назначения (GPR). SRAM - это 8-битные ячейки памяти, которые обеспечивают связь между аппаратным и программным обеспечением микроконтроллера.

Цикл записи (программа / стирание) этой памяти неограничен, но данные, хранящиеся в SRAM, теряются при потере питания контроллера. Следовательно, EEPROM также используется для хранения данных.

Регистры специальных функций (SFR) управляют функциональными блоками, тогда как регистры общего назначения (GPR) хранят значения переменных и констант.

EEPROM / Flash

Это тип энергонезависимой электронной памяти, которая используется для хранения данных. Память EEPROM сравнительно медленная и имеет ограниченное количество циклов записи и, следовательно, используется для хранения данных, которые необходимо сохранить, когда питание MC отключено.

Счетчик / Модуль таймера

Этот модуль имеет таймер / счетчик, который измеряет время и рассчитывает события.Обычно MC содержит 2-3 таймера / счетчика и работает в режиме таймера или счетчика и вычисляет количество полученных импульсов. Таймер также генерирует сигнал ШИМ, который преобразуется в постоянное напряжение с помощью фильтров нижних частот.

Цифровой модуль

Этот модуль состоит из цифровых входов / выходов. Это помогает микроконтроллеру обнаруживать и выводить логические состояния (высокий или низкий).

Аналоговый модуль

Этот модуль состоит из аналогового ввода / вывода. Это помогает в преобразовании уровня напряжения в цифровое значение.Большинство МК имеют встроенные аналого-цифровые преобразователи. Для генерации аналогового выхода RC Low Pass Filters используются для преобразования выходов PWM в напряжение постоянного тока.

Модуль последовательного интерфейса

Они предназначены для приема или отправки цифровых сигналов на другие устройства. Большинство контроллеров снабжены интерфейсами SPI, SCI, Ethernet, USB.

Сторожевой таймер

Как видно из названия, он наблюдает за выполнением программы MC. Он генерирует сигнал «СБРОС», если процесс выполнения завершается неудачно.

Как работает микроконтроллер

Чтобы понять работу MCU, давайте рассмотрим базовую блок-схему простейшей автоматической системы сигнализации, показанной на рисунке 5 (a). Эта система предназначена для ежечасного звукового сигнала с использованием микроконтроллера, и ожидается, что конечный продукт будет напоминать рис. 5 (b).

Рис. 5 - (a) Блок-схема автоматической системы сигнализации (b) Конечный продукт

Требования или спецификации:

  1. 8051 Микроконтроллер
  2. Блок питания
  3. ЖК-экран (должны отображаться дата и день)
  4. Зуммер (должен подавать звуковой сигнал в течение 10 секунд и останавливаться)

Источник питания - это вход, а ЖК-экран вместе со зуммером действует как выход для системы.

Для правильного функционирования система должна быть изначально настроена. ЖК-дисплей инициализирован, определенные режимы контактов предназначены для входов и выходов. Исходный код создается на основе требований и загружается в микроконтроллер.

Для проверки правильности работы системы включается блок питания. Встроенная схема регулирует напряжение питания и выдает 5 В. Это освещает ЖК-экран.

На экране дисплея отображаются текущее время и дата.Система запрограммирована таким образом, что зуммер издает звуковой сигнал в течение 10 секунд после каждого часа и автоматически выключается.

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

Приложения микроконтроллера включают в себя:

  • Устройства с функцией Touch-Sensing разработаны с использованием микроконтроллеров, таких как Portable Electronic Devices , которые включают смартфоны, игровые устройства и медиаплееры и т. Д.
  • Микроконтроллеры
  • используются в пультах дистанционного управления, игрушках, медицинских устройствах и других устройствах. Встроенные системы .
  • Они предоставляют Автомобильные решения , такие как управление антиблокировочной тормозной системой и управление системой управления двигателем.
  • Микроконтроллеры
  • используются в Radar Speed ​​Gun для определения скорости объекта.
  • Они широко используются в потребительских товарах , таких как духовки, холодильники, стиральные машины, кондиционеры, пылесосы и т. Д.
  • Микроконтроллеры
  • используются в Computers для управления функциями ввода / вывода.
  • Они также используются для хранения информации для База данных Система управления .

Преимущества микроконтроллера

К преимуществам микроконтроллера можно отнести:

  • Они потребляют меньше энергии.
  • Они экономичны.
  • Микроконтроллеры
  • меньше по размеру по сравнению с микропроцессорами.
  • Он имеет низкую тактовую частоту.
  • Использование микроконтроллеров значительно уменьшило размер печатной платы.
  • Микроконтроллеры
  • могут обрабатывать логические функции.
  • Они надежны и работают быстрее.

Недостатки Микроконтроллер

Недостатками микроконтроллера являются:

  • Архитектура микроконтроллера более сложна по сравнению с микропроцессором.
  • Их нельзя перепрограммировать.
  • Проблемы с интерфейсом возникают, поскольку не все микроконтроллеры имеют аналоговый ввод / вывод.
  Также читают: 
  Транзистор - классификация, конфигурация, применение, преимущества 
  Что такое смарт-карта - как она работает, характеристики, типы и применение
Что такое стабилизатор напряжения - зачем он нам, как он работает, типы и применение  

Лакшми - B.E (Электроника и связь) и имеет опыт работы в RelQ Software в качестве инженера-испытателя и HP в качестве руководителя службы технической поддержки. Она является автором, редактором и партнером Electricalfundablog.

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

- javatpoint

Обзор

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

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

содержит все основные компоненты микрокомпьютера, такие как ЦП, ОЗУ, ПЗУ / СППЗУ, линии ввода-вывода и т. Д. Некоторые однокристальные микроконтроллеры содержат устройства для выполнения определенных функций, таких как каналы прямого доступа к памяти, аналого-цифровой преобразователь, последовательный порт, ширина импульса. модуляция и др.

Разница между микропроцессором и микроконтроллером

Микропроцессоры Микроконтроллеры
Используется для больших приложений. Он используется для выполнения одной задачи в приложении.
Микропроцессор - сердце компьютерной системы. Это сердце встраиваемой системы.
Это просто процессор. Компоненты памяти и ввода / вывода должны быть подключены извне. Микроконтроллер содержит внешний процессор вместе с внутренней памятью и компонентами ввода / вывода.
Поскольку ввод / вывод и память подключены извне, схема становится большой. Поскольку ввод / вывод и память присутствуют внутри, схема мала.
Не может использоваться в компактных системах и, следовательно, неэффективен. Может использоваться в компактных системах, и микроконтроллер является эффективным методом.
Стоимость всей системы увеличивается. Стоимость всей системы невысока.
Потребление энергии высокое. Низкое энергопотребление.
Большинство микропроцессоров не имеют режимов энергосбережения. Большинство микроконтроллеров имеют режим энергосбережения.
Заменить сложно. Легко заменить.
В основном используется в персональных компьютерах. Используется в основном в стиральных машинах, MP3-плеерах.

8051 Архитектура

В 1980 году Intel представила серию мощных 8-битных микроконтроллеров 8051. Это второе поколение 8-битных микроконтроллеров.Микроконтроллеры 8051 используются для множества приложений, требующих ограниченных вычислений и относительно некоторых стратегий управления. Они используются для промышленных и коммерческих приложений управления, управления приборами, контрольно-измерительными приборами и т. Д.

8051 содержит логический процессор, полнодуплексный последовательный порт и схему энергосбережения в дополнение к важным компонентам, таким как 8-битный ЦП, RAM, ROM / EPROM / OTPROM, таймер / счетчик и параллельные линии ввода / вывода.

На следующем рисунке показана блок-схема или архитектура микроконтроллера Intel 8051.

8051 Штыри Описание

Схема выводов микроконтроллера 8051 состоит из 40 выводов, как показано ниже:

Контакты 1-8 (Порт1): Это 8-битный двунаправленный порт ввода-вывода с внутренними подтягивающими резисторами. Он не выполняет никаких задач; это просто порт ввода / вывода

Контакт 9 (RST): Это входной контакт сброса, который используется для сброса микроконтроллера в исходное положение.

Контакты с 10 по 17 (порт 3): Это также 8-битный двунаправленный порт ввода-вывода с внутренними подтягивающими резисторами.Кроме того, он выполняет некоторые специальные функции:

ПОРТ 3 Штырь Функция Описание
P3.0 RXD Последовательный вход
П3.1 TXD Последовательный выход
P3.2 INT0 Внешнее прерывание 0
P3.3 ИНТ1 Внешнее прерывание 1
P3.4 T0 Таймер 0
P3.5 Т1 Таймер 1
П3.6 WR Запись во внешнюю память
P3.7 RD Чтение внешней памяти

Контакты 18 и 19: Это контакты XTAL1 и XTAL1 соответственно. Эти контакты используются для подключения внешнего кристалла для получения системных часов.

Контакт 20 (GND): Это контакт заземления. Он обеспечивает питание схемы.

Контакты с 21 по 28 (порт 2): Эти контакты являются двунаправленным портом ввода-вывода. Сигналы шины адреса высшего порядка мультиплексируются с этим двунаправленным портом.

Контакт 29 (PSEN): Это контакт включения программы. Используя этот вывод PSEN, можно читать внешнюю программную память.

Контакт 30 (ALE / PROG): Этот контакт является контактом включения фиксации адреса.Используя этот вывод, можно отделить внешний адрес от данных.

Контакт 31 (EA / VPP): Назван контактом разрешения внешнего доступа (EA). Он используется для включения или отключения взаимодействия с внешней памятью.

Контакты 32–39 (порт 0): Это также контакты двунаправленного ввода / вывода, но без каких-либо внутренних подтягиваний. Следовательно, для использования контактов порта 0 в качестве порта ввода-вывода требуются внешние контакты. Сигналы шины данных и адреса низшего порядка мультиплексируются с этим портом.

Контакт 40 (VCC): Этот контакт используется для подачи питания на схему.

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

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

8051 имеет 4 порта ввода / вывода по 8 бит, каждый из которых может быть настроен как ввод или вывод. Таким образом, всего 32 контакта ввода / вывода позволяют подключать микроконтроллер к периферийным устройствам.

Примечание. Вывод может быть сконфигурирован как 0 для выхода и 1 для входа.

1) ПОРТ 0

P0 может использоваться как двунаправленный порт ввода-вывода или может использоваться для адресации / данных, подключенных для доступа к внешней памяти. Когда control равно 1, порт используется для адресации или обмена данными.Когда элемент управления равен 0, порт может использоваться как порт двунаправленного ввода-вывода.

Рис: Структура контакта 0 порта

ПОРТ 0 как порт ввода

Если элемент управления равен 0, то порт используется как входной порт, а 1 записывается в защелку. В такой ситуации оба выходных полевых МОП-транзистора выключены. Так как выходной контакт имеет плавающие точки, любые данные, записанные на контакт, напрямую считываются контактом чтения.

ПОРТ 0 как выходной порт

Если мы хотим записать 1 на выводе P0, в защелку записывается «1», которая выключает нижний полевой транзистор, в то время как из-за управляющего сигнала «0» верхний полевой транзистор также отключается.

Предположим, мы хотим записать «0» на выводе порта 0, когда «0» записывается в защелку, вывод опускается нижним полевым транзистором. Следовательно, выход становится нулевым.

2) ПОРТ 1

ПОРТ 1 предназначен только для интерфейса ввода-вывода. При использовании в качестве выходного порта не требуется подключать дополнительный подтягивающий резистор, например порт 0.

Чтобы использовать ПОРТ 1 в качестве порта ввода, необходимо записать «1» в защелку. В этом режиме 1 внешнее устройство записывает на вывод, после чего считывается нормально.

Рис. Структура 1-контактного порта

3) ПОРТ 2

ПОРТ 2 используется для старшего байта внешнего адреса или обычного порта ввода-вывода. Здесь операция ввода / вывода аналогична PORT 1. Защелка PORT 2 остается стабильной, когда вывод порта 2 используется для доступа к внешней памяти.

Рис. Структура порта 2-контактный

4) ПОРТ 3

Ниже приведены альтернативные функции ПОРТА 3:

ПОРТ 3 Штырь Функция Описание
P3.0 RXD Последовательный вход
П3.1 TXD Последовательный выход
P3.2 INT0 Внешнее прерывание 0
P3.3 ИНТ1 Внешнее прерывание 1
P3.4 T0 Таймер 0
P3.5 Т1 Таймер 1
P3.6 WR Запись во внешнюю память
P3.7 RD Чтение внешней памяти

Он работает как порт ввода-вывода, как и порт 2. Альтернативные функции порта 3 делают его архитектуру отличной от других портов.

Рис. Структура 3-контактного порта

8051 прерывания

Прерывание - это процесс создания временной остановки основной программы и передачи управления внешним источникам и выполнения их задачи, а затем передает управление основной программе, где она остановилась.

8051 имеет 5 сигналов прерывания, т. Е.

  • INT0,
  • ТФО,
  • ИНТ1,
  • TF1,
  • RI / TI.

Количество источников прерывания отличается от версии к версии. Он варьируется от 5 до 15.

Важными источниками прерываний являются: один от последовательного порта, два от таймеров, два от внешних прерываний INT0 и INT1.

Каждое из прерываний можно индивидуально разрешить / запретить, установив / сбросив бит в специальном функциональном регистре IE (разрешение прерывания) .Регистр IE также содержит глобальный бит отключения, который запрещает все прерывания.

Каждое прерывание также может быть запрограммировано на одну из схем уровней приоритета путем установки / сброса битов в специальном функциональном регистре IP (регистр приоритета прерывания) .

Прерывание с низким приоритетом может быть прервано прерыванием с высоким приоритетом, но не может быть прервано другим прерыванием с низким приоритетом. Прерывание с высоким приоритетом не может быть прервано прерыванием с низким приоритетом.

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

Микроконтроллеры: Это программируемая интегральная схема (ИС), которая состоит из небольшого ЦП, ОЗУ и контактов ввода / вывода. Микроконтроллеры (MCU) широко используются во многих устройствах.

CPU: Он выполняет обработку и считается разумом микроконтроллера. Давая инструкции MCU, можно связываться с выводами ввода / вывода и управлять ими в соответствии с потребностями.

Память: В ней хранятся инструкции и данные, необходимые микроконтроллеру.

Шина: Он действует как среда связи между компонентами для передачи данных.

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

После того, как в 1980 году корпорация Intel разработала первый микроконтроллер 8051, было создано несколько мощных вариантов с добавлением АЦП, операционных усилителей и многого другого. Наряду с этим микроконтроллер 8051 имел 16-битную адресную шину для передачи данных, а также 8-битную шину данных для передачи данных для конкретных приложений.

Текущий микроконтроллер принадлежит к 8-битному семейству микроконтроллеров и имеет 128 Кбайт ОЗУ, 4 Кбайт ПЗУ, 4 порта, 2 таймера и 1 последовательный порт на одном кристалле.Эти микросхемы легко запрограммировать на языке ассемблера.

Приложение

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

Эти ИС могут использоваться во множестве встраиваемых приложений для различных проектов, связанных с электроникой и робототехникой. Некоторые из них:

Распиновка и функции микроконтроллера 8051

8051 поставляется в двухрядном корпусе (DIP) и состоит из 40 контактов i.e 20 контактов с обеих сторон MCU (как показано на рисунке ниже). Все эти 40 контактов предназначены для различных целей и функций ввода / вывода, таких как аналоговое / цифровое чтение-запись, прерывания и последовательная связь.

Схема выводов микроконтроллера 8051

Контакты 1-8: Они называются выводами порта 1 и используются для выполнения простых операций ввода-вывода. Эти выводы можно настроить, изменив их логическое состояние на 0 или 1.

Контакт 9: Он известен как контакт сброса для сброса микроконтроллера.Этот вывод можно использовать для прекращения работы микроконтроллера.

Контакт 10-17: Они называются контактами порта 3. Подобно контактам порта 1, контакты порта 3 используются как универсальный порт ввода-вывода вместе с выполнением еще нескольких функций, как описано ниже:

P3.0 (RXD): Это последовательный контакт для приема данных. Он используется для установления последовательной связи для приема данных через входной сигнал.

P3.1 (TXD): Это также последовательный контакт.Он используется для передачи данных через выходной сигнал через последовательный порт.

P3.2 и P3.3: Эти выводы используются для внешних аппаратных прерываний.

P3.4 и P3.5 (T0 и T1): Это выводы таймера, которые могут быть соединены с 16-битным счетчиком.

P3.6: Это вывод записи в память для записи данных во внешнюю память.

P3.7: Это вывод чтения внешней памяти для чтения данных из внешней памяти.

Контакты 18 и 19: Это контакты для внешних генераторов, которые могут быть подключены к кварцевым генераторам для обеспечения внешней тактовой частоты.

Контакт 20: Это контакт заземления (GND) для подключения заземляющего (отрицательного) провода датчиков и модулей, используемых с микроконтроллером.

Контакты с 21 по 28: Они называются контактами порта 2. Они двунаправленные и используются для взаимодействия внешней памяти с микроконтроллером

.

Вывод 29: Этот вывод известен как включение хранилища программ (PSEN).Он используется для чтения из внешней памяти.

Вывод 30: Этот вывод известен как включение фиксации адреса (ALE). Он используется для различения адресов нескольких ячеек памяти.

Контакт 31: Этот контакт известен как вход внешнего входа (внешний доступ). Он используется для включения и отключения интерфейса внешней памяти.

Контакт 32 - Контакт 39: Это контакты порта 0. Они также двунаправленные и используются как порт ввода-вывода.

Контакт 40 (VCC): Это контакт для подачи питания на цепи с напряжением + 5В.

8051 Архитектура

8051 обрабатывает 8-битные данные и является 8-битным микроконтроллером. Вот блок-схема, показывающая архитектуру микроконтроллера. Согласно ему, 8051 состоит из ЦП, ОЗУ, флэш-памяти (EEPROM) и ввода-вывода.

Блок-схема микроконтроллера 8051 (Изображение предоставлено Wikipedia)

Их периферийные устройства обмениваются данными с помощью внутренней шины данных, которая является 8-битной шиной данных.

Характеристики микроконтроллера 8051:

  • 8-битный ЦП с двумя регистрами A (ACC или аккумулятор) и B
  • Внутренняя флэш-ПЗУ 8 КБ
  • 32 входа / выхода
  • Внутреннее ОЗУ 256 байт
  • 8-битный указатель стека
  • 16-битный счетчик программ и указатель данных (DPTR)
  • Два 16-битных таймера, T0 и T1
  • Два внешних и три внутренних прерывания
  • Генератор и тактовая схема
  • Передатчик приемника последовательных данных

.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *