Разработка информационно-обучающей программы "Таймеры/счетчики и АЦП микроконтроллеров семейства AVR"

Рассмотрение структуры и принципов работы таймеров/счетчиков (общего назначения, сторожевого, типов А, В, С, D, Е) микроконтроллеров и аналого-цифрового преобразователя семейства AVR с целью разработки обучающего компьютерного электронного пособия.

ВВЕДЕНИЕ

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

Микроконтроллеры AVR фирмы Atmel открывают одно из новых направлений в области разработки и архитектуры микроконтроллеров. Структура процессора AVR представляется как "высокопроизводительная RISC-архитектура с пониженным энергопотреблением" Гарвардского типа. Одним из основных достоинств этого контроллера является быстрое выполнение команд – он выполняет команду за один такт. AVR имеет, вероятно, наиболее разносторонний по своим возможностям процессор из всех микроконтроллеров. Это означает, что при разработке приложений нужно потратить немного больше времени на планирование размещения данных в памяти и регистрах, чем для других микроконтроллеров. Но благодаря своей разносторонности AVR очень прост в программировании как для разработчиков прикладных программ на языке ассемблера так и для тех, кто пишет компиляторы языков высокого уровня.

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

Целью данной работы является разработка информационно-обучающей программы "Таймеры/счетчики и АЦП микроконтроллеров семейства AVR".

Программа будет позволять вести самостоятельное изучение материала, как в локальной компьютерной сети ХНУРЭ, так и в сети Интернет. С помощью сети программа будет работать под управлением операционных систем: FreeBSD, Linux, MicrosoftWindows2000 и выше, которая оснащена какой либо из програм-браузеров MSInternetExplorer, NetscapeNavigator, Opera, Konqueror.


1 АНАЛИЗ ИСХОДНОЙ ИНФОРМАЦИИ И ТРЕБОВАНИЙ ТЕХНИЧЕСКОГО ЗАДАНИЯ

1.1 Формулировка цели и постановка задачи

Необходимо разработать программу, которое давало бы представление о работе таймеров/счетчиков и аналого-цифрового преобразователя микроконтроллеров семейства AVR фирмы Atmel с подробным рассмотрением вопросов:

- таймеры/счетчики общего назначения;

- таймер/счетчик типа А;

- таймер/счетчик типа В;

- таймер/счетчик типа С;

- таймер/счетчик типа D;

- таймер/счетчик типа E;

- сторожевой таймер;

- аналого-цифровой преобразователь.

В связи с данными требованиями технического задания (ТЗ) и предлагаемых программных средств можно определить цель работы: создание обучающего компьютерного пособия "Таймеры-счетчики и АЦП микроконтроллеров семейства AVR" с учетом применения: широко используемого программного обеспечения; простоты доступа к информации; вложенности объема информации (использование гиперссылок); контроля качества изучения материала пособия.

Для реализации данной цели необходимо решить следующие задачи:

- из имеющихся систем и программных средств выбрать необходимые для реализации компьютерного электронного пособия;

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

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

- минимизировать объем, занимаемый программой, для осуществления возможности оперативной пересылки по сети Internet.

1.2 Обзор аналогичных программных средств

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

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

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

Использование WWW-технологии является необходимым при разработке демонстрационно-обучающих программ, в её состав входят три взаимосвязанные технологии: HTTP – протокол передачи данных; HTML – язык, предназначенный для написания Web-страниц; Web-браузер – программа клиент для получения данных и отображения результатов. Файл на языке HTML приобретает облик WWW-документа только тогда, когда он интерпретируется программой просмотра. Программа, написанная на этом языке, может работать как на отдельном компьютере, так и в сети Интернет, не говоря уже о локальной сети.

Главными задачами программного продукта являются: быстрый и легкий переход от главы к главе; возможность работать на большом количестве компьютеров, под управлением различными ОС; использование возможностей мультимедиа. Для решения некоторых из них целесообразным является применение языка программирования HTML 4.0. Применяя скрипты, написанные на других языках программирования, возможности HTML значительно расширяются. Для таких задач как контроль знаний обучаемого компьютером уже оказывается недостаточным использование только лишь языка HTML с включениями скриптов на JavaScript или VBScript. Этот недостаток проявляется в том, что данные скрипты выполняются на компьютере пользователя и пользователь может просмотреть открывшуюся страничку непосредственно в виде программы на языке HTML. Это значит, что пользователь, имеющий начальные знания в языке HTML, может, проанализировав текст скрипта, определить, как нужно отвечать на вопросы. С точки зрения методики обучения это нежелательно, так как пользователь контролирует свои знания не в области обучаемого материала, а в области программирования на JavaScript. Поэтому при тестировании обучающего целесообразно отсылать ответы на сервер, а пользователь при этом должен получить только результат проверки.

Существует несколько видов технологии которая помогает решить эту проблему: PHP; ASP; Perl, для работы данной технологии на сервере нужно установить интерпретатор выбранного языка.

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

Выполнение PHP в виде модуля Apache – это наиболее эффективный способ использования пакета. В случае если пакет выполняется в виде модуля, то это означает, что функциональные возможности PHР объединены с функциональными возможностями сервера Apache в одной программе.

Что касается программной оболочки (программы-браузера) для получения данных и отображения результатов, написанных на HTML, можно пользоваться MSInternetExplorer, NetscapeNavigator, Opera, Konqueror.

Аппаратные средства для работы с информационно – обучающей программой должны удовлетворять следующим требованиям: ЭВМ совместимая с IBM PC/AT, процессор PentiumII и выше, объём занимаемого ОЗУ не более 16Mb.

Программа должна работать под управлением операционных систем: FreeBSD, Linux, MicrosoftWindows2000 и выше.

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


2. Пограммная модель и принципы работы таймеров/счетчиков микроконтроллеров семейства AVR

2.1 Структура таймера/счетчика

16-разрядный таймер/счетчик может получать тактовый сигнал (CK), CK после предварительного делителя и от внешнего вывода. Кроме того его можно остановить. В регистрах управления TCCR1A и TCCR1B находятся различные флаги, указывающие на переполнение, совпадение при сравнении и случаи захвата событий. В регистре масок прерываний TIMSK (Timer/Counter Interrupt Mask Register) устанавливаются разрешения/запрещения прерываний таймера/счетчика1. При внешнем тактировании таймера/счетчика1 внешний сигнал синхронизируется частотой тактового генератора CPU. Для правильной работы таймера/счетчика по внешнему тактовому сигналу минимальное время между двумя переключениями внешнего тактового сигнала должно быть не менее одного периода тактового сигнала CPU. Синхронизация внешнего тактового сигнала ведется нарастающим фронтом внутреннего тактового сигнала CPU.

