Перейти к содержанию
    

Реализация частотомера обратного счёта на PIC24H

Да нет, любезный автор... Это Вы меряете в качестве опоры кварц МК и формируете интервал счета тоже от кварца МК. Очевидно, что результат такого измерения будет КОНСТАНТА.

Интервал измерения опоры и сигнала один и тот же. Это и есть РАТИОМЕТРИЯ.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да ужжж.

Тогда виноват - не понял источника на ссылке.

В таком варианте - это классический периодомер с делителем по входу.

Я за последний год на 24-х и 33-х пиках таких сделал четыре в составе разных изделий.

Всегда использовал модуль захвата с парными событиями захвата при формировании прерываний.

Делал скользящее окно по кольцевому буферу массива результатов по максимуму (исходя из потребной реакции системы) и получал от 5 до 7 разрядов вполне стабильных показаний (в зависимости от стабильности источника сигнала)ю

Как уже ранее говорил, несинхронность опоры и сигнала приводит к ошибке счета в один период опорной частоты. Но при увеличении интервала (коэффициента деления и длины массива накопления) счета эта ошибка становится несущественной.

Посути это увеличение разрешения через оверсемплинг.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если я правильно понял, у вас захват двух последовательных фронтов входного сигнала, т.е. измеряется время одного периода. В этом случае нужна информация о приблизительной входной частоте, иначе как определить нужный коэфициент деления? В алгоритме , описанном GM, изменение коэфициента деления происходит как-бы автоматически при изменении входной частоты таким образом, чтобы время измерения оставалось постоянным. Кроме того, этот алгоритм не имеет нижней граничной частоты - он просто ждет второго фронта, если он не появился за время гейта. Еще вот какой вопрос-очищается ли у ПИК24 ФИФО захвата при выключении модуля захвата?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Измеряю я не обязательно один входной период, а несколько - это по сути накопление.

Коэффициент деления должен быть предварительно расчитан, либо вначале произведено грубое измерение, а затем выбран делитель для входной частоты (или опорной).

Сброс стека скорее всего есть, но для меня это было неактуально - модуль нигде не выключается.

Все мои случаи меряют достаточно узкий диапазон частот - это специальные частотомеры. Один на 5...10 МГц, остальные низкочастотные (10...30 кГц и два на 58 +/-5кГц).

PS. Вспомнил... Еще одним я меряю период сети для формирования трех фаз из одной. Там разрешение в 32 двоичных разряда и диапазон работы 40...80 Гц.

Изменено пользователем Марк_Я

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...