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

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

Сегодня наибольшей популярностью пользуются микроконтроллеры семейства AVR, ARM, PIC. Каждая из фирм, что производит МК,изготавливает десятки, сотни и даже иногда тысячи разновидностей микроконтроллеров, используемые под все мыслимые и немыслимые цели.

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

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

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

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

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

Давайте представим идеальный случай, У нас есть МК и в его память уже записан программный код. Или, как обычно говорят «ушастые перцы», Микроконтроллер «прошит» (при этом программный код кличат «прошивкой»).

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

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

Любой МК, как и любая микропроцессорная система базируется на трёх китах:

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

Физическая структура микроконтроллеров разных серий может достаточно сильно отличаться, но общая база у них будет похожа и она будет состоять из следующих блоков: ОЗУ, ПЗУ, АЛУ, таймеры, порты ввода/вывода, регистры, счетчики.

ПЗУПостоянное запоминающее устройство или постоянная память. Всё, что записано в ПЗУ, остаётся в нем и после отключения питания.
ОЗУОперативно запоминающее устройство — рабочая память МК. В неё сохраняются все промежуточные результаты выполнения програмного кода или данные от внешних датчиков.
АЛУАрифмитически-логическое устройство Мозг МК. Именно он вычитает, складывает, умножает, а иногда и делит, сравнивает единички и нолики в процессе выполнения программы..
Порты I/OПорты ввода и вывода: Устройства через которые МК ведет диалог с внешним миром с внешним миром. Наш МК должен общаться с внешним миром. Благодаря портам мы можем посылать в микроконтроллер сигналы от датчиков, клавиатуры и т.п. А МК после обработки таких сигналов отправит через эти устройства свой ответ, с помощью которого можно регулировать яркость свечения лампы или скорость вращения двигателя.
ТаймерыОн отсчитывает интервалы, выдает сигнал о срабатывании и т.д.
СчетчикиНеобходимы, когда нужно что-то подсчитать.
РегистрыКаждый регистр представляет собой миниатюрную ячейку памяти. И обычно в МК их всего несколько десятков.

Как ты уже знаешь из курса основы цифровой электроники, вся информация в цифровом мире представляется в виде двоичных чисел, которые записываются с помощью всего двух цифр: «нуля» и «единицы» в двоичной системе счисления. Число три в привычной для нас десятичной системе в двоичной будет «11», т.е. 3 10 = 11 2 . Нижние индексы подсказывают о системе счисления. Одна цифра в двоичном числе называется разрядом. У разрядов имеется старшинство. Самый правый разряд называют младшим, а самый левый соответственно старшим. Старшинство разряда увеличивается справа налево:

При работе микроконтроллера в нем «бегают такие же двоичные числа». Они перемещаются от процессора к памяти и обратно, а также к устройствам ввода-вывода (УВВ). Бегают циферки по проводам (в МК они спрятаны внутри микросхемы). Каждый такой проводник в какой-то заданный программой момент времени может передавать только один разряд со значением «0» или «1». Поэтому, для передачи 8-ми разрядного числа от процессора к памяти и обратно понадобится минимум 8 таких проводников.

Несколько таких объединенных проводов, называют шиной. Шины бывают нескольких видов:

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

Разрядность шины адреса влияет на количество адресов, которые можно по ней пропустить. Допустим, в 4-разрядной системе это 24 = 16 адресов, в 64-разрядной, числов адресов будет уже 264=18446744073709551616, т.е чем выше разрядность адресной шины тем к больше объем памяти и больше УВВ можно использовать, с которыми может работать МК. Это очень важный момент.

Разрядность шины данных влияет на то, сколько данных процессор способен считать за один раз. Чем больше разрядность, тем больше данных можно считать за один раз. Разрядность шины данных целиком задается конструкцией конкретного МК. Но при этом она всегда будет кратна восьми. Объясняется это тем, что практически во всех устройствах памяти минимальной единицей информации является байт, т.е. обычное двоичное число из восьми разрядов.

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

Кстати в отличии от привычной системы счисления, 1 байт = 8 бит, 1 килобайт = 1024 байтам, 1 мегабайт = 1024 килобайтам и т.д. Почему именно 1024? Спросите вы. Да потому, что размер памяти кратен степени двойки: т.е 23 = 8, 210=1024.

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

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

RD (read)сигнал на чтение
WR(write)сигнал на запись
MREQ (memory request)запрос обращения к памяти
IORQ (input/output request)запрос обращения к портам в/в
READYсигнал готовности
RESETсигнал сброса

