Рисунок 2.2 – Структурная схема микроконтроллера ATmega88x
2.2.7.1 Универсальный синхронно/асинхронный приемо-передатчик (USART)
Все микроконтроллеры семейства Mega имеют в своем составе от одного до четырех модулей универсального синхронно/асинхронного приемо-передатчика (USART).
Все модули приемо-передатчиков обеспечивают полнодуплексный обмен по последовательному каналу, при этом скорость передачи данных может варьироваться в довольно таки широких пределах. Длина посылки может изменяться от 5 до 9 битов. Во всех модулях необходимо присутствие схемы контроля и формирования бита четности.
Модули USART могут обнаруживать следующие внештатные ситуации:
- переполнение; ошибка кадрирования; неверный старт-бит.
Для снижения вероятности сбоев в модулях также реализована такая необходимая функция, как фильтрация помех.
Для взаимодействия с программой средой предусмотрены три прерывания, запрос на возникновение которых образуется при наступлении следующих событий: «передача завершена», «регистр данных передатчика пуст» и «прием завершен».
Выводы микроконтроллера, используемые модулями USART, являются линиями портов ввода/вывода общего назначения.
2.2.7.2 Использование модулей USART
Упрошенная структурная схема модуля USART приведена на
рисунке 2.3.

Рисунок 2.3 – Структурная схема модуля USART
Из рисунка можно увидеть, что модуль состоит из трех основных частей: блока тактирования, блока передатчика и блока приемника. Блок тактирования модулей USART содержит схему синхронизации, которая используется при работе в синхронном режиме, и контроллер скорости передачи. Блок передатчика включает одноуровневый буфер, сдвиговый регистр, схему формирования бита четности и схему управления. Блок приемника, содержит схемы восстановления тактового сигнала и данных, схему контроля четности, двухуровневый буфер, сдвиговый регистр, а также схему управления.
2.2.8 Цоколевка выводов
В семейство Mega на сегодняшний день входит в общей сложности 24 модели микроконтроллеров, которые делятся на 4 группы:
Микроконтроллеры в 32-выводных корпусах типа TQFP и MLF (также выпускающиеся в 28-выводных корпусах типа DIP) с максимальным числом контактов ввода/вывода, равным 23. К этой группе относится выбранный МК ATmega88 (рисунок 2.4) ,который имеет FLASH-память программ объемом 8 Кбайт, ОЗУ объемом 1 Кбайт и EEPROM-память данных объемом 512 байт; Микроконтроллеры в44-выводных корпусах типа TQFP и MLF (40-выводных корпусах типа DIP) с максимальным числом контактов ввода/вывода, равным 35 (модели с возможностью подключения внешнего ОЗУ) или 32 (остальные модели); Микроконтроллеры в 64-выводных корпусах типа TQFP и MLF; Микроконтроллеры в 100-выводных корпусах типа TQFP.
Рисунок 2.4 – Расположение выводов микроконтроллера ATmega88x
Также можно отметить, что одни модели микроконтроллеров семейства выпускаются как в коммерческом (диапазон рабочих температур от 0 до 70 єС), так и в промышленном (диапазон температур от минус 40 до 85 єС) исполнениях, а другие — только в промышленном.
2.2.9 Прерывания
2.2.9.1 Общие сведения
Прерывание прекращает нормальный ход программы для выполнения более приоритетной задачи, определяемой внутренним или внешним событием микроконтроллера. При возникновении прерывания микроконтроллер сохраняет в стеке содержимое счетчика команд PC и загружает в него адрес соответствующего вектора прерывания. По этому адресу, обычно, находится команда безусловного перехода к подпрограмме обработки прерывания.
Так как основными источниками прерываний являются различные периферийные устройства микроконтроллеров, то и количество прерываний зависит от конкретной модели микроконтроллера.
2.2.9.2 Таблица векторов прерываний
Микроконтроллеры семейства Mega имеют многоуровневую систему приоритетных прерываний. Младшие адреса памяти программ, начиная с адреса $0001, отведены под таблицу векторов прерывания. Каждому прерыванию присвоен свой адрес в этой таблице, загружающийся в счетчик команд при возникновении прерывания. Положение вектора в таблице также определяет и приоритет соответствующего прерывания: чем меньше адрес, тем выше приоритет прерывания.
Все прерывания можно разбить на два типа. Прерывания первого типа генерируются при наступлении некоторого события, в результате которого устанавливается флаг прерывания, если это прерывание разрешено, то в счетчик команд загружается адрес вектора этого прерывания. При этом флаг прерывания аппаратно или программно сбрасывается. Прерывания второго типа возможны в течение всего времени, пока присутствуют условия, необходимые для него. После выхода из прерывания процессор всегда выполняет одну команду основной программы, прежде чем обслужить любое отложенное прерывание.
2.2.9.3 Внешние прерывания
В микроконтроллерах семейства Mega имеется два типа внешних прерываний. Прерывания первого типа возникают при появлении на входе внешнего прерывания заданного сигнала. Эти прерывания присутствуют во всех микроконтроллерах семейства. Прерывания второго типа генерируются при любом изменении состояния определенных выводов микроконтроллера [5].
2.3 Построение формирователя сигналов взаимодействия на основе микроконтроллера в программной среде Proteus.
2.3.1 Инструментарий комплекса Proteus и последовательность реализации нового проекта
2.3.1.1 Описание программного комплекса Proteus
В последнее время появилось множество программ-симуляторов, заменяющих реальные радиодетали и приборы, виртуальными моделями. Симуляторы позволяют, без сборки реального устройства, отладить работу схемы, найти ошибки, полученные на стадии проектирования, снять необходимые характеристики, сэкономить время на разработку и многое другое.
Программно-аппаратный комплекс Proteus, предлагаемый компанией Labcenter Electronics, представляет собой мощную систему схемотехнического моделирования, сделанной на основе виртуальных моделей электронных элементов и на сегодняшний день является, пожалуй, одной из самых популярных сред для моделирования. Специфической чертой данного программного пакета (Proteus) — есть отличная возможность моделирования различной работы программируемых устройств: микропроцессоров, микроконтроллеров. Благодаря ней стало возможным виртуально собрать устройство на микроконтроллере без собственно самого микроконтроллера, а так же возможность синтезировать схему будущего электронного устройства и промоделировать его работу, выявить ошибки, которые были допущены либо в программе, либо в схеме, доработать устройство, добавить новые элементы и многое другое.
Необходимо учитывать и понимать, что любое моделирование электронных схем не может абсолютно точно повторять работу реального устройства. Но для наших экспериментов, этого вполне будет достаточно. Proteus имеет большую библиотеку электронных компонентов, а отсутствующие модели можно сделать самостоятельно. Так же Proteus поддерживает большинство современных моделей микроконтроллеров. Еще два удобных свойства Proteus – это большой каталог информации об устройствах и большая база драйверов для различных подключаемых устройств.
Программный комплекс Proteus имеет отличные возможности для подключения устройств:
COMPIM - этот компонент позволяет виртуальному устройству подключаться к реальному COM-порту компьютера.
USBCONN - этот инструмент позволяет подключиться к реальному USB порту компьютера.
Например:
- есть возможность подключить к COM-порту любое реальное устройство, с которым создаваемый прибор будет общаться в реальности.
- так же возможно подключить через Data-кабель к свободному USB-порту сотовый телефон и отлаживать устройство на микроконтроллере, которое должно управлять им.
Чтобы симулировать в Proteus работу микроконтроллера достаточно:
1) найти его в библиотеках и поместить на схему;
2) указать какую программу он должен выполнять (как описано выше);
3) указать частоту тактирования МК.
Программный комплекс Proteus состоит из двух частей, двух подпрограмм: ISIS – программа синтеза и моделирования непосредственно электронных схем, и ARES – программа разработки печатных плат. В своей работе мы будем использовать только подпрограмму ISIS.
Для реализации нового проекта в Proteus, нужно выяснить какие функции будет выполнять разрабатываемое устройство, какие компоненты требуются для его построения, и с каким устройством оно будет взаимодействовать.
2.3.1.2 Пользовательский интерфейс Proteus и его библиотечная база
Как видно из рисунка 2.5 все рабочее пространство программы состоит из нескольких областей. В левом верхнем углу основного окна программы располагается окно обзора, позволяющее довольно таки быстро перемещаться по проекту. В левом нижнем углу находится панель управления симуляцией.
Основная рабочая зона - окно редактора схем. Все действия над схемой из отдельных компонентов производится именно здесь. При перемещении курсора по окну редактора текущие координаты курсора отображаются в правом нижнем углу.

Рисунок 2.5 – Основное окно программы
В окне выбора объектов доступны различные элементы, в зависимости от выбранного режима (рисунок 2.6).
Для того чтобы собрать схему любого устройства в Proteus, необходимо подготовить набор элементов, из которых эта схема и будет состоять. Для этого необходимо перейти в режим компонентов и нажать на клавишу «Р», которая находится под окном обзора
Перед нами появляется менеджер компонентов (рисунок 2.4), предоставляющий на наш выбор все элементы которые содержатся в библиотеке программы.

Рисунок 2.6 – Менеджер компонентов
Для быстрого поиска нужных элементов схемы существует строка поиска, расположенная в верхнем левом углу (рисунок 2.7).

|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 |


