Информация к новости
  • Просмотров: 3488
  • Добавил: Dina
  • Дата: 18 января 2014
18 января 2014

Генератор-частотомер на MSP430

Категория: Схемы » Измерительная техника

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

Прибор имеет следующие характеристики:

Генератор:
генерируемая частота в низкочастотном диапазоне 0-15000 Гц с дискретностью 0.0005 Гц
генерируемая частота в высокочастотном диапазоне 0-4000000 Гц с дискретностью 0.03 Гц
амплитуда выходного сигнала 3В
Максимальный выходной ток 300мА
форма сигнала: синус треугольник меандр.

Частотомер:
измеряемый диапазон 0.01Гц-25МГц.
точность измерения в диапазоне 1Гц-1МГц 0.01Гц
точность измерения в диапазоне 1МГц-25МГц 1Гц
чувствительность не хуже 500мВ

Генератор-частотомер на MSP430

Генератор-частотомер на MSP430

Генератор-частотомер на MSP430


В качестве ядра прибора выступает микроконтроллер MSP430F147 (может быть без проблем и изменения кода заменен на любой из следующих микроконтроллеров MSP430F133 MSP430F135 MSP430F148 MSP430F149). В качестве экрана используется экран от Nokia 1202 с программной реализацией интерфейса SPI. В роли генератора используется широко известный генератор прямого цифрового синтеза AD9833 от Analog Device. Контроллер использует два источника тактирования: от высокочастотного кварца на 8МГц и часового кварца 32768Гц. Благодаря возможности буферизирования тактовых частот на ногах ввода-вывода появляется возможность переключения тактовой частоты генератора AD9833, что позволяет получить низкочастотный генератор в высокой разрешающей способностью, так и высокочастотный генератор. Для увеличения выходной мощности генератора и увеличения амплитуды выходного сигнала используется операционный усилитель AD8397. Схема устройства приведена на рисунке.

Генератор-частотомер на MSP430


Частотомер до 1МГц выполнен на хорошо себя зарекомендовавшем принципе временных ворот в котором начало и конец временных ворот формируются фронтами измеряемого сигнала. Метод очень качественно разжеван на http://electronix.ru/forum/index.php?showtopic=29796. Точность в этом случае определяется точностью тактовой частоты. Наличие асинхронного таймера в контроллере позволяет измерять частоты выше тактовой. Хотя в даташите на микроконтроллер и указана максимальная частота на входе INCLK таймера 10МГц это дает основание предположить, что частота на входной ноге INCLK может быть асинхронна и выше тактовой. Дальнейшая проверка это подтвердила. Если в методе временных ворот частота оказалась выше 1МГЦ, то частотомер автоматически переключается на метод подсчета измеряемых импульсов за 1с. На экране это видно по обнуленным разрядам измеряемой частоты после запятой.

На рисунке показан принцип измерения частоты методом временных ворот формируемых входной частотой.

Генератор-частотомер на MSP430


В микроконтроллере настраиваются два таймера. Один тактируется от высокочастотного кварца 8МГц, а второй тактируется от внешнего входа INCLK. Оба находятся в режиме стоп. На первом этапе программа стоит пока на ножке INCLK высокий уровень. На втором этапе как только он сменяется низким уровнем то программ опять останавливается до появления фронта сигнала. (это необходимо для исключения ошибочного измерения в случае начала измерения например в середине входного импульса, таким образом захватывается именно фронт).После этого на третьем этапе включаются оба таймера в режиме счета с прерыванием. В прерываниях инкрементируются переменные для расширения разрядности счетчиков. После включения таймеров стартует задержка на 1 секунду. (величина задержки не критична, но естественно влияет на точность измерения).

После окончания задержки на этапе четыре и пять повторяется процедура ожидания фронта измеряемого сигнала. При его обнаружении счетчики переводятся в режим стоп. Измеряемая частота находится по формуле число импульсов измеряемой частоты*тактовую частоту/число импульсов тактовой частоты насчитанных за время задержки. Так как мы ловили фронты входного измеряемого сигнала то их число за период измерения всегда целое, а точность определяется точностью тактовой частоты. Этот принцип позволяет мерить как низкочастотные так и высокочастотные сигналы.

