Микросхема, предназначенная для управления электронными устройствами (микроконтроллер). Микросхема, предназначенная для управления электронными устройствами (микроконтроллер) Микросхема предназначенная для управления электронными устройствами

Работа с портами ввода/вывода микроконтроллера MC9S12C128

Цель работы: Целью данной лабораторной работы является получение практических навыков в работе с портами ввода/вывода микроконтроллера.

Необходимые оборудования:

1. Плата APS12DT56

2. Платформа NI ELVIS II+

3. Платформа PBMCUSLK

4. Персональный компьютер

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

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

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

· В вычислительной технике: материнские платы, контроллеры дисководов жестких и гибких дисков, CD и DVD;

· Электронике и разнообразных устройствах бытовой техники, в которой используется электронные системы управления - стиральных машинах, микроволновых печах, посудомоечных машинах, телефонах и современных приборах;

В промышленности:

· Устройств промышленной автоматики - от программируемого реле и встраиваемых систем до ПЛК;

· Систем управления станками;

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

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

В данном лабораторном практикуме Вами будет детально изучаться однокристальный 16-разрядный микроконтроллер семейства HCS12: MC9S12C128.

Основные технические характеристики этого МК:

· 16-разрядное процессорное ядро HCS12.

· Напряжение питания 2.97..5.5 В . В лабораторном макете составляет 5 В.

· Развитая система тактирования. Тактирование микроконтроллера возможно как от внешних источников, так и от внутренних. В лабораторном стенде используется элемент, относящийся к первому типу: кварцевый резонатор. Частота тактового сигнала, который он генерирует, составляет 4 МГц. При этом частота внутренней шины микроконтроллера BUS f уменьшается вдвое и равна 2 МГц. Максимальное её значение для этой модели микроконтроллера составляет 20 МГц;

· Резидентная память программ (ПЗУ). Её объем равен 128K = 131072 ячеек (128 КБ). Память выполнена по технологии flash с эмуляцией EEPROM, число циклов записи/стирания составляет не менее 100000.

· Резидентная память данных (ОЗУ). Объём составляет 4 КБ.

· Общее число выводов микроконтроллера – 40. Тип корпуса – QFP (Quad Flat Package).

На кристалле микроконтроллера имеются следующие периферийные модули:

· Порты ввода/вывода. Всего доступно 9 портов, более подробное их описание приведено в табл. 2.1.;

· Модуль таймера TIM с 16-разрядным счетчиком временной базы и восемью каналами IC/OC/PWM.

· Встроенный аналого-цифровой преобразователь ATD. Число каналов оцифровки равно 8, разрядность – 10 бит.

· Последовательные интерфейсы: синхронный SPI и асинхронный SCI, а также модуль CAN со скоростью до 1 Мбит/с.

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

Все МК семейства HCS12 имеют некоторое количество линий ввода/вывода данных. Линии объединены в 8 разрядные параллельные порты данных: Port A, Port B, Port E, За редким исключением, все линии ввода/вывода двунаправленные. Направление передачи линий ввода/вывода настраивается программно путем записи управляющего слова в регистр направления передачи соответствующего порта. Возможно изменение направления передачи в ходе выполнения программы посредством перепрограммирования этих регистров. Сигнал сброса устанавливает все двунаправленные линии в режим ввода. Следует особо подчеркнуть, что направление передачи каждой линии может быть выбрано разработчиком произвольно, независимо от других линий, принадлежащих к одному и тому же порту ввода/вывода. Исключение составляют лишь линии однонаправленной передачи, которые изначально специализированы на ввод или на вывод.

Часть линий ввода/вывода имеют так называемую альтернативную функцию, т.е. обеспечивают связь встроенных периферийных модулей МК с «внешним миром». Так линии порта PORT AD используются для подключения к встроенному АЦП измеряемых напряжений, линии порта PORT S служат входами и выходами контроллеров последовательного обмена. Если соответствующий периферийный модуль МК не используется, то его выводы можно задействовать как обычные линии ввода/вывода.

Если линии порта двунаправленные, то для его обслуживания такого порта предусмотрены два типа регистров:

PORTx - регистр данных порта x, где x - имя порта ввода/вывода;

DDRx - регистр направления передачи порта x.

Например, порт PORT A обслуживается регистрами PORTA и DDRA, а порт PORT B - регистрами PORTB и DDRB.

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

Ниже приведен фрагмент текста программы, которая конфигурирует PORT B для вывода данных, а затем записывает в порт число $62. Для того, чтобы все линии порта PORT B стали линиями вывода, необходимо записать в регистр направления передачи DDRB код $FF.

/* МAIN PROGRAМ: */

/*подключаемые файлы*/

#include

#include"derivative.h"

