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

МЕХЗАВОД|Ремонт бытовой техники и электроники cвоими руками

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » МЕХЗАВОД|Ремонт бытовой техники и электроники cвоими руками » Микроконтроллеры » Что такое микроконтроллеры (назначение, устройство, софт)


Что такое микроконтроллеры (назначение, устройство, софт)

Сообщений 1 страница 2 из 2

1

Что такое микроконтроллеры (назначение, устройство, софт)

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

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

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

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

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

На сегодняшний день существует более 200 модификаций микроконтроллеров, совместимых с i8051, выпускаемых двумя десятками компаний, и большое количество микроконтроллеров других типов. Популярностью у разработчиков пользуются 8-битные микроконтроллеры PIC фирмы Microchip Technology и AVR фирмы Atmel, 16-битные MSP430 фирмы TI, а также 32-битные микроконтроллеры, архитектуры ARM, которую разрабатывает фирма ARM Limited и продаёт лицензии другим фирмам для их производства.

http://s5.uploads.ru/t/ArcFV.jpg

16-битный 28-pin PDIP PIC24 микроконтроллер

http://sh.uploads.ru/t/TxHNf.jpg

Микроконтроллер Atmel AVR ATmega8 в корпусе DIP

http://s9.uploads.ru/t/xsO2g.jpg

Устройство микроконтроллера AVR

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2

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

    процессор
    оперативная память - ОЗУ
    постоянная память - ПЗУ
    генератор тактовой частоты
    таймеры
    порты ввода/вывода
    последовательные интерфейсы
    и много чего еще...

Например, в более «навороченных» контроллерах может быть АЦП (аналого-цифровой преобразователь), ЦАП (наоборот) и прочие прибамбасы. Чего только ни придумают! Но мы с вами, для начала, рассмотрим более простой вариант. Для примера возьмем контроллер фирмы Atmel, AT90s2313.

Чтобы понять, как работает контроллер, надо знать, что у него внутри. Ниже я нарисовал как мог сильно упрощенную схему контроллера – без таймеров, генераторов и прочей фигни – все только самое необходимое.
Упрощенная структурная схема контроллера
http://forumupload.ru/uploads/0019/8b/c2/2/113410.gif

Самый главный элемент любого процессора – арифметико-логический узел (АЛУ). Кстати, по буржуйски он называется так-же – ALU (ariphmetic-logical unit). В нем-то, как вы уже догадались, и происходят все мыслимые и немыслимые арифметические и логические операции над числами. Кстати, насчет чисел: контроллер, как и любая другая цифровая система, работает с двоичными числами. О том, что это такое, я подробно распинался в статье "Что такое digital".

Тот контроллер, который мы сейчас мучаем, работает с 8-разрядными двоичными числами, иными словами – он 8-битный. То есть, АЛУ может захавать два 8-битных слова, произвести над ними какую то арифметическую или логическую операцию, и выплюнуть ответ – опять же, 8-битное слово.

Вопрос: а какие бывают арифметические и логические операции? И че эт ваще такое?

Ну, арифметическим операциям нас всех учили еще в 1 классе – это сложение, вычитание, сравнение :)
Логические операции – это операции алгебры логики. Вот некоторые из них: «И», «ИЛИ», «НЕ», «исключающее ИЛИ», сдвиг влево, сдвиг вправо.
Также существуют операции, которые ни относятся ни к тем ни к другим: сброс в «0», установка в «1» и т.п.

Чтобы произвести операцию, АЛУ должен взять откуда-то два числа. Выполнив операцию, опять же, должен положить куда-то ответ. Для этих целей служат регистры общего назначения – РОН. Их у нас 16. Каждый регистр – это ячейка памяти емкостью 8 бит. Иначе говоря – 1 Байт. Именно в них и хранятся числа, с которыми работает АЛУ.

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

Пример:
add R16,R17 - сложить значение регистров R16 и R17 и положить ответ в R16
sub R16,R18 - вычесть из R16, R18 и положить ответ в R16
and R24,R17 - произвести операцию «И» с R24 и R17, ответ – в R24
eor R16,R24 - произвести «исключающее ИЛИ» с R16 и R24, ответ – в R16.

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

Оператор копирования – mov

Пример:
mov R16,R17
add R17,R24

Кроме РОН, на схеме присутствует ОЗУ – оперативная память контроллера. Для чего она?
Да для того, чтобы хранить данные при выполнении программы. Регистров ведь – всего 16. Для полноценной работы этого явно недостаточно. В регистрах хранится обычно только те данные, которые будут использоваться непосредственно прямо сейчас. Все остальное удобнее положить в память. Позднее мы поговорим о таких вещах как стек, указатели и пр. Пока что запомним, что память есть.

Ну вот. Откуда АЛУ берет данные для вычислений – разобрались. Теперь разберемся, откуда он берет команды.

А все очень просто!
Для этого существует регистр команд. В этот регистр постепенно выводятся команды той программы, которую выполняет контроллер. Эти команды касаются всего контроллера, а не только АЛУ (как мы помним, в контроллере просто тьма всего). Чтобы «выудить» из общей кучи «свою» команду, АЛУ постоянно заглядывает в регистр команд на предмет, нет ли там что-нить для него. И как только видит – стрелой мчится выполнять.

В регистр команд, команды попадают из программной памяти. Программная память – это ПЗУ (постоянное запоминающее устройство), в котором по каждому адресу записана одна команда. Вместе, все эти команды и составляют программу, и записаны в той последовательности, в какой они стоят в программе.
Размещение команд в ПЗУ

Чтобы «достать» команду из ПЗУ, надо сказать ему адрес ячейки памяти, в которой лежит эта команда. В ответ, ПЗУ выдаст содержимое этой ячейки. Команды записываются в ячейки в той последовательности, в которой стоят в программе. Поэтому, для того чтобы последовательно «перебирать» команды, достаточно просто каждый раз прибавлять к адресу «1».
http://forumupload.ru/uploads/0019/8b/c2/2/432352.gif

Именно этим и занимается счетчик команд.

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

Для этого существуют порты ввода/вывода (ПВВ).

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

В контроллере AT90s2313 два ПВВ – PortB и PortD.
PortB состоит из 8-ми каналов,
Portd – из 7-ми.

Эта «культяпость» порта D объясняется простой нехваткой ножек микросхемы. Просто разработчики очень хотели запихнуть все это дело в 20-ножный корпус, и поэтому урезали PortD на один канал.

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

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


Вы здесь » МЕХЗАВОД|Ремонт бытовой техники и электроники cвоими руками » Микроконтроллеры » Что такое микроконтроллеры (назначение, устройство, софт)


Рейтинг форумов | Создать форум бесплатно