Захватывать фронт входного сигнала можно несколькими способами:
1. Использовать прерывание по фронту входного сигнала и в прерывании стартовать и останавливать таймеры. Погрешность вноситься за счет того что требуется время на вход в прерывание. Так же возможна ситуация, что прерывание вызовется в момент переполнения счетчика таймера измеряемой частоты, что также приведет к дополнительной ошибке измерения.
2. Использовать режим захвата при котором фронт входного сигнала приводит к захвату текущего значения таймера, переносу его в регистр захвата и вызову прерывания. Ошибка измерения может быть вызвана теми же причинами, что и в пункте 1.
3. Программный опрос входного сигнала на предмет обнаружения фронта.
В процессе реализации прибора были опробованы все три метода и наибольшую точность показал метод номер 3.

В качестве входного каскада используется транзисторный каскад, лучше я ни чего не придумал и это открывает простор для творчества желающим улучшить конструкцию.Более того с одного из входом измеряемая частота идет резистор в 100 Ом на вход контроллера, для подачи измеряемой частоты ТТЛ уровня.

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

В качестве разъема входа в частотомер применен джек с переключающимися входами. При неиспользуемом входе частотомера его вход подключен к выходу генератора.

Управление прибором осуществляется от четырех кнопок. Кнопки осуществляют передвижение курсора по экрану. Кнопки вверх и вниз осуществляют изменение соответствующей позиции на которой установлен курсор. Текущий элемент выделяется инвертированным цветом. Частотный диапазон генератора переключается когда курсор стоит на символе LF (в случае низкочастотного генератора) или меняется на HF (в случае высокочастотного сигнала). Форма генерируемого сигнала меняется при нахождении курсора на символе меандра вверху справа (меняется на символ синуса или треугольника). Важно помнить, что хотя все позиции в выбираемой частоте генератора являются числами от 0 до 9, частота в режиме низкой частоты не может превышать 15кГц и 4МГц в режиме высокой частоты, что определяется требованиями генератора AD9833.

Генератор-частотомер на MSP430


Настройка прибора заключается в следующем:
Так как величина частоты генератора AD9833 рассчитывается относительно тактовой и точность измерения частотомера тоже зависит от тактовой частоты, то необходимо измерить частоту высшего высокочастотного кварца и низкочастотного кварца на любом частотомере. Частоту можно взять с ножки тактирования генератора AD9833 в режиме генератора HF и LF. Эти частоты необходимо записать в программе.

Важно в опциях проекта ИАР при компилировании выставить следующие настройки оптимизации

Генератор-частотомер на MSP430


Также требуется настройка переменными резисторами величины смещения входа операционного усилителя и коэффициента усиления. Для регулировки необходимо подключить выход генератора к осциллографу и наблюдая форму выходного сигнала генератора в режиме синусоиды, отрегулировать максимальную амплитуду выходного сигнала при отсутствии искажения его формы (обрезание верхней или нижней полуволны). Выходной сигнал смещен относительно 0 на 1.5В вверх.

Плата на одностороннем текстолите. Плата для экрана тоже и распаяна на шлейф экрана.

Генератор-частотомер на MSP430

Генератор-частотомер на MSP430


Скачать архив:
Вы не можете скачивать файлы с нашего сервера

Источник:
http://cxem.net

Метки к статье: генератор, частотомер, схема генератора-частотомера



Добавление комментария

Имя:*
E-Mail:*
Введите два слова, показанных на изображении: *

Друзья и партнеры:

Архив новостей

Декабрь 2016 (1)
Ноябрь 2016 (1)
Сентябрь 2016 (3)
Июнь 2016 (1)
Май 2016 (1)
Апрель 2016 (1)
^
 
-->