void main{void) {

unsigned char DDRB_INIT = 0xFF;

DDRB = DDRT_INIT; //установить порт PORT B на вывод

  • ВВЕДЕНИЕ
    • 1.1 Классификация и структура микроконтроллеров
    • 1.2 Структура процессорного ядра микроконтроллера
    • 2. Специальная часть
    • 2.1 CISC и RISC архитектура процессора
    • 2.2 RISC-архитектура.
    • 2.3 Микроконтроллер с RISC архитектурой
    • Заключение
    • Список использованной литературы
ВВЕДЕНИЕ Микроконтроллер (MCU) - микросхема, предназначенная для управления электронными устройствами. Типичный микроконтроллер сочетает в себе функции процессора и периферийных устройств, может содержать ОЗУ и ПЗУ. По сути, это однокристальный компьютер, способный выполнять простые задачи. Использование одной микросхемы, вместо целого набора, как в случае обычных процессоров, применяемых в персональных компьютерах, значительно снижает размеры, энергопотребление и стоимость устройств, построенных на базе микроконтроллеров. Микроконтроллеры являются основой для построения встраиваемых систем, их можно встретить во многих современных приборах, таких, как телефоны, стиральные машины и т.п. Термин "микроконтроллер" (МК) вытеснил из употребления ранее использовавшийся термин "однокристальная микро-ЭВМ". Первый же патент на однокристальную микро-ЭВМ был выдан в 1971 году инженерам М. Кочрену и Г. Буну, сотрудникам Texas Instruments. Именно они предложили на одном кристалле разместить не только микропроцессор, но и память, устройства ввода-вывода. С появлением однокристальных микро-ЭВМ связывают начало эры компьютерной автоматизации в области управления. По-видимому, это обстоятельство и определило термин "микроконтроллер" (control - управление). В 1979 году НИИ ТТ разработали однокристальную 16-разрядную ЭВМ К1801ВЕ1, архитектура которой называлась "Электроника НЦ". В 1980 году фирма Intel выпускает микроконтроллер i8048. Чуть позже в этом же году Intel выпускает следующий микроконтроллер: i8051. Удачный набор периферийных устройств, возможность гибкого выбора внешней или внутренней программной памяти и приемлемая цена обеспечили этому микроконтроллеру успех на рынке. С точки зрения технологии микроконтроллер i8051 являлся для своего времени очень сложным изделием - в кристалле было использовано 128 тыс. транзисторов, что в 4 раза превышало количество транзисторов в 16-разрядном микропроцессоре i8086.На сегодняшний день существует более 200 модификаций микроконтроллеров, совместимых с i8051, выпускаемых двумя десятками компаний, и большое количество микроконтроллеров других типов. Популярностью у разработчиков пользуются 8-битные микроконтроллеры PIC фирмы Microchip Technology и AVR фирмы Atmel, шестнадцатибитные MSP430 фирмы TI, а также ARM, архитектуру которых разрабатывает фирма ARM и продаёт лицензии другим фирмам для их производства, процессоров - микроконтроллеры.При проектировании микроконтроллеров приходится соблюдать баланс между размерами и стоимостью с одной стороны и гибкостью и производительностью с другой. Для разных приложений оптимальное соотношение этих и других параметров может различаться очень сильно. Поэтому существует огромное количество типов микроконтроллеров, отличающихся архитектурой процессорного модуля, размером и типом встроенной памяти, набором периферийных устройств, типом корпуса и т.д.

1. Общая часть

1.1 Классификация и структура микроконтроллеров В настоящее время выпускается целый ряд типов МК. Все эти приборы можно условно разделить на три основных класса:8-разрядные МК для встраиваемых приложений;16 - и 32-разрядные МК;цифровые сигнальные процессоры (DSP).Наиболее распространенным представителем семейства МК являются 8-разрядные приборы, широко используемые в промышленности, бытовой и компьютерной технике. Они прошли в своем развитии путь от простейших приборов с относительно слаборазвитой периферией до современных многофункциональных контроллеров, обеспечивающих реализацию сложных алгоритмов управления в реальном масштабе времени. Причиной жизнеспособности 8-разрядных МК является использование их для управления реальными объектами, где применяются, в основном, алгоритмы с преобладанием логических операций, скорость обработки которых практически не зависит от разрядности процессора.Росту популярности 8-разрядных МК способствует постоянное расширение номенклатуры изделий, выпускаемых такими известными фирмами, как Motorola, Microchip, Intel, Zilog, Atmel и многими другими. Современные 8-разрядные МК обладают, как правило, рядом отличительных признаков. Перечислим основные из них:модульная организация, при которой на базе одного процессорного ядра (центрального процессора) проектируется ряд (линейка) МК, различающихся объемом и типом памяти программ, объемом памяти данных, набором периферийных модулей, частотой синхронизации;использование закрытой архитектуры МК, которая характеризуется отсутствием линий магистралей адреса и данных на выводах корпуса МК. Таким образом, МК представляет собой законченную систему обработки данных, наращивание возможностей которой с использованием параллельных магистралей адреса и данных не предполагается;использование типовых функциональных периферийных модулей (таймеры, процессоры событий, контроллеры последовательных интерфейсов, аналого-цифровые преобразователи и др.), имеющих незначительные отличия в алгоритмах работы в МК различных производителей;расширение числа режимов работы периферийных модулей, которые задаются в процессе инициализации регистров специальных функций МК.При модульном принципе построения все МК одного семейства содержат процессорное ядро, одинаковое для всех МК данного семейства, и изменяемый функциональный блок, который отличает МК разных моделей. Процессорное ядро включает в себя: центральный процессор; внутреннюю контроллерную магистраль (ВКМ) в составе шин адреса, данных и управления; схему синхронизации МК; схему управления режимами работы МК, включая поддержку режимов пониженного энергопотребления, начального запуска (сброса) и т.д.Изменяемый функциональный блок включает в себя модули памяти различного типа и объема, порты ввода/вывода, модули тактовых генераторов (Г), таймеры. В относительно простых МК модуль обработки прерываний входит в состав процессорного ядра. В более сложных МК он представляет собой отдельный модуль с развитыми возможностями. В состав изменяемого функционального блока могут входить и такие дополнительные модули как компараторы напряжения, аналого-цифровые преобразователи (АЦП) и другие. Каждый модуль проектируется для работы в составе МК с учетом протокола ВКМ. Данный подход позволяет создавать разнообразные по структуре МК в пределах одного семейства.1.2 Структура процессорного ядра микроконтроллера Основными характеристиками, определяющими производительность процессорного ядра МК, являются:набор регистров для хранения промежуточных данных;система команд процессора;способы адресации операндов в пространстве памяти;организация процессов выборки и исполнения команды.С точки зрения системы команд и способов адресации операндов процессорное ядро современных 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-разрядных МК применяется одна из двух уже упоминавшихся архитектур МПС: фон-неймановская (принстонская) или гарвардская.Основное преимущество архитектуры Фон-Неймана - упрощение устройства МПС, так как реализуется обращение только к одной общей памяти. Кроме того, использование единой области памяти позволяло оперативно перераспределять ресурсы между областями программ и данных, что существенно повышало гибкость МПС с точки зрения разработчика программного обеспечения. Размещение стека в общей памяти облегчало доступ к его содержимому. Неслучайно поэтому фон-неймановская архитектура стала основной архитектурой универсальных компьютеров, включая персональные компьютеры.Гарвардская архитектура почти не использовалась до конца 70-х годов, пока производители МК не поняли, что она дает определенные преимущества разработчикам автономных систем управления.Дело в том, что, судя по опыту использования МПС для управления различными объектами, для реализации большинства алгоритмов управления такие преимущества фон-неймановской архитектуры как гибкость и универсальность не имеют большого значения. Анализ реальных программ управления показал, что необходимый объем памяти данных МК, используемый для хранения промежуточных результатов, как правило, на порядок меньше требуемого объема памяти программ. В этих условиях использование единого адресного пространства приводило к увеличению формата команд за счет увеличения числа разрядов для адресации операндов. Применение отдельной небольшой по объему памяти данных способствовало сокращению длины команд и ускорению поиска информации в памяти данных.Кроме того, гарвардская архитектура обеспечивает потенциально более высокую скорость выполнения программы по сравнению с фон-неймановской за счет возможности реализации параллельных операций. Выборка следующей команды может происходить одновременно с выполнением предыдущей, и нет необходимости останавливать процессор на время выборки команды. Этот метод реализации операций позволяет обеспечивать выполнение различных команд за одинаковое число тактов, что дает возможность более просто определить время выполнения циклов и критичных участков программы.Большинство производителей современных 8-разрядных МК используют гарвардскую архитектуру. При этом гарвардская архитектура является недостаточно гибкой для реализации некоторых программных процедур. Поэтому сравнение МК, выполненных по разным архитектурам, следует проводить применительно к конкретному приложению.В настоящее время в наибольшей мереяркими представителями микроконтроллеров SISC и RISC, имеющих соответственно фон-неймановскую и гарвардскую архитектуры являются микроконтроллеры i8051 и AVR - микроконтроллеры фирмы Atmel, которые по ряду характеристик превзошли очень известные PIC - микроконтроллеры. Поэтому рассмотрим организацию и устройство вышеперечисленных представителей.2. Специальная часть 2.1 CISC и RISC архитектура процессора Двумя основными архитектурами набора команд, используемыми компьютерной промышленностью на современном этапе развития вычислительной техники, являются архитектуры CISC и RISC. Основоположником CISC-архитектуры - архитектуры с полным набором команд (CISC - Complete Instruction Set Computer) можно считать фирму IBM с ее базовой архитектурой IBM/360, ядро которой используется с 1964 г. и дошло до наших дней, например, в таких современных мейнфреймах, как IBM ES/9000.Лидером в разработке микропроцессоров с полным набором команд считается компания Intel с микропроцессорами X86 и Pentium. Это практически стандарт для рынка микропроцессоров. Простота архитектуры RISC-процессора обеспечивает его компактность, практическое отсутствие проблем с охлаждением кристалла, чего нет в процессорах фирмы Intel, упорно придерживающейся пути развития архитектуры CISC. Формирование стратегии CISC-архитектуры произошло за счет технологической возможности перенесения "центра тяжести" обработки данных с программного уровня системы на аппаратный, так как основной путь повышения эффективности для CISC-компьютера виделся, в первую очередь, в упрощении компиляторов и минимизации исполняемого модуля. На сегодняшний день CISC-процессоры почти монопольно занимают на компьютерном рынке сектор персональных компьютеров, однако RISC-процессорам нет равных в секторе высокопроизводительных серверов и рабочих станций. Основные черты RISC-архитектуры с аналогичными по характеру чертами CISC-архитектуры отображаются следующим образом (табл.1):Таблица 1. Основные черты архитектуры

Одним из важных преимуществ RISC-архитектуры является высокая скорость арифметических вычислений. RISC-процессоры первыми достигли планки в наибольшей мерераспространенного стандарта IEEE 754, устанавливающего 32-разрядный формат для представления чисел с фиксированной точкой и 64-разрядный формат "полной точности" для чисел с плавающей точкой. Высокая скорость выполнения арифметических операций в сочетании с высокой точностью вычислений обеспечивает RISC-процессорам безусловное лидерство по быстродействию в сравнении с CISC-процессорами.

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

Организация регистровой структуры - основное достоинство и основная проблема RISC. Практически любая реализация RISC-архитектуры использует трехместные операции обработки, в которых результат и два операнда имеют самостоятельную адресацию - R1: = R2, R3. Это позволяет без существенных затрат времени выбрать операнды из адресуемых оперативных регистров и записать в регистр результат операции. Кроме того, трехместные операции дают компилятору большую гибкость по сравнению с типовыми двухместными операциями формата "регистр - память" архитектуры CISC. В сочетании с быстродействующей арифметикой RISC-операции типа "регистр - регистр" становятся очень мощным средством повышения производительности процессора.

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

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

2.2 RISC-архитектура. В 70-е годы XX века ученые выдвинули революционную по тем временам идею создания микропроцессора, "понимающего" только минимально возможное количество команд.Замысел RISC - процессора (Reduced Instruction Set Computer, компьютер с сокращенным набором команд) родился в результате практических исследований частоты использования команд программистами, проведенных в 70-х годах в США и Англии. Их непосредственный итог - известное "правило 80/20": в 80% кода типичной прикладной программы используется лишь 20% простейших машинных команд из всего доступного набора.Первый "настоящий" RISC-процессор с 31 командой был создан под руководством Дэвида Паттерсона из Университета Беркли, затем последовал процессор с набором из 39 команд. Они включали в себя 20-50 тыс. транзисторов. Плодами трудов Паттерсона воспользовалась компания Sun Microsystems, разработавшая архитектуру SPARC с 75 командами в конце 70-х годов. В 1981 г. в Станфордском университете стартовал проект MIPS по выпуску RISC-процессора с 39 командами. В итоге была основана корпорация Mips Computer в середине 80-х годов и сконструирован следующий процессор уже с 74 командами.По данным независимой компании IDC, в 1992 году архитектура SPARC занимала 56% рынка, далее следовали MIPS - 15% и PA-RISC - 12,2%Примерно в то же время Intel разработала серию 80386, последних "истинных" CISC-процессоров в семействе IA-32. В последний раз повышение производительности было достигнуто только за счет усложнения архитектуры процессора: из 16-разрядной она превратилась в 32-разрядную, дополнительные аппаратные компоненты поддерживали виртуальную память, и добавился целый ряд новых команд.Основные особенности RISC-процессоров:Сокращенный набор команд (от 80 до 150 команд).Большинство команд выполняется за 1 такт.Большое количество регистров общего назначения.Наличие жестких многоступенчатых конвейеров.Все команды имеют простой формат, и используются немногие способы адресации.Наличие вместительной раздельной кэш-памяти.Применение оптимизирующих компиляторов, которые анализируют исходный код и частично меняют порядок следования команд.RISC-процессоры 3-го поколенияСамыми крупными разработчиками RISC-процессоров считаются Sun Microsystems (архитектура SPARC - Ultra SPARC), IBM (многокристальные процессоры Power, однокристальные PowerPC - PowerPC 620), Digital Equipment (Alpha - Alpha 21164), Mips Technologies (семейство Rxx00 - R 10000), а также Hewlett-Packard (архитектура PA-RISC - PA-8000).Все RISC-процессоры третьего поколения:являются 64-х разрядными и суперскалярными (запускаются не менее 4-х команд за такт);имеют встроенные конвейерные блоки арифметики с плавающей точкой;имеют многоуровневую кэш-память. Большинство RISC-процессоров кэшируют предварительно дешифрованные команды;изготавливаются по КМОП-технологии с 4 слоями металлизации.Для обработки данных применяется алгоритм динамического прогнозирования ветвлений и метод переназначения регистров, что позволяет реализовать внеочередное выполнение команд.Повышение производительности RISC-процессоров достигается за счет повышения тактовой частоты и усложнения схемы кристалла. Представителями первого направления являются процессоры Alpha фирмы DEC, в наибольшей мересложными остаются процессоры компании Hewlett-Packard.Уменьшение набора машинных команд в RISC-архитектуре позволило разместить на кристалле вычислительного ядра большое количество регистров общего назначения. Увеличение количества регистров общего назначения позволило минимизировать обращения к медленной оперативной памяти, оставив для работы с RAM только операции чтения данных из оперативной памяти в регистр и запись данных из регистра в оперативную память, все остальные машинные команды используют в качестве операндов регистры общего назначения.Основными преимуществами RISC-архитектуры является наличие следующих свойств:Большое число регистров общего назначения.Универсальный формат всех микроопераций.Равное время выполнения всех машинных команд.Практически все операции пересылки данных осуществляются по маршруту регистр - регистр.Равное время выполнения всех машинных команд позволяют обрабатывать поток командных инструкций по конвейерному принципу, т.е. выполняется синхронизация аппаратных частей с учетом последовательной передачи управления от одного аппаратного блока к другому.Аппаратные блоки в RISC-архитектуре:Блок загрузки инструкций включает в себя следующие составные части: блок выборки инструкций из памяти инструкций, регистр инструкций, куда помещается инструкция после ее выборки и блок декодирования инструкций. Эта ступень называется ступенью выборки инструкций.Регистры общего назначения совместно с блоками управления регистрами образуют вторую ступень конвейера, отвечающую за чтение операндов инструкций. Операнды могут храниться в самой инструкции или в одном из регистров общего назначения. Эта ступень называется ступенью выборки операндов.Арифметико-логическое устройство и, если в этой архитектуре реализован, аккумулятор, вместе с логикой управления, которая, исходя из содержимого регистра инструкций, определяет тип выполняемой микрооперации. Источником данных помимо регистра инструкций может быть счетчик команд, при выполнении микроопераций условного или безусловного перехода. Данная ступень называется исполнительной ступенью конвейера.Набор состоящий из регистров общего назначения, логики записи и иногда из RAM образуют ступень сохранения данных. На этой ступени результат выполнения инструкций записываются в регистры общего назначения или в основную память.При этом к моменту разработки RISC-архитектуры, промышленным стандартом микропроцессоров де-факто стала архитектура Intel x86, выполненная по принципу CISC-архитектуры. Наличие большого числа программ, написанных под архитектуру Intel x86, сделала невозможным массовый переход ЭВМ на RISC-архитектуру. По этой причине основной сферой использования RISC-архитектуры явились микроконтроллеры, благодаря тому, что они не были привязаны к существующему программному обеспечению. Кроме того некоторые производители ЭВМ во главе с IBM так же начали выпускать ЭВМ, построенные по RISC-архитектуре, однако несовместимость программного обеспечения между Intel x86 и RISC-архитектурой в значительной степени ограничивала распространение последних.При этом, преимущества RISC-архитектуры были столь существенны, что инженеры нашли способ перейти на вычислители, выполненные по RISC-архитектуре, при всём этом не отказываясь от существующего программного обеспечения. Ядра большинство современных микропроцессоров, поддерживающих архитектуру Intel x86, выполнены по RISC-архитектуре с поддержкой мультискалярной конвейерной обработки. Микропроцессор получает на вход инструкцию в формате Intel x86, заменяем ее несколькими (до 4-х) RISC-инструкциями.Таким образом, ядра большинства современных микропроцессоров, начиная с Intel 486DX, выполнены по RISC-архитектуре с поддержкой внешнего Intel x86 интерфейса. Кроме того, подавляющее большинство микроконтроллеров, а так же некоторые микропроцессоры выпускаются по RISC-архитектуре.В современном RISC-процессоре используется не менее 32 регистров, частоболее 100, в то время, как в классических ЦВМ обычно 8-16 регистров общегоназначения. В результате процессор на 20% -30% реже обращается коперативной памяти, что также повысило скорость обработки данных. Крометого, наличие большого количества регистров упрощает работу компилятора по распределению регистров под переменные. Упростилась топология процессора, выполняемого в виде одной интегральной схемы, сократились сроки ее разработки, она стала дешевле.После появления RISC-процессоров традиционные процессоры получилиобозначение CISC - то есть с полным набором команд (Complete Instruction Set Computer).В настоящее время RISC-процессоры получили широкое распространение. Современные RISC-процессоры характеризуютсяследующим:упрощенным набором команд;используются команды фиксированной длины и фиксированного формата,простые способы адресации, что позволяет упростить логику декодирования команд;большинство команд выполняются за один цикл процессора;логика выполнения команд с целью повышения производительностиориентирована на аппаратную, а не на микропрограммную реализацию,отсутствуют макрокоманды, усложняющие структуру процессора иуменьшающие скорость его работы;взаимодействие с оперативной памятью ограничивается операциямипересылки данных;для обработки, как правило, используются трехадресные команды, чтопомимо упрощения дешифрации дает возможность сохранять большеечисло переменных в регистрах без их последующей перезагрузки;создан конвейер команд, позволяющий обрабатывать несколько из ниходновременно;наличие большого количества регистров;используется высокоскоростная память.В RISC-процессорах обработка машинной команды разделена нанесколько ступеней, каждую ступень обслуживают отдельные аппаратныесредства и организована передача данных от одной ступени к следующей.Производительность при всём этом возрастает благодаря тому, что одновременно на различных ступенях конвейера выполняются несколько команд.Выполнение типичной команды можно разделить на следующие этапы:выборка команды IF - по адресу, заданному счетчиком команд, из памяти извлекается команда;2) декодирование команды ID - выяснение ее смысла, выборка операндов из регистров;3) выполнение операции EX, при необходимости обращения к памяти - вычисление физического адреса;4) обращение к памяти ME;5) запоминание результата WBВ процессорах с RISC-архитектурой набор исполняемых команд сокращен до минимума. Для реализации более сложных операций приходится комбинировать команды. При этом все команды имеют формат фиксированной длины (например, 12, 14 или 16 бит), выборка команды из памяти и ее исполнение осуществляется за один цикл (такт) синхронизации. Система команд RISC-процессора предполагает возможность равноправного использования всех регистров процессора. Это обеспечивает дополнительную гибкость при выполнении ряда операций. К МК с RISC-процессором относятся МК AVR фирмы Atmel, МК PIC16 и PIC17 фирмы Microchip и другие.На первый взгляд, МК с RISC-процессором должны иметь более высокую производительность по сравнению с CISC МК при одной и той же тактовой частоте внутренней магистрали. При этом на практике вопрос о производительности более сложен и неоднозначен.Рис.2 Структура МК с RISC архитектуройГарвардская архитектура почти не использовалась до конца 70-х годов, пока производители МК не поняли, что она дает определенные преимущества разработчикам автономных систем управления.Дело в том, что, судя по опыту использования МПС для управления различными объектами, для реализации большинства алгоритмов управления такие преимущества фон-неймановской архитектуры как гибкость и универсальность не имеют большого значения. Анализ реальных программ управления показал, что необходимый объем памяти данных МК, используемый для хранения промежуточных результатов, как правило, на порядок меньше требуемого объема памяти программ. В этих условиях использование единого адресного пространства приводило к увеличению формата команд за счет увеличения числа разрядов для адресации оперрандов. Применение отдельной небольшой по объему памяти данных способствовало сокращению длины команд и ускорению поиска информации в памяти данных.Кроме того, гарвардская архитектура обеспечивает потенциально более высокую скорость выполнения программы по сравнению с фон-неймановской за счет возможности реализации параллельных операций. Выборка следующей команды может происходить одновременно с выполнением предыдущей, и нет необходимости останавливать процессор на время выборки команды. Этот метод реализации операций позволяет обеспечивать выполнение различных команд за одинаковое число тактов, что дает возможность более просто определить время выполнения циклов и критичных участков программы.Большинство производителей современных 8-разрядных МК используют гарвардскую архитектуру. При этом гарвардская архитектура является недостаточно гибкой для реализации некоторых программных процедур. Поэтому сравнение МК, выполненных по разным архитектурам, следует проводить применительно к конкретному приложению.2.3 Микроконтроллер с RISC архитектурой PIC16C71 относится к семейству КМОП микроконтроллеров. Отличается тем, что имеет внутреннее 1K x 14 бит EPROM для программ, 8-битовые данные и 64 - байтовый встроенный аналого-цифровой преобразователь. Отличаются низкой стоимостью и высокой производительностью.Пользователи, которые знакомы с семейством PIC16C5X могут посмотретьподробный список отличий нового от производимых ранее контроллеров.Все команды состоят из одного слова (14 бит шириной) и исполняются за один цикл (200 нс при 20 МГц), кроме команд перехода, которые выполняются за два цикла (400 нс).PIC16C71 имеет прерывание, срабатывающее от четырех источников, ивосьмиуровневый аппаратный стек.Периферия включает в себя 8-битный таймер/счетчик с 8-битнымпрограммируемым предварительным делителем (фактически 16 - битный таймер),13 линий двунаправленного ввода/вывода и восьми битный АЦП. Высокаянагрузочная способность (25 мА макс. втекающий ток,20 мА макс. вытекающийток) линий ввода/вывода упрощают внешние драйверы и, тем самым, уменьшаетсяобщая стоимость системы.АЦП имеет четыре канала, схему выборки и хранения, разрешающую способность 8бит с погрешностью не более одного младшего разряда. Среднее времяпреобразования 30 мкс, включая время выборки.Серия PIC16C71 подходит для широкого спектра приложений от схемвысокоскоростного управления автомобильными и электрическими двигателями до экономичных удаленных приемопередатчиков, показывающих приборов и связныхпроцессоров. Наличие ПЗУ позволяет подстраивать параметры в прикладныхпрограммах (коды передатчика, скорости двигателя, частоты приемника и т.д.).Малые размеры корпусов, как для обычного, так и для поверхностного монтажа, делает эту серию микроконтроллеров пригодной для портативных приложений.Низкая цена, экономичность, быстродействие, простота использования и гибкость ввода/вывода делает PIC16C71 привлекательным даже в тех областях, где ранее не применялись микроконтроллеры. Например, таймеры, замена жесткой логики в больших системах, сопроцессоры.Микроконтроллер имеет:только 35 простых команд;все команды выполняются за один цикл (200ns), кроме команд перехода - 2цикла;рабочая частота 0 Гц...20 МГц (min 200 нс цикл команды)14 - битовые команды;8 - битовые данные;36 х 8 регистров общего использования;15 специальных аппаратных регистров SFR;восьмиуровневый аппаратный стек;прямая, косвенная и относительная адресация данных и команд;четыре источника прерывания:внешний вход INTпереполнение таймера RTCCпрерывание при завершении аналого-цифрового преобразованияпрерывание при изменении сигналов на линиях порта B.Периферия, ввод и вывод микроконтроллера имеет:13 линий ввода-вывода с индивидуальной настройкой;втекающий/вытекающий ток для управления светодиодами. макс втекающий ток - 25 мА. макс вытекающий ток - 20 мА8 - битный таймер/счетчик RTCC с 8-битным программируемым предварительным делителем;модуль АЦП:4 мультиплексируемых аналоговых входа, подсоединенных к одномуаналога цифровому преобразователюсхема выборки\хранениявремя преобразования - 20 мкс на каналпреобразователь - 8 бит, с погрешностью +-1 LSBвход для внешнего опорного напряжения Vref (Vref <= Vdd)диапазон входных аналоговых сигналов от Vss до Vrefавтоматический сброс при включении;таймер включения при сбросе;таймер запуска генератора;Watchdog таймер WDT с собственным встроенным генератором, обеспечивающимповышенную надежность;EPROM бит секретности для защиты кода;экономичный режим SLEEP;выбираемые пользователем биты для установки режима возбуждения встроенного генератора:RC генератор RCобычный кварцевый резонатор XTвысокочастотный кварцевый резонатор HSэкономичный низкочастотный кристалл LPвстроенное устройство самопрограммирования EPROM памяти программ,используются только две ножки.Обозначения ножек и их функциональное назначение:RA4/RTCC - Вход через триггерШмидта. Ножка порта ввода/вывода соткрытым стоком или вход частоты длтаймера/счетчика RTCC.RA0/AIN0 - Двунаправленная линия ввода/вывода.Аналоговый вход канала 0.Как цифровой вход имеет уровни ТТЛ.RA1/AIN1 - Двунаправленная линия ввода/вывода.Аналоговый вход канала 1.Как цифровой вход имеет уровни ТТЛ.RA2/AIN2 - Двунаправленная линия ввода/вывода.Аналоговый вход канала 2.Как цифровой вход имеет уровни ТТЛ.RA3/AIN3/Vref - Двунаправленная линия ввода/вывода.RB0/INT - Двунаправленная линия портавывода или внешний вход прерывания.RB1 - RB5 - Двунаправленные линии ввода/вывода.RB6 - Двунаправленные линии ввода/вывода.RB7 - Двунаправленные линии ввода/вывода./MCLR/Vpp - Низкий уровень на этомвходе генерирует сигнал сбросадля контроллера. Активный низкий.Вход через триггер Шмидта.OSC1 - Для подключения кварца, RC или вход внешней тактовой частоты.OSC2 - Генератор, выход тактовойCLKOUT - частоты в режиме RC генератора, в остальных случаях - для подкл. кварцаVdd -Напряжение питания.Vss -Общий (земля).Заключение В данной курсовой работе рассмотрены микроконтроллеры с RISC и CISC архитектурой. RISC архитектура была рассмотрена более углубленно и точнее. Отмечена классификация, структура микроконтроллера, структурапроцессорного ядра микроконтроллера, основные особенности RISC архитектуры.На сегодняшний день существует более 200 модификаций микроконтроллеров, совместимых с i8051, выпускаемых двумя десятками компаний, и большое количество микроконтроллеров других типов. Популярностью у разработчиков пользуются 8-битные микроконтроллеры PIC фирмы Microchip Technology и AVR фирмы Atmel, шестнадцатибитные MSP430 фирмы TI, а также ARM, архитектуру которых разрабатывает фирма ARM и продаёт лицензии другим фирмам для их производства, процессоров - микроконтроллеры.При проектировании микроконтроллеров приходится соблюдать баланс между размерами и стоимостью с одной стороны и гибкостью и производительностью с другой. Для разных приложений оптимальное соотношение этих и других параметров может различаться очень сильно. Поэтому существует огромное количество типов микроконтроллеров, отличающихся архитектурой процессорного модуля, размером и типом встроенной памяти, набором периферийных устройств, типом корпуса и т.д.Список использованной литературы