Если МК необходимо обратиться к памяти он задает на управляющей шине сигнал MREQ, при этом одновременно с ним задается сигнал RD/WR. Если МК будет писать в память, то задается сигнал WR, если чтение, соответственно RD. Тоже случится, когда МК обращается к УВВ.

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

Таким образом, если подать питающее напряжение на МК, то он выставляет сигнал на управляющей шине MREQ, RD, а на адресной шине — адрес, по которому в ячейке памяти должна быть первая команда его алгоритма (программного кода, обычно это нулевой адрес памяти). Затем МК её выполняет и в зависимости от управляющих команд на шинах управления, адреса и данных будут появляться соответствующие программе данные и сигналы.

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

Одной из первых фирм выпустившей в большой мир микроконтроллеры на ядре ARM Cortex-M3 является компания «STMicroelectronics». Начиналось всё не так и давно в 2007 году с появления двух семейств – «Performance Line» (STM32F103) и «Access Line» (STM32F101). На текущий момент МК STM32 представлены десятью основными линейками для различных задач. Основные их достоинства это «pin-to-pin» и полная программная совместимость по всем возможным линейкам. И это всё уместилось на ядре ARM Cortex-M3. Рассмотрим основные инструменты, для того что бы можно было начать работу с МК STM32.

Видео:Чем отличается МИКРОКОНТРОЛЛЕР и МИКРОПРОЦЕССОРСкачать

Чем отличается МИКРОКОНТРОЛЛЕР и МИКРОПРОЦЕССОР

Общие сведения о микроконтроллерах

Калиниченко С.Н., ДонНТУ,каф. ЭВМ

Руководитель: Святный В.А., проф. каф. ЭВМ

Kalinichenko S. N. The general data about microcontrollers.

During miniaturization functional blocks which in usual computer systems were placed in separate integrated circuits (the processor, memory, ports of input / output, timers, controllers of interrupts and so forth) began to unite on one crystal. So microcontrollers have appeared. Such approach allowed to reduce considerably not only the sizes of the built — in systems, but also complexity and terms of their development, and consequently also cost. Reduction of number of components caused increase of reliability of ready devices. In some cases for construction of the high-grade built — in system enough one microcircuit — the microcontroller.

Введение

В процессе миниатюризации функциональные блоки, которые в обычных компьютерных системах размещались в отдельных интегральных схемах (процессор, память, порты ввода \ вывода, таймеры, контроллеры прерываний и пр.) стали объединять на одном кристалле. Так появились микроконтроллеры или, как их принято называть в отечественной литературе, однокристальные ЭВМ. Такой подход позволил значительно сократить не только размеры встроенных систем, но также сложность и сроки их разработки, а следовательно и стоимость. Сокращение числа компонентов повлекло за собой повышение надежности готовых устройств. В некоторых случаях для построения полноценной встроенной системы достаточно одной микросхемы – микроконтроллера.

Основные требования, которые потребители предъявляют к управляющим блокам приборов (микроконтроллерам) можно сформулировать следующим образом:

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

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

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

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

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

  • 8-разрядные МК для встраиваемых приложений;
  • 16- и 32-разрядные МК;
  • цифровые сигнальные процессоры (DSP).

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

Росту популярности 8-разрядных МК способствует постоянное расширение номенклатуры изделий, выпускаемых такими известными фирмами, как Motorola, Microchip, Intel, Zilog, Atmel и многими другими. Современные 8-разрядные МК обладают, как правило, рядом отличительных признаков. Перечислим основные из них:

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

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

Рис.1. Модульная организация микроконтроллера.

Процессорное ядро включает в себя:

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

Изменяемый функциональный блок включает в себя модули памяти различного типа и объема, порты ввода/вывода, модули тактовых генераторов (Г), таймеры. В относительно простых МК модуль обработки прерываний входит в состав процессорного ядра . В более сложных МК он представляет собой отдельный модуль с развитыми возможностями. В состав изменяемого функционального блока могут входить и такие дополнительные модули как компараторы напряжения, аналого-цифровые преобразователи (АЦП) и другие. Каждый модуль проектируется для работы в составе МК с учетом протокола ВКМ. Данный подход позволяет создавать разнообразные по структуре МК в пределах одного семейства.

Процессорное ядро микроконтроллера

Структура процессорного ядра МК

Основными характеристиками, определяющими производительность процессорного ядра МК , являются:

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

