Реферат: Ответы к Экзамену по Микропроцессорным Системам (микроконтроллеры микрокопроцессоры)

<span Tahoma",«sans-serif»">1. История

<span Tahoma",«sans-serif»">В 1642 Паскальизобрел механическую счетную машину(+,-). 30 лет спустя Лейбниц  сделал машину, которая могла умножать,делить, плюсовать  и вычитать. В начале19в Беббидж сконструировал разностную машину, котораямогла складывать и вычитать. Потом сделал аналитическую машину,  ее можно было программировать. Программист наэтой машине – Ада Августа Ловлейс.  В 30 годы 20 в вГарварде  Айкентсделал  машину Беббиджана электрических реле. 1943 – Моушли создалэлектронный компьютер

<span Tahoma",«sans-serif»;mso-ansi-language: EN-US">ENIAC<span Tahoma",«sans-serif»"> (он имел 20 регистров, 1 регистр –10-разрядное десятичное число). Джон фон Нейман: «Машина должна состоять: АЛУ,память, устройство ввода-вывода, устройство управления ». 1953 <span Tahoma",«sans-serif»; mso-ansi-language:EN-US">IBM<span Tahoma",«sans-serif»"> построила первый компьютер – <span Tahoma",«sans-serif»; mso-ansi-language:EN-US">IBM<span Tahoma",«sans-serif»"> 701. 1956 – изобретен транзистор.1961 – фирма <span Tahoma",«sans-serif»;mso-ansi-language:EN-US">DEC<span Tahoma",«sans-serif»">выпустила комп. <span Tahoma",«sans-serif»; mso-ansi-language:EN-US">PDP<span Tahoma",«sans-serif»">-1(120 тыс. долларов). <span Tahoma",«sans-serif»; mso-ansi-language:EN-US">PDP<span Tahoma",«sans-serif»">-8 был  12 битным и имел шинную архитектуру(16 тыс.дол.). 1964 – выпуск <span Tahoma",«sans-serif»;mso-ansi-language:EN-US">IBM<span Tahoma",«sans-serif»">360. В начале 80-х изобретена БИС. 1981 – <span Tahoma",«sans-serif»; mso-ansi-language:EN-US">INTEL<span Tahoma",«sans-serif»"> 8088, на этом процесделан <span Tahoma",«sans-serif»;mso-ansi-language:EN-US">IBM<span Tahoma",«sans-serif»"><span Tahoma",«sans-serif»;mso-ansi-language:EN-US">PC<span Tahoma",«sans-serif»">.<span Tahoma",«sans-serif»; mso-ansi-language:EN-US">

<span Tahoma",«sans-serif»">4.

<span Tahoma",«sans-serif»; letter-spacing:-.15pt"> АРХИТЕКТУРА МИКРОКОНТРОЛЛЕРА<span Tahoma",«sans-serif»">

<img src=«file:///C:referats_temptemp1630616306.filesimage002.jpg» align=«left» hspace=«12» v:shapes="_x0000_s1026"><span Tahoma",«sans-serif»;letter-spacing:-.05pt">Контроллеромв технике регулирования считается управляющее устройство,

<span Tahoma",«sans-serif»; letter-spacing:-.1pt">осуществляющее регулирующие или контролирующие функции всистеме. Контроллер, <span Tahoma",«sans-serif»;letter-spacing:-.05pt">реализованный наодном кристалле, называется микроконтроллером. Современный микроконтроллерявляется большой цифровой интегральной схемой, объединяющей <span Tahoma",«sans-serif»; letter-spacing:-.15pt">миллионы, выполненных по микронным технологиям,транзисторов.<span Tahoma",«sans-serif»">

<span Tahoma",«sans-serif»; letter-spacing:-.1pt">Типовая структура микроконтроллера изображена на рис.1.1. Микроконтроллер

<span Tahoma",«sans-serif»;letter-spacing:-.2pt">состоит из трех,связанных системными шинами, элементов: процессорного ядра, памяти и <span Tahoma",«sans-serif»; letter-spacing:-.15pt">набора программируемых функциональных блоков различногоназначения.

<span Tahoma",«sans-serif»">

<span Tahoma",«sans-serif»">Рис.1.1. Структура микроконтроллера

<span Tahoma",«sans-serif»">