1. "?????? ????????????????? ???????", ?????? ?.?. ??????? ? ?.?. ????????????.

2. "??????????? ?????????????? ??????". ?????? "????? ? ?????" 1990 ?. ????? ?.?. ???????.

3. "??????????-?????????????? ?????? ? ???????". ?????? "????? ? ?????" 1991 ?. ?????? ?.?. ?????.

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

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

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

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

На сегодняшний день существует большое количество микроконтроллеров разных типов. Популярностью у разработчиков пользуются микроконтроллеры РiС фирмы Microchip Technology, а также AVR и ARM компании Atmel Corporation. Чтобы заставить микроконтроллер выполнять поставленные задачи, его необходимо запрограммировать с помощью определенной программы. Обычно она прилагается к принципиальной схеме и содержится в файле с расширением.hex. Чаще эту программу называют “прошивка” (firmware). Для различных микроконтроллеров пишутся разные прошивки. Любая прошивка содержит машинные коды, понятные микроконтроллеру. Но человеку трудно запомнить соответствие управляющих команд и машинных кодов. Поэтому программу вначале пишут с помощью какого-нибудь языка программирования (Assembler, С), а затем переводят в машинные коды контроллера с помощью программы-транслятора.

Для написания программ также существует специальный софт. Например, для разработки прошивок AVR чаще используют WinAVR, который имеет все необходимые инструменты: компилятор (для языков С и C++) , программатор, отладчик, редактор и прочее. WinAVR широко используется во всем мире, как любителями, так и профессионалами. Для создания прошивок PIC микроконтроллеров можно воспользоваться CCS PCWHD (PIC С Compiler) – компилятор языка С. Так же, как и предыдущий софт, содержит все необходимое для программирования микроконтроллеров.
Для того чтобы “прошить” микроконтроллер, необходим программатор (см. Рис. 16) . Он представляет собой программно-аппаратный комплекс, состоящий непосредственно из устройства, связывающего микроконтроллер с компьютером, и программы, которая этим устройством управляет. Программатор заносит подготовленную для микроконтроллера программу в его память. Программатор можно купить или собрать самому.

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

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

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