Блок-схема таймера/счетчика приведена на рисунке 2.1.


Рисунок 2.1– Блок-схема таймера/счетчика

Наилучшие точность и разрешение 16-разрядный таймер/счетчик обеспечивает при наименьшем коэффициенте предварительного деления. С другой стороны, высокий коэффициент предварительного деления удобен при реализации таймером/счетчиком 1 низкоскоростных функций или точной синхронизации редко происходящих действий. Таймер/счетчик поддерживает две функции сравнения выхода, используя регистр1 сравнения выходов A и B –OCR1A и OCR1B в качестве источников данных, сравниваемых с содержимым таймера/счетчика. Функции сравнения выхода включают очистку счетчика по совпадению сравнения A и воздействие на выводы сравнения выхода при обоих совпадениях сравнения.

Таймер/счетчик 1 может быть использован в качестве 8, 9 или 10-разрядного широтно-импульсного модулятора. В этом режиме счетчик и регистры OCR1A/OCR1B работают как сдвоенный самостоятельный ШИМ со сцентрированными импульсами, без формирования ложных импульсов. Функция захвата входа таймера/счетчика обеспечивает захват содержимого таймера/счетчика 1 в регистр захвата входа, запускаемый внешним событием на выводе входа захвата PD4/(IC1). Реальные установки захвата события определяются регистром управления таймером/счетчиком1 TCCR1B (Timer/Counter1 Control Register). Кроме того, для переключения входа захвата может быть использован аналоговый компаратор. Если разрешена функция подавления шума, действительные условия переключения события захвата тестируются четырьмя выборками, прежде чем захват будет активирован. Тестирование сигнала на входном выводе производится с частотой XTAL [1].

2.2 Таймеры/счетчики общего назначения

Таймер/счетчик Т/СХ (X = 0, 1, 2 – цифра в имени таймера/счетчика) любого типа содержит базовый счетчик TCNTX, имеющий восемь или шестнадцать разрядов, и восьмиразрядный регистр управления TCCRX. Кроме того, в состав таймера/счетчика входят один или несколько разрядов регистра запросов, прерывания TIFRи столько же разрядов регистра маскирования прерываний TIMSK. Регистры TIFR и TIMSK являются общими для всех таймеров/счетчиков микроконтроллера.

Разряд регистра TIFR устанавливается в единичное состояние при формировании в таймере/счетчике определенного запроса прерывания. Запрос прерывания проходит в блок прерываний при единичном состоянии соответствующего разряда регистра TIMSК. Разряд регистра ТIFR сбрасывается в нулевое состояние аппаратно при переходе микроконтроллера к выполнению соответствующей прерывающей программы или программно при выполнении команды установки бита в единичное состояние.

В состав таймера/счетчика, выполняющего функцию сравнения/PWM, входит регистр сравнения OCRX, а в состав таймера/счетчика, выполняющего функцию захвата, – регистр захвата ICRX. Разрядность регистров OCRX и ICRX равна разрядности базового счетчика TCNTX.

Для записи кода в шестнадцатиразрядный счетчик или регистр сначала выполняется команда записи (OUT) байта в старшую половину разрядов (Н), при этом поступавший из регистра общего назначения старший байт запоминается в регистре временного хранения. Затем выполняется команда записи (OUT) младшего байта в младшую половину разрядов (L), при этом оба байта одновременно записываются в счетчик или регистр.

Для чтения кода из шестнадцатиразрядного счетчика или регистра сначала выполняется команда чтения (IN) байта из младшей половины разрядов (L), при этом считанный младший байт поступает в регистр общего назначения, а старший байт запоминается в регистре временного хранения. Затем выполняется команда чтения байта из старшей половины разрядов (Н), при этом старший байт из регистра временного хранения поступает в указанный в команде регистр общего назначения [2].

2.3 Таймер/счетчик типа А

Таймер/счетчик типа А есть у микроконтроллеров всех типов кроме микроконтроллера типа m103. Он имеет имя Т/С0 (X = 0). Таймер/счетчик типа А формирует запрос прерывания Т/С0 OVF при переполнении восьмиразрядного базового счетчика TCNT0. Структурная схема таймера/счетчика типа А изображена на рисунке 2.2.


Рисунок 2.3 – Структурная схема таймера/счетчика типа А

Тактовый сигнал микроконтроллера СК поступает в пересчетную схему (prescaler) ПС, представляющую собой десятиразрядный счетчик, где выполняется деление частоты тактового сигнала на 8, 64, 256 и 1024. Сигналы с четырех выходов пересчетной схемы поступают в схему управления СУ (мультиплексор). При наличии в микроконтроллере таймера/счетчика Т/С1 эти же сигналы поступают в Т/С1.

В схему управления поступают также тактовый сигнал СК и сигнал из внешнего источника, принимаемый на вход Т0. В качестве входа Т0 у микроконтроллеров типа 1200, 2313 и 4433 используется вывод порта PD4, у микроконтроллеров типа 2323, 2343 и серии ATtny – вывод порта РВ2, а у микроконтроллеров типа 8515, 8535 и m163 – вывод порта РВ0.

Схема управления в зависимости от комбинации состоянии разрядов CS00, CS01 и CS02 регистра управления TCCR0 передаст один из поступающих сигналов на счетный вход базового счетчика TCNT0, ведущего счет на сложение. Сигналы, используемые для счета в счетчике TCNT0 при разных комбинациях значений в разрядах регистра TCCR0, указаны в таблице 2.1.


Таблица 2.1 – Сигналы, используемые для счета в счетчике TCNT0

CS02 CS01 CS00 сигнал

0 0 0 0

1 1 1 1

0 0

1 1

0 0

1

1

0

1

0

1

0

1

0

1

нет

СК

СК/8

СК/64

СК/256

СК/1024

Отрицательный фронт на ТО Положительный фронт на ТО

При переполнении счетчика TCNT0 устанавливается в единичное состояние разряд TOV0 регистра TIFR и при единичном состоянии разряда ТОIЕ0 регистра TMSK в блок прерываний поступает запрос прерывания Т/С0 OVF.

В микроконтроллере типа t15 в работе таймера/счетчика типа А участвуют разряд PSR0 регистра SFIOR. При установке этого разряда в единичное состояние сбрасывается в исходное (нулевое) состояние пересчетная схема ПС. Разряд PSR0 возвращается в нулевое состояние аппаратно. В микроконтроллере тина m163 аналогичная операция выполняется при установке в единичное состояние разряда PSR10 регистра SFIOR [2].

