.

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

Язык: русский
Формат: реферат
Тип документа: Word Doc
0 2897
Скачать документ

1. История

В 1642 Паскаль изобрел механическую счетную машину(+,-). 30 лет спустя
Лейбниц сделал машину , которая могла умножать, делить , плюсовать и
вычитать. В начале 19в Беббидж сконструировал разностную машину, которая
могла складывать и вычитать. Потом сделал аналитическую машину, ее
можно было программировать. Программист на этой машине – Ада Августа
Ловлейс. В 30 годы 20 в в Гарварде Айкент сделал машину Беббиджа на
электрических реле. 1943 – Моушли создал электронный компьютер ENIAC (он
имел 20 регистров , 1 регистр – 10-разрядное десятичное число). Джон фон
Нейман: «Машина должна состоять: АЛУ, память, устройство ввода-вывода,
устройство управления ». 1953 IBM построила первый компьютер – IBM 701.
1956 – изобретен транзистор. 1961 – фирма DEC выпустила комп. PDP-1(120
тыс. долларов). PDP-8 был 12 битным и имел шинную архитектуру(16 тыс.
дол.). 1964 – выпуск IBM 360. В начале 80-х изобретена БИС. 1981 – INTEL
8088, на этом проце сделан IBM PC.

4. АРХИТЕКТУРА МИКРОКОНТРОЛЛЕРА

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

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

Рис. 1.1. Структура микроконтроллера