Микроконтроллеры выпускают десятки компаний, причем производятся не только современные 32-битные микроконтроллеры, но и 16, и даже 8-битные (как i8051 и аналоги). Внутри каждого семейства часто можно встретить почти одинаковые модели, различающиеся скоростью работы ЦПУ и объемом памяти.

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

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

Тут может возникнуть вопрос: микропроцессор и микроконтроллер это просто разное название одного и того же устройства, или это все-таки разные вещи?

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

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

Зарубежная же вычислительная техника на месте не стояла, поэтому ОМЭВМ стали называться контроллерами (от англ. Control - управлять, управление). И в самом деле, контроллеры оказались весьма пригодны для управления различной техникой, даже не очень сложной.

МИКРОКОНТРОЛЛЕР - это уже не процессор, но ещё и не компьютер.

Центральный процессор, имеющийся в каждом компьютере - главный вычислитель. Хотя компьютер и не предназначен исключительно для вычислительной нагрузки, процессор является в нём головным элементом. Но не только в компьютере имеется процессор.

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

Так что же такое микроконтроллер и чем отличается от собственно процессора или это совершенно различные электронные компоненты?

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

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

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

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

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

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

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

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

Смотите также у нас на сайте:

Смотрите также по этой теме обучающие видеокурсы Мaкcима Селиванова:

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

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

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

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

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

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

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