2.4 Таймер/счетчик типа В

Таймер/счетчик типа В входит в состав периферийных устройств микроконтроллеров типа t15 (T/C1) и m103 (T/C2). Он формирует запрос прерывания Т/СХ OVF при переполнении восьмиразрядного базового счетчика TCNTX и выполняет функцию сравнения/PWM с формированием запроса прерывания Т/СХ СОМР. Структурная схема таймера/счетчика типа В изображена на рисунке 2.3.


Рисунок 2.3 – Структурная схема таймера/счетчика типа В

Тактовый сигнал микроконтроллера СК поступает в пересчетную схему ПС, где частота сигнала делится на 8, 64, 256 и 1024. Сигналы с четырех выходов пересчетной схемы поступают в схему управления СУ1 и в таймер/счетчик Т/С1 типа Е. В схему управления СУ1 поступают также тактовый сигнал СК и сигнал из внешнего источника, принимаемый на вход Т2 (вывод порта PD7). При выполнении функции сравнения/PWM вывод порта РВ7 используется в качестве выхода OC2/PWM2 для выдачи сигнала, формируемого при совпадении сравниваемых кодов или сигнала PWM2.

Схема управления СУ1 в зависимости от комбинации состояний разрядов CS20, CS21 и CS22 регистра управления TCCR2 передает на счетный вход базового счетчика TCNT2 один из поступающих сигналов в соответствии с таблицей 2.1 при (Х = 2).

При переполнении базового счетчика устанавливается в единичное состояние разряд TOV2 регистра TIFR и при единичном состоянии разряда TOIE2 регистра TIMSK в блок прерываний поступает запрос прерывания Т/С2 OVF.

Режим работы таймера/счетчика определяется комбинацией состояний разрядов PWM2, СОМ21 и СОМ20 регистра TCCR2. При нулевом состоянии трех названных разрядов формируется только запрос прерывания Т/С2 OVF. При PWM2 = 0 и других комбинациях состоянии разрядов СОМ21 и СОМ20 выполняется функция сравнения. Код, формируемый в базовом счетчике TCNT2, с помощью компаратора К сравнивается с кодом, записанным в регистре OCR2. При совпадении кодов устанавливается определенное значение сигнала на выходе ОС2 (вывод порта РВ7), переводится в единичное состояние разряд OCF2 регистра TFR и при единичном состоянии разряда OCIE2 регистра TIMSK в блок прерываний поступает запрос прерывания Т/С2 СОМР. Значение сигнала, устанавливаемого на выходе ОС2 при совпадении кодов, определяется комбинацией состояний разрядов СОМ20 и СОМ21 регистра TCCR2 в соответствии с таблицей 2.2.

Таблица 2.2 – Комбинации состояний разрядов СОМ20 и СОМ21 регистра TCCR2

С0М21 СОМ20 Значение сигнала

0

1

1

1 0

1

изменяетcя

0

1

Работа базового счетчика при выполнении функции сравнения зависит от состояния разряда СТС2 регистра TCCR2. При СТС2 = 0 базовый счетчик после совпадения кодов продолжает счет до переполнения и далее выполняет счет, начиная с 0. При СТС2 = 1 базовый счетчик при совпадении кодов сбрасывается в нулевое состояние и продолжает счет, начиная с 0. При PWM2 = 1 и СОМ21 = 1 выполняется функция PWM. Базовый счетчик ведет счет на сложение до получения кода максимального числа (255), переводится в режим счета на вычитание и в этом режиме ведет счет до получения кода минимального числа (0) и далее вновь переходит в режим счета на сложении. Акт переполнения (переход от кода числа 255 к коду числа 0) в данном случае отсутствует.

Запрос прерывания Т/С2 OVF формируется при переходе от числа 0 к числу 1.

Состояние разряда СОМ20 определяет вид изменения выходного сигнала при совпадении кодов в счетчике и регистре сравнения. На рисунке 1.4 изображены графики изменения числа в счетчике TCNT2 и временные диаграммы сигнала PWM на выходе ОС2 при заданном коде числа в регистре сравнения (OCR2) при разных состояниях разряда СОМ20.

Рисунок 2.4 – Графики изменения числа в счетчике TCNT2 и временные диаграммы сигнала PWM на выходе ОС2

Период сигнала PWM (T) в 510 раз больше периода сигнала, поступающего на счетный вход базового счетчика.

При записи байта в регистр OCR2 (по команде с мнемокодом операции OUT) байт принимается в регистр временного хранения, из регистра которого переписывается в регистр OCR2 при появлении в базовом счетчике кода числа 255. При этом исключается появление в сигнале PWM импульса со случайной длительностью.

Таймер/счетчик типа В микроконтроллере типа t15 имеет имя Т/С1 (X = 1). Исходный сигнал для работы таймера/счетчика (РСК) имеет частоту 25,6 МГц при частоте тактового сигнала микроконтроллера 1,6 МГц (1/16 РСК). В регистре управления имеется дополнительный разряд CS13. Выбор сигнала для передачи на счетный вход базового счетчика определяется комбинацией состояний разрядов CS13, CS12, CS11 и CS10 в соответствии с таблицей 2.3. Вход для приема сигнала из внешнего источника отсутствует.

Таблица 2.3 – комбинации состояний разрядов CS13, CS12, CS11 и CS10

CS13 CS12 CS11 CS10 Сигнал

0 0 0 0 0 0 0 0

1 1 1 1 1 1 1 1

0 0 0 0

1 1 1 1

0 0 0 0

1

1 1 1

0 0

1 1

0 0

1 1

0 0

1

1

0 0

1 1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

нет

РСК(16СК)

РСК/2 (8 СК)

РСК/4 (4 СК)

РСК/8 (2 СК) РСК/16(СК)

СК/2

СК/4

С К/8

СК/16

СК/32

СК/64

СК/128

СК/256

СК/512

СК/1024

В состав таймера/счетчика входят два регистра сравнения – OCR10 и OCR11. Регистр OCR10 используются при выполнении функции сравнения. Регистр OCR11 используется совместно с регистром OCR10 при выполнении функции PWM. Базовый счетчик работает в режиме счета на сложение и ведет счет от 0 до числа, код которого записан в регистре OCR11. Графики изменения числа в базовом счетчике и временные диаграммы сигнала PWM изображены на рисунке 2.5. Сигнал OC1/PWM выдается на вывод порта РВ1.


Рисунок 2.5 – Графики изменения числа в базовом счетчике и временные диаграммы сигнала PWM