С точки зрения системы команд и способов адресации операндов процессорное ядро современных 8-разрядных МК реализует один из двух принципов построения процессоров:

  • процессоры с CISC-архитектурой, реализующие так называемую полную систему команд (Complicated Instruction Set Computer);
  • процессоры с RISC-архитектурой, реализующие сокращенную систему команд (Reduced Instruction Set Computer).

CISC-процессоры выполняют большой набор команд с развитыми возможностями адресации, давая разработчику возможность выбрать наиболее подходящую команду для выполнения необходимой операции. В применении к 8-разрядным МК процессор с CISC-архитектурой может иметь однобайтовый, двухбайтовый и трехбайтовый (редко четырехбайтовый) формат команд . Время выполнения команды может составлять от 1 до 12 циклов. К МК с CISC-архитектурой относятся МК фирмы Intel с ядром MCS-51, которые поддерживаются в настоящее время целым рядом производителей, МК семейств НС05, НС08 и НС11 фирмы Motorola и ряд других.

В процессорах с RISC-архитектурой набор исполняемых команд сокращен до минимума. Для реализации более сложных операций приходится комбинировать команды . При этом все команды имеют формат фиксированной длины (например, 12, 14 или 16 бит), выборка команды из памяти и ее исполнение осуществляется за один цикл (такт) синхронизации. Система команд RISC-процессора предполагает возможность равноправного использования всех регистров процессора. Это обеспечивает дополнительную гибкость при выполнении ряда операций. К МК с RISC-процессором относятся МК AVR фирмы Atmel, МК PIC16 и PIC17 фирмы Microchip и другие.

На первый взгляд, МК с RISC-процессором должны иметь более высокую производительность по сравнению с CISC МК при одной и той же тактовой частоте внутренней магистрали. Однако на практике вопрос о производительности более сложен и неоднозначен.

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

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

Рис. 2. Структура МПС с фон-неймановской архитектурой.

Основное преимущество архитектуры Фон-Неймана – упрощение устройства МПС, так как реализуется обращение только к одной общей памяти. Кроме того, использование единой области памяти позволяло оперативно перераспределять ресурсы между областями программ и данных, что существенно повышало гибкость МПС с точки зрения разработчика программного обеспечения. Размещение стека в общей памяти облегчало доступ к его содержимому. Неслучайно поэтому фон-неймановская архитектура стала основной архитектурой универсальных компьютеров, включая персональные компьютеры.

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

Рис.3. Структура МПС с гарвардской архитектурой.

Гарвардская архитектура почти не использовалась до конца 70-х годов, пока производители МК не поняли, что она дает определенные преимущества разработчикам автономных систем управления.

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

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

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

В настоящее время наиболее яркими представителями микроконтроллеров SISC и RISC , имеющих соответственно фон-неймановскую и гарвардскую архитектуры являются микроконтроллеры i 8051 и AVR – микроконтроллеры фирмы Atmel , которые по ряду характеристик превзошли очень известные PIC – микроконтроллеры. Поэтому рассмотрим организацию и устройство вышеперечисленных представителей.

Видео:лекция 403 CAN шина- введениеСкачать

лекция 403  CAN шина- введение

Структурная организация микроконтроллера i8051

Общие характеристики

Микроконтроллер семейства 8051 имеют следующие аппаратные особенности:

· внутреннее ОЗУ объемом 128 байт;

· четыре двунаправленных побитно настраиваемых восьмиразрядных порта ввода-вывода;

· два 16-разрядных таймера-счетчика;

· встроенный тактовый генератор;

· адресация 64 КБайт памяти программ и 64 Кбайт памяти данных;

· две линии запросов на прерывание от внешних устройств;

· интерфейс для последовательного обмена информацией с другими микроконтроллерами или персональными компьютерами.

Микроконтроллер 8751 снабжен УФ ПЗУ объемом 4 Кбайт.

Функциональная схема микроконтроллера семейства 8051.

Микроконтроллер выполнен на основе высокоуровневой n-МОП технологии. Через четыре программируемых параллельных порта ввода/вывода и один последовательный порт микроконтроллер взаимодействует с внешними устройствами. Основу структурной схемы образует внутренняя двунаправленная 8-битная шина, которая связывает между собой основные узлы и устройства микроконтроллера: резидентную память программ (RPM), резидентную память данных (RDM), арифметико-логическое устройство (ALU), блок регистров специальных функций, устройство управления (CU) и порты ввода/вывода (P0-P3).

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

