реклама на сайте
подробности

 
 
> А справится ли?, надо частоту померить..
kolyan_olvs
сообщение Feb 9 2007, 17:09
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 53
Регистрация: 3-04-06
Пользователь №: 15 732



Есть задача:
Надо померить частоту с разреш. способностью не хуже 0.02%
Частота в диапазоне 1кГц - 10кГц...
Справится ли МСПшка, если решать задачу в лоб (то есть захватывать период и заполнять его счетчиком)?
ЗЫ: 0.02% от измер. величины ..сорри, чуть не забыл.

Сообщение отредактировал kolyan_olvs - Feb 9 2007, 17:11
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
kolyan_olvs
сообщение Feb 14 2007, 14:21
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 53
Регистрация: 3-04-06
Пользователь №: 15 732



Спасибо всем за ответы..
Цитата
Все зависит от требуемой частоты выдачи измеряемого параметра я полагаю. Как часто выдавать надо?
- надо обновлять результат с чатотой 10 Гц.
Поразмыслив, решил, что вполне справится )))
Цитата
Но вот если сделать измерительный интервал больше
- можно заюзать делитель частоты... (конечно дополнит. схемота, зато меньше геморроя с обработкой в кристалле).
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Feb 14 2007, 15:02
Сообщение #3


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Цитата(kolyan_olvs @ Feb 14 2007, 14:21) *
Спасибо всем за ответы..
Цитата
Все зависит от требуемой частоты выдачи измеряемого параметра я полагаю. Как часто выдавать надо?
- надо обновлять результат с чатотой 10 Гц.
Поразмыслив, решил, что вполне справится )))
Цитата
Но вот если сделать измерительный интервал больше
- можно заюзать делитель частоты... (конечно дополнит. схемота, зато меньше геморроя с обработкой в кристалле).

Да тогда все примитивно - обработчик прерывания вешаем на "захват" от таймера, таймер тактируем стабильной частотой заполнения, разрядность таймера расширяем дополнительным программным счетчиком, инкрементируемым по обработке переполнения таймера. При захвате по фронту смотрим, сколько набежало со времени предыдущей фиксации времени, ненужное просто пропускаем, через 100+ mS имеем точное время в дискретах опорника и число входных импульсов. Дальше простая арифметика. MSP430 справится не только для 10 kHz, но, если писать аккуратно, то и с сотнями kHz (реакция на прерывания очень шустрая). А можно даже и без прерываний, тупым поллингом флагов. Единственный необходимый аппаартный ресурс - таймер с захватом.
Go to the top of the page
 
+Quote Post
rezident
сообщение Feb 14 2007, 17:59
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(rx3apf @ Feb 14 2007, 17:02) *
Цитата(kolyan_olvs @ Feb 14 2007, 14:21) *

Спасибо всем за ответы..
Цитата
Все зависит от требуемой частоты выдачи измеряемого параметра я полагаю. Как часто выдавать надо?
- надо обновлять результат с чатотой 10 Гц.
Поразмыслив, решил, что вполне справится )))
Цитата
Но вот если сделать измерительный интервал больше
- можно заюзать делитель частоты... (конечно дополнит. схемота, зато меньше геморроя с обработкой в кристалле).

Да тогда все примитивно - обработчик прерывания вешаем на "захват" от таймера, таймер тактируем стабильной частотой заполнения, разрядность таймера расширяем дополнительным программным счетчиком, инкрементируемым по обработке переполнения таймера. При захвате по фронту смотрим, сколько набежало со времени предыдущей фиксации времени, ненужное просто пропускаем, через 100+ mS имеем точное время в дискретах опорника и число входных импульсов. Дальше простая арифметика. MSP430 справится не только для 10 kHz, но, если писать аккуратно, то и с сотнями kHz (реакция на прерывания очень шустрая). А можно даже и без прерываний, тупым поллингом флагов. Единственный необходимый аппаартный ресурс - таймер с захватом.

При таком способе (определение частоты по измеренному периоду) даже если тактировать TimerA от 10МГц (больше по даташиту нельзя), то относительная погрешность измерения периода получиться не выше одного дискретного отсчета 1/10МГц. Что для периода 1/10кГц составляет ~0.1%. А требуется 0,02%.
Цитата(kolyan_olvs @ Feb 9 2007, 19:09) *
ЗЫ: 0.02% от измер. величины ..сорри, чуть не забыл.

Так что для достижения требуемой точности измерения нужно еще математику применить. ИМХО.
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Feb 14 2007, 18:29
Сообщение #5


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Цитата(rezident @ Feb 14 2007, 17:59) *
При таком способе (определение частоты по измеренному периоду) даже если тактировать TimerA от 10МГц (больше по даташиту нельзя), то относительная погрешность измерения периода получиться не выше одного дискретного отсчета 1/10МГц. Что для периода 1/10кГц составляет ~0.1%. А требуется 0,02%.


Тормозишь. Я ведь не случайно сказал -"за время 100+ mS". Не по одному периоду, а за время счета (в данном случае 10 раз в секунду) набираем (в таймере) точное время в дискретах опорника, и число входных импульсов (а вовсе не по одному периоду). Таким образом, имеем разрешение 1E-6 при опорнике 10 MHz, а точность - соответствующую точности опорника. Более того, точность измерения не зависит от измеряемой частоты и не пострадает, если на входе поставить прескалер (если потребуется считать существенно большие частоты).

Цитата(rezident @ Feb 14 2007, 17:59) *
Так что для достижения требуемой точности измерения нужно еще математику применить. ИМХО.

Всенепременно - как же без математики ?

Мне другое забавно - вот сколько журналах и инете микропроцессорных частотомеров, и все тупо считают импульсы за измерительный интервал. Нужно десятые Hz - делают окно 10 sec. Очевидно же решение, нет, из конструкции в конструкцию все повторяют и повторяют... А у меня частотомер показывает сотые Hz по два раза в секунду (можно было и тысячные, только не нужно) wink.gif
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 16th June 2025 - 21:19
Рейтинг@Mail.ru


Страница сгенерированна за 0.01417 секунд с 7
ELECTRONIX ©2004-2016