Сердцем (ядром) каждой электронно-вычислительной машины (ЭВМ) является микропроцессор либо микроконтроллер. Ряд ведущих мировых фирм, таких как 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
16-разрядный таймер/счетчик может получать тактовый сигнал (CK), CK после предварительного делителя и от внешнего вывода. Кроме того его можно остановить. В регистрах управления TCCR1A и TCCR1B находятся различные флаги, указывающие на переполнение, совпадение при сравнении и случаи захвата событий. В регистре масок прерываний TIMSK (Timer/Counter Interrupt Mask Register) устанавливаются разрешения/запрещения прерываний таймера/счетчика1. При внешнем тактировании таймера/счетчика1 внешний сигнал синхронизируется частотой тактового генератора CPU. Для правильной работы таймера/счетчика по внешнему тактовому сигналу минимальное время между двумя переключениями внешнего тактового сигнала должно быть не менее одного периода тактового сигнала CPU. Синхронизация внешнего тактового сигнала ведется нарастающим фронтом внутреннего тактового сигнала CPU.
Блок-схема таймера/счетчика приведена на рисунке 2.1.
Наилучшие точность и разрешение 16-разрядный таймер/счетчик обеспечивает при наименьшем коэффициенте предварительного деления. С другой стороны, высокий коэффициент предварительного деления удобен при реализации таймером/счетчиком 1 низкоскоростных функций или точной синхронизации редко происходящих действий. Таймер/счетчик поддерживает две функции сравнения выхода, используя регистр1 сравнения выходов A и B –OCR1A и OCR1B в качестве источников данных, сравниваемых с содержимым таймера/счетчика. Функции сравнения выхода включают очистку счетчика по совпадению сравнения A и воздействие на выводы сравнения выхода при обоих совпадениях сравнения.