Процессорное ядро (MCU – Microprocessor Com Unit) является основой
микроконтроллера. Оно выполняет все вычислительные операции и
одновременно, управляет работой всех остальных элементов схемы. По
системным шинам процессорное ядро обменивается данными с памятью и всеми
функциональными (ннж.ши Разрядность процессорного ядра определяет
разрядность микроконтроллера Наиболее распространены в настоящее время
8-битные (8-разрядные) микроконфолперы Вместе с тем, широкое применение
в простых задачах находят и 4-битные издания, а в сложных
высокопроизводительных системах 16- и 32-битные

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

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

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

Практически все ведущие производители разрабатывают целые семейства
микроконтроллеров с так называемой модульной структурой. При этом
процессорное ядро для всего семейства неизменно, а память и состав
функциональных блоков у каждого микроконтроллера различны. Процессорное
ядро всегда имеет свою оригинальную схему и, обязательно, оригинальное
имя. Например, микроконтроллеры фирмы Motorola построены на базе ядра
НС05 и НС08, фирма Intel создала ядро MCS-51 и мг.8-96, контроллеры
фирмы Microchip строятся на базе ядра PIC12, PIC16, PIC17. 1’К’Ш фирма
Л/me/ усиленно развивает семейство микроконтроллеров с ядром AVR

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

По организации памяти различаются:

° Неймановская архитектура – характеризуется общим пространством памяти
для хранения данных и программы. При этом разрядность памяти
зафиксирована (как правило, равна одному байту). Такую архитектуру
имеют, например, микроконтроллеры НС05 и НС08 фирмы Motorola, в которых
общий массив 8-битных ячеек памяти включает в себя как память программ,
так и память данных [5].

0 Гарвардская архитектура – отличается разделением памяти программ и
памяти данных. При этом разрядность памяти программ и памяти данных, а
также шины доступа к ним, различны. В частности, все микроконтроллеры
PIC12, PIC16 фирмы Microchip имеют 8-битную память данных, а разрядность
памяти программ у них различна: PIC12 имеют 12 битную память программ, а
РЮШ – 14 битную [3]. По системе команд различаются:

0 CISC-архитектура (Complicated Instruction Set Computer) – архитектура
с развитой системой команд. Система команд процессорного ядра имеет
инструкции разного формата: однобайтовые, двухбайтовые, трехбайтовые.
Различные инструкции при этом имеют и существенно разное время
исполнения.

0 RISC-архитектура (Reduced Instruction Set Computer) – архитектура с
сокращенным набором команд. Одна инструкция, как правило, занимает
только одну ячейку памяти, и все инструкции имеют равное время
исполнения.

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

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

Например, AVR-микроконтроллеры фирмы Atmel, по мнению ее создателей (Alf
Bogen и Vergard Wollan), имеют улучшенную RISC (enhanced RISC)
архитектуру. В соответствии с принципами RISC – архитектуры практически
все команды микроконтроллера (исключая те, у которых одним из операндов
является 16-разрядный адрес) занимают только в одну ячейку памяти
программ. Но сделать это разработчикам удалось за счет одновременного
использования принципов Гарвардской архитектуры и расширения ячейки
памяти программ до 16 разрядов. Поэтому в системе команд
AVR-микроконтроллеров целых 130 различных команд, что значительно
больше, чем у большинства современных RISC – архитектур. Для сравнения,
контроллеры фирмы Microchip с ядром PIC12. PIC16, PIC17 имеют всего 33
команды [3].

5. Архитектура микропроцессора КР580ВМ80А

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

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

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

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

6. Определение микроконтроллера.

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

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

Процессорное ядро является основой МК.

Оно выполняет все вычислительные операции и, одновременно, управляет
работой всех остальных элементов схемы.

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

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

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

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

В настоящее время известны четыре общих архитектурных принципа в той или
иной мере, реализуемых в любом ПЯ.

По организации памяти различаются:

– Неймановская архитектура – характеризуется общим пространством памяти
для хранения данных и программы. При этом разрядность памяти
зафиксирована (как правило 1 байт)

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

По системе команд различаются:

– CISC архитектура – архитектура с развитой системой команд. Система
команд ПЯ имеет инструкции разного формата: однобайтовые, двухбайтовые,
трехбайтовые. Различные имеют разное время исполнения.

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

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

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

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

Регистр инструкций: регистр, предназначенный для хранения считанной из
памяти программ инструкции. Считанная из памяти программ инструкция
декодируется дешифратором команд и исполняется микропрограммным
автоматом ядра. Разрядность регистра инструкций определяется
разрядностью памяти программ.

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

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

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

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

– флаг переноса: устанавливается при возникновении переноса из старшего
разряда результата.

– флаг переполнения: устанавливается при переполнении разрядной сетки.

– флаг отрицательного результата: устанавливается, когда результат
является отрицательным числом.

– флаг нулевого результата: устанавливается, когда результат операции
равен нулю.

– флаг полупереноса: устанавливается при возникновении переноса из
младшей тетрады 8-битного числа в старшую (из третьего разряда в
четвертый).

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

классификация команд

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

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

В качестве примера рассмотрим систему команд микроконтроллера А Ттеда
163

Система команд микроконтроллера содержит 130 команд, условно разделенных
на четыре группы:

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

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

Rd – регистр-приемник результата (0 500нс на внешний контакт Reset микросхемы

Сброс сторожевым таймером.

Сброс при кратковременном провале напряжения питания. Происходим, если
напряжение питания контроллера в процессе работы опускается ниже
определенного порога(Vbot).

По любой из этих причин Мк переходит к выполнению программы с адреса
$00. В этой ячейке размещают инструкцию jmp с адресом программы
инициализации.

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

Схема сброса при включении питания (Power on reset circuit) контролирует
напряжение питания Vcc и запускается при Vcc>Vpot. При Vcc=5V номинал
Vpot=1.4V

Схема сброса при кратковременном провале Vcc(Brown out reset circuit)
сравнивает Vcc с Vbot. Уровень Vbot программируется битом Bodlevel из
группы з группы fuse-битов. При Bodlevel=1 Vbot=2.7V, Bodlevel=0 Vbot=4

Схема внешнего сброса (External reset circuit) управляется внешним
сигналом низкого уровня #Reset

Сигналя с этих схем и с WDT фиксируются в регистре состояния MCUSR,
объединяются по схеме «или» и устанавливают RS-триггер.

Источник сброса может быть установлен путем чтения регистра MCUSR (биты
0-3)

20 ПОСЛЕДОВАТЕЛЬНЫЙ ВВОД-ВЫВОД

Интерфейс UART

Асинхронный последовательный интерфейс UART (Universal Asynchronous
Receiver

Transmitter – универсальный асинхронный приемопередатчик) обеспечивает

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

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

В режиме асинхронной передачи каждое слово данных передается автономно и

передача может быть начата в любой момент времени.

Стандартный формат асинхронной передачи изображен на рис. 13.1.

Передача начинается со стартового (нулевого) бита. Затем передается от 5
до 8

бит данных. Передача заканчивается необязательным битом четного (или
нечетного)

паритета и одним (полутора или двумя) единичными стоповыми битами. После
этого в

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

Подразумевается, что приемник и передатчик работают на одной скорости,

измеряемой числом бит в секунду (бод). Внутренний генератор
синхронизации приемника

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

располагаются в середине битовых интервалов.

Формат асинхронной передачи позволяет выявлять возможные ошибки:

* если обнаружен стартовый бит и генератор синхронизации запущен, а по

первому импульсу синхронизации фиксируется уровень логической единице,

стартовый бит считается ложным;

* если по импульсам синхронизации, соответствующим стоп-битам, в

приемнике фиксируется логический нуль, сообщение считается ошибочным

(ошибка кадра);

* если контрольный бит не соответствует принятому соглашению о паритете,

фиксируется ошибка паритета.

Контроль формата позволяет обнаружить обрыв линии по отсутствию
стоп-бита.

Для асинхронной передачи принят стандартный ряд скоростей: 50, 75,
110,150, 300,

600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 бит/с.:

В простейшем случае асинхронный приемопередатчик имеет две сигнальные

линии:

TxD (Transmit Data)- выход,

RxD (Receive Data) – вход,

При этом два устройства-приемопередатчика должны быть соединены между

собой тремя линями, или так называемым нуль-модемным кабелем (рис.13.2).

УПРАВЛЕНИЕ UART

Управление UART осуществляется через регистры ввода/вывода. В
контроллере

ATmega163 для управления используется 5 регистров (рис. 13.3):

Регистр UDR (UART Data Register) – регистр данных UART

Регистр UСSRА (UART Control and Status Register A) -регистр А управления
и

статуса UART

Регистр UCSRB (UART Control and Status Register B) – регистр В
управления

и статуса UART

Регистры UBRRH1 и UBRR (UART Baud Rate registers) – регистры скорости

передачи.

Регистр данных UDR (UART Data Register) физически является двумя
регистрами:

регистром передачи данных и регистром приема данных, использующими одни
и те же

адреса $0C ($2C). При записи в регистр запись производится в регистр
передачи данных

UART, при чтении происходит чтение содержимого регистра приема данных
UART.

Скорость обмена данными в UART задается с помощью бод-генератора (Baud
Rate

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

частотой, определяемой выражением:

BAUD = частота в бодах (бит/сек),

CK = частота кварцевого генератора,

UBRR = содержимое 12-битного регистра UBRR (UART Baud Rate register).

Физически 12-битный регистр UBRR размещается в двух 8-битных регистрах.

Младшие 8 бит в регистре UBRR, старшие 4 бита – в регистре UBRRH1 (рис.
13.3).

При использовании стандартных кварцевых резонаторов, наиболее часто

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

представленными в таблице 13.1. При установках UBRR, указанных в
таблице, реальные

скорости в бодах будут иметь отличия менее 2% от стандартных скоростей.

Таблица 13.1.

Установки UBRR при стандартных частотах синхронизации

Фактически, для регулирования скорости передачи UART достаточно только
одного

регистра UDDR. В регистр UDDRH1 во всех рассмотренных случаях
записывается

константа $00.

ПЕРЕДАТЧИК

Блок-схема передатчика UART показана на рис. 13.3.

Рис. 13.3. Передатчик UART

Установленный в состояние 1 бит TXEN регистра UCSRB разрешает передачу

данных UART. Передача инициируется записью передаваемых данных в регистр
данных

UDR. Данные пересылаются из UDR в сдвиговый регистр передачи в следующих
случаях:

Новый символ записан в UDR после того как был выведен из регистра

стоповый бит предшествовавшего символа. Сдвиговый регистр загружается

немедленно.

Новый символ записан в UDR прежде, чем был выведен стоповый бит

предшествовавшего символа. Сдвиговый регистр загружается после выхода

стопового бита передаваемого символа, находившегося в сдвиговом

регистре.

Если из 10(11)-разрядного сдвигового регистра передачи выведена вся

информация (сдвиговый регистр передачи пуст) данные из UDR пересылаются
в сдвиговый

регистр. В это время устанавливается бит UDRE (UART Data Register Empty)
регистра

статуса USR (UART Status Register). При установленном в состояние 1 бите
UDRE

приемопередатчик готов принять следующий символ. Запись в UDR очищает
бит UDRE. В

то самое время, когда данные пересылаются из UDR в 10(11)-разрядный
сдвиговый

регистр, бит 0 сдвигового регистра сбрасывается в состояние 0 (состояние
0 – стартовый

бит) а бит 9 или 10 устанавливается в состояние 1 (состояние 1 –
стоповый бит). Если в

регистре управления UCSRB установлен бит CHR9 (т.е. выбран режим
9-разрядного слова

данных), то бит TXB8 регистра UCSRB пересылается в бит 9 сдвигового
регистра передачи.

Сразу после пересылки данных в сдвиговый регистр тактом бод-генератора

стартовый бит сдвигается на вывод TxD. За ним следует LSB данных. Когда
будет выдан

стоповый бит сдвиговый регистр загружается новой порцией данных, если
она была

записана в UDR во время передачи. В процессе загрузки бит UDRE находится
в

установленном состоянии. Если же новые данные не будут загружены в UDR
до выдачи

стопового бита, флаг UDRE остается установленным. В этом случае, после
того как

стоповый бит будет присутствовать на выводе TxD в течение одного такта,
в регистре

управления и статуса UCSRA устанавливается флаг завершения передачи TxC
(TX

Complete Flag).

ПРИЕМНИК

Структурная схема приемника UART приведена на рис. 13.4.

Рис. 13.4. Приемник UART

Логика восстановления данных (Front-End Logic) производит выборку
состояний

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

пассивном состоянии одиночная выборка нулевого логического уровня будет

интерпретироваться как падающий фронт стартового бита и будет запущена

последовательность детектирования стартового бита. Считается, что первая
выборка

обнаружила первый нулевой логический уровень вероятного стартового бита.
На выборках

8, 9 и 10 приемник вновь тестирует вывод RхD на изменение логических
состояний. Если

две или более из этих трех выборок обнаружат логические 1, то данный
вероятный

стартовый бит отвергается как шумовой всплеск и приемник начнет выявлять
и

анализировать следующие переходы из 1 в 0.

Если же был обнаружен действительный стартовый бит, то начинает

производиться выборка следующих за стартовым битом информационных битов.
Эти биты

также тестируются на выборках 8, 9 и 10. Логическое состояние бита
принимается по двум и

более (из трех) одинаковым состояниям выборок. Все биты вводятся в
сдвиговый регистр

приемника с тем значением, которое было определено тестированием
выборок.

Тестирование выборок битов принимаемых символов показано на рис. 13.5.

При поступлении стопового бита необходимо, чтобы не менее двух выборок
из трех

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

выборок покажут состояния 0, то при пересылке принятого байта в UDR в
регистре

управления и статуса UСSRA устанавливается бит ошибки кадра FE (Framing
Error). Для

обнаружения ошибки кадра пользователь перед чтением регистра UDR должен
проверять

состояние бита FE. Флаг FE очищается при считывании содержимого регистра
данных

UART (UDR).

Вне зависимости от того принят правильный стоповый бит или нет, данные

пересылаются в регистр UDR и устанавливается флаг RXC в регистре
управления UCSRA.

Регистр UDR фактически является двумя физически отдельными регистрами,
один из

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

обращение ведется к регистру приема данных, при записи обращение ведется
к регистру

передачи. Если выбран режим обмена 9-разрядными словами данных
(установлен бит

CHR9 регистра UCR), при пересылке данных в UDR бит RXB8 регистра UCR
загружается из

девятого бита сдвигового регистра передачи. Если после получения символа
к регистру

UDR не было обращения, начиная с последнего приема, в регистре UCSRA

устанавливается флаг переполнения OR. Это означает, что новые данные,
пересылаемые

в сдвиговый регистр, не могут быть переданы в UDR и потеряны. Бит OR
буферирован и

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

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

содержимого регистра UDR.

При очищенном (сброшенном в логическое состояние 0) бите RXEN регистра
UCR

прием запрещен.

24. Таймер-счетчик 0.

8-ми разрядный Т/С 0тактируется сигналом синхронизации процессорного
ядра или встроенного предделителя, или от внешнего контакта ТО.

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

Регистры управления:

р-р управления TCCR0 – управляет тактовой частотой Т/С0 (биты 0-2)

р-р данных TCNT0 – хранит содержимое счетчика (Read/Write)

р-р флагов прерывания TIFR

р-р маски прерывания TIMSK

р-р состояния МК SREG

22. Подключение клавиатуры и индикация.

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

Существует несколько способов подключения клавиатуры к портам
ввода/вывода:

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

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

Кроме того клавиатуру можно организовать в виде матрицы. Тогда в матрице
из k столбцов и N строк, все клавиши одной строки подключаются к одному
входу микроконтроллера/мультиплексора, а выбор столбца осуществляется
подачей сканирующего сигнала на один из k выходов подключенных к
столбцам матрицы. В случае, когда в ненажатом состоянии клавиши
подтянуты к VCC, в качестве сканирующего сигнала ипользуется 0.

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

При разработке систем не следует не забывать и о подавлении эффекта
«дребезга контактов». Защита от дребезга может осуществляться как
программно, так и аппаратно. В последнем случае клавиши подключаются не
на прямую, а через T-триггер.

Индикация может осуществляться с использованием: светодиодов
сегментных индикаторов

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

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

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

Схемы подключения индикаторов к системе могут быть разными:

Простая: один порт – один индикатор

Различные варианты распараллеливания канала данных либо канала выбора
индикатора

Динамическая индикация (число знаков ограничивается скважностью) Рис. 1

Динамическая индикация методом досчета (скважность постоянная) Рис.
2

Рис. 1 Рис. 2

Билет 30. Аналоговые компараторы.

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

Схема компаратора микроконтроллера ATmega163.

Аналоговый компаратор сравнивает уровни на положительном (АС+) и
отрицательном (АС-) входах. При напряжениии на входе АС+ большем, чем
напряжение на входе АС- , выход аналогового компаратора АСО
устанавливается в состояние 1.

В микроконтроллере ATmega163 качестве входа АС+ может быть использован
внутренний источник напряжения 1,22 В либо вход AIN0(PB2). К АС-
подключается AIN1(PB3), либо один из входов PA0..PA7 через
мультиплексор.

Компаратор формирует запрос на прерывание если бит ACIE регистра ACSR
установлен в 1. Формирование запроса возможно по переднему или заднему
фронту сигнала, либо по любому его изменению.

Установка прерывания битами ACIS0/ACIS1.

ACIS0 ACIS1 Режим прерывания

0 0 Прерывание по любому переключению выхода компаратора

0 1 Зарезервировано

1 0 Прерывание по падающему (заднему) фронту на выходе компаратора

1 1 Прерывание по нарастающему (переднему) фронту на выходе компаратора

При изменении состояния битов ACIS0/ACIS1 прерывание по аналоговому
компаратору должно быть запрещено очисткой бита разрешения прерывания
(ACIE) в регистре ACSR, иначе при изменении состояния битов может
произойти прерывание.

В работе компаратора используются регистры:

ACSR (Analog Comparator Control and Status Register) – управления АК

SFIOR (Special Function Input Output Register) – специальных функций
ввода/вывода

ADCSR (ADC Status Register) – состояния аналого-цифрового
преобразователя

ADCMUX (ADC Multiplexer) – мультиплексора аналого-цифрового
преобразователя

SREG (Status Register) – состояния микроконтролера

Регистр Биты

7 6 5 4 3 2 1 0

ACSR ADC ACBG ACO ACI ACIE ACIC ACIS1 ACIS0

SFIOR

ACME

ADCSR ADEN

ADCMUX

MUX2 MUX1 MUX0

SREG I

Подключение отрицательного входа компаратора

ACME ADEN MUX2..0 Отрицательный вход компаратора

0 x xxx AIN1

1 1 xxx AIN1

1 0 000 PA0

1 0 001 PA1

1 0 010 PA2

1 0 011 PA3

1 0 100 PA4

1 0 101 PA5

1 0 110 PA6

1 0 111 PA7

Значения битов:

ACD (Analog Comparator Disable) – если установлен в 1, АК отключен. При
изменении бита прерывание от компаратора должно быть заблокировано
очисткой бита ACIE.

ACBG (Analog Comparator Bandgap) – когда бит установлен и BOD позволяет
(fuse-бит BODEN запрограммирован), фиксированное напряжение 1,22 В
поступает на вход АС+ , иначе к АС+ подключается контакт AIN0.

ACO (Analog Comparator Output) – выход аналогового компаратора

ACI (Analog Comparator Interrupt Flag) – устанавливается в 1 при
формировании компаратором прерывания. Подпрограмма обработки прерывания
будет выполняться при установленных битах ACIE и I(бит глобального
прерывания в регистре SREG). Очищается аппаратно при выполнении
подпрограммы обработки прерывания либо вручную. Очищается при
модификации командами SBI, CBI других битов регистра ACSR.

ACIE (Analog Comparator Interrupt Enable) – установка в 1 разрешает
прерывание по аналоговому компаратору (ANA_COM) при установленном бите I
в SREG.

ACIC (Analog Comparator Input Capture Enable) – установка в 1 разрешает
захват входа таймера/счетчика1 по переключению АК.

ACIS1,ACIS0 (Analog ComparatorInterrupt Mode Select) выбор режима
прерывания.

ACME (Analog Comparator Multiplexer Enable) – 1 подключает мультиплексор
к АК. При подключении должен быть сброшен бит ADEN (ADC Enable) в
регистре ADCSR (аналогово-цифровой преобразователь выключен).

Битами MUX2..0 в регистре мультиплексора ADMUX выбирается контакт порта
PORTA (PA7..PA0).

9. ПОРТЫ ВВОДА-ВЫВОДА

9.1. Организация ввода/вывода

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

В зависимости от выполняемых функций порты могут быть:

0 однонаправленными, предназначенными только для выполнения одной из

операций (ввод или вывод) по всем линиям;

° двунаправленными, предназначенными для выполнения любой из
операций

ввода-вывода по всем линиям одновременно; направление передачи
может

быть изменено программно в процессе работы;

° с индивидуальной настройкой линий, направление передачи данных по

каждой линии программируется независимо от остальных.
Последний вариант построения схемы порта в настоящее время
наиболее распространен. Например, микроконтроллер АТтеда163 имеет 32
линии ввода-вывода с индивидуальной настройкой, сгруппированных в 4
параллельных порта: порт А порт В, порт С, порт О. Направление передачи
данных любого вывода любого порта может быть изменено независимо от
направлений других выводов Для работы с портами в микроконтроллере
предусмотрено 12 регистров, по три на каждый из портов (рис. 58):

° регистры данных (Dafa Register): PORTA , POF Управление АЦП микроконтроллера В состав микроконтроллеров обычно включают 8 - 16-битные многоканальные преобразователи с большим набором встроенных функций. При этом все функции преобразователя программируются и могут быть изменены в процессе работы. Например, микроконтроллер ATmega163 оснащен 10-разрядным ADC последовательных приближений (рис. 10.6). ADC подсоединен к 10-канальному аналоговому мультиплексору (MUX), позволяющему подать на вход преобразователя любой из восьми входных сигналов со входов ADCO...ADC7, либо эталонное напряжение 1,22В. либо сигнал со входа AGND. Вывод AGND рекомендуется подсоединить к точке с нулевым потенциалом GND (Ground). ADC содержит схему выборки/хранения SHC (Sample&Hold Comparator),удерживающую напряжение входа во время преобразования на неизменном уровне. Рис. 6. Структура аналого-цифрового преобразователя Аналого-цифровой преобразователь преобразует напряжение аналогового входного сигнала в 10-разрядное цифровое значение методом последовательных приближений. Минимальное значение входного напряжения равно напряжению на контакте AGND. максимальное значение не должно превышать напряжение на контакте AREF. Результат в виде 10-битного двоичного числа D равен: где U-входное напряжение, a U0- опорное напряжение преобразователя. В качестве источника опорного напряжения преобразователя можно использовать внешний сигнал с вывода AREF, внутренний источник 2.56В, либо напряжение питания аналоговой части микроконтроллера с вывода AVCC. Напряжение на выводе AVCC не должно отличаться от напряжения питания Vcc более чем на ±0,3 В. Например, если аналоговый мультиплексор подключает ко входу ADC эталонное напряжение U =1,22B, а в качестве опорного напряжения использовать источник U0=2,56В, то результат преобразования:D=1,22*1024/2,56=488=$1Е8=0b111101000. 3. Общее понятие микропроцессора Микропроцессор - программно управляемое устройство для обработки цифровой информации и управления процессом этой обработки кристалл с элементами и программа. Характеристики: Программный опрос, Обмен через прерывания, Обмен программным доступом к памяти. Микропроцессорный комплект – совокупность микросхем и других интегральных схем, совместимых по архитектуре, конструктивному исполнению и электрическим параметрам, обеспечивающих возможность совместного применения Архитектура – функциональные возможности аппаратных средств системы, используемые для представления программных данных и управления процессом вычислений. Микропроцессоры — один из стремительно развивающихся и, безусловно, перспективных видов техники. Их отличие от обычных БИС состоит в том, что они содержат в своем составе управляющие элементы, позволяющие настроить эти БИС на выполнение любых операций, т. е. на реализацию любой зависимости между последовательностями входных и выходных сигналов. То обстоятельство, что БИС с перестраиваемой логикой способны при соответствующей «настройке» выполнять любые функции, делает их универсальными и полностью снимает противоречие между степенью интеграции и требуемым объемом производства. Набор управляющих сигналов, настраивающий БИС на выполнение определенной функции, называется микрокомандой. Дальнейшее развитие программно - перестраиваемой логики привело к тому, что БИС стали выполнять не одну, а последовательность микрокоманд, т. е. алгоритм. Возникли БИС с микропрограммным управлением. Одной из реализаций БИС с микропрограммным управлением и явились микропроцессоры. Всякий микропроцессор воплощает в себе главное свойство упомянутых БИС — на его основе можно построить систему, реализующую любое преобразование последовательности электрических сигналов. Если эти сигналы являются носителями информации, то, очевидно, что создаваемая микропроцессорная система способна перерабатывать любую информацию. Итак, микропроцессор (МП) — это программно-управляемое устройство, осуществляющее процесс обработки информации и построенное на одной или нескольких больших интегральных схемах. Первый микропроцессор появился в 1971 г Возможны два способа решения поставленной задачи: аппаратный и программный. Аппаратный способ имеет особенности: для выполнения каждой операции используется индивидуальный операционный блок; распределение переменных по входам и выходам операционного блока не изменяется в процессе реализации алгоритма; порядок реализации алгоритма определяется схемой соединения операционных блоков; число операционных блоков резко увеличивается с ростом сложности алгоритма. Программный способ реализации алгоритма имеет по сравнению с аппаратным два основных преимущества: во-первых, с усложнением алгоритма объем оборудования увеличивается незначительно; во-вторых, путем изменения программы можно на одном оборудовании решать различные задачи. Микропроцессор представляет собой оптимальное объединение аппаратных и программных средств для решения конкретной задачи. Целесообразность применения МП в разрабатываемых системах: Сложные алгоритмы; Обработка больших массивов информации; Частое обращение к ЗУ; Число интегральных схем более 30; Микропроцессоры могут быть классифицированы по ряду признаков. По типу архитектуры различаются однокристальные и многокристальные секционные микропроцессоры. Однокристальные микропроцессоры (КР580, КР581, К588, К1801, КА1808, КМ1810, КН1811) получаются при реализации всех аппаратных средств процессора в виде одной БИС. По мере увеличения степени интеграции элементов в кристалле и числа выводов корпуса параметры однокристальных микропроцессоров улучшаются. Как правило, для расширения функциональных возможностей однокристального микропроцессора его дополняют другими типами микросхем. Однако возможности однокристальных микропроцессоров ограничены аппаратурными ресурсами кристалла и корпуса. Поэтому более распространены многокристальные секционные микропроцессоры. Многокристальные секционные микропроцессоры (К583, К584, КР587, К589, К1800, КР1802, КМ 1804) получаются в том случае, когда в виде БИС реализуются части (секции) логической структуры процессора. Микропроцессорная секция — это БИС, предназначенная для обработки нескольких разрядов данных или выполнения определенных управляющих операций. Секционность БИС микропроцессора определяет возможность наращивания разрядности обрабатываемых данных или усложнения устройств управления микропроцессором при «параллельном» включении большего числа БИС. Многокристальные секционные микропроцессоры имеют разрядность от 2 ... 4 до 8 ... 16 бит и позволяют создавать высокопроизводительные процессоры ЭВМ. Микропроцессоры можно классифицировать и по технологии изготовления. Ниже приведены практически все современные технологии: р - МДП - технология (К1814); я - МДП - технология (КР580, КР581, К1801, К1809, КМ1810, КН1811, КМ1813, КР1816); ТТЛДШ - технология (К589, КР1802, КМ1804); КМДП - технология (К586, К588...); И2Л-технология (К583, К584, КА1808); ЭСЛ - технология (К1800). По назначению различаются универсальные и специализированные микропроцессоры. Универсальные микропроцессоры можно применять для решения разнообразных задач. Их производительность мало зависит от проблемной специфики решаемых задач. Специализация МП, т. е. его проблемная ориентация на ускоренное выполнение определенных функций, позволяет резко увеличить производительность при решении только определенных задач. По виду обрабатываемых входных сигналов микропроцессоры подразделяются на цифровые (1 или 0) и аналоговые. Сами микропроцессоры — это цифровые устройства, однако могут иметь встроенные аналого-цифровые и цифроаналоговые преобразователи. Поэтому входные аналоговые сигналы передаются в МП через преобразователь в цифровой форме, обрабатываются и после обратного преобразования в аналоговую форму поступают на выход. По разрядности данных, обрабатываемых микропроцессором, выделим: двухразрядные (К589); четырехразрядные (К584, КР587, К1800, КМ1804, К1814); восьмиразрядные (КР580, К583, КР1802, КМ1813, КР1816); шестнадцатиразрядные (КР581, К588, К1801, К1809, КМ1810, КН1811). По характеру временной организации работы различаются синхронные и асинхронные микропроцессоры. Синхронные микропроцессоры — это микропроцессоры, в которых начало и конец выполнения операций задаются устройством управления (время выполнения операций в этом случае не зависит от вида выполняемых команд и значений операндов). Асинхронные микропроцессоры позволяют начало каждой следующей операции определить по сигналу фактического окончания выполнения предыдущей операции. По числу выполняемых программ микропроцессоры делятся на одно- и многопрограммные. В однопрограммных микропроцессорах выполняется только одна программа. Переход к выполнению другой программы происходит после завершения текущей программы. В много- или мультипрограммных микропроцессорах одновременно выполняется несколько (обычно несколько десятков) программ. Организация мультипрограммной работы микропроцессорных управляющих систем позволяет осуществлять контроль за их состоянием и управлять большим числом источников или приемников информации. 2. Логическая структура микропроцессорной системы Для выполнения своих функций микропроцессор должен иметь регистры, сумматоры, логические схемы, дешифраторы и другие элементы, которые соединены между собой с помощью шин — соединительных линий. Схема, которая показывает, из каких блоков состоит микропроцессор, и связь между этими блоками, называется структурной схемой микропроцессора. Функции, реализуемые микропроцессором, определяются не только его структурой, но и последовательностью управляющих слов (команд). При изменении этой последовательности изменяется и выполняемая микропроцессором функция. Для комплексной характеристики возможностей микропроцессора пользуются понятием «архитектура микропроцессора». Архитектура микропроцессора — это его логическая организация, определяемая возможностями микропроцессора по аппаратной или программной реализации функций, необходимых для построения микроЭВМ. Архитектура микропроцессора отражает: а) структуру микропроцессора; б) способы обращения ко всем элементам структуры; в) способы представления и форматы данных; г) набор операций, выполняемых микропроцессором; д) способы указания адреса данных; е) форматы управляющих слов, поступающих извне; ж) характеристики управляющих сигналов; з) реакцию микропроцессора на внешние сигналы. Зная архитектуру микропроцессора и всей микропроцессорной системы, можно составить определенную последовательность команд, называемую программой, которая обеспечит выполнение заданной функции. Обобщенную схему микропроцессора можно представить в виде, приведенном на рис. 7.2. В этой структуре используется трехшинная организация работы. Шиной называют группу линий передачи информации, объединенных общим функциональным признаком. Приняты такие условные обозначения: БА, БД — буферные регистры адресов и данных; БП — блок прерывания; РОН — регистры общего назначения; ИР — индексные регистры; СТЕК — блок регистров; УС — указатель стека; ПС - программный счетчик; А — аккумулятор; АЛУ — арифметическо - логическое устройство; РП — регистр признаков; СИД — схема «инкремент-декремент»; УУ — устройство управления; РК — регистр команд; ДК — дешифратор команд. Конкретные микропроцессоры, как правило, не содержат всех узлов, показанных на рис. В этих случаях соответствующие функции могут выполняться программно, а в качестве некоторых специальных регистров могут использоваться РОН или ячейки памяти. В ряде микропроцессорных комплексов отдельные функциональные узлы могут выполняться в виде отдельных БИС. Для управления преобразователем в микроконтроллере используются регистры: Регистр управления мультиплексором ADMUX (ADC Multiplexer Selection Register); Регистр управления аналого-цифровым преобразователем ADCSR (ADC Control and Status Register); Регистры данных ADCL и ADCH (ADC Low и ADC High); Регистр состояния микроконтроллера SREG (Status Register). Биты 7 6 5 4 3 2 1 0 ADMUX $07($27) REFS1 REFS0 ADLAR MUX4 MUX3 MUX2 MUX1 MUX0 ADCSR $06($26) ADEN ADSC ADFR ADIF ADIE ADPS2 ADPS1 ADPS0 ADCH $05($25) SIGN ADC9 ADC8 ADCL $04($24) ADC7 ADC6 ADC5 ADC4 ADC3 ADC2 ADC1 ADC0 SREG $3F($5F) I Рис. 7. Регистры, используемые АЦП Аналого-цифровой преобразователь может работать в двух режимах: режиме однократного преобразования и в циклическом режиме. В режиме однократного преобразования каждое преобразование инициируется пользователем. В циклическом режиме аналого-цифровой преобразователь осуществляет выборку и обновление содержимого регистра данных непрерывно. Выбор режима производится битом ADFR (ADC Free Run ) регистра ADCSR. Работа аналого-цифрового преобразователя разрешается установкой в состояние 1 бита ADEN в регистре ADCSR. Преобразование начинается с установки в состояние 1 бита начала преобразования ADSC (ADC Start Conversion). Если в процессе выполнения преобразования производится смена канала данных, то ADC вначале закончит текущее преобразование, а потом выполнит переход к другому каналу. Поскольку аналого-цифровой преобразователь формирует 10-разрядный результат, то по завершении преобразования результирующие данные размещаются в двух регистрах данных ADCH и ADCL. Для обеспечения соответствия результирующих данных считываемому уровню используется специальная логика защиты. Этот механизм работает следующим образом: при считывании данных первым должен быть считан регистр ADCL. Если регистр ADCL считан, обращение аналого-цифрового преобразователя к регистрам данных блокируется. Таким образом, если после считывания состояния ADCL, но до считывания ADCH, будет завершено следующее преобразование, ни один из регистров не будет обновлен и записанный ранее результат не будет искажен. Обращение аналого-цифрового преобразователя к регистрам ADCH и ADCL разрешается по завершении считывания содержимого регистра ADCH. Аналого-цифровой преобразователь имеет свое собственное прерывание ADC (вектор $1С), которое может быть активизировано по завершению преобразования. Когда обращение к регистрам запрещено, в процессе считывания регистров ADCL и ADCH, прерывание будет активизироваться, даже при потере результата. Регистр ADMUX (ADC Multiplexer Selection Register) предназначен для управления входным аналоговым мультиплексором Биты 7 и 6 - REFS1..0 (Reference Selection Bits) - обеспечивают выбор эталонного напряжения на входе AREF аналого-цифрового преобразователя. Выбор производится в соответствии с таблицей 1. Изменение этих битов во время процесса преобразования приводит к ошибке. Для ее исключения пользователь должен игнорировать первый результат после изменения битов. Внутренние источники напряжения не могут быть использованы, если к контакту AREF приложено внешнее напряжение. Таблица 1. Выбор источника опорного напряжения АЦП REFS1 REFS0 Выбор источника напряжения 0 0 AREF, внутреннее напряжение Vref отключено 0 1 AVCC с внешним конденсатором на контакте AREF 1 0 Резерв Бит 5 - ADLAR (ADC Left Adjust Result) - воздействует на запись результата в регистры данных ADCL и ADCH. При ADLAR=0 можно использовать упрощенное 8-битное преобразование. Биты 4..О - MUX4..MUXO (Multiplexer bits) - предназначены для выбора входа, коммутируемого на вход преобразователя. Выбор осуществляется в соответствии с таблицей 2. Изменение этих битов в процессе преобразования, когда флаг ADIF в регистре ADCSR установлен, не приводит к изменению результата. Таблица 2. Выход входного сигнала ADC MUX4..0 Подключаемый контакт 00000 ADCO 00001 ADC1 00010 ADC2 00011 ADC3 00100 ADC4 00101 ADC5 00110 ADC6 00111 ADC7 01000. .11101 Резерв 11110 1.22V 11111 0V (AGND) Регистр - ADCSR (ADC Control and Status Register) предназначен для управления работой аналого-цифрового преобразователя. Бит 7 - ADEN (ADC Enable) - разрешение работы ADC. Очистка бита запрещает работу ADC. Запрещение ADC в процессе преобразования прекращает преобразование. Бит 6 - ADSC (ADC Start Conversion) - запуск преобразования ADC. В режиме однократного преобразования для запуска каждого цикла преобразования необходимо устанавливать бит ADSC в состояние 1. В циклическом режиме бит ADSC устанавливается в состояние 1 только при запуске первого цикла преобразования. Каждый раз после первой установки бита ADSC. выполненной после разрешения или одновременно с разрешением, будет выполняться пустое преобразование. Это пустое преобразование активизирует преобразователь. ADSC будет сохранять состояние 1 в течение всего цикла преобразования и сбрасывается по его завершению. При выполнении пустого преобразования, предшествующего активизируемому, бит ADSC остается установленным до завершения активируемого преобразования. Запись 0 в этот бит эффекта не оказывает. Бит 5 - ADFR (ADC Free Run Select) - установка циклического режима работы ADC. При установленном в состояние 1 бите ADFR аналого-цифровой преобразователь будет работать в циклическом режиме. В этом режиме производятся выборки и обращения к регистрам непрерывно (одно за другим). Очистка бита приводит к прекращению циклического режима. Бит 4 - ADIF (ADC Interrupt Flag) - флаг прерывания ADC. Данный бит устанавливается в состояние 1 по завершению преобразования и обновления регистров данных. Прерывание по завершению преобразования ADC выполняется, если в состояние 1 установлены бит ADIE и I - бит регистра статуса SREG. Бит ADIF сбрасывается аппаратно при выполнении подпрограммы обработки соответствующего вектора прерывания. Кроме того, бит ADIF может быть очищен записью во флаг логической 1. Этого необходимо остерегаться при чтении-модификации-записи ADCSR, поскольку может быть запрещено отложенное прерывание. Это применимо и в случаях использования команд sbi и cbi. Бит 3 - ADIE (ADC Interrupt Enable) - разрешение прерывания ADC. При установленных в состояние 1 бите ADIE и l-бите регистра SREG активируется прерывание с вектором $1С по завершению преобразования ADC. Биты 2..0 - ADPS2..ADPSO (ADC Prescaler Select Bits) - выбор коэффициента предварительного деления. Данные биты определяют коэффициент деления тактовой частоты микроконтроллера для получения необходимой тактовой частоты ADC. Таблица 3. Выход входного сигнала ADC ADPS2 ADPS1 ADPSO Коэффициент деления 0 0 0 Без деления 0 0 1 2 0 1 0 4 0 1 1 8 1 0 0 16 1 0 1 32 1 1 0 64 1 1 1 128 Регистры ADCL и ADCH являются регистрами данных. Их содержимое зависит от состояния бита ADLAR регистра ADMUX. Когда преобразование выполнено, десятибитный результат находится в этих двух регистрах. Если младший регистр ADCL считан, то регистры не изменяются до чтения старшего регистра ADCH. ADLAR бит в ADMUX воздействует на представление результата. Биты 7 6 5 4 3 2 1 0 ADCH $05($25) ADC9 ADC8 ADC7 ADC6 ADC5 ADC4 ADC3 ADC2 ADCL $04($24) ADC1 ADC0 Процессорное ядро Память Функциональные блоки Процессор Pentium 3 Кэш-память L1 Кэш-память L2 Шина процессора 100МГц Частота = (Частота процессора)/2 AGP North Bridge Шина PCI Video Шина ISA 100МГц 100МГц SDRAM DIMM Разъёмы PCI South Bridge IDE1 USB11 IDE2 USB21 GMOS Super I/O Разъёмы ISA ROM Клав. Мышь COM1 Дисков. COM2 LPT1 Flash BIOS

Нашли опечатку? Выделите и нажмите CTRL+Enter

Похожие документы
Обсуждение

Оставить комментарий

avatar
  Подписаться  
Уведомление о
Заказать реферат!
UkrReferat.com. Всі права захищені. 2000-2020