Разработка модуля генератора специальных функций

  • Вид работы:
    Контрольная работа
  • Предмет:
    Информатика, ВТ, телекоммуникации
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    29,93 Кб
  • Опубликовано:
    2013-08-07
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Разработка модуля генератора специальных функций















Курсовой проект

По дисциплине «Микроконтроллеры»

Преобразователь треугольного в длительность импульса


Выполнил:

Студент: Мингалимов Р.Ш.

Задание

Преобразователь параллельного 8-разрядного двоичного кода в длительность импульса. Двоичный код подается на линии параллельного порта МК. Сигнал начала преобразования: положительный фронт дискретного сигнала. ШИМ-сигнал на выходе МК формируется сразу после появления сигнала преобразования и остается без изменений до появления следующего импульса сигнала преобразования. Для вычисления длительности импульса ШИМ сигнала используется значение двоичного входного кода на момент появления сигнала преобразования. При включении питания до прихода первого сигнала преобразования ШИМ сигнал должен на выходе МК отсутствовать (лог. 0). Диапазон значений входного двоичного сигнала: 0х00 - 0хFF. Коэффициент заполнения ШИМ-сигнала: 10% - 90%. Частота ШИМ-сигнала 10000Гц

Разработать принципиальную схему и программное обеспечение модуля генератора специальных функций: треугольный сигнал. Для генерации сигналов используется внутренний ШИМ микроконтроллера. Частота сигнала задается через последовательный интерфейс RS-232. Полоса частот входного треугольного сигнала: 10Гц - 1000Гц. Выходной сигнал - последовательность ШИМ-сигнала.

Протокол обмена данными. Пример запроса к разрабатываемому устройству: «:F<пробел>100», где ‘100’ - частота сигнала, Гц. Пример ответа: «ОК». Данные передаются в символьном виде (ASCII). Скорость обмена данными 9600 бит/с.

преобразование схема программный контроллер

Введение

Микроконтроллер (MCU) - микросхема, предназначенная для управления электронными устройствами. Типичный микроконтроллер сочетает в себе функции процессора и периферийных устройств, может содержать ОЗУ и ПЗУ. По сути, это однокристальный компьютер, способный выполнять простые задачи. Использование одной микросхемы, вместо целого набора, как в случае обычных процессоров, применяемых в персональных компьютерах, значительно снижает размеры, энергопотребление и стоимость устройств, построенных на базе микроконтроллеров.

Разрабатываемый преобразователь представляет собой цифро-аналоговый преобразователь с широтно-импульсной модуляцией. Это простейший тип ЦАП. Стабильный источник тока или напряжения периодически включается на время, пропорциональное преобразуемому цифровому коду, далее полученная импульсная последовательность фильтруется аналоговым фильтром низких частот. Такой способ часто используется для управления скоростью электромоторов, а также становится популярным в Hi-Fi аудиотехнике.

1. Структурная схема

Рис. 1. Структурная схема преобразователя

Рис. 2. Временные диаграммы

В основе метода формирования сигнала с широтно-импульсной модуляцией (ШИМ-сигнала) используется та же идея, что и в АЦП развертывающего типа: на положительный вход устройства сравнения подается преобразуемый постоянный сигнал, на отрицательный вход - линейно изменяющийся во времени сигнал (рисунок 1). Сравнивающее устройство выдает сигнал логического нуля, если опорный линейно изменяющийся сигнал больше преобразуемого, и наоборот.

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

Широтно-импульсная модуляция (по своей сути - преобразование напряжение-время) может использоваться как промежуточный этап при переходе от аналоговых к цифровым величинам. Длительность временного промежутка легко измерить, подсчитав число импульсов напряжения стабильной опорной частоты, которое прошло за этот промежуток. Сделать это можно с помощью счетчика, на счетный вход которого поступают импульсы опорной частоты, а на вход разрешения счета - измеряемый импульс. При этом на выходе счетчика сразу получается цифровой код N, пропорциональный измеряемому напряжению.

Элементная база:

Резисторы:

Обозн.

Наименование

Количество

R1

С2-29В-0,125Вт-10кОм0,1%1


R2

С2-29В-0,125Вт-10кОм0,1%1



Конденсаторы:

Обозн.НаименованиеКоличество



C1

К50-35 100 мкФ x 10В (20%)

1

C2

К10-17А-М47 20пФ x 50В, (10%)

1

C3

К10-17А-М47 20пФ x 50В, (10%)

1

C4

К50-35 10 мкФ x 10В (20%)

1

С5

К53-1А-0.1 мкФ x 10В (20%)

1

С6

К53-1А-0.1 мкФ x 10В (20%)

1

С7

К50-35 100 мкФ x 10В (20%)

1


Кварцевый генератор:

Обозн.

Наименование

Примечание

Количество

Z1

C-MAC IQXO-22C BU

4 МГц; 5В; TTL/КМОП

1


Индуктивности:

Обозн.

Наименование

Количество

L1

EC24-100K, 10 мкГн, 10%

1

Микроконтроллеры:

Наименование

Примечание

Количество

DD1

AT90S2313