В микроконтроллере типа t15 в работе таймера/счетчика Т/С1 участвуют разряды FOC1A и PSR1 регистра SFOR.

В режиме сравнения при установке в единичное состояние разряда FOC1A на выходе ОС1 устанавливается требуемое значение сигнала немедленно, не дожидаясь совпадения кодов в базовом счетчике и регистре сравнения. При этом запрос прерывания Т/С1 СОМР не формируется и базовый счетчик не сбрасывается в пулевое состояние при СТС1 = 1. Разряд FOC1А сбрасывается в нулевое состояние аппаратно. В режиме PWM он не используется.

При установке в единичное состояние разряда PSR1 сбрасывается в исходное (нулевое) состояние пересчетная схема ПС. Разряд сбрасывается в нулевое состояние аппаратно [2].

2.5 Таймер/счетчик типа С

Таймер/счетчик типа С входит в состав периферийных устройств микроконтроллеров типа 8535 и m163 (Т/С2) и типа m103 (Т/СО). Он формирует запрос прерывания Т/СХ OVF при переполнении восьмиразрядного базового счетчика TCNTX, может выполнять функцию сравнения/PWM и работать в режиме счета реального времени. В структуру таймера/счетчика типа С входят все элементы таймера/счетчика типа В и, кроме того, регистр ASSR, мультиплексор М и внутренний генератор G. Дополнительные элементы изображены на рисунке 2.6.

Рисунок 2.6 – Структурная схема таймера счетчика типа C

В качестве исходного сигнала для работы базового счетчика TCNT 0 может использоваться тактовый сигнал микроконтроллера СК или сигнал TOSC1 из дополнительного внутреннего генератора G, к которому через выводы TOSC1 и TOSC2 подключен кварцевый резонатор КР2.

При частоте резонатора 32768 Гц ("часовой" кварц) параметры процессов в таймере/счетчике с высокой точностью привязаны к единице измерения реального времени – секунде.

При нулевом состоянии разряда AS0 регистра ASSR используется тактовый сигнал СК, при единичном состоянии – сигнал генератора G (режим реального времени). Выбранный сигнал РСК0 с выхода мультиплексора М поступает в пересчетную схему ПС, в котором выполняется деление частоты на 8, 32, 64, 128, 256 и 1024.

Сигналы с шести выходов пересчетной схемы и сигнал с выхода мультиплексора поступают в схему управления СУ1. Выбор сигнала для передачи на счетный вход базового счетчика определяется комбинацией состояний разрядов CS00, CS01 и CS02 регистра управления TCCR0 в соответствии с таблицей 2.4

Таблица 2.4 – Комбинации состояний разрядов CS00, CS01 и CS02 регистра управления TCCR0

CS02 CS01 CS00 Сигнал

0 0 0 0

1 1 1 1

0

0

1

1

0

0

1

1

0

1

0

1

0

1

0

1

нет

РСК0

РСК0/8

РСК0/32 РСК0/64 РСК0/128 РСК0/256 РСК0/1024

При работе в режиме реального времени (AS0 = 1) процесс счета и базовом счетчике привязан к сигналу TOSC1, а запись в регистры TCCR0 и OCR0 и в счетчик TCNT0 – к сигналу СК. Для исключения конфликтных ситуаций в счетчике TCNT0 в режиме реального времени используются регистры временного хранения. При записи кода (по команде OUT) байт принимается в соответствующий регистр временного хранения, при этом устанавливается в единичное состояние соответствующий разряд регистра ASSR – TCN0UB при записи в счетчик TCNT0, OCR0UB при записи в регистр OCR0, TCR0UB при записи в регистр TCCR0. Перепись байта из регистра временного хранения в основной регистр или счетчик привязана к сигналу TOSC1, при этом соответствующий разряд регистра ASSR сбрасывается в нулевое состояние. Очередная запись в регистр или счетчик по команде OUT может производиться при нулевом состоянии соответствующего разряда регистра ASSR.

У микроконтроллеров типа 8535 и m163 для подключения кварцевого резонатора КР2 используются выводы порта РС6 и РС7, а у микро контроллеров типа m10З – специальные выводы корпуса.

В таймере/счетчике типа С в микроконтроллере типа m163 (X = 2) в регистре TCCR2 имеется дополнительный разряд FOC2 и в регистре SFIOR – дополнительный разряд PSD2.

В режиме сравнения при установке в единичное состояние разряда FOC2 сигнал на выходе ОС2 принимает требуемое значение немедленно, не дожидаясь совпадения сравниваемых кодов. При этом запрос прерывания Т/С2 СОМР не формируется и базовый счетчик не сбрасывается. Сброс разряда FOC2 в нулевое состояние выполняется аппаратно. В режиме PWM разряд FOC2 не используется.

При установке в единичное состояние разряда PSR2 сбрасывается в исходное (нулевое) состояние пересчетная схема ПС.

Сброс разряда PSR2 в нулевое состояние выполняется аппаратно [2].

2.6 Таймер/счетчик типа D

Таймер/счетчик типа D входит в состав периферийных устройств микроконтроллеров типа 2313 и 4433, и имеет имя Т/С1. Он содержит шестнадцатиразрядный базовый счетчик и выполняет функции захвата и сравнения/PWM, Структурная схема таймера/счетчика изображена на рисунке 2.7.


Рисунок 2.7 – Структурная схема таймера счетчика типа D

На счетный вход шестнадцатиразрядного базового счетчика TCNT1H, L с выхода схемы управления СУ1 может поступать тактовый сигнал микроконтроллера СК, или один из четырех сигналов из пересчетной схемы, которая является общей для таймеров/счетчиков Т/СО и Т/С1 рисунок, или сигнал из внешнего источника, принимаемый на вход Т1. В качестве входа Т1 используется вывод порта PD5. Выбор сигнала определяется комбинацией состояний разрядов CS10, CS11 и CS12 регистра управления TCCR1B в соответствии с таблицей 2.1 (X = 1, Т0 = Т1). При переполнении базового счетчика устанавливается в единичное состояние разряд TOV1 регистра TIFR и при единичном состоянии разряд TOIE1 регистра TIMSK в блок прерываний поступает запрос прерывания T/C1 OVF.

Схема управления СУ2 управляет выполнением функции захвата, которая заключается в передаче кода, сформированного в базовом счетчике, через ключевую схему КС в шестнадцатиразрядный регистр захвата ICR1H, L. При этом устанавливается в единичное состояние разряд ICF1 регистра TIFR и при единичном состоянии разряда TICIE1 регистра TMSK в блок прерываний поступает запрос прерывания Т/С1 СAPT.

