- •Техническое задание
- •Реферат
- •Перечень условных обозначений, единиц и терминов
- •Введение
- •1 Структурная организация
- •2 Алгоритмы обработки и управления
- •3 Выбор элементной базы
- •3.1 Выбор омк
- •4 Принципиальная электрическая схема
- •5 Программное обеспечение
- •6 Алгоритм тестирования
- •7 Тестовый пример
- •8 Инструкция по эксплуатации контроллера
- •Заключение
- •Список использованных источников
- •Приложение а
- •Приложение б
- •Приложение в
1 Структурная организация
Структура контроллера, содержащая блоки, которые должны входить в состав устройства согласно заданию, представлена на рисунке 1.
Рисунок 1 – Структурная схема контроллера
Согласно техническому заданию, ОМК должен содержать ПБ, ОЗУ, ПЗУ, параллельные порты, последовательный порт, 2 внешних прерывания.
Для ввода скорости передачи данных по последовательному каналу и индикации выбранной скорости необходимо подключить 5 кнопок и светодиодов. Включение кнопки соответствует одной из 5 заданных скоростей. Светодиоды должны индицировать, какое из значений скорости выбрано.
Ввод данных осуществляется в последовательном формате. Для этого необходимо, чтобы микроконтроллер имел последовательный канал. Согласно техническому заданию, режим ввода должен быть асинхронным, программируемым. Данными характеристиками обладает универсальный асинхронный приёмопередатчик UART.
Для вывода данных в параллельном формате в 2 источника по прерыванию необходимо, чтобы контроллер имел как минимум 2 внешних запроса прерывания INT0 и INT1, а также параллельные порты.
2 Алгоритмы обработки и управления
Согласно полученному заданию, МПУ должно функционировать по следующему алгоритму:
установка скорости передачи данных по последовательному каналу в зависимости от включенных тумблеров;
ввод двоично-десятичных данных через последовательный канал, запись их в массив;
преобразование двоично-десятичных данных в двоичный код;
выборка максимального элемента из массива данных;
вывод максимального элемента массива в приемник по запросу прерывания от него;
Общая блок-схема алгоритма работы МПУ представлена на рисунке 2. На схеме под обработкой массива понимается приведение его элементов, записанных в двоично-десятичном коде, к элементам в двоичном коде. Блок-схема обработки массива и нахождение максимального элемента представлена на рисунке 3. Здесь введены обозначения:
i – номер элемента массива
tmp – число для записи промежуточных результатов
max – искомый максимальный элемент массива
Блок-схема преобразования двоично-десятичного двухбайтового числа к двоичному числу представлена на рисунке 4. Здесь каждые 4 бита двоично-десятичного числа записаны в своей ячейке массива.
Блок-схема обработки прерываний представлена на рисунке 5.
Рисунок 2 – Общая блок-схема алгоритма работы МПУ
Рисунок 3 – Блок-схема обработки массива и нахождения максимального элемента
Рисунок 4 – Блок-схема преобразования двоично-десятичных чисел к двоичным
Рисунок 5 – Блок-схема обработки прерываний
3 Выбор элементной базы
3.1 Выбор омк
Выбранный в соответствии с техническим заданием ОМК должен обладать функциональной полнотой, чтобы минимизировать число внешних компонентов, необходимых для реализации требуемого МПУ, иметь минимальное количество неиспользуемых линий ввода-вывода, минимальные энергопотребление и стоимость [2].
Исходя из технического задания и структурной схемы, требуется подобрать ОМК, в состав которого входят следующие элементы:
ОЗУ;
ПЗУ;
контроллер прерываний;
25 линий ввода-вывода (10 линий для подключения приемников, 1 линия для выбора приемника, 1 линия для ввода информации через последовательный канал, 1 линия для схемы сброса, 5 линий для задания скорости работы последовательного канала, 2 линии для внешних прерываний от приемников, 5 линий для индикации выбранной скорости работы последовательного канала).
Если учесть, что приемники получают информацию в определенный момент времени, то возможно подключение линий прерывания, линии ввода последовательной информации вместе с линиями для подключения приемников. Тогда всем вышеперечисленным требованиям удовлетворяет микроконтроллер ATmega8 семейства AVR фирмы Atmel, сочетающий в себе функциональность и небольшую стоимость. Отличительными особенностями данного ОМК являются: RISC-архитектура, выполнение большинства команд за один тактовый цикл, ОЗУ объемом 1 Кбайт, ПЗУ объемом 8 Кбайт, 23 линии ввода-вывода общего назначения, встроенный порт UART, внутренние и внешние источники прерываний [5].
Как правило, модель ATmega8 содержится во всех средствах компиляции и отладки, поэтому выбор этого ОМК позволит упростить процесс разработки программного обеспечения.
Таблица 1 - Распределение ресурсов ОМК:
Наименование вывода |
Назначение |
RESET |
Сброс |
INT0 |
Прерывание от приемника 2 |
INT1 |
Прерывание от приемника 1 |
PC0 – PC4 |
Линии задания скорости UART |
PC5 |
Корректность ввода скорости |
PB0 – PB7 |
Приемник 1 |
PD0 – PD7 |
Приемник 2 |
На рисунке 6 представлено графическое обозначение микроконтроллера ATmega8 в корпусе PDIP.
Рисунок 6 – Графическое обозначение микроконтроллера ATmega8