max рабочее напряжение 6.6В; пост. ток через вывод порта 40 мА; пост. ток между VCC и GND 200 мА

1

Мультиплексоры:

Обозн.

Наименование

Количество

MS

MC74HC4051A

1


3. Принципиальная схема

Рис. 3. Принципиальная схема преобразователя

4. Программное обеспечение

Программное обеспечение для устройства написанное и отлажено среде AVR Studio.

















Рис. 4. Блок-схема программного обеспечения

Пояснения к работе программного обеспечения

В программе обрабатывается только одно прерывание - прерывание по совпадению таймера/счетчика 1

Обработка сброса:

Устанавливаем необходимые регистры:

указатель стека

инициализируем порты B и D

очищаем все необходимые временные регистры

разрешаем прерывание по совпадению таймера/счетчика 1

считываем данные с порта B

записываем эти данные в регистр сравнения таймера/счетчика 1

регистр управления таймером/счетчиком 1 A (устанавливаем режим работы таймера - 8-ми разрядный ШИМ)

регистр управления таймером/счетчиком 1 B (настраиваем коэффициент деления системной частоты)

устанавливаем сигнал на выходе PD6 порта D

Ждем прерывание (выполняется программа).

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

Выполняем прерывание.

Обработка прерывания по совпадению таймера/счетчика 1:

устанавливаем или сбрасываем (в зависимости от ситуации) сигнал на выходе PD6

вычитаем из временного регистра, в котором содержится период ШИМ-сигнала, длительность прошедшего ШИМ-импульса (значение, снятое с порта B)

получившееся значение записываем в регистр совпадения таймера/счетчика 1

сбрасываем таймер/счетчик 1

возвращаемся в программу

При новом совпадении регистра значения с регистром совпадения таймера/счетчика 1 программа вновь уходит на прерывание.

Листинг ПО:

.INCLUDE "2313def.inc"

;Определение сегмента кода

.CSEG

.ORG0x0000

;Таблица векторов прерываний

rjmpReset_interrupt_interruptCAPT_interruptCOMP_interruptOVF_interruptOVF_interrupt_RX_interrupt_UDRE_interrupt_TX_interrupt_interrupt:;Прерывание по сбросу микроконтроллера

;Инициализация периферии МК

;Очистка необходимых временных регистров

clrr16

clrr30

;Настройка указателя стека

ldir16, 0x7F

outSPL, r16

;Инициализация порта Br31, 0x00DDRB, r31

;Инициализация порта D

ldi r31, 0x40DDRD, r31

;Разрешение прерывания от функции выходного сравнения для таймера/счетчика 1

ldir17, 0x40

outTIMSK, r17

;Инициализация регистра выходного сравнения значением, снятым с порта B

in r31, PORTB, 0x0Cr25, 01AH, r25

out OCR1AL, r31

;Включение таймера/счетчика 1

;Установка работы таймера в режиме 8-ми разрядного ШИМ

ldir18, 0x01

out TCCR1A, r17

ldir17, 0x01

outTCCR1B, r17

;Включение входа PD5PORTD, 6

;Глобальное разрешение прерываний

;Программа:cycle ;Бесконечный цикл

;Обработчики прерыванийCOMP_interrupt:;прерывание по совпадению таймера/счетчика 1r30, PORTD;Проверка, включен лиr30, 6;выход PD6PORTD, 6;Если да, то сбрасываемr30r30, 6PORTD, 6;Если нет, то устанавливаем, 0xFF;Запоминаем период ШИМ-сигнала

ldi r18, 29r17, r18r18, 1

in r28, PORTB;Считываем новые данные с порта B

subr28, 0x0Cr17, r28r28, r17

out OCR1AL, r28;Заносим в регистр сравнения

;новое значение длины импульсаr31, 0x00;Сбрасываем счетчик Т/С 1TCNT1L, r31;Возврат из прерывания

T1OVF_interrupt:

retiOVF_interrupt:_RX_interrupt:_UDRE_interrupt:_TX_interrupt:_interrupt:_interrupt:_interrupt:

retiCAPT_interrupt:

Заключение

В данном проекте была разработана схема устройства для преобразования параллельного 8-ми разрядного кода в длительность ШИМ-сигнала. Все элементы в схеме подобраны правильно, поэтому данное устройство удовлетворяет поставленным требованиям. Программное обеспечение написано с помощью команд контроллера AT90S2313. Программное обеспечение проверенно и отлажено в среде AVR Studio 4.0.

 

Список литературы

1. Хоровиц П., Хилл У., Искусство схемотехники: Пер. с англ. - Изд. 6-е. - М.: Мир, 2003 - 704 с.

. Конспекты лекций по дисциплинам «Схемотехника» и «Микроконтроллеры».

. Баранов В.Н., Применение микроконтроллеров AVR: схемы, алгоритмы, программы - М.: издательский дом «Додэка-XXI», 2004 - 288 с.

. Квеглис С.В., Микроконтроллеры AVR: Метод. пособие. - Новосибирск: Изд-во НГТУ, 2003.

5. www.analog.com

Похожие работы на - Разработка модуля генератора специальных функций

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!