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

 
 
 
Reply to this topicStart new topic
> А справится ли?, надо частоту померить..
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
jorikdima
сообщение Feb 9 2007, 17:37
Сообщение #2


тут может быть ваша реклама
*****

Группа: Свой
Сообщений: 1 164
Регистрация: 15-03-06
Из: Санкт-Петербург/CA
Пользователь №: 15 280



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

Все зависит от требуемой частоты выдачи измеряемого параметра я полагаю. Как часто выдавать надо?
Go to the top of the page
 
+Quote Post
rezident
сообщение Feb 9 2007, 18:26
Сообщение #3


Гуру
******

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



Цитата(jorikdima @ Feb 9 2007, 19:37) *
Цитата(kolyan_olvs @ Feb 9 2007, 17:09) *

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

Все зависит от требуемой частоты выдачи измеряемого параметра я полагаю. Как часто выдавать надо?

Угу. Можно также применить другой принцип. У Хоровца и Хилла описан как "обратный отсчет". См. трехтомник П.Хоровиц, У.Хилл "Искусство схемотехники", Москва "Мир", 1993г. том3, глава 15.10.
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Feb 9 2007, 19:01
Сообщение #4


Гуру
******

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



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

0.02% - это 5000 счетных импульсов за период. Для 10 kHz - никак не справится. Но вот если сделать измерительный интервал больше (вряд ли нужно иметь 10 килоизмерений в секунду ?), то легко. Захват, счет импульсов, еще один захват. Знаем время от фронта до фронта (в дискретах заполнения), знаем число входных импульсов. Это не то, что 0.02%, а и 1E-6 десять раз в секунду легко делается. Ну а как конкретно воспользоваться таймерами - это уже зависит от конкретного кристалла. Я такие вещи делал на PIC16 с дополнительной логикой, но для куда больших частот. А для 10 kHz - хватит ресурсов самого кристалла. Но пару таймеров для этого надо. Хотя, в принципе, счет входных можно и программно, по прерываниям - частоты небольшие, а MSP реагирует шустро...

Сообщение отредактировал rx3apf - Feb 9 2007, 19:03
Go to the top of the page
 
+Quote Post
kolyan_olvs
сообщение Feb 14 2007, 14:21
Сообщение #5


Участник
*

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



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


Гуру
******

Группа: Участник
Сообщений: 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
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 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
Сообщение #8


Гуру
******

Группа: Участник
Сообщений: 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
rezident
сообщение Feb 14 2007, 18:36
Сообщение #9


Гуру
******

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



rx3apf, угу. Я чуть выше уже указал где все это описано.
Go to the top of the page
 
+Quote Post
kolyan_olvs
сообщение Feb 21 2007, 10:38
Сообщение #10


Участник
*

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



Цитата
угу. Я чуть выше уже указал где все это описано

да ((. только где б нарыть сей фолиант.. в свои то не geoof.n]// а на фтп наверняка есть ((
Go to the top of the page
 
+Quote Post
rezident
сообщение Feb 21 2007, 13:31
Сообщение #11


Гуру
******

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



Цитата(kolyan_olvs @ Feb 21 2007, 12:38) *
Цитата
угу. Я чуть выше уже указал где все это описано

да ((. только где б нарыть сей фолиант.. в свои то не geoof.n]// а на фтп наверняка есть ((

Ну только ради книги "Искусство схемотехники" П.Хоровиц, У.Хилл рваться на ФТП неумнО. Ее и наГуглить нетрудно. Например, см. тут
Go to the top of the page
 
+Quote Post

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

 


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


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