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

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

Рубрика Коммуникации, связь, цифровые приборы и радиоэлектроника
Вид контрольная работа
Язык русский
Дата добавления 07.08.2013
Размер файла 114,6 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

14

Размещено на http://www.allbest.ru/

- 1 -

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

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

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

Выполнил:

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

Задание

Преобразователь параллельного 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

rjmpINT0_interrupt

rjmpINT1_interrupt

rjmpT1CAPT_interrupt

rjmpT1COMP_interrupt

rjmpT1OVF_interrupt

rjmpT0OVF_interrupt

rjmpUART_RX_interrupt

rjmpUART_UDRE_interrupt

rjmpUART_TX_interrupt

rjmpANCOMP_interrupt

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

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

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

clrr16

clrr17

clrr18

clrr25

clrr28

clrr29

clrr30

clrr31

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

ldir16, 0x7F

outSPL, r16

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

ldi r31, 0x00

out DDRB, r31

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

ldi r31, 0x40

out DDRD, r31

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

ldir17, 0x40

outTIMSK, r17

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

in r31, PORTB

subr31, 0x0C

ldi r25, 0

outOCR1AH, r25

out OCR1AL, r31

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

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

ldir18, 0x01

out TCCR1A, r17

;Выбор делителя системной частоты 1

ldir17, 0x01

outTCCR1B, r17

;Включение входа PD5

sbi PORTD, 6

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

sei

;Программа

cycle:

rjmp cycle ;Бесконечный цикл

;Обработчики прерываний

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

in r30, PORTD;Проверка, включен ли

sbrc r30, 6;выход PD6

cbi PORTD, 6;Если да, то сбрасываем

com r30

sbrc r30, 6

sbi PORTD, 6;Если нет, то устанавливаем

ldir17, 0xFF;Запоминаем период ШИМ-сигнала

ldi r18, 29

adc r17, r18

ldi r18, 1

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

subr28, 0x0C

sbc r17, r28

mov r28, r17

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

;новое значение длины импульса

ldi r31, 0x00;Сбрасываем счетчик Т/С 1

out TCNT1L, r31

reti ;Возврат из прерывания

T1OVF_interrupt:

reti

T0OVF_interrupt:

reti

UART_RX_interrupt:

reti

UART_UDRE_interrupt:

reti

UART_TX_interrupt:

reti

ANCOMP_interrupt:

reti

INT0_interrupt:

reti

INT1_interrupt:

reti

T1CAPT_interrupt:

reti

Заключение

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

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

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

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

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

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

5. www.analog.com

Размещено на Allbest.ru


Подобные документы

  • Принципиальная схема генератора пачек импульсов и перечень его элементов, разработка алгоритма и программы функционирования. Обзор архитектуры AT90S2313 и система его команд. Моделирование работы генератора пачек импульсов с помощью Visual Micro Lab.

    курсовая работа [1,2 M], добавлен 06.06.2011

  • Алгоритм функционирования контроллера имитатора навигационного сигнала, его упрощенная структурная схемы. Спецификация входных и выходных сигналов. Разработка аппаратной части заданного блока контроллера и программного обеспечения. Исходный код программы.

    курсовая работа [1,1 M], добавлен 13.10.2017

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

    курсовая работа [318,8 K], добавлен 14.06.2011

  • Разработка и описание алгоритма функционирования устройства, отладка рабочей программы на языке команд микропроцессора. Обоснование аппаратной части устройства. Составление электрической принципиальной схемы устройства, расчет быстродействия устройства.

    курсовая работа [50,2 K], добавлен 03.12.2010

  • Разработка алгоритма функционирования устройства. Разработка и отладка рабочей программы на языке команд микропроцессора. Составление и описание электрической принципиальной схемы. Расчет АЧХ устройства для заданных и реальных значений коэффициентов.

    курсовая работа [313,9 K], добавлен 28.11.2010

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

    курсовая работа [538,7 K], добавлен 19.01.2012

  • Основные сведения о регистрах. Проектирование восьмиразрядного синхронного реверсивного сдвигающего регистра. Постановка задачи и выбор методики расчета. Разработка и расчет схемы логического устройства. Выбор используемых элементов и типа триггеров.

    курсовая работа [810,8 K], добавлен 14.09.2016

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

    курсовая работа [362,3 K], добавлен 22.02.2014

  • Классификация цифровых измерительных приборов, разработка структурной схемы устройства измерения временных величин сигналов. Описание базового микроконтроллера и программного обеспечения. Аппаратно-программные средства контроля и диагностики устройства.

    дипломная работа [647,7 K], добавлен 20.10.2010

  • Разработка блок-схемы и программы работы микропроцессорного устройства для контроля и индикации параметров, изменяющихся по случайному закону 8-разрядного двоичного кода. Разработка принципиальной схемы функционирования устройства в среде САПР P-CAD.

    курсовая работа [709,6 K], добавлен 24.05.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.