Захват выполняется при изменении значения внешнего сигнала, поступающего на вход ICP, или внутреннего сигнала АСО, поступающего из аналогового компаратора. Выбор сигнала определяется состоянием разряда ACIC регистра ACSR, который входит в состав аналогового компаратора. При ACIC = 0 используется внешний сигнал, при ACIC = 1 – внутренний. Вид изменения сигнала, при котором выполняется захват, определяется состоянием разряда ICES1 регистра TCCR1B. При ICES1 = 0 захват выполняется при появлении отрицательного фронта сигнала, а при ICES1 = 1 – положительного фронта.

В качестве входа ICP у микроконтроллера типа 2313 используется вывод порта PD6, а у микроконтроллера типа 4433 – вывод порта РВО.

Разряд ICNC1 регистра TCCR1B управляет работой схемы подавления помех. При ICNC1 = 0 захват выполняется при каждом появлении фронта заданной полярности.

При ICNC1 = 1 захват происходит, если перед появлением фронта в течение четырех тактов сигнал сохраняет постоянное значение.

Схема управления СУ3 управляет выполнением функции сравнения/PWM. Функция сравнения заключается в выдаче определенного значения сигнала на выходе ОС1 при совпадении кодов в базовом счетчике и шестнадцатиразрядном регистре сравнения OCR1H, L, которое выявляется с помощью компаратора К. При этом также устанавливается в единичное состояние разряд OCF1A регистра TIFR и при единичном состоянии разряда OCIE1A регистра TIMSK в блок прерываний поступает запрос прерывания Т/С1 СОМР.

Функция PWM заключается в выдаче на выход ОС1 импульсного сигнала с заданным периодом повторения и заданной длительностью импульса. При этом также периодически формируется запрос прерывания Т/С1 СОМР.

Работа схемы СУЗ определяется комбинацией состояний разрядов PWM10, PWM11, СОМ1А0 и СОМ1А1 регистра управления TCCR1A. При нулевом состоянии всех четырех разрядов функция сравнения/PWM не выполняется и выход ОС1 отключен от вывода порта.

При PWM10 = 0, PWM11 = 0 и других комбинациях состояний разрядов СОМ1А0 и СОМ1А1 выполняется функция сравнения. Значение сигнала, устанавливаемое на выходе ОС1 при совпадении кодов, указано в таблице 2.5.

Таблица 2.5 – Значение сигнала, устанавливаемое на выходе ОС1

С0М1А1 СОМ1А0 Значение сигнала

0

1

1

1 0

1

Изменяется

0

1

При выполнении функции сравнения режим работы базового счетчика зависит от состояния разряда СТС1 регистра управления TCCR1B. При СТС1 = 1 базовый счетчик при совпадении кодов сбрасывается в нулевое состояние и продолжает счет, начиная с нуля. При СТС1 = 0 он продолжает счет до переполнения и далее ведет счет, начиная с нуля.

При единичном состоянии хотя бы одного из разрядов PWM10 и PWM11 и единичном состоянии разряда СОМ1А1 выполняется функция PWM. В этом случае базовый счетчик ведет счет на сложение до получения числа 255 или 511 или 1023, переходит в режим счета на вычитание, ведет счет на вычитание до получения числа 0 и вновь возвращается в режим счета па сложение. Выбор максимального числа (Nmах), до которого ведется счет на сложение, определяется комбинацией состояний разрядов PWM11 и PWM10 регистра управления TCCR1A в соответствии с таблицей 2.6.


Таблица 2.6 – Комбинации состояний разрядов PWM11 и PWM10 регистра управления TCCR1A

PWM11 PWM10 Nmax

0

1 1

1

0

1

255

511

1023

Сигнал PWM формируется путем изменения значения сигнала на выходе ОС1 при совпадении кодов в базовом счетчике и регистре OCR1 в процессе счета на сложение и на вычитание. Вид изменения сигнала зависит от состояния разряда СОМ1А0. На рисунке 2.8 изображены графики изменения числа в базовом счетчике (TCNT1) и временные диаграммы сигнала PWM при разных состояниях разряда СОМ1А0.

Рисунок 2.8 – Графики изменения числа в базовом счетчике (TCNT1) и временные диаграммы сигнала PWM

Период сигнала PWM (T) зависит от максимального числа, до которого выполняется счет на сложение. При Nmax = 255 период в 510 раз больше периода следования импульсов на счетном входе базового счетчика. При Nmax = 511 и 1023 это отношение равно 1022 и 2046 соответственно.

Разряд СТС1 регистра TCCR1B в режиме PWM не используется. Запрос прерывания T/C1 OVF формируется при переходе базового счетчика от числа 0 к числу 1. При записи кода в регистр OCR1 код запоминается в регистре временного хранения. Перепись кода в регистр OCR1 выполняется при появлении в базовом счетчике максимального числа, что предотвращает появление в сигнале PWM импульса со случайной длительностью.

В качестве выхода ОС1 у микроконтроллера типа 2313 используется вывод порта РВЗ, а у микроконтроллера типа 4433 – вывод порта PB1 [2].

2.7 Таймер/счетчик типа Е

Таймер/счетчик типа Е входит в состав периферийных устройств микроконтроллеров типа 8515, 8535, m163 и m10З и имеет имя Т/С1. Он содержит шестнадцатиразрядный базовый счетчик и выполняет функцию сравнения/PWM в двух каналах (А и В) и функцию захвата.

В структуру таймера/счетчика типа Е входят все элементы структуры таймера/счетчика типа D. Элементы на схеме рисунке 2.7, используемые при выполнении функции сравнения/PWM, образуют канал А. Дополнительные элементы, образующие канал В, изображены на схеме рисунке 2.9.

Рисунок 2.9 – Структурная схема таймера счетчика типа Е


Дополнительными элементами являются компаратор канала В (KB), регистр сравнения OCR1BH, L, два дополнительных разряда СОМ1В0 и СОМ1В1 в регистре TCCR1A, дополнительный разряд OCF1B в регистре TIFR и дополнительный разряд OCE1B в регистре TIMSK. В канале В формируется запрос прерывания Т/С1 СОМРВ.

Сигнал, изменяемый при выполнении функции сравнения, и сигнал PWM поступают на выход ОС1В.

Выводы микроконтроллера, используемые в качестве входов Т1 и CP и выходов ОС1А и ОС1В у микроконтроллеров разных типов, указаны в таблице 2.7.

Таблица 2.7 – Выводы микроконтроллера, используемые в качестве входов Т1 и CP и выходов ОС1А и ОС1В

