Круговой интерполятор по методу оценочной функции
Исследование архитектуры микроконтроллера и его интерфейсных устройств. Характеристика выбора ввода и вывода для входных и выходных сигналов. Анализ расположения переменных и констант в регистрах процессора, разработки алгоритма и программы управления.
Рубрика | Коммуникации, связь, цифровые приборы и радиоэлектроника |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 07.03.2012 |
Размер файла | 1,4 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Министерство образования Республики Беларусь
Белорусский Национальный технический университет
Кафедра: « Электропривод и автоматизация промышленных установок и технологических комплексов »
Курсовая работа
по дисциплине «Микропроцессорные средства »
на тему : «Круговой интерполятор по методу оценочной функции»»
Исполнитель: студент Коваленко М.В.
Руководитель: доцент Петренко Ю. Н.
Минск 2009
СОДЕРЖАНИЕ
Введение
1. Архитектура микроконтроллера и его интерфейсные устройства
2. Выбор устройств ввода и вывода для входных и выходных сигналов
3. Разработка алгоритма управления
3.1 Вывод выражений для расчета сигнала управления
3.2 Алгоритм управления
4. Разработка программы управления
4.1 Инициализация устройств ввода и вывода
4.2 Расположение переменных и констант в регистрах процессора
4.3 Текст программы (таблица с указанием адресов, мнемокодов, числа тактов и комментариев, в тексте раздела дать описание программы)
5. Схема принципиальная электрическая. Соединение контроллера с объектом управления
Введение
На основании задания на курсовую работу необходимо спроектировать круговой интерполятор по методу оценочной функции на базе микроконтроллера MCS 251. Программа должна обеспечить запуск кругового интерполятора при подаче сигнала «пуск». Воспроизвести заданный участок прямой и повторить цикл заданное число раз. Требуемые значения перемещений вдоль координат задаются оператором. Система должна обеспечивать точность интерполяции .
Исходная программная информация определяет траекторию движения ИО только конечным числом опорных точек. Для осуществления формообразования в установках с контурными системами числового управления, необходимо, чтобы в каждый момент времени было обеспечено согласованное движение ИО установки по двум или большему числу координат. Для этого информация должна поступать в АСУ ЭП непрерывно и в соответствии с требуемым законом движения ИО по каждой координате. Эту задачу в системах ЧПУ выполняют интерполяторы.
Функциональная схема кругового интерполятора по методу оценочной функции представлена на рисунке 1.1 из учебного пособия [1]:
микроконтроллер процессор регистр сигнал
Рисунок 1 - Функциональная схема кругового интерполятора для 1-го квадранта.
Схема состоит из следующих блоков:
РгX и РгY - регистры по координатам X и Y.
СчX и CчY - счетчики по координатам X и Y.
С - сумматор.
Их и Иy - схемы ввода в сумматор (коньюнкторы).
БОЗ - блок определения знака оценочной функции.
БЗС - блок задания скорости.
ГТИ - генератор тактовых импульсов.
П - блок задания программы.
Принцип действия системы из учебного пособия [1]:
Круговой интерполятор с оценочной функцией распределяет импульсы по координатам X и Y в зависимости от знака некоторой функции, формируемой в процессе работы интерполятора и называемой оценочной.
При воспроизведении дуги окружности радиуса R с центром в начале координат оценочная функция определяется равенством:
.
Если текущая точка фактической траектории находится на окружности, то , вне окружности - , внутри окружности - . При воспроизведении траектории, находящейся в первом квадранте, положительное значение оценочной функции вызывает команду на выдачу импульса по координате по координате Y, отрицательное или нулевое - по оси X. После одного шага по оси X новое значение оценочной функции:
получается из предыдущего путем добавления к нему единицы и удвоенного значения текущей координаты. После одного шага по убывающей координате Y получается
и ,
т.е. к предыдущему значению оценочной функции нужно прибавить единицу и вычесть удвоенное значение текущей координаты.
От программного устройства П в регистры РгX и РгY заносятся значения чисел с координатами начальной точки дуги . В счетчики СчX и СчY вводятся числа, соответствующие приращениям по координатам участка дуги . В соответствии с установленным правилом приоритета первый импульс будет послан по оси X. Поступая на схему управления электроприводом координаты, он получает команду на удвоение и ввода в сумматор удвоенного числа из регистра РгX, по цепи обратной связи увеличивает показания сумматора на единицу, прибавляет единицу в регистр РгX и списывает единицу со счетчика СчX. В результате новое значение оценочной функции в соответствии с рассматриваемым алгоритмом будет равно:
.
Согласно рисунку 2, это число будет положительным, следовательно, следующий, второй импульс будет послан по оси Y. При его прохождении вычтется удвоенное значение числа регистра РгY из содержимого сумматора, уменьшится на единицу содержимое регистра РгY, прибавится единица в сумматор и спишется единица со счетчика СчY. Оценочная функция при этом примет значение:
.
Дальнейшее распределение импульсов по координатам будет зависеть от знака текущего значения оценочной функции . Такой режим работы интерполятора будет продолжаться до полной отработки чисел, внесенных в начале цикла в счетчики СчX и СчY.
1. Архитектура микроконтроллера и его интерфейсные устройства
Всем МК семейства MCS 251 присущи такие общие особенности:* 24-битовая линейная адресация до 16 Мбайт памяти;* ЦПУ регистровой архитектуры с регистрами, адресуемыми как байты, слова и двойные слова;* страничный режим, ускоряющий выборку команд из внешней памяти;* конвейер команд;* расширенная система команд, включающая 16-битовые арифметические и логические команды;* 64-Кбайтовый внешний стек;* минимальное время выполнения команд за два такта (по сравнению с 12 тактами у МК MCS 51);* двоичная совместимость с МК MCS 51; Некоторые достоинства, связанные с этими особенностями:* сохранение программ, написанных для МК MCS 51;* значительно более высокая скорость обработки, чем у МК MCS 51 при той же тактовой частоте;* поддержка программ и данных большего размера;* повышенная производительность программ на языке С; На рис. 1.1 представлена функциональная блок-схема 8XC251SB. Ядро процессора, общее для всех микроконтроллеров MCS 251, содержит блок синхронизации и сброса, схему обработки прерываний, шинный интерфейс, периферийный интерфейс и ЦПУ. ЦПУ состоит из дешифратора команд, АЛУ, файла регистров и интерфейса памяти данных. 8XC251SB выбирает команды из внутренней памяти программ по два байта за одно обращение, а из внешней памяти по одному байту. Команды по 16-битовой шине команд передаются в исполнительный блок. Можно сконфигурировать 8XC251SB для работы в страничном режиме (page mode), позволяющем ускорить выборку команд из внешней памяти. Каждая команда в страничном режиме, попавшая в ту же 256-байтовую "страницу", что и предыдущая, выбирается за одно состояние (state), т.е. за два такта (clock), а не за два состояния (четыре такта). Файл регистров 8XC251SB содержит 40 регистров, к которым можно обращаться как к байтам, словам и двойным словам. Регистры 0--7 разбиты на четыре банка по восемь регистров в каждом, причем активный банк выбирается через слово состояния программы (PSW) для быстрого контекстного переключения.
Рисунок 1.1 - Функциональная блок-схема 8ХС251SB.
Источником синхронизации для 8XC251SB может быть внешний или внутренний генератор с внешним кварцевым резонатором. Базовой единицей времени в микроконтроллерах MCS 251 является время состояния (или состояние), равное двум периодам генератора (рис. 1.2). Периферийные устройства 8XC251SB работают в периферийном цикле, состоящем из шести состояний. Устройство сброса служит для перевода 8XC251SB в исходное состояние. Сброс всего кристалла инициируется путем подачи сигнала RST или по обнулению сторожевого таймера.
Рисунок 1.2 - Состояния на выходе генератора.
В микроконтроллерах 83C251SB и 87C251SB ячейки памяти с адресами FF:0000Н - FF:ЗFFFН реализованы в виде 16 Кбайт внутрикристалльной памяти программ.
МК 8XC251SB содержит на кристалле 1 Кбайт ОЗУ данных (ячейки 20H - 41FH), к которому можно обращаться с использованием прямой, косвенной и смещенной адресации. Тактовая частота микроконтроллера fт=16 МГц.
Внутрикристалльные периферийные блоки, размещенные вне процессорного ядра, служат для выполнения специальных функций. Программы имеют доступ к этим блокам через соответствующие регистры специальных функций (special function registers - SFR). В МК 8XC251SB имеется четыре периферийных блока: сторожевой таймер, таймеры-счетчики, матрица программируемых счетчиков (programmable counter array - РСА) и последовательный порт. Блок состоит из трех таймеров-счетчиков, которые могут синхронизироваться от кварцевого генератора (для таймеров) или от внешнего источника (для счетчиков). Можно установить 8-, 13- или 16-битовый таймер-счетчик, а также запрограммировать их для специального применения. Сторожевой таймер - это схема, которая автоматически сбрасывает 8XC251SB в случае аппаратного или программного зависания. Если он разрешен в программе, то сторожевой таймер начинает счет, и при условии отсутствия вмешательства программы, достигает своего максимального значения и инициализирует сброс кристалла. Матрица программируемых счетчиков (РСА) имеет собственный таймер и пять модулей фиксации-сравнения (capture/compare), выполняющих несколько функций: фиксацию (запоминание) значения таймера в момент смены состояния на входном контакте; выработка запроса прерывания, когда таймер достигает значения, хранимого в регистре, переключение состояния на выходном контакте, когда таймер достигает значения, хранимого в регистре; генерация программируемого сигнала с широтно-импульсной модуляцией (PWM- pulse width modulator) по выходному контакту; а также работу в режиме программного сторожевого таймера (software watchdog timer). Последовательный порт ввода-вывода обеспечивает работу в одном синхронном и трех асинхронных режимах. Синхронный режим (mode 0) является полудуплексным: последовательный порт выводит синхросигнал по одному контакту, а передает или принимает данные по другому контакту.
2. Выбор устройств ввода и вывода для входных и выходных сигналов
В соответствии с заданием курсовой работы, входные и выходные величины контроллера принимаем дискретными. С помощью схемы, изображенной на рисунке 2.1 определим количество портов и число бит каждого порта.
Рисунок 2.1 - Структурная схема сопряжения контроллера с объектом управления.
ЗУ - задающее устройство;
ОУ - объект управления;
На два входных порта подаётся 16-битный цифровой код задания радиуса интерполяции с задающего устройства. С двух выходных портов снимается унитарный код в виде импульсов для задания перемещений по осям X и Y. Имеется также выходной порт, с которого снимается сигнал “цикл отработан” после окончания отработки перемещения по обеим осям. Итого необходимо задействовать два порта (по 8 бит) для ввода сигнала, и три порта (по одному биту) для вывода.
3. Разработка алгоритма управления
3.1 Вывод выражений для расчета сигнала управления.
Уравнение окружности запишем в следующем виде:
.
Оценочная функция для окружности:
.
Определяем количество разрядов необходимых для обеспечения заданной точности. Максимальное допустимое отклонение точки от дуги окружности .
Определяем максимальное число, которое должно быть записано в регистр, Nмакс при отработке максимального радиуса:
.
Необходимое число разрядов регистра, находим из выражения:
,
,
,
.
Необходимо 18 разрядов, а микроконтроллер в задании 16-разрядный. Таким образом, для решения поставленной задачи можно использовать 32-разрядные микроконтроллеры типа:
· PIC32 - семейство PIC32 построено на ядре MIPS32®, с лидирующей в отрасли комбинацией быстродействия, низкого потребления энергии, быстрой реакции на прерывание и средств разработки. В 32-разрядных микроконтроллерах PIC32 используется ядро MIPS32 M4K®, обеспечивающее лучшее в своем классе быстродействие.
· ARM7TDMI - разработчиком микроконтроллерного ядра ARM является английская фирма Aadvanced Risc Machines, одной из особенностей ядра ARM7TDMI является возможность функционирования в двух режимах, 32-разрядном и 16-разрядном режиме THUMB, причем переход из одного режима в другой осуществляется программно в процессе работы микроконтроллера.
· MC68300 - микроконтроллер фирмы Motorola, особенностью которого является широчайшая номенклатура периферийных модулей, в том числе специализированных для определенных приложений, исключительная гибкость и простота построения и отладки системы.
Другой вариант решения задачи является применение мультипроцессорных систем. Мультипроцессор - это компьютерная система, которая содержит несколько процессоров и одно адресное пространство, видимое для всех процессоров. Он запускает одну копию ОС с одним набором таблиц, в том числе тех, которые следят какие страницы памяти свободны.
Требования, предъявляемые современными процессорами к полосе пропускания памяти можно существенно сократить путем применения больших многоуровневых кэшей. Тогда, если эти требования снижаются, то несколько процессоров смогут разделять доступ к одной и той же памяти. Эта идея, подкрепленная широким распространением микропроцессоров, стимулировала многих разработчиков на создание небольших мультипроцессоров, в которых несколько процессоров разделяют одну физическую память, соединенную с ними с помощью разделяемой шины. Современные конструкции позволяют разместить до четырех процессоров на одной плате.
По согласованию с руководителем курсовой работы, уменьшаем требуемую точность системы до . Тогда:
.
.
.
Необходимо 14 разрядов, следовательно требуемая точность будет достигнута.
.
3.2 Алгоритм управления
В соответствии с выражениями для расчёта координат x, y, выражениями для вычисления оценочной функции на каждом шаге, составляем алгоритм программы (рисунок 3.1). Для определения квадранта и направления вращения составим таблицу оценочных функций (учебное пособие [2]).
Таблица 3.1 - Оценочные функции.
Систематизируем полученные данные:
Таблица 3.2
На основе таблицы 3.2 составим условие определения квадранта и направления вращения:
Рисунок 3.1 - Алгоритм программы.
4. Разработка программы управления
4.1 Инициализация устройств ввода и вывода
Для организации ввода и вывода используются 3 параллельных восьмиразрядных порта. По умолчанию любой порт настроен на вывод информации. Для настройки порта на ввод информации, нужно записать в разряд порта 1. Инициализируем порт на ввод информации - запись в разряд порта число . При инициализации порта на вывод необходимо записать в разряд порта . Инициализация портов представлена в таблице 4.1.
Таблица 4.1 - Инициализация портов.
Мнемокод |
Комментарий |
|
MOV P0,#FFh |
Инициализация порта P0 на ввод R |
|
MOV P2,#FFh |
Инициализация порта P2 на ввод R |
|
MOV P1,#00h |
Инициализация порта P1 на вывод |
|
MOV P3,#00h |
Инициализация порта P3 на вывод |
4.2 Расположение переменных и констант в регистрах процессора
Таблица 4.2 - Расположение переменных и констант в регистрах процессора.
Название регистра |
Переменная или константа содержащаяся в регистре |
|
A, B, WR |
содержат значения результатов промежуточных расчетов |
|
WR0 |
xi - текущее значение координаты х на i-том шаге |
|
WR2 |
- конечное значение координаты х |
|
WR4 |
- текущее значение координаты y на i-том шаге |
|
WR6 |
- конечное значение координаты y |
|
WR10 |
i - номер текущего шага |
|
WR12 |
Rmax - максимальный радиус |
|
WR14 |
R - задаваемый радиус |
|
WR20 |
Fi - текущее значение оценочной функции на i-том шаге |
|
WR24 |
Xi+1 - приращение по x |
|
WR30 |
Yi+1 - приращение по y |
4.3 Текст программы (таблица с указанием адресов, мнемокодов, числа тактов и комментариев, в тексте раздела дать описание программы)
По согласованию с руководителем курсовой работы, задаемся квадрантом, и направлением вращения:
Квадрант 2, направление против часовой стрелки.
Метка |
Мнемокод |
Комментарий |
Такты |
|
MOV WR10,#00 |
i=0 |
|||
MOV WR20,#00 |
Fi=0 |
|||
m1: |
MOV A, P2 |
старшая часть |
||
MOV WR14, А |
старшая часть |
|||
MOV A, #08 |
||||
m4: |
SLL WR14 |
сдвигает единицы старшей части R на один бит влево и заменяет младший бит на 0 |
||
SUB A, #01 |
||||
JNE m4 |
Если , то переход к метке m4 |
|||
MOV A, P0 |
младшая часть |
|||
MOV WR8, A |
младшая часть |
|||
ADD WR14, WR8 |
младшая часть R+старшая часть RWR14 |
|||
MOV A,WR14 |
||||
MOV B,WR12 |
||||
SUB A,B |
A |
|||
JG m1 |
Если,то переход к метке m1 |
|||
m3: |
INC WR10, #01 |
i=i+1 - инкрементирование числа шагов |
||
MOV A,WR20 |
||||
JGE m2 |
Если,то переход к метке m2 |
|||
MOV B,WR4 |
||||
RL B |
||||
SUB A, B |
|
|||
INC A |
||||
MOV WR20, A |
||||
DEC WR4, 01 |
|
|||
MOV P3.7, #1b |
Вывод порта Y (1 P3.7) |
|||
m2: |
MOV B,WR0 |
|||
RL B |
||||
ADD A,B |
|
|||
INC A |
||||
MOV WR20, A |
||||
INC WR0, 01 |
|
|||
MOV P3.6, #1b |
Вывод порта X (1 P3.6) |
|||
MOV A, WR2 |
||||
MOV B, WR0 |
||||
SUB A, B |
||||
JNE m3 |
Если , то переход к метке m3 |
|||
MOV A, WR6 |
||||
MOV B, WR4 |
||||
SUB A, B |
||||
JNE m3 |
Если , то переход к метке m3 |
|||
MOV P1.7, #1b |
Вывод сигнала окончания цикла |
|||
RET |
Окончание |
5. Схема принципиальная электрическая. Соединение контроллера с объектом управления
Рисунок 5.1 - Схема принципиальная электрическая.
Заключение
В данной курсовой работе рассмотрена функциональная схема кругового интерполятора по методу оценочной функции, для отработки перемещений рабочего органа по дуге окружности в первом квадранте; представлены выражения для определения оценочной функции и координат по осям X и Y; подробно рассмотрены архитектура, интерфейсные устройства и система команд микроконтроллера MCS 251. В соответствии с заданием на проектирование, было рассчитано необходимое число регистров микроконтроллера, использование которых обеспечит заданную точность при отработки перемещений по дуге окружности радиусом в до максимального, указанного в задании. Показана инициализация портов котроллера, составлен алгоритм, обеспечивающий выполнение поставленной задачи и написана в соответствии с ним программа. Составлена принципиальная электрическая схема соединения контроллера с объектом управления.
Список литературы
1. Башарин А.В., Новиков В.А., Соколовский Г.Г. Управление электроприводами. - Санкт-Петербург: 1982.
2. Готшальк О.А. Системы автоматизации и управления. - Санкт-Петербург: 1998г.
3. Петренко Ю.Н. Системы программного управления технологическими комплексами. Пион - Мн.: 2002.
Размещено на Allbest.ru
Подобные документы
Структура фрагмента процессора. Функциональный состав процессорного блока. Входные/выходные сигналы распределителя. Микропрограмма управления для команды. Устройство управления и синхронизации, принцип его работы. Порты ввода, вывода микроконтроллера.
курсовая работа [653,2 K], добавлен 17.04.2015Особенности микроконтроллера ATTINY семейства AVR. Описание ресурсов микроконтроллера ATTINY12: описание процессора, порты ввода/вывода, периферийные устройства, архитектура ядра. Разработка устройства со световыми эффектами на базе микроконтроллера.
курсовая работа [2,1 M], добавлен 24.06.2013Анализ датчиков и разработка структуры измерительных каналов, схемы источника электропитания. Выбор микроконтроллера. Проектирование функциональной схемы входных и выходных узлов. Блок-схема алгоритма и программа управления микроконтроллерной системой.
курсовая работа [2,1 M], добавлен 17.07.2012Характеристика основных типов цифро-аналоговых преобразователей. Особенности программирования портов ввода вывода микроконтроллера. Составление программ, синтезирующих аналоговый сигнал заданной формы. Схемы резистивной матрицы, листинг программы.
лабораторная работа [226,1 K], добавлен 22.11.2012Проектирование модуля вывода дискретных и ввода аналоговых сигналов для систем управления различным технологическим оборудованием. Моделирование схемы модуля в ССМ Multisim. Разработка печатной платы модуля. Разработка принципиальной и структурной схем.
курсовая работа [1,8 M], добавлен 03.11.2014Изучение метода корреляционного анализа для проверки идентичности математической модели при условии случайного выбора входных и выходных сигналов. Проведение технического диагностирования объекта управления в целях обнаружения отказов оборудования.
контрольная работа [407,5 K], добавлен 04.07.2010Разработка расширителя портов ввода-вывода и особенности его применения. Программируемая логическая интегральная схема CPLD. Плис CoolRunner-II, главные функции. Листинг модулей на языке Verilog. Временная диаграмма, внутреннее содержание модуля.
курсовая работа [1,9 M], добавлен 26.01.2013Общее описание восьмиразрядного высокопроизводительного однокристального микроконтроллера. Порты ввода-вывода. Разработка структурно-функциональной схемы. Выбор элементной базы, основные используемые процедуры. Описание алгоритма программы, ее листинг.
курсовая работа [28,4 K], добавлен 23.12.2012Проблемы современной радиотехники. Преимущества сверхширокополосных сигналов в сравнении с узкополосными. Эллипсные функции и их связь с круговой тригонометрией. Использование оптимального алгоритма обнаружения радиоимпульсов с эллипсными несущими.
дипломная работа [2,2 M], добавлен 09.03.2015Проектирование схемы устройства управления, выбор и описание элементов схем (ввода-вывода, логические, счетчик и другие элементы), принципы и подходы к реализации различных функций. Моделирование работы схемы в Electronics Workbench, анализ результатов.
контрольная работа [690,8 K], добавлен 04.04.2016