Измерение фазового сдвига двух импульсных сигналов
Написание программы для микроконтроллера MSP430F149-TexasInstruments, измеряющей фазовый сдвиг двух импульсных сигналов относительно друг друга. Теория и алгоритм функционирования программы. Предварительные расчеты для настройки системы тактирования.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 04.05.2014 |
Размер файла | 120,6 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Оглавление
Введение
Задание
Начальные параметры
Элементы теории
Алгоритм функционирования программы
Программа
Предварительные расчеты для настройки системы тактирования
Текст программы
Заключение
программа микроконтроллер сигнал импульсный
Введение
На сегодняшний день рынок электроники переполнен различными микроконтроллерами разных производителей. Разумеется, они имеют аналогии, однако, и различия есть существенные. В своей работе использую микроконтроллеры семейства MSP430 модель F149. Микроконтроллеры MSP430 представляют собой серию 16-ти разрядных микроконтроллеров фирмы TexasInstruments (www.ti.com). Американская фирма TI является мировым лидером по производству цифровых сигнальных процессоров. Ею также производятся микроконтроллеры индустриального применения, аналоговые и цифровые микросхемы широкого применения.
Микроконтроллеры семейства MSP430 имеют одинаковое 16-разрядное процессорное ядро и отличаются друг от друга объемом встроенной памяти программ и данных, набором периферийных устройств, количеством внешних выводов.
Как и AVR микроконтроллеры, MSP реализует RISC (ReducedInstructionSetComputer) идеологию (всего 27 базовых команд). Однако, а отличие от AVR, данная серия построена по фон-неймановской (vonNeumann) архитектуре, предполагающей, что память программ и память данных находятся в одном адресном пространстве. Основными чертами рассматриваемых микроконтроллеров являются широкий набор встроенных периферийных устройств, высокая производительность процессора и крайне низкая мощность потребления, что делает их идеальными для применения в портативных измерительных индустриальных и биомедицинских приборах.
В работе будет разработан алгоритм для реализации поставленной задачи и написана соответствующая программа.
Задание
Написать программу для микроконтроллера MSP430F149 - TexasInstruments, которая бы измеряла фазовый сдвиг двух импульсных сигналов относительно друг друга.
Начальные параметры
NTmax |
1000 |
|
Минимальная частота Fmin, Гц |
100 |
|
Максимальная частота Fmax, Гц |
150 |
|
Минимальный период Tmin, с |
0,01 |
|
Максимальный период Tmax, с |
0,006 |
Элементы теории
Перед тем, как приступить к реализации поставленной задачи, дадим несколько базовых определений, необходимых для разработки алгоритма и программы.
Фаза характеризует состояние гармонического сигнала в определённый момент времени t. Фазовый угол в начальный момент времени (начало отсчёта времени), т.е. при t=0, называется нулевым (начальным) фазовым сдвигом. Разность фаз Дц измеряют обычно между током и напряжением, либо между двумя напряжениями. Фазовым сдвигом ц называется модуль разности аргументов двух гармонических сигналов одинаковой частоты и , т. е. разности начальных фаз:
(1.1)
Фазовый сдвиг является постоянной величиной и не зависит от момента отсчета. Обозначим через ?T интервал времени между моментами, когда сигналы находятся в одинаковых фазах, например при переходах через ноль от отрицательных к положительным значениям. Тогда фазовый сдвиг
Или
(2.1)
где Т -- период гармонических сигналов.
Фазовый сдвиг появляется, когда электрический сигнал проходит через цепь, в которой он задерживается. Колебательные контуры, фильтры, фазовращатели и другие четырехполюсники вносят фазовый сдвиг между входным и выходным напряжениями ц = щtзгде tз -- длительность задержки в секундах. Усилительный каскад обычного типа вносит фазовый сдвиг, равный р. Многие радиотехнические устройства: радиолокационные, радионавигационные, телевизионные, широкополосные усилители всех назначений, фильтры -- характеризуются наряду с другими параметрами фазочастотной характеристикой ц(щ), т. е. зависимостью фазового сдвига от частоты. Фазовая модуляция и манипуляция широко применяются в аппаратуре телеметрии и связи; измерение фазового сдвига в этих устройствах является определяющим как при настройке, так и в эксплуатации.
Если напряжения с одинаковыми частотами имеют несинусоидальную форму, то фазовый сдвиг рассматривается между их первыми гармониками; при измерении напряжение высших гармоник отфильтровывается с помощью фильтров нижних частот. Можно такие напряжения характеризовать временным интервалом ?T.
Рисунок 1.1 Фазовый сдвиг а - между синусоидальными сигналами, б - несинусоидальными
Для измерения фазового сдвига применяют следующие методы:
· Осциллографический
· Компенсационный
· Преобразования фазового сдвига в импульсы тока
· Метод дискретного счета и др.
В моей работе сдвиг фазы будет измерен с помощью микроконтроллера. Итак, приступим к разработке алгоритма программы.
Алгоритм функционирования программы
Что бы измерить фазовый сдвиг в работе будет использован, как уже говорилось ранее микроконтроллер MSP430F149. На два разных входа будут подавать два сигнала одинаковой частоты и периода, с той лишь разницей, что один сигнал относительного другого будет поступать с некоторой задержкой. Будем использовать два таймер-счетчика. Первый будет измерять период сигнала (Tx), а второй - период (T), но с задержкой, сигнала, который поступает на второй вход микроконтроллера. Задержку обозначим и вычислим по формуле как t=T-Tx. Далее с помощью формулы (2.1) посчитаем сдвиг фаз.
Перед тем, как заниматься данной задачей, в достаточной степени была изучена архитектура используемого микроконтроллераMSP430F149, поэтому алгоритм будем описан уже с применением соответствующей терминологии.
На два входа микроконтроллера (P1IN и P2IN) подаются сигналы. Эти сигналы будем представлять в качестве меандра.
1) Настраиваем систему
· настройка системы тактирования;
· настройка двух таймеров-счётчиков TA3 и TB7;
· отключение сторожевого таймера.
2) Ждём положительного перепада первого сигнала, поступающего на порт P1IN.
При наступлении выше указанного события:
· Запускаем таймер TA3
· Запускаем таймер TB7
3) Ждем отрицательного перепада сигнала, поступающего на порт P1IN. При наступлении выше указанного события:
· Останавливаем TA3
· Копируем значение TAR в переменную Tx(период)
4) Ждём отрицательного перепада второго сигнала, который подаётся на порт P2IN. При наступлении этого события:
· Останавливаем TB7
· Копируем значение TBR в переменную T (период с задржкой)
5) Выполняем все необходимые математические операции для вычисления фазового сдвига двух импульсных сигналов относительно друг друга.
Графическое представление реализации программы изображено на рисунке 2.1 ниже.
Размещено на http://www.allbest.ru/
Рисунок 2.1
Программа
Программа будет написана на языке программирования Cи. Составим блок-схему программы (рисунок 3.1).
Размещено на http://www.allbest.ru/
Рисунок 3.1 Блок-схема программы
Предварительные расчеты для настройки системы тактирования
Найдем период:
Вычислим опорную частоту:
Текст программы
# include<msp430x14x.h>
# include <stdlib.h>
# include <math.h>
int T, Tx, t;
float ps;
void main(void)
{
WDTCTL = WDTPW + WDTHOLD;
//Остановкасторожевоготаймера
BCSCTL2 |= SELM_2 + SELS + DIVS_3; //настройка системы тактирования
TACTL |= TASSEL_2 + ID_2; //настройка таймера TA3
TBCTL |= CNTL_0 + TBSSEL_2 + ID_2;
// настройка таймера TB7
while (1) { //Основнойцикл
while (P1IN !=1){
}
while (P1IN !=0){
}
TACTL |= MC_2;
TBCTL |= MC_2;
while (P1IN ==0) {
}
TACTL |= MC_0;
Tx = TAR;
while (P2IN ==0){
}
TBCTL |= MC_0;
T = TBR;
t = abs(abs(T) - abs(Tx)); //вычисление задержки сигнала
ps = ((float)t/abs(T))*360;}//вычисление фазовогосдвига
}
Заключение
В своей курсовой работе рассмотрела один из методов измерения сдвига фаз. С поставленной задачей справилась и программу протестировала на микроконтроллере MSP430F149. Поставленную задачу реализовала по большей части программно. Существуют и другие логики написания программы, например, программу можно было написать и используя один таймер счётчик, воспользовавшись каналами захвата-сравнения. Чтоможет быть целью будущих работ.
Размещено на Allbest.ru
...Подобные документы
Разработка программы на языке Visual Basic для расчёта составной конструкции системы двух тел. Написание программы для расчёта реакций составной конструкции при шарнирной и скользящей заделке. Исследование зависимости реакции опоры от направления силы.
курсовая работа [34,5 K], добавлен 16.09.2010Написание программы вычисления сопротивления электрической цепи, состоящей из двух параллельно и двух последовательно соединенных сопротивлений. Схема машинного алгоритма по условию задачи. Применение операций при написании программ на языке C/C++.
контрольная работа [17,3 K], добавлен 09.11.2010Вычисление значения входного и выходного сигналов в n-равноотстоящих точках, вывод на экран таблицы. Структура программы: модули, список идентификаторов функций, интерфейс. Исходный код программы. Проверка расчетов в Maxima и построение графиков.
курсовая работа [1,4 M], добавлен 14.07.2012Описание области применения устройства релаксационного воздействия на человека "Лампа хорошего настроения". Выбор микроконтроллера устройства. Алгоритм функционирования программы, её тестирование. Правила и нормы охраны труда при работе с компьютером.
дипломная работа [5,8 M], добавлен 28.09.2015Создание программы для поиска минимума функции двух вещественных переменных в заданной области с помощью генетического алгоритма. Генетические алгоритмы и операторы. Создание начальной популяции. Размножение. Мутация и селекция. Тестирование программы.
курсовая работа [131,6 K], добавлен 22.02.2015Написание программы, состоящей из двух модулей и реализующей простейший калькулятор. Разработка алгоритма решения задачи, реализация его в среде программирования Delphi. Список использованных переменных. Блок-схема программы, руководство пользователя.
курсовая работа [106,6 K], добавлен 16.06.2014Написание программы, реализующей алгоритм RLE, позволяющий кодировать, декодировать файлы любого формата и размера, предоставлять пользователю информацию о степени их сжатия. Анализ эффективности кода. Экспериментальная оценка алгоритма программы.
контрольная работа [151,7 K], добавлен 29.05.2013Разработка программы, позволяющей получать результат умножения двух многочленов, повысить скорость расчетов по сравнению с ручными расчетами, а также повысить точность и надежность вычислений. Алгоритм функционирования системы и язык программирования.
курсовая работа [87,5 K], добавлен 13.12.2009Выбор элементной базы: микроконтроллера; микросхем для реализации системной шины; памяти; кварцевого генератора; сторожевого таймера; индикатора и коммутатора; последовательного порта. Программное обеспечение микропроцессорной системы обработки сигналов.
курсовая работа [259,3 K], добавлен 19.04.2012Исследование двух методов численного дифференцирования. Определение относительно максимального значения функции на интервале, абсолютной погрешности относительно значений аналитически вычисленной производной. Структура и этапы вычислительной программы.
курсовая работа [1,8 M], добавлен 14.04.2011Разработана программа решения двух задач на языке программирования Turbo Pascal. Спецификация задания. Описание входных и выходных данных. Математическая постановка задачи. Алгоритм ее решения. Описание и блок-схема программы. Результаты тестирования.
курсовая работа [275,8 K], добавлен 28.06.2008Написание программы для вычисления функции f(x), изображенной на графике, используя оператор if. Построение графика функции. Составление программы, вычисляющей сумму 101 из последовательно расположенных нечетных чисел. Нахождение корней системы уравнений.
контрольная работа [694,4 K], добавлен 07.08.2013Описание и принцип действия программы-отладчика микроконтроллера I8051 (К1816ВЕ51), предназначенной для программирования микроконтроллера на уровне языка ассемблера. Компиляция программы в объектный код и специфика тестирования разработанной программы.
реферат [21,1 K], добавлен 04.12.2010Анализ технического задания. Разработка программы по вычислению функции на языке ассемблер для микропроцессора Кр580ВМ80. Алгоритмы программного умножения, деления, сложения, вычитания и сдвига влево многобайтных чисел. Расчет времени работы программы.
курсовая работа [88,2 K], добавлен 19.09.2012Создание автоматизированной системы диагностики конструктивных дефектов на основе акустических сигналов. Структурная схема автоматизированной системы. Методика анализа звукового сигнала. Алгоритм сравнения полученных данных с помощью модуля Diag.
курсовая работа [658,5 K], добавлен 14.07.2012Разветвленный алгоритм: сущность и примеры. Программа преобразования цифр в слова. Условный и составной оператор. Составление программы, которая, если введенное число отрицательное, меняет его на противоположное. Вычисление отношения двух целых чисел.
презентация [392,4 K], добавлен 09.09.2013Формальная схема и закон функционирования моделируемой вычислительной системы для обработки программ. Составление алгоритма моделирующей программы на языке GPSS и листинга программы для стохастической модели. Верификация программы и анализ результатов.
курсовая работа [347,3 K], добавлен 21.01.2013Моделирование процесса обработки 500 сигналов, поступающих с датчиков. Определение среднего времени задержки сигналов в канале и линии-ЭВМ и вероятности переполнения входных накопителей. Разработка и описание алгоритма функционирования программной модели.
курсовая работа [140,7 K], добавлен 09.04.2013Характеристика программы на языке VBA, которая вводит исходные данные, выполняет расчеты и выводит результаты на экран. Описание переменных в программе, ее блок-схема и алгоритм работы. Листинг программы. Описание входных данных и результат вычислений.
курсовая работа [721,4 K], добавлен 10.11.2010Методика разработки и листинг программы для управления динамиком системного блока, обеспечения установки частоты и длительности формируемых сигналов. Алгоритм и этапы работы проектируемого приложения, анализ полученных результатов. Пример его работы.
лабораторная работа [79,0 K], добавлен 17.12.2015