Выводы Т/С1 ТипМК
8515 8535 m163 m103
Т1 РВ1 РВ1 РВ1 PD6
ICР О.B. PD6 PD6 PD4
ОС1А PD5 PD5 PD5 РВ5
ОС1В О.B. PD4 PD4 РВ6
О.В. – отдельный вывод корпуса.

В микроконтроллере типа m163 в регистре TCCR1A имеются два дополнительных разряда – FOC1А и FOC1В. При установке разряда в единичное состояние при выполнении функции сравнения сигнал на выходе ОС1А/В принимает требуемое значение немедленно, не дожидаясь совпадения сравниваемых кодов. Запрос прерывания при этом не формируется и базовый счетчик в нулевое состояние не сбрасывается. Разряд сбрасывается в нулевое состояние аппаратно. В режиме PWM эти разряды не используются.

В регистре SFIOR имеется дополнительный разряд PSR10. При установке этого разряда в единичное состояние пересчетная схема сбрасывается в исходное (нулевое) состояние. Разряд PSR10 сбрасывается в нулевое состояние аппаратно [2].

2.8 Сторожевой таймер

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

Рисунок 2.10 – Структурная схема сторожевого таймера

Генератор GWDT формирует импульсную последовательность. Частота следования импульсов зависит от напряжения питания микроконтроллера (1 МГц при Vcc = 5 В, 350 кГц при Vcc = 3 В). В пересчетной схеме ПС, содержащей многоразрядный счетчик, выполняется деление частоты сигнала генератора. На восьми выходах пересчетной схемы формируются сигналы, частота которых в N раз меньше частоты входного сигнала. Выбор выхода пересчетной схемы с требуемым коэффициентом деления N определяется комбинацией состояния разрядов WDP0, WDP1 и WDP2 регистра WDTCR в соответствии с таблицей 2.8.

Таблица 2.8 – Комбинации состояний разрядов WDP0, WDP1 и WDP2 регистра WDTCR

WDP2 WDP1 WDP0 N TOUT, Vqc = 5 В TOUT, Vqc = 3 В

0

0

0

0

1

1

1

1

0

0

1

1

0

0

1

1

0

1

0

1

0

1

0

1

16К

32 К

64 К

128 К

256 К

512 К

1024 К

2048 К

15 мс

30 мс

60 мс

120 мс

240 мс

490 мс

970 мс

1,9 с

47 мс

94 мс

190 мс

380 мс

750 мс

1,5 с

3,0 с

6,0 с

При единичном состоянии разряда WDE регистра WDTCR на выходе схемы управления СУ с частотой выбранного сигнала формируется запрос прерывания WDT Reset, при появлении которого происходит перезапуск микроконтроллера WDT Reset.

По команде с мнемокодом WDR выполняется сброс пересчетной схемы в исходное (нулевое) состояние.

Для запуска сторожевого таймера необходимо в ходе программы выполнить команду WDR и затем установить в единичное состояние разряд WDE регистра WDTCR.

Для остановки сторожевого таймера необходимо установить в единичное состояние разряд WDTOE регистра WDTCR и одновременно повторно установить в единичное состояние разряд WDE, затем не позднее, чем через четыре такта после этого сбросить в нулевое со стояние разряд WDE. Разряд WDTOE сбрасывает в нулевое состояние аппаратно через четыре такта после установки его в единичное состояние. У микроконтроллера типа 1200 разряд WDTOE отсутствует.

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

Программа, в которой предусмотрено использование сторожевого таймера, должна периодически с интервалом меньшим, чем период формирования запроса прерывания WDT Reset, с использованием команды WDR перезапускать сторожевой таймер. Если при появлении сбоя команда WDR своевременно не выполняется, происходит перезапуск микроконтроллера. Интервал времени TOUT, через который следует выполнять команду WDR в ходе программы, при разных значениях коэффициента деления N и напряжения питания Vcc указан в таблице 2.8 [3].


3 Программная модель и принципы работы АЦП микроконтроллеров семейства AVR

3.1 Структура АЦП

Основные характеристики:

- разрешение 10 разрядов;

- точность ±1/2 LSB;

- время преобразования 70...280 мс;

- 8 мультиплексируемых каналов входа;

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

- прерывание по завершению ADC преобразования;

- устройство подавления шумов Sleep режима [4].

Микроконтроллеры типа t15, 4433, 8535, m163 и m103 оснащены 10-разрядным ADC последовательного приближения. ADC подсоединен к 8-канальному аналоговому мультиплексору, позволяющему использовать любой вывод порта F в качестве входа ADC. ADC содержит усилитель выборки/хранения, удерживающий напряжение входа ADC во время преобразования на неизменном уровне. Блок-схема ADC представлена на рисунке 3.1. Для питания ADC используются два отдельных вывода: AVCC и AGND. Вывод AGND должен быть подсоединен к GND и напряжение AVCC не должно отличаться от напряжения VCC более чем на 0,4В.


Рисунок 3.1 – Блок-схема аналого-цифрового преобразователя

Внешнее напряжение сравнения подается на вывод AREF и должно быть в диапазоне от 2,7 В до AVCC.

3.2 Работа аналого-цифрового преобразователя

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

Работа ADC разрешается установкой в состояние 1 бита ADEN в регистре ADCSR. Первому преобразованию, начинающемуся после разрешения ADC, предшествует пустое инициализирующее преобразование. На пользователе это отражается лишь тем, что первое преобразование будет занимать 27 тактовых циклов, вместо обычных 14.

Преобразование начинается с установки в состояние 1 бита начала преобразования ADSC. Этот бит находится в состоянии 1 в течение всего цикла преобразования и сбрасывается, по завершении преобразования, аппаратно. Если в процессе выполнения преобразования выполняется смена канала данных, то ADC вначале закончит текущее преобразование и лишь потом выполнит переход к другому каналу.

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

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

3.2.1 Предварительное деление

ADC работает с тактовой частотой в диапазоне от 50 до 200 кГц. В режиме циклического преобразования для преобразования необходимо 14 тактовых циклов, т.е. преобразование выполняется за время от 70 до 280 мс. В режиме однократного преобразования преобразование выполняется за 15 тактовых циклов. Если тактовая частота выйдет за указанные пределы, то правильность результата не гарантируется. Биты ADPS0 – ADPS2 используются для обеспечения необходимого диапазона тактовой частоты ADC при частоте XTAL свыше 100 кГц.

3.2.2 Сканирование аналоговых каналов

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

3.2.3 Технология подавления шума ADC

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

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

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

Вывод AVCC микроконтроллеров должен подключаться к напряжению питания VCC через RC цепочку, как показано на рисунке 3.2.