8-битное арифметико-логическое устройство (ALU) может выполнять арифметические операции сложения, вычитания, умножения и деления; логические операции И, ИЛИ, исключающее ИЛИ, а также операции циклического сдвига, сброса, инвертирования и т.п. К входам подключены программно-недоступные регистры T1 и T2, предназначенные для временного хранения операндов, схема десятичной коррекции (DCU) и схема формирования признаков результата операции (PSW).

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

Простейшие операции автоматически образуют “тандемы” для выполнения таких операций, как, например, инкрементирование 16-битных регистровых пар. В ALU реализуется механизм каскадного выполнения простейших операций для реализации сложных команд. Так, например, при выполнении одной из команд условной передачи управления по результату сравнения в ALU трижды инкрементируется счётчик команд (PC), дважды производится чтение из RDM, выполняется арифметическое сравнение двух переменных, формируется 16-битный адрес перехода и принимается решение о том, делать или не делать переход по программе. Все перечисленные операции выполняются всего лишь за 2 мкс.

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

Таким образом, ALU может оперировать четырьмя типами информационных объектов: булевыми (1 бит), цифровыми (4 бита), байтными (8 бит) и адресными (16 бит). В ALU выполняется 51 различная операция пересылки или преобразования этих данных. Так как используется 11 режимов адресации (7 для данных и 4 для адресов), то путем комбинирования операции и режима адресации базовое число команд 111 расширяется до 255 из 256 возможных при однобайтном коде операции.

Структурная организация AVR — микроконтроллера

AVR функционируют в широком диапазоне питающих напряжений от 1,8 до 6,0 Вольт. Энергопотребление в активном режиме зависит от величины напряжения питания, от частоты, на которой работает AVR и от конкретного типа микроконтроллера. Подробные спецификации обычно приводятся в оригинальной технической документации Atmel Corp. Температурные диапазоны работы микроконтроллеров AVR — коммерческий (0С. 70С) и индустриальный (-40С. +85С). К сожалению, корпорация Atmel не выпускает и не планирует выпускать AVR для работы в автомобильном (-40С. +125С) и военном (-55С. +125С) температурных диапазонах.

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

Следующим шагом на пути увеличения быстродействия AVR является использование технологии конвейеризации, вследствие чего цикл «выборка — исполнение» команды заметно сокращен. Например, у микроконтроллеров семейства MCS51 короткая команда выполняется за 12 тактов генератора (1 машинный цикл), в течение которого процессор последовательно считывает код операции и исполняет ее. В PIC-контроллерах фирмы Microchip, где уже реализован конвейер, короткая команда выполняется в течение 8 периодов тактовой частоты (2 машинных цикла). За это время последовательно дешифрируется и считывается код операции, исполняется команда, фиксируется результат и одновременно считывается код следующей операции (одноуровневый конвейер). Поэтому в общем потоке команд одна короткая команда реализуется за 4 периода тактовой частоты или за один машинный цикл. В микроконтроллерах AVR тоже используется одноуровневый конвейер при обращении к памяти программ и короткая команда в общем потоке выполняется, как и в PIC-контроллерах, за один машинный цикл. Главное же отличие состоит в том, что этот цикл у AVR составляет всего один период тактовой частоты. Для сравнения, на рис. 3 приведены временные диаграммы при выполнении типовой команды для различных микроконтроллерных платформ.

Следующая отличительная черта архитектуры микроконтроллеров AVR — регистровый файл быстрого доступа, структурная схема которого показана на рис. 4. Каждый из 32-х регистров общего назначения длиной 1 байт непосредственно связан с арифметико-логическим устройством (ALU) процессора. Другими словами, в AVR существует 32 регистра — аккумулятора. Это обстоятельство позволяет в сочетании с конвейерной обработкой выполнять одну операцию в ALU за один машинный цикл. Так, два операнда извлекаются из регистрового файла, выполняется команда и результат записывается обратно в регистровый файл в течение только одного машинного цикла.

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

Рис.6. Регистровый файл AVR .

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

Рис.7. Временные диаграммы микропроцессорных платформ.

Шесть из 32-х регистров файла могут использоваться как три 16-разрядных указателя адреса при косвенной адресации данных. Один из этих указателей (Z Pointer) применяется также для доступа к данным, записанным в памяти программ микроконтроллера. Использование трех 16-битных указателей (X, Y и Z Pointers) существенно повышает скорость пересылки данных при работе прикладной программы.