Материал курса прежде всего ориентирован на практику использования. Рассматриваются следующие темы: радиочастотная идентификация, воспроизведение звука, беспроводной обмен данными, работа с цветными TFT дисплеями, сенсорным экраном, работа с файловой системой FAT SD-карты.

Микроконтроллер - это целая микропроцессорная система в одной микросхеме(на одном кристалле). Данная микросхема предназначена для управления всевозможными электронными устройствами и выполнения множества функций. Взаимодействие между электронными устройствами совершается в соответствии с заложенной в микроконтроллер программой.

На нашем сайте наиболее часто будет разговор об микроконтролере Arduino и её наиболее продвинутом варианте в виде Arduino Due .
Микроконтроллеры дают возможность управлять разнообразными электронными и электрическими блоками. Как правило, микроконтроллеры, не работают в одиночку, а интегрируются(процесс объединение части в целое) в схему, где подключены различные периферийные устройства(мониторы, клавиатуры, различные датчики и т.п).

Миросхемы изобрели практически одновременно Джек Килби (Тексас Инструментс) и Роберт Нойс (Файрчайлд Семикондакторс) примерно в 1958 году. Производить промышленно начали только в начале 70-х годов. Первый процессор (8080) был выпущен в 1974 году. Придуман он был под названием Intel 4040, ещё в 1969 году, но в коммерческое производство пошел только в 1974.