Для подавления шума CPU можно использовать функцию подавления шума ADC.

Если какие-то выводы PORTF используются в качестве цифровых входов, то важно, чтобы в процессе преобразования на этих выводах не происходили переключения [5].

Рисунок 3.2 – Подключение напряжения питания ADC

Аналого-цифровой преобразователь входит в состав периферийных устройств микроконтроллеров типа t15, 4433, 8535, m163 и m103. Аналого-цифровой преобразователь содержит базовый преобразователь, выполняющий преобразование аналогового сигнала в десятиразрядный двоичный код методом последовательных приближений, аналоговый мультиплексор для подключения одного из входов микроконтроллера к входу базового преобразователя, регистр управления ADMUX, регистр управления-состояния ADCSR и шестнадцатиразрядный регистр результата ADCH, L.

На рисунке 3.3 изображена структурная схема аналого-цифрового преобразователя.

Рисунок 3.3 – Структурная схема аналого-цифрового преобразователя

Для подачи напряжения питания и опорного напряжения используются отдельные выводы микроконтроллера AVCC, AGND и AREF.

Вывод AGND соединяется с выводом GND микроконтроллера. Напряжение на выводе AVCC не должно отличаться от напряжения на выводе VCC микроконтроллера более, чем на ±0,3В. Напряжение на выводе AREF должно находиться в пределах от уровня на выводе AGND до уровня на выводе AVCC.

Аналоговые сигналы принимаются на выводы микроконтроллера ADC0, ADC1... ADC7. Величина напряжения аналогового сигнала может находиться в пределах от уровня на шине AGND до уровня на шине AVCC. Аналоговый мультиплексор AM подключает один из входов микроконтроллера к входу базового преобразователя CONV. Двоичный код номера подключаемого входа задается комбинацией состояний раз рядов MUX2, MUX1, MUX0 регистра ADMUX.

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

Тактовый сигнал формируется в пересчетной схеме ПС путем деления частоты тактового сигнала микроконтроллера СК. Пересчетная схема работает при единичном состоянии разряда ADEN регистра ADCSR. Коэффициент деления частоты (К) определяется комбинацией состоянии разрядов ADPS2, ADPS1, ADPS0 регистра ADCSR в соответствии с таблицей 3.1.

Таблица 3.1 – Комбинации состоянии разрядов ADPS2, ADPS1, ADPS0 регистра ADCSR

ADPS2 ADPS1 ADPSO К

0

0

0

0

1

1

1

1

0

0

1

1

0

0

1

1

0

1

0

1

0

1

0

1

2

2

4

8

16

32

64

128

Преобразование начинается при установке в единичное состояние разряда ADSC регистра ADCSR. Разряд ADSC сохраняет единичное состояние до завершения преобразования и затем аппаратно переводится в нулевое состояние. Сформированный десятиразрядный код переписывается в регистр результата ADCH, L, при этом устанавливается в единичное состояние разряд ADIF регистра ADCSR и при единичном состоянии разряда ADIE регистра ADCSR в блок прерываний поступает запрос прерывания ADC CC (ADC Conversion Complete).

Разряд ADIF регистра ADCSR сбрасывается в нулевое состояние аппаратно при переходе микроконтроллера к выполнению прерывающей программы или при выполнении команды установки бита в единичное состояние.

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

Преобразователь может работать в одиночном режиме и в циклическом режиме. Выбор режима определяется состоянием разряда ADFR регистра ADCSR. При ADFR = 0 преобразователь работает в одиночном режиме.

Преобразование начинается при установке в единичное состояние разряда ADSC и выполняется за 14 тактов. Для выполнения следующего преобразования необходимо вновь установить в единичное состояние разряд ADSC.

При ADFR = 1 преобразователь работает в циклическом режиме работа начинается при установке в единичное состояние разряда ADSC. Преобразование выполняется за 13 тактов, после чего сразу начинается следующее преобразование. Работа в циклическом режиме прекращается после сброса в нулевое состояние результата ADFR.

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

Для уменьшения помех, вызываемых работой процессора, предусмотрена возможность выполнения преобразования с переводом контроллера в режим холостого хода. Преобразователь должен находиться в одиночном режиме (ADFR = 0), пересчетная схема работает (ADEN = 1), прерывания разрешено (ADIE = 1), запуск преобразования отсутствует (ADSC = 0). Контроллер переводится в режим холостого хода, при этом аппаратно запускается преобразователь. При завершении преобразования поступает запрос прерывания ADC CC, контроллер выходит из режима холостого хода, выполняет прерывающую программу и возвращается к выполнению программы с точки перехода в режим холостого хода.

Аналого-цифровые преобразователи микроконтроллеров других типов имеют некоторые отличия от рассмотренного преобразователя. В микроконтроллере типа 4433 имеется возможность подключения к входу базового преобразователя внутреннего источника эталонного напряжения 1,22±0,05 В. Подключение выполняется при установке в единичное состояние дополнительного разряда ADCBG в регистре ADMUX.

В микроконтроллере типа t15 в качестве опорного напряжения кроме напряжения от внешнего источника, подаваемого на вывод AREF, может использоваться напряжение на выводе VCC или напряжение от внутреннего источника. Выбор источника осуществляется путем установки определенной комбинации состояний дополнительных разрядов REFS1, REFS0 регистра ADMUX. В качестве входного сигнала может использоваться разность напряжений на входах ADC2 и ADC3. В этом случае напряжение на этих входах должно изменяться в пределах от 0 до 2,56 В, а разностный сигнал перед преобразованием может усиливаться в 20 раз. Разностный сигнал без усиления используется при комбинации состояний 110 в разрядах MUX2, MUX1, MUX0, а разностный сигнал усилением – при комбинации 111.

В регистре ADMUX, кроме того, имеется дополнительный разряд ADLAR. При ADLAR=0 код результата размещается в младших десяти разрядах пары регистров ADCH, L, а при ADLAR = 1 – в старших десяти разрядах этой пары регистров. В микроконтроллере типа m103 аналого-цифровой преобразователь не работает в циклическом режиме и в регистре ADCSR отсутствует разряд ADFR. Комбинация 000 разрядов ADPS2, ADPS1, ADPS0 регистра ADCSR не используется.

В микроконтроллере типа m163 в качестве опорного напряжения может использоваться напряжение 2,56 В от внутреннего источника пли напряжения на выводе VCC. Выбор опорного напряжения определяется комбинацией состояний дополнительных разрядов REFS1 и REFS0 регистра ADMUX. Кроме того, в регистре ADMUX имеется дополнительный разряд ADLAR. При ADLAR = 1 десятиразрядный код результата помещается в старшие десять разрядов регистра ADCH, L. При чтении старшего байта получают восьмиразрядный код результата.