Регистровый файл занимает младшие 32 байта в общем адресном пространстве SRAM AVR. Такое архитектурное решение позволяет получать доступ к быстрой «регистровой» оперативной памяти микроконтроллера двумя путями — непосредственной адресацией в коде команды к любой ячейке и другими способами адресации ячеек SRAM. В технической документации фирмы Atmel это полезное свойство носит название «быстрое контекстное переключение» и является еще одной отличительной особенностью архитектуры AVR, повышающей эффективность работы микроконтроллера и его производительность. Особенно заметно данное преимущество при реализации процедур целочисленной 16-битной арифметики, когда исключаются многократные пересылки между различными ячейками памяти данных при обработке арифметических операндов в ALU.

Система команд AVR весьма развита и насчитывает до 133 различных инструкций. Конкретное количество команд для каждого микроконтроллера того или иного семейства AVR приведено в таблицах 1 — 2. Почти все команды имеют фиксированную длину в одно слово (16 бит), что позволяет в большинстве случаев объединять в одной команде и код операции, и операнд(ы). Лишь немногие команды имеют размер в 2 слова (32 бит) и относятся к группе команд вызова процедуры CALL, длинных переходов в пределах всего адресного пространства JMP, возврата из подпрограмм RET и команд работы с памятью программ LPM. Различают пять групп команд AVR: условного ветвления, безусловного ветвления, арифметические и логические операции, команды пересылки данных, команды работы с битами. В последних версиях кристаллов AVR семейства «mega» реализована функция аппаратного умножения, что придает новым микроконтроллерам еще больше привлекательности с точки зрения разработчика.

По разнообразию и количеству реализованных инструкций AVR больше похожи на CISC, чем на RISC процессоры. Например, у PIC-контроллеров система команд насчитывает до 75 различных инструкций, а у MCS51 она составляет 111. В целом, прогрессивная RISC архитектура AVR в сочетании с наличием регистрового файла и расширенной системы команд позволяет в короткие сроки создавать работоспособные программы с эффективным кодом как по компактности реализации, так и по скорости выполнения.

Видео:03. Основы устройства компьютера. Память и шина. [Универсальный программист]Скачать

03. Основы устройства компьютера. Память и шина. [Универсальный программист]

Заключение

В данной работе приведена общая информация о микроконтроллерах, их структуре и организации. Приведено краткое описание архитектуры микроконтроллеров MCS -51 фирмы Intel и AVR – микроконтроллеров фирмы Atmel . Хотя статья носит обзорный характер, но она будет полезна начинающим в познавательном плане.

Видео:Кан шина, что это? Поймет школьник! принцип работыСкачать

Кан шина, что это? Поймет школьник! принцип работы

Литература

1. Андреев Д.В. «Программирование микроконтроллеров MCS-51», учебное пособие — Ульяновск, 2000г.

2. Основы микропроцессорной техники. – Статья.

3. Микроконтроллеры семейства MCS -51

4. AVR — микроконтроллеры: очередной этап на пути развития Статья Кривченко И.В. журнал «Компоненты и технологии» N3, 2002г.


📺 Видео

Что такое микроконтроллер.Скачать

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

Шина данных I2C и многозадачность микроконтроллераСкачать

Шина данных I2C и многозадачность микроконтроллера

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

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

интерфейс rs 485 и микроконтроллерыСкачать

интерфейс rs 485 и микроконтроллеры

Что такое микроконтроллерСкачать

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

1 урок. Что такое микроконтроллер?Скачать

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

RS485 и микроконтроллерСкачать

RS485 и микроконтроллер

Что такое МИКРОКОНТРОЛЛЕР? Почти как процессор, только лучше!Скачать

Что такое МИКРОКОНТРОЛЛЕР? Почти как процессор, только лучше!

Микроконтроллеры это просто.#0 ЦПУ.Скачать

Микроконтроллеры это просто.#0 ЦПУ.

2 урок. Выбор микроконтроллераСкачать

2 урок. Выбор микроконтроллера

5.Микропроцессорные системы. Виды и классификация микроконтроллеровСкачать

5.Микропроцессорные системы. Виды и классификация микроконтроллеров

Как работает LIN шина автомобиля. K-Line L-Line шины данных. Лин шина автомобиля. Lin-bus networkСкачать

Как работает LIN шина автомобиля. K-Line L-Line шины данных. Лин шина автомобиля. Lin-bus network

Цифровые интерфейсы и протоколыСкачать

Цифровые интерфейсы и протоколы

Микроконтроллер - Назначение выводовСкачать

Микроконтроллер - Назначение выводов

Программирование микроконтроллеров | Мощные курсыСкачать

Программирование микроконтроллеров | Мощные курсы
Поделиться или сохранить к себе:
Технарь знаток