<span Tahoma",«sans-serif»">Процессорноеядро (

<span Tahoma",«sans-serif»;mso-ansi-language:EN-US">MCU<span Tahoma",«sans-serif»">- <span Tahoma",«sans-serif»;mso-ansi-language:EN-US">Microprocessor<span Tahoma",«sans-serif»"><span Tahoma",«sans-serif»;mso-ansi-language:EN-US">Com<span Tahoma",«sans-serif»"><span Tahoma",«sans-serif»;mso-ansi-language:EN-US">Unit<span Tahoma",«sans-serif»">)является основой микроконтроллера. Оно выполняет все вычислительные операции иодновременно, управляет работой всех остальных элементов схемы. По системнымшинам процессорное ядро обменивается данными с памятью и всеми функциональными(ннж.ши Разрядность процессорного ядра определяетразрядность микроконтроллера Наиболее распространены в настоящее время 8-битные(8-разрядные) микроконфолперы Вместе с тем, широкоеприменение в простых задачах находят и 4-битные издания, а в сложныхвысокопроизводительных системах 16- и 32-битные<span Tahoma",«sans-serif»">

<span Tahoma",«sans-serif»">Впамяти (

<span Tahoma",«sans-serif»;mso-ansi-language:EN-US">Memory<span Tahoma",«sans-serif»">)хранится программа работы микрокош рол лора, исходные данные и все промежуточные результатывычислений. Память состоит из множества многоразрядныхячеек, каждая из которых имеет свой адрес По этому адресу процессорное ядронаходит конкретную ячейку памяти в процессе обмена. Память микроконтроллераобычно разделена на две части: память данных (<span Tahoma",«sans-serif»; mso-ansi-language:EN-US">Data<span Tahoma",«sans-serif»"> <span Tahoma",«sans-serif»; mso-ansi-language:EN-US">Memory<span Tahoma",«sans-serif»">) и память программ (<span Tahoma",«sans-serif»; mso-ansi-language:EN-US">Program<span Tahoma",«sans-serif»"> <span Tahoma",«sans-serif»; mso-ansi-language:EN-US">Memory<span Tahoma",«sans-serif»">).<span Tahoma",«sans-serif»">

<span Tahoma",«sans-serif»">Функциональныеблоки различных типов обеспечивают взаимодействие микроконтроллера с внешниммиром. Эти блоки могут выполнять самые различные функции: ввод и выводинформации, подсчет внешних событий и интервалов времени, передача внешнихзапросов на процессорное ядро, аналого-цифровые и цифроаналоговыепреобразования сигналов, сравнение различных величин, контроль за напряжениемпитания и др. Для процессорного ядра любой функциональный блок представляется ввиде одного или нескольких регистров. Каждый регистр имеет свой оригинальныйадрес, по которому процессорное ядро находит его в процессе работы.

<span Tahoma",«sans-serif»">

<span Tahoma",«sans-serif»">Программаработы микроконтроллера хранится в памяти в виде последовательности команд (инструкций).8 процессе работы процессорное ядро последовательно извлекает из памятиинструкции, расшифровывает и выполняет их. В зависимости от инструкции в ядревыполняются различные арифметические и логические операции, пересыпки данных.При необходимости, в процессе выполнения инструкции, процессорное ядрообращается за данными к ячейкам памяти и функциональным блокам, либо пересыпаетв них результаты вычислений. Множество инструкций, которые понимаетпроцессорное ядро, образует систему команд микроконтроллера.

<span Tahoma",«sans-serif»">

<span Tahoma",«sans-serif»">Практическивсе ведущие производители разрабатывают целые семейства микроконтроллеров с такназываемой модульной структурой. При этом процессорное ядро для всего семействанеизменно, а память и состав функциональных блоков у каждого микроконтроллераразличны. Процессорное ядро всегда имеет свою оригинальную схему и,обязательно, оригинальное имя. Например, микроконтроллеры фирмы

<span Tahoma",«sans-serif»; mso-ansi-language:EN-US">Motorola<span Tahoma",«sans-serif»"> построены на базеядра НС05 и НС08, фирма <span Tahoma",«sans-serif»;mso-ansi-language: EN-US">Intel<span Tahoma",«sans-serif»"> создала ядро <span Tahoma",«sans-serif»; mso-ansi-language:EN-US">MCS<span Tahoma",«sans-serif»">-51 и мг.8-96, контроллеры фирмы <span Tahoma",«sans-serif»; mso-ansi-language:EN-US">Microchip<span Tahoma",«sans-serif»"> строятся на базеядра <span Tahoma",«sans-serif»;mso-ansi-language:EN-US">PIC<span Tahoma",«sans-serif»">12,<span Tahoma",«sans-serif»;mso-ansi-language:EN-US">PIC<span Tahoma",«sans-serif»">16,<span Tahoma",«sans-serif»;mso-ansi-language:EN-US">PIC<span Tahoma",«sans-serif»">17.1'К'Ш фирма Л/<span Tahoma",«sans-serif»;mso-ansi-language:EN-US">me<span Tahoma",«sans-serif»">/усиленно развивает семейство микроконтроллеров с ядром <span Tahoma",«sans-serif»; mso-ansi-language:EN-US">AVR<span Tahoma",«sans-serif»">

<span Tahoma",«sans-serif»">Процессорноеядро на основе известных схемотехнических решений, технологий проектирования ипроизводства цифровых схем реализует определенную архитектуру системы. Длямикропроцессорной системы понятие «архитектура» включает в себя множество еёструктурных особенностей, основными из которых считаются: организация памяти исистема команд. В настоящее время известны четыре общих архитектурных принципав той или другой мере, реализуемые в любом процессорном ядре.

<span Tahoma",«sans-serif»">

<span Tahoma",«sans-serif»">Поорганизации памяти различаются:

<span Tahoma",«sans-serif»">

<span Tahoma",«sans-serif»">°Неймановская архитектура — характеризуется общим пространством памяти дляхранения данных и программы. При этом разрядность памяти зафиксирована (как правило,равна одному байту). Такую архитектуру имеют, например, микроконтроллеры НС05 иНС08 фирмы

<span Tahoma",«sans-serif»;mso-ansi-language:EN-US">Motorola<span Tahoma",«sans-serif»">,в которых общий массив 8-битных ячеек памяти включает в себя как памятьпрограмм, так и память данных [5].<span Tahoma",«sans-serif»">

<span Tahoma",«sans-serif»">0Гарвардская архитектура — отличается разделением памяти программ и памятиданных. При этом разрядность памяти программ и памяти данных, а также шиныдоступа к ним, различны. В частности, все микроконтроллеры

<span Tahoma",«sans-serif»; mso-ansi-language:EN-US">PIC<span Tahoma",«sans-serif»">12, <span Tahoma",«sans-serif»; mso-ansi-language:EN-US">PIC<span Tahoma",«sans-serif»">16 фирмы <span Tahoma",«sans-serif»; mso-ansi-language:EN-US">Microchip<span Tahoma",«sans-serif»"> имеют 8-битнуюпамять данных, а разрядность памяти программ у них различна: <span Tahoma",«sans-serif»; mso-ansi-language:EN-US">PIC<span Tahoma",«sans-serif»">12 имеют 12 битную память программ, аРЮШ — 14 битную [3]. По системе команд различаются:<span Tahoma",«sans-serif»">

<span Tahoma",«sans-serif»">0

<span Tahoma",«sans-serif»;mso-ansi-language:EN-US">CISC<span Tahoma",«sans-serif»">-архитектура(<span Tahoma",«sans-serif»;mso-ansi-language:EN-US">Complicated<span Tahoma",«sans-serif»"><span Tahoma",«sans-serif»;mso-ansi-language:EN-US">Instruction<span Tahoma",«sans-serif»"><span Tahoma",«sans-serif»;mso-ansi-language:EN-US">Set<span Tahoma",«sans-serif»"><span Tahoma",«sans-serif»;mso-ansi-language:EN-US">Computer<span Tahoma",«sans-serif»">)- архитектура с развитой системой команд. Система команд процессорного ядраимеет инструкции разного формата: однобайтовые, двухбайтовые, трехбайтовые.Различные инструкции при этом имеют и существенно разное время исполнения.<span Tahoma",«sans-serif»">

<span Tahoma",«sans-serif»">0

<span Tahoma",«sans-serif»;mso-ansi-language:EN-US">RISC<span Tahoma",«sans-serif»">-архитектура(<span Tahoma",«sans-serif»;mso-ansi-language:EN-US">Reduced<span Tahoma",«sans-serif»"><span Tahoma",«sans-serif»;mso-ansi-language:EN-US">Instruction<span Tahoma",«sans-serif»"><span Tahoma",«sans-serif»;mso-ansi-language:EN-US">Set<span Tahoma",«sans-serif»"><span Tahoma",«sans-serif»;mso-ansi-language:EN-US">Computer<span Tahoma",«sans-serif»">)- архитектура с сокращенным набором команд. Одна инструкция, как правило,занимает только одну ячейку памяти, и все инструкции имеют равное времяисполнения.<span Tahoma",«sans-serif»">

<span Tahoma",«sans-serif»">Микроконтроллерыс

<span Tahoma",«sans-serif»;mso-ansi-language:EN-US">RISC<span Tahoma",«sans-serif»">-архитектуройимеют сравнительно более высокую производительность при той же тактовой частотесигнала синхронизации и в настоящее иремя болеераспространены.<span Tahoma",«sans-serif»">

<span Tahoma",«sans-serif»">Разныепроизводители в своих изделиях используют зачастую различные архитектурныепринципы. Поэтому приведенное выше деление довольно условно

<span Tahoma",«sans-serif»">

<span Tahoma",«sans-serif»">Например,

<span Tahoma",«sans-serif»;mso-ansi-language:EN-US">AVR<span Tahoma",«sans-serif»">-микроконтроллерыфирмы <span Tahoma",«sans-serif»;mso-ansi-language: EN-US">Atmel<span Tahoma",«sans-serif»">, по мнению ее создателей (<span Tahoma",«sans-serif»; mso-ansi-language:EN-US">Alf<span Tahoma",«sans-serif»"> <span Tahoma",«sans-serif»;mso-ansi-language:EN-US">Bogen<span Tahoma",«sans-serif»">и <span Tahoma",«sans-serif»;mso-ansi-language:EN-US">Vergard<span Tahoma",«sans-serif»"><span Tahoma",«sans-serif»;mso-ansi-language:EN-US">Wollan<span Tahoma",«sans-serif»">),имеют улучшенную <span Tahoma",«sans-serif»;mso-ansi-language:EN-US">RISC (enhancedRISC) <span Tahoma",«sans-serif»">архитектуру<span Tahoma",«sans-serif»;mso-ansi-language: EN-US">. <span Tahoma",«sans-serif»">В соответствии с принципами <span Tahoma",«sans-serif»; mso-ansi-language:EN-US">RISC<span Tahoma",«sans-serif»"> — архитектуры практически все командымикроконтроллера (исключая те, у которых одним из операндов является16-разрядный адрес) занимают только в одну ячейку памяти программ. Но сделатьэто разработчикам удалось за счет одновременного использования принциповГарвардской архитектуры и расширения ячейки памяти программ до 16 разрядов.Поэтому в системе команд <span Tahoma",«sans-serif»;mso-ansi-language: EN-US">AVR<span Tahoma",«sans-serif»">-микроконтроллеров целых 130 различныхкоманд, что значительно больше, чем у большинства современных <span Tahoma",«sans-serif»; mso-ansi-language:EN-US">RISC<span Tahoma",«sans-serif»"> — архитектур. Для сравнения,контроллеры фирмы <span Tahoma",«sans-serif»;mso-ansi-language:EN-US">Microchip<span Tahoma",«sans-serif»">с ядром <span Tahoma",«sans-serif»;mso-ansi-language:EN-US">PIC<span Tahoma",«sans-serif»">12.<span Tahoma",«sans-serif»;mso-ansi-language:EN-US">PIC<span Tahoma",«sans-serif»">16,<span Tahoma",«sans-serif»;mso-ansi-language:EN-US">PIC<span Tahoma",«sans-serif»">17имеют всего 33 команды [3].<span Tahoma",«sans-serif»;mso-ansi-language: EN-US">

<span Tahoma",«sans-serif»; mso-ansi-language:EN-US">

<span Tahoma",«sans-serif»">5.

<span Tahoma",«sans-serif»">Архитектура микропроцессора КР580ВМ80А

<span Tahoma",«sans-serif»">МикросхемаКР580ВМ80А — функционально законченный однокристальный параллельный 8-разрядныймикропроцессор с фиксированной системой команд, применяется в качествецентрального процессора в устройствах обработки данных и управления.Микропроцессор имеет раздельные 16-разрядный канал адреса и 8-разрядный канал данных.Канал адреса обеспечивает прямую адресацию внешней памяти объемом до 65536байт, 256 устройств ввода и 256 устройств вывода.

<span Tahoma",«sans-serif»">Восьмиразрядноеарифметико-логическое устройство микропроцессора обеспечивает выполнениеарифметических и логических операций над двоичными данными, представленными вдополнительном коде, а также обработку двоично-десятичных упакованных чисел.

<span Tahoma",«sans-serif»">Всостав блока регистров входят: 16-разрядный регистр адреса команды (IP),16-разрядный регистр указателя стека (SP), 16-разрядный регистр временногохранения (WZ), 16-разрядная схема инкремента-декремента и шесть 8-разрядныхрегистров общего назначения (B, С, D, Е, Н, L), которые могут использоваться икак три 16-разрядных регистра (ВС, DE, HL).

<span Tahoma",«sans-serif»">Микропроцессорвыполняет команды по машинным циклам. Число циклов, необходимое для выполнениякоманды, зависит от ее типа и может быть от одного до пяти. Машинные циклывыполняются по машинным тактам. Число тактов в цикле определяется кодомвыполняемой команды и может быть от трех до пяти. Длительность такта равнапериоду тактовой частоты и при частоте 2,0 МГц составляет 500 нс.

<span Tahoma",«sans-serif»; mso-ansi-language:EN-US">

<span Tahoma",«sans-serif»; mso-ansi-language:EN-US">

<span Tahoma",«sans-serif»">6.

<span Tahoma",«sans-serif»">Определение микроконтроллера.

<span Tahoma",«sans-serif»">Контроллеромв технике регулирования считается управляющее устройство, осуществляющее  регулирование или контролирующие функции всистеме. Контроллер, реализованный на одном кристалле, называетсямикроконтроллером. Современный микроконтроллер является большой цифровойинтегральной схемой, объединяющей миллионы, выполненных по микроннымтехнологиям, транзисторов.

<span Tahoma",«sans-serif»">Типоваяструктура МК изображена на рис. МК состоит из трех, связанных системнымишинами, элементов: процессорного ядра, памяти и набора программируемыхфункциональных блоков различного назначения.

Процессорноеядро

Память

Функциональныеблоки

<img src=«file:///C:referats_temptemp1630616306.filesimage003.gif» align=«left» v:shapes="_x0000_s1027 _x0000_s1028 _x0000_s1029 _x0000_s1030 _x0000_s1031 _x0000_s1032 _x0000_s1033 _x0000_s1034 _x0000_s1035"><span Tahoma",«sans-serif»">Процессорноеядро является основой МК.

<span Tahoma",«sans-serif»">Оновыполняет все вычислительные  операции и,одновременно, управляет работой всех остальных элементов схемы.

<span Tahoma",«sans-serif»">Посистемным шинам ПрЯд обменивается данными с памятью ивсеми функциональными блоками. Разрядность ПЯ определяет разрядность МК(4,8,16,32-битные).

<span Tahoma",«sans-serif»">Впамяти хранится программа работы МК, исходные данные и все промежуточныерезультаты вычислений. Память состоит из множества многоразрядныхячеек, каждая из которых имеет свой адрес. Память МК обычно разделена на двечасти: память данных и память программ.

<span Tahoma",«sans-serif»">Функциональныеблоки различных типов обеспечивают взаимодействие МК с внешним миром. Эти блокимогут выполнять самые различные функции: ввод и вывод информации, подсчетвнешних событий и интервалов времени, передача внешних запросов на ПЯ, анолого-цифровые и цифроанологовые  преобразования сигналов. Для ПЯ любойфункциональный блок представляется в виде одного или нескольких регистров.Каждый регистр имеет свой оригинальный адрес, по которому ПЯ находит егопроцессе работы.

<span Tahoma",«sans-serif»">Программаработы МК хранится в памяти в виде последовательности команд. В процессе работыПЯ последовательно извлекает из памяти инструкции, расшифровывает и выполняетих. В зависимости от инструкций в ядре выполняются различные арифметические илогические операции, пересылки данных. При необходимости, в процессе выполненияинструкций, ПЯ обращается за данными к ячейкам памяти и функциональным блокам,либо пересылает в них результаты вычислений. Множество инструкций, которыепонимает ПЯ, образуют систему команд МК.

<span Tahoma",«sans-serif»">Внастоящее время известны четыре общих архитектурных принципа в той или иноймере, реализуемых в любом ПЯ.

<span Tahoma",«sans-serif»">Поорганизации памяти различаются:

<span Tahoma",«sans-serif»">-Неймановская архитектура – характеризуется общим пространством памяти для хранения данных и программы. При этомразрядность памяти зафиксирована (как правило 1 байт)

<span Tahoma",«sans-serif»">-Гарвардская архитектура – отличается разделением памяти программ и памятиданных. При этом разрядность памяти программ и памяти данных, а также шиныдоступа к ним, различны. 

<span Tahoma",«sans-serif»">Посистеме команд различаются:

<span Tahoma",«sans-serif»">-CISC архитектура – архитектура с развитой системой команд. Система командПЯ  имеет инструкции разного формата:однобайтовые, двухбайтовые, трехбайтовые. Различные имеют разное времяисполнения.

<span Tahoma",«sans-serif»">-RISC архитектура – архитектура с сокращенным набором команд. Одна инструкциякак правило занимает одну ячейку памяти, и все инструкции имеют равное времяисполнения.

<span Tahoma",«sans-serif»">

<span Tahoma",«sans-serif»">7.Процессорное ядро.

<span Tahoma",«sans-serif»">Каждыйпроизводитель МК для серии выпускаемых им изделий разрабатывает и патентуетсвое оригинальное процессорное ядро. Однако в большинстве из них присутствуютодни и те же элементы: регистр инструкций, программный счетчик,арифметико-логическое устройство, регистры общего назначения, регистрсостояния, регистры ввода/вывода, стек.

<span Tahoma",«sans-serif»">Программныйсчетчик: регистр предназначенный для хранения адреса ячейки памяти программ, вкоторой находится выполняемая в данный момент инструкция. Разрядностьпрограммного счетчика определяется количеством ячеек в памяти программы. Привыполнении команды содержимое ПС изменяется. В простейшем случае оноувеличивается на 1. Но некоторые команды способны сами записывать данные в ПС.В этом случае новое содержимое ПС и определяется данными, заложенными ввыполняемой инструкции.

<span Tahoma",«sans-serif»">Регистринструкций: регистр, предназначенный для хранения считанной из памяти программинструкции. Считанная из памяти программ инструкция декодируется дешифраторомкоманд и исполняется микропрограммным автоматом ядра. Разрядность регистраинструкций определяется разрядностью памяти программ.   

<span Tahoma",«sans-serif»">Арифметико-логическоеустройство: логическая схема, непосредственно осуществляющая преобразованиеодной или двух переменных в соответствии с инструкцией занесенной в регистркоманд. Стандартное АЛУ способно выполнять простейшие арифметические илилогические операции над одной или двумя переменными (сложение, вычитание,инкремент, декремент, NOT, AND, OR, exclusive OR). Некоторые производителиинтегрируют на кристалл также встроенный умножитель двух переменных.

<span Tahoma",«sans-serif»">Регистрыобщего значения: Регистры общего значения предназначены для временного храненияданных в процессе вычислений. Разрядность регистров определяет разрядностьвычислений и разрядность самого МК. Количество регистров может бытьпроизвольным. Обычно в этих регистрах хранится информация, обрабатываемаяАЛУ  и полученный в нем результатвычислений. На некоторые из регистров могут быть возложены дополнительныефункции. В большинстве архитектур один из регистров отличается от другихбольшими возможностями. Он обычно называется аккумулятор или рабочий регистр. Вэтом регистре может храниться одна из переменных, обрабатываемых в АЛУ, и тудаже помещается  результат операции.

<span Tahoma",«sans-serif»">Регистрыввода/вывода: предназначены для управления функциональными блоками МК,энергозависимой памятью данных и программ. В различных операциях регистры могутучаствовать целиком или отдельными битами. Отдельный бит регистра именуетсяфлагом. Обращение к регистрам в различных архитектурах организуется различнымобразом. Обычно обращение к ним осуществляется как к элементам процессорногоядра по присвоенным в архитектуре именам и адресам, в ряде случаев к нимобращаются с помощью специальных команд ввода/вывода.

<span Tahoma",«sans-serif»">Регистрсостояния: предназначен для хранения отдельных признаков результата,полученного при выполнении различных арифметических и логических операций вАЛУ. Регистр обычно рассматривается состоящим из отдельных бит (флагов), каждыйиз которых несет в себе определенную информацию о каком либо одном признакерезультата. Типовыми флагами регистра состояния являются:

<span Tahoma",«sans-serif»">-флаг переноса: устанавливается при возникновении переноса из старшего разрядарезультата.

<span Tahoma",«sans-serif»">-флаг переполнения: устанавливается при переполнении разрядной сетки.

<span Tahoma",«sans-serif»">-флаг отрицательного результата: устанавливается, когда результат являетсяотрицательным числом.

<span Tahoma",«sans-serif»">-флаг нулевого результата: устанавливается, когда результат операции равен нулю.

<span Tahoma",«sans-serif»">-флаг полупереноса: устанавливается при возникновениипереноса из младшей тетрады 8-битного числа в старшую(из третьего разряда в четвертый).

<span Tahoma",«sans-serif»">Стек:память данных, организованная по принципу: последний зашел — первый вышел.Такая память предназначается, обычно, для оперативного сохранения содержимогоотдельных регистров при переходах к подпрограммам. Одним из таких регистровявляется программный счетчик. Извлечение из стека содержимого регистровпроизводится в порядке, обратном порядку записи. Запись в стек и извлечение изстека не требует знания адреса ячеек памяти, в которые записываются данные.Стек может быть организован либо в специально созданных в ядре ячейках памяти,либо в области SRAM. В последнем случае в ядре предусматривается специальныйрегистр – указатель стека. Указатель стека хранит адрес последней записаннойячейки памяти в области стека. Количество ячеек памяти, которые используются встеке для хранения данных, именуется глубиной стека. Глубина стека в различныхархитектурах ядра может быть различна: от 2-х ячеек до размера SRAM.

<span Tahoma",«sans-serif»; mso-ansi-language:EN-US">

<span Tahoma",«sans-serif»">классификациякоманд

<span Tahoma",«sans-serif»">Множествоинструкций микроконтроллера образует систему команд. Система команд, какправило, не меняется для всех микроконтроллеров одного семейства. В полномсписке инструкций при описании системы обычно выделяются отдельные группы,родственных по применению инструкций, например, арифметические и логическиекоманды, команды пересылки и др. Это деление довольно условно и полностьюопределяется политикой разработчика.

<span Tahoma",«sans-serif»">Приописании системы команд приводится полная информация о каждой инструкции:способах адресации, использовании флагов регистра состояния, времениисполнения.

<span Tahoma",«sans-serif»">Вкачестве примера рассмотрим систему команд микроконтроллера А Ттеда 163

<span Tahoma",«sans-serif»">Системакоманд микроконтроллера содержит 130 команд, условно разделенных на четырегруппы:

командыпересылки данных (data transfer instructions), 0      арифметические и логические команды(arithmetic and logic instructions), °     команды работы с битами (bit and bit-test instructions), °      команды ветвления (branch instructions).

<span Tahoma",«sans-serif»">Приописании системы команд использованы следующие обозначения:

<span Tahoma",«sans-serif»">Rd- регистр-приемник результата (0 < d < 31),

<span Tahoma",«sans-serif»">Rd

<span Tahoma",«sans-serif»">* — регистр-приемник результата сномером более 16 (16 < d < 31),

<span Tahoma",«sans-serif»">Rr-регистр-источник(0 < г < 31),

<span Tahoma",«sans-serif»">Rdl

<span Tahoma",«sans-serif»">: регистры R24,R26, R28, R30 (для инструкций ADIW и SBIW),               

<span Tahoma",«sans-serif»">Р-адрес регистра ввода/вывода, Р*- адрес побитно адресуемого регистраввода/вывода ($00-$1F)

<span Tahoma",«sans-serif»">К- символьная или численная константа (8 бит)

<span Tahoma",«sans-serif»"> к — адресная константа

<span Tahoma",«sans-serif»">b

<span Tahoma",«sans-serif»"> — номер бита в регистре (3 бита)

<span Tahoma",«sans-serif»">0      s — номер бита в регистре статуса (3 бита)

<span Tahoma",«sans-serif»">0      X, Y, Z — регистры косвенной адресации(X=R27:R26, Y=R29:R28; Z=R31 :R30 Команды пересылки

<span Tahoma",«sans-serif»">Командыпересылки осуществляют перемещение данных между ячейками памяти и регистрамипроцессорного ядра. Один из операндов, участвующих в инструкции, являетсяисточником данных, второй — приемником. При пересылке из источника в приемниккопия данных всегда остается в источнике. Таким образом, все команды пересылкипрактически осуществляют копирование данных.

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

<span Tahoma",«sans-serif»">Инструкции,как правило, не влияют на флаги в регистре состояния процессорного ядра.

В системе команд микроконтроллеров AVR предусмотрено 34инструкции, осуществляющие пересылку данных. В инструкциях используются все, заисключением битовых, способы адресации данных; одним из операндов в любойинструкции является регистр общего назначения. Инструкция Idi(toad immediate), использующая непосредственную адресацию, может бытьиспользована только в старшей половине файла регистров общего назначения(R16....R31), остальные команды работают с любым из регистров файла. Инструкциюspm (store program memory), осуществляющую записькогда в память программ, можно использовать только в Boot Program Sectionпамяти программ;

<span Tahoma",«sans-serif»">Времявыполнения инструкций, работающих с регистрами, равно 1 такту. Инструкции,обращающиеся к ячейкам памяти данных, выполняются за 2 такта, а 'вращающиеся кячейкам памяти программ — за 3 такта.

<span Tahoma",«sans-serif»; mso-ansi-language:EN-US">

<span Tahoma",«sans-serif»">


<span Tahoma",«sans-serif»">Арифметическиеи логические команды

<span Tahoma",«sans-serif»">Вгруппу арифметических команд входит команды выполняющие сложение, вычитание,декремент и инкремент данных, логическое умножение логическое сложение,операцию ИСКЛЮЧАЮЩЕЕ ИЛИ, инверсию переменной. Обычно к этоигруппе относят также инструкции сравнения данных. В микроконтроллере Aтmegа163реализованы также функции арифметического умножения целых чисел и дробныхчисел, без знака и со знако3м

<span Tahoma",«sans-serif»">Всеинструкции этой группы, как правило, приводят к изменению состояния флаговрегистра состояния в соответствии с резулыа1ами, выполняемой операции.

<span Tahoma",«sans-serif»">Вмикроконтроллерах с архитектурой AVR предусмотрено довольно много (31)инструкций, выполняющих арифметические и логические преобразования данных.Инструкции используют исключительно прямую регистровую или непосредственнуюадресацию данных. Операнды хранятся в регистрах общего назначения, в один изних (регистр-приемник) всегда направляется и результат вычислений.

<span Tahoma",«sans-serif»">Врезультате выполнения инструкций изменяются флаги регистра SREG (StatusRegister), а флаг переноса С (Сапу), кроме того, непосредственно участвует ввыполнении ряда операций.

<span Tahoma",«sans-serif»">Арифметическиекоманды сложения и вычитания выполняют сложение и вычитание одно- и двухбайтныхоперандов. Команды adc (add with сапу two registers)и sbc (subtract with carry two registers) используютпри вычислениях флаг переноса С.

<span Tahoma",«sans-serif»">Инструкциилогического умножения (and) и логического сложения (or), ИСКЛЮЧАЮЩЕЕ ИЛИ (вот)преобразуют только однобайтные данные.

<span Tahoma",«sans-serif»">Инструкциядополнения до единицы com (one's complement), фактически выполняет операциюинверсии, а инструкция дополнения до двух neg (two'scomplement) — меняет знак числа

<span Tahoma",«sans-serif»">Инструкцииустановки (set) позволяют установить как отдельные, так и все биты выбранногорегистра в единичное состояние, а команды очистки (dear) — в нулевое.

<span Tahoma",«sans-serif»">Инструкцииинкремента регистра inc (increment) и декремента регистра dec(decrement) используют прямую адресацию одного выбранного регистра.

<span Tahoma",«sans-serif»">Тестна нуль или минус tst (test for zero or minus)фактически не меняет содержимого регистра, но устанавливает соответствующиефлаги при равенстве операнда нулю или при его отрицательном значении.

<span Tahoma",«sans-serif»">Командысравнения (compare) также не меняют содержиМ°го РегистР°в' а оцениваютразность операндов и устанавливают соответствующие Флаги в регистре состояния.

<span Tahoma",«sans-serif»">Шестьинструкций умножения (multiply выполняют умножение |-1ель|Х и Дробных операндовс учетом и без учета знака. 16-битный результат /1^ножения всегда описывается врегистры общего назначения RO:R1.

<span Tahoma",«sans-serif»">Большинствоарифметических и логических команд выполня!0^ за°Дин такт-Исключение составляюттолько команды с непосредственной адресац^.'Ра2? таюи^ ° двухбайтными словами: adiw (add immediateto word) и sbiw (subtract im^196m vvo/")- и команды умножения, выполняющиеся задва такта.

<span Tahoma",«sans-serif»; color:windowtext;letter-spacing:0pt;font-style:normal;text-decoration:none; text-underline:none">Битовые команды

<span Tahoma",«sans-serif»">Битовыекоманды (Вit And Bit-Test Instructions) позволяют обращаться непосредственно котдельным битам регистров процессорного ядра и выполнять с выбранными битамипростейшие операции пересылки, установки и сброса. Операндами команд могут бытькак биты регистров общего назначения, так и биты регистров ввода/вывода.Битовые команды могут влиять на отдельные флаги регистра признаков.

<span Tahoma",«sans-serif»">Битовыекоманды микроконтроллером семейства AVR работают с отдельными битами регистровобщего назначения и регистров ввоода/вывода Битырегистров ввода/вывода могут быть установлены или сброшены. Биты регистровобщего назначения могут быть сдвинуты в соседние ячейки, как влево (в сторонустарших разрядов), так и вправо (в сторону младших разрядов). В операцияхсдвига, кроме разрядов регистров, может участвовать и бит переноса. Специальныекоманды предусмотрены дли установки и сброса отдельных флагов регистрасостояния.

<span Tahoma",«sans-serif»">Команда swap меняетместами тетрады (полубайты) регистров общегоназначения.

<span Tahoma",«sans-serif»">   






<span Tahoma",«sans-serif»">10.Микроконтроллер Atmega и его внешние подключения.

<span Tahoma",«sans-serif»">

<span Tahoma",«sans-serif»">Контроллеромв технике регулирования считается управляющее устройство, осуществляющеерегулирующие и контролирующие функции в системе. Как правило это вычилительная машина. С развитием технологий различныекомпоненты этой машины, такие как процессорное ядро, различные виды памяти,АЦП, таймеры и др. становились миниатюрнее и стало возможным включать их в однуинтегральную микросхему или их малый набор. Микроконтроллер – контр., реализованныйна одном кристалле.

<span Tahoma",«sans-serif»">AVRмикроконтроллеры фирмы Atmel имеют улучшенную RISСархитектуру.

<span Tahoma",«sans-serif»">Микроконтроллерсостоит из трех элементов: процессорного ядра, памяти и набора функциональныхблоков различного назначения, связанных системными шинами.

<span Tahoma",«sans-serif»">Процессорноеядро является основой микроконтроллера. Оно выполняет все арифметическиеоперации, управляет работой всех остальных элементов системы.

<span Tahoma",«sans-serif»">Впамяти хранится программа работы микроконтроллера, исходные данные и всепромежуточные результаты вычислений.

<span Tahoma",«sans-serif»">Функциональныеблоки обеспечивают связь микроконтроллера с внешним миром. Для процессорногоядра любой функ. блок представляется в виде одногоили нескольких регистров. Каждый регистр имеет свой оригинальный адрес.

<span Tahoma",«sans-serif»"><img src=«file:///C:referats_temptemp1630616306.filesimage005.jpg» v:shapes="_x0000_i1025">

<span Tahoma",«sans-serif»">Внешниеподключения условно можно разделить на выводы питания и информационные выводы.Информационные выводы включают в себя 4 порта ввода-вывода, выводы подключениякварцевого резонатора, вывод сброса. Контакты портов ввода-вывода могут бытьиспользованы в качестве параллельных портов либо другими функциональнымиблоками, контакты которых объединены с контактами портов. Все выводы портовимеют индивидуальные подтягивающие резисторы. Для подключения этих резисторов срегистре SFIOR предусмотрен бит PUD.

<span Tahoma",«sans-serif»">Дляповышения стабильности используется внешний тактовый генератор. Схемаподключении приведена на рисунке.

<span Tahoma",«sans-serif»"><img src=«file:///C:referats_temptemp1630616306.filesimage007.jpg» v:shapes="_x0000_i1026">

<span Tahoma",«sans-serif»">ЕмкостьС=13,,43пФ. Для выбора синхронизации используются биты CRSEL0-3.

<span Tahoma",«sans-serif»">

<span Tahoma",«sans-serif»">

<span Tahoma",«sans-serif»">12. Сторожевой таймер

<span Tahoma",«sans-serif»">Сторожевой таймер синхронизирован ототдельного внутреннего генератора на кристалле, работающего с частотой 1МГц(при напряжении питания 5В). Задержка сброса устанавливается с помощью предделителя (Prescaler).Настройка предделителя осуществляется установкой илисбросом битов WDP0…WDP2 регистра управления сторожевым таймером WDTCR. По истеченииустановленного времени задержки сторожевой таймер подает сигнал сброса намикроконтроллер.

<span Tahoma",«sans-serif»">Интервалы задержки сторожевого таймера

<span Tahoma",«sans-serif»">WDP2

<span Tahoma",«sans-serif»">WDP1

<span Tahoma",«sans-serif»">WDP0

<span Tahoma",«sans-serif»">Количество циклов

<span Tahoma",«sans-serif»">Задержка сброса

<span Tahoma",«sans-serif»">0

<span Tahoma",«sans-serif»">0

<span Tahoma",«sans-serif»">0

<span Tahoma",«sans-serif»">16К

<span Tahoma",«sans-serif»">15ms

<span Tahoma",«sans-serif»">0

<span Tahoma",«sans-serif»">0

<span Tahoma",«sans-serif»">1

<span Tahoma",«sans-serif»">32К

<span Tahoma",«sans-serif»">30ms

<span Tahoma",«sans-serif»">0

<span Tahoma",«sans-serif»">1

<span Tahoma",«sans-serif»">0

<span Tahoma",«sans-serif»">64К

<span Tahoma",«sans-serif»">60ms

<span Tahoma",«sans-serif»">0

<span Tahoma",«sans-serif»">1

<span Tahoma",«sans-serif»">1

<span Tahoma",«sans-serif»">128К

<span Tahoma",«sans-serif»">0,12s

<span Tahoma",«sans-serif»">1

<span Tahoma",«sans-serif»">0

<span Tahoma",«sans-serif»">0

<span Tahoma",«sans-serif»">256К

<span Tahoma",«sans-serif»">0,24s

<span Tahoma",«sans-serif»">1

<span Tahoma",«sans-serif»">0

<span Tahoma",«sans-serif»">1

<span Tahoma",«sans-serif»">512К

<span Tahoma",«sans-serif»">0,49s

<span Tahoma",«sans-serif»">1

<span Tahoma",«sans-serif»">1

<span Tahoma",«sans-serif»">0

<span Tahoma",«sans-serif»">1,024К

<span Tahoma",«sans-serif»">0,97s

<span Tahoma",«sans-serif»">1

<span Tahoma",«sans-serif»">1

<span Tahoma",«sans-serif»">1

<span Tahoma",«sans-serif»">2,048К

<td
еще рефераты
Еще работы по компьютерам и переферийным устройствам