Микроконтроллеры типа t15 и m163 могут переводиться в энергосберегающий режим работы с подавлением помех в работе аналогового преобразователя [6].


4. Обоснование выбора средств при разработке программы

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

- пакетыдлясоздания WEB-сайтов: Macromedia Dreamweaver MX, Macromedia HomeSite;

-пакетыдлясоздания Flash-анимации: Macromedia Flash МХ, CorelRAVE, ImageReady;

- язык разметки гипертекстов HTML.

После проведенного анализа в качестве пакета для создания WEB-сайтов был выбран Macromedia Dreamweaver MX, так как он позволяет создавать электронные издания в соответствии с замыслом их авторов. В Dreamweaver MX предусмотрены функции для подготовки и отладки текстов на языке Dynamic HTML и каскадных таблиц стилей Cascading Style Sheets (CSS).

Фактически Dreamweaver MX – это достаточно сложный HTML-редактор, обеспечивающий режим полного соответствия WYSIWYG и доступ в реальном времени к внутреннему HTML-редактору или подобной программе, встроенной в пакет Dreamweaver MX.

Dreamweaver MX обеспечивает поддержку многочисленных и довольно разнородных расширений, которые принято объединять термином "динамический HTML". Объекты создаются с абсолютным позиционированием при помощи так называемых layers (слоев). Более того, программный пакет способен преобразовать сверстанную на основе таблиц страницу так, что каждая ячейка таблицы превратится в "слой". Удобная и наглядная панель, напоминающая об интерфейсе программ Director или Flash, позволяет организовать анимационные эффекты с перемещением слоев и сменой изображений. Генерируемый при этом JavaScript-код ориентирован на различные версии браузеров, а все случаи возможной несовместимости оговариваются как в сообщениях пакета, так и в комментариях к генерируемому коду.

Dreamweaver MX автоматизирует работу над Web-страницей реально и не добавляет "от себя" в HTML-файл ни одного лишнего байта, так что код, созданный этим пакетом, обладает минимальной емкостью и его практически невозможно отличить от ручной разработки.

У этого редактора очень удобный и привычный интерфейс, в стиле PageMaker/Illustrator/Photoshop. Этим он выгодно отличается от другого известного HTML-редактора HomeSite с его Delphi-подобным интерфейсом, ориентированным на профессионалов-программистов.

К функциональным возможностям программного пакета Dreamweaver MX относятся:

- Dreamweaver MX представляет собой профессиональный редактор для создания Web-сайтов (серверов) и управления ими. С помощью Dreamweaver MX можно создавать Web-сайты, независимые от серверной платформы и браузера конечного пользователя;

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

- создание карты сайта, позволяющей автору наглядно представлять его структуру;

- форматирование и редактирование текстового материала Web-публикации; шрифтовое и стилевое оформление Web-документов. Эта функциональная возможность поддерживается таблицами стилей (CSS) с учетом особенностей отдельных браузеров;

- возможность прямого доступа к HTML-коду (в отдельном окне) и параллельного ручного редактирования;

- поддержка русского языка (включая КОИ-8 и т. п.);

- возможность взаимной конвертации таблиц и слоев;

- встраивание изображений. Контроль над соответствием атрибутов height и width реальным размерам изображения;

- поддержка внешних объектов ActiveX, Java, Flash, Shockwave, QuickTime, RealSystem G2;

- выделение "потерянных" и неуместных тегов;

- встраивание анимационных Flash-роликов;

- средства контроля за интерактивными анимационными роликами;

- проверка и корректировка локальных и глобальных ссылок;

- возможность применять единый шаблон для всего сайта или его части;

- применение нескольких шаблонов к одной Web-странице;

- проверка кода на совместимость со спецификациями HTML 2.0/3.2/4.0, WebTV и с версиями браузеров Netscape, Explorer, Opera;

- интеграция с другими приложениями.

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

Для создания пользовательского интерфейса и художественного наполнения был использован пакет Macromedia Flash MX. Пакет Macromedia Flash MX позволяет создавать красочные Web-сайты.

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

Окончательная настройка, корректировка и объединение всех элементов программы в единую систему, а также редактирование теоретической части пособия в виде WEB-страницы производились с помощью языка HTML (Hyper Text Markup Language – язык разметки гипертекстов). Применение этого языка позволило уменьшить размеры системы, путём "вырезания" из программы тегов которые не несут полезной информации, вставляемых автоматически при создании WEB-страниц другими редакторами.


ВЫВОДЫ

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

Выполнено наполнение программной оболочки теоретическим материалом по разделу "Таймеры/счетчики и АЦП микроконтроллеров семейства AVR". Программа позволяет вести самостоятельное изучение материала, как в локальной компьютерной сети кафедры ПЭЭА, так и в сети Интернет. С помощью сети программа работает под управлением операционных системам: FreeBSD, Linux, MicrosoftWindows 95 и выше, которая оснащена какой либо из програм-браузеров MSInternetExplorer, NetscapeNavigator, Opera, Konqueror. Кроме этого в электронном учебном пособии существует подсистема для самоконтроля, которая поможет пользователю данной системы оценить уровень своих знаний. Данный раздел включен в лабораторный практикум, предусматривающий компьютерный допуск и выдачу заданий, тем самым предоставляется возможность его выполнения с любого рабочего места, имеющего выход в локальную или глобальную сеть.


ПЕРЕЧЕНЬ ССЫЛОК

1. Бобрыкин А.В., Липовецкий Г.П., Литвинский Г.П. и др. Однокристальные микро ЭВМ. – М.: МИКАП, 1994.

2. Голубцов М.С., Кириченкова А.В. Микроконтроллеры AVR: от простого к сложному. Изд. 2-е, испр. и доп.– М.: СОЛОН-Прес, 2004,- 304с.

3. Корольов К.П. Сучасні пристрої та мікроконтролери. – К.: Наукова думка, 2000, - 107с.

4. http://www.atmel.ru – Официальный сайт фирмы Atmel

5. Башков Е.А. Аппаратное и программное обеспечение зарубежных микроЭВМ: Учебное пособие. – К.:Вища шк. 1990. – 207 с.

6. Фурман И.А. и др. Программируемые контроллеры / Учебное пособие. – К.,1999.

7. Державний стандарт України. ДСТУ 3008-95. Документація. Звіти у сфері науки і техніки. Структура і правила оформлення. Чинний від 01.01.96. – К.:Держстантдарт, 1995. – 60 с.