С появлением однокристальных микро-ЭВМ связывают начало эры массового применения компьютерной автоматизации в области управления. Скорее всего, это обстоятельство и определило термин «контроллер» (англ. controller - регулятор, управляющее устройство). В связи с резким спадом отечественного производства и увеличением импорта техники, в том числе вычислительной, термин «микроконтроллер» (МК) вытеснил из употребления термин «однокристальная микро-ЭВМ». Первый патент на однокристальную микро-ЭВМ был выдан в 1971 году инженерам Майклу Кочрену и Гари Буну , сотрудникам американской Texas Instruments. Именно они родоночальники идеи размещения на одном кристалле не только процессор, но и память с устройствами ввода-вывода. В 1976 году американская фирма Intel выпускает микроконтроллер i8048. Через 4 года, в 1980 году, Intel выпускает следующий микроконтроллер: i8051. Удачный набор периферийных устройств, возможность гибкого выбора внешней или внутренней программной памяти и приемлемая цена обеспечили этому микроконтроллеру успех на рынке. С точки зрения технологии микроконтроллер i8051 являлся для своего времени крайне сложным изделием - в кристалле было использовано 128 тысяч транзисторов, что в 4 раза превышало количество транзисторов в 16-разрядном микропроцессоре i8086.

Виды микроконтроллеров

Условно микроконтроллеры можно разделить на три группы: простейшие, встраиваемые и универсальные.

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

Встраиваемые в приборы и аппаратуру микроконтроллеры запрограммированы на реализацию узкоспецилизированных задач.

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

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

встраиваемые (embedded) 8-разрядные МК,

16- и 32-разрядные МК,

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

Типы корпусов микроконтроллеров

DIP(Dual Inline Package) - корпус с двумя рядами контактов. Количество ножек в корпусе от 8 до 56.

SOIC(Small Outline Integrated Circuit) - планарная микросхема - ножки припаиваются с той же стороны, где находится корпус. При этом, микросхема лежит корпусом на плате. Количество ножек и их нумерация - такие же, как у DIP.

PLCC(Plastic Leader Chip Carrier) - квадратный корпус. Ножки расположены по всем четырем сторонам, и имеют J - образную форму.

TQFP(Thin Profile Quad Flat Package) - среднее между SOIC и PLCC. Квадратный корпус толщиной около 1 мм, выводы расположены по всем сторонам. Количество ножек - от 32 до 144.

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

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

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

Порты ввода-вывода -> позволяют микроконтроллеру связываться с окружающим миром.

Для достижения более высокого уровня интеграции(процесс объединения частей в целое) и надежности, все микроконтроллеры имеют встроенные дополнительные устройства. Встроенные устройства повышают надежность системы, потому что они не требуют никаких внешних электрических цепей. Они предварительно тестируются производителем и освобождают место на плате, так как все соединительные электрические цепи выполнены на кристале в микроконтроллере. К наиболее распространенным встроенным устройствам относятся устройства памяти и порты ввода/вывода (I/O), интерфейсы связи, таймеры, системные часы. Устройства памяти включают оперативную память (RAM), постоянные запоминающие устройства (ROM), перепрограммируемую ROM (EPROM), электрически перепрограммируемую ROM (EEPROM). Таймеры включают и часы реального времени, и таймеры прерываний. Средства I/O включают последовательные порты связи, параллельные порты (I/O линии), аналого-цифровые преобразователи (A/D), цифроаналоговые преобразователи (D/A), драйверы жидкокристаллического дисплея (LCD) или драйверы вакуумного флуоресцентного дисплея (VFD). Встроенные устройства обладают повышенной надежностью, поскольку они не требуют никаких внешних электрических цепей.

АЛУ производит операции над числами и возвращает результат операции в виде числа. Данные числа помещаются в регистры общего назначения – своеобразную временную память. У каждого микроконтроллера количество регистров может быть разным. Однако, для нормальной работы микроконтроллера регистров общего назначения недостаточно, т.к., например, 32 байта – очень маленький объем памяти. Для того, чтобы можно было хранить больше информации, используется оперативно-запоминающее устройство (ОЗУ) . Регистры общего назначения содержат данные, с которыми АЛУ работает в данный момент, а ОЗУ – остальные. Команды, а точнее последовательность команд, которые выполняет АЛУ, хранятся в постоянно-запоминающем устройстве (ПЗУ) . Обычно это Flash-память. Данная последовательность команд является ничем иным, как программой микроконтроллера, которую создает программист. Все команды находятся в ПЗУ по определенным адресам. Для того, чтобы достать какую-то команду из ПЗУ, необходимо обратиться к ее адресу, чем занимается программный счетчик или счетчик команд. Данные из ПЗУ попадают в регистр команд. АЛУ постоянно «смотрит» содержимое регистра команд и если в нем появляется команда, то АЛУ сразу же начинает ее выполнять. Все эти устройства микроконтроллера были бы бесполезны без портов ввода-вывода, с помощью которых микроконтроллер взаимодействует с внешним миром. Порты ввода-вывода можно настраивать таким образом, чтобы они работали как в качестве входов, так и в качестве выходов. Управления портами осуществляется через специальные регистры. По умолчанию все порты микроконтроллера настроены на выход.

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

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

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

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

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