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

 
 
> Измерение частоты ATmega168
oles_k76
сообщение Apr 22 2007, 14:17
Сообщение #1


RF
***

Группа: Свой
Сообщений: 321
Регистрация: 12-04-06
Из: Berlin
Пользователь №: 16 046



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


--------------------
теперь питание компьютера можно отключить
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Guest_=AVR=_*
сообщение Apr 22 2007, 23:14
Сообщение #2





Guests






Не совсем так. Здесь автору вопроса нужно мерять максимально возможную частоту, а не 1/100 от Fclk, и метод Capture тут не годится. Зато рулит обычный Gated Counter, благо времени счета хоть отбавляй - 100 секунд
Go to the top of the page
 
+Quote Post
=GM=
сообщение Apr 23 2007, 00:51
Сообщение #3


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(Dopler @ Apr 22 2007, 20:00) *
http://electronix.ru/forum/lofiversion/index.php/t29796.html
В этой теме данный вопрос до таких косточек обмыли, что уже и обсуждать особо нечего.
Цитата(=AVR= @ Apr 22 2007, 20:14) *
Не совсем так. Здесь автору вопроса нужно мерять максимально возможную частоту, а не 1/100 от Fclk, и метод Capture тут не годится. Зато рулит обычный Gated Counter, благо времени счета хоть отбавляй - 100 секунд
На самом деле в теме, указанной Dopler'ом обсуждался не только вопрос измерения трёх частот 50, 90 и 170 кГц, но и вопрос точности и была приведена более-менее универсальная формула, Fx = Fо*М/N, пригодная как для метода захвата, так и для метода ворот (смотрите пост #23). Также там было отмечено, что для обоих методов имеется ФУНДАМЕНТАЛЬНОЕ ограничение - частота входного сигнала не может быть больше половины тактовой частоты процессора (пост #61).

Что касается вопроса автора данной темы, то максимальная частота измерения составляет 10 Мгц. Точность измерения на 100-секундном интервале составит ±0.02 Гц. Метод захвата на атмеге168 применим до Fclk/5. На атмеге128 - до Fclk/2, так же как и для метода ворот. Для максимальной частоты Fclk/2 точность метода захвата в 2 раза лучше точности метода ворот.


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
demaven
сообщение Apr 23 2007, 07:53
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 108
Регистрация: 10-05-05
Из: Киргизия Бишкек
Пользователь №: 4 886



Точность измерения на 100-секундном интервале составит ±0.02 Гц.

Уважаемый, откуда взялась столь умопомрачительная цифра? За 100 секунд будет насчитано где-то около 20 000 000 *100 импульсов и только,. так что ни о каких ±0.02 Гц и речи быть не может. Мы 100 секунд измеряем с точностью опоры и почему считаем их абсолютно достоверными? А они брехливы.
Go to the top of the page
 
+Quote Post
defunct
сообщение Apr 23 2007, 13:25
Сообщение #5


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(demaven @ Apr 23 2007, 06:53) *
Точность измерения на 100-секундном интервале составит ±0.02 Гц.

откуда взялась столь умопомрачительная цифра?

±0.02 Гц для 170Khz сигнала и Fosc 20Mhz там получается за счет того, что сигнал захватывается с точностью до такта процессора. Точность за секунду будет грубо говоря ±1Гц * (2 Fизм/Fosc).

GM предлагает сделать захват первого импульса, затем - Gate'ом посчитать кол-во имупульсов за известный интервал времени и сделать захват последнего импульса. Это потребует 2-3 таймера для измерения одной частоты, сложно реализовать на практике, но вполне реально.. И до меня долго не могло дойти по его объяснениям в той ветке.
Go to the top of the page
 
+Quote Post
=GM=
сообщение Apr 23 2007, 13:56
Сообщение #6


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(defunct @ Apr 23 2007, 09:25) *
Точность за секунду будет грубо говоря ±1Гц * (2 Fизм/Fosc).

Добавлю, с помощью метода ворот. А с помощью метода захвата ту же точность можно достичь за 10 мс, в 100 раз быстрее.
Цитата(defunct @ Apr 23 2007, 09:25) *
GM предлагает сделать захват первого импульса, затем - Gate'ом посчитать кол-во имупульсов за известный интервал времени и сделать захват последнего импульса. Это потребует 2-3 таймера для измерения одной частоты, сложно реализовать на практике, но вполне реально.. И до меня долго не могло дойти по его объяснениям в той ветке.

Ну теперь-то наконец дошло(:-)! Не путайте людей, в принципе, таймер нужен только ОДИН, чтобы отсчитывать время, и чтобы было, что захватывать(:-). Ну а второй таймер нужен, чтобы просто освободить процессор под другие задачи на период секундного интервала. Никакой сложности в реализации метода захвата на практике нет.

Там же был предложен метод измерения до 100 частот (скажем, до 200 кГц каждая) с точностью ±1Гц за 1 сек. Сигналы подключаются последовательно к МК с помощью мультиплексера и за 10 мс определяется частота каждого сигнала методом захвата.


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
defunct
сообщение Apr 23 2007, 14:04
Сообщение #7


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(=GM= @ Apr 23 2007, 12:56) *
Добавлю, с помощью метода ворот. А с помощью метода захвата ту же точность можно достичь за 10 мс, в 100 раз быстрее.

Тут я с вами не соглашусь.
Т.к. точность там определяется точностью ворот умноженной на точность захвата, тобиш для 10ms будет:
±100 * (2Fизм/Fosc)

Цитата
Ну теперь-то наконец дошло(:-)! Не путайте людей, в принципе, таймер нужен только ОДИН, чтобы отсчитывать время, и чтобы было, что захватывать(:-). Ну а второй таймер нужен, чтобы просто освободить процессор под другие задачи на период секундного интервала. Никакой сложности в реализации метода захвата на практике нет.

Я не путаю, а просто чуть-чуть поигрался с этим методом. Не все так гладко на практике как в теории.
Go to the top of the page
 
+Quote Post
=GM=
сообщение Apr 23 2007, 14:33
Сообщение #8


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(defunct @ Apr 23 2007, 10:04) *
Тут я с вами не соглашусь.
Т.к. точность там определяется точностью ворот умноженной на точность захвата, тобиш для 10ms будет:
±100 * (2Fизм/Fosc)
Я не путаю, а просто чуть-чуть поигрался с этим методом. Не все так гладко на практике как в теории.

Это что за точность, относительная? Покажите, откуда она взялась.


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
defunct
сообщение Apr 23 2007, 18:11
Сообщение #9


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(=GM= @ Apr 23 2007, 13:33) *
Это что за точность, относительная? Покажите, откуда она взялась.

погрешность одного захвата в секундах у нас = +-1/Fosc
Захватов по вашей методе 2 - вначала и в конце, отсюда погрешность захватов - +-2/Fosc.

P1 = 2/Fosc секунд

для интервала измерения T погрешность составит:

P2 = P / T

теперь считаем погрешность в герцах для частоты Fизм

P3 = Fизм * P2

Теперь разворачиваем P2:

P3 = Fизм * (2/Fosc) / T = 1/T * 2Fизм/Fosc

для T = 10ms:
100 * 2 Fизм/Fosc
Go to the top of the page
 
+Quote Post
=GM=
сообщение Apr 23 2007, 19:32
Сообщение #10


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(defunct @ Apr 23 2007, 14:11) *
погрешность одного захвата в секундах у нас = +-1/Fosc
Захватов по вашей методе 2 - в начале и в конце, отсюда погрешность захватов - +-2/Fosc.

Насчет захватов правильно, а насчёт погрешности неправильно. Объясню, почему так. Предположим вам необходимо измерить некий интервал. Погрешность в начале может только уменьшить ваш результат, поскольку вы можете начать отсчёт только после того, как событие началось, не раньше. Т.о. погрешность лежит на полуоткрытом отрезке (-1,0]. Погрешность в конце может только увеличить ваш результат, поскольку вы можете завершить отсчёт только после того, как событие закончилось, не раньше, т.о. погрешность лежит на полуоткрытом отрезке [0,+1). Поскольку отрезки не перекрываются, общая погрешность определения длины интервала будет просто суммой двух отрезков и будет лежать в диапазоне (-1,+1) или, говоря простым языком, будет ±1 такт. А не ±2, как вы считаете.
Цитата(defunct @ Apr 23 2007, 14:11) *
P1 = 2/Fosc секунд
для интервала измерения T погрешность составит: P2 = P / T

Да с чего вы взяли? Я же не определяю каждый период отдельно и потом суммой получаю полный интервал, стало быть должен и погрешности каждого интервала суммировать. У меня всего две погрешности - начала и конца, никаких промежуточных погрешностей нет. Поэтому общая погрешность будет ±1 такт.
Цитата(defunct @ Apr 23 2007, 14:11) *
теперь считаем погрешность в герцах для частоты Fизм
P3 = Fизм * P2
Теперь разворачиваем P2: P3 = Fизм * (2/Fosc) / T = 1/T * 2Fизм/Fosc
для T = 10ms: 100 * 2 Fизм/Fosc

Тоже неверно, поскольку неверны исходные посылки.

Кстати, у вас в формулах с размерностями не всё в порядке.


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
defunct
сообщение Apr 23 2007, 22:22
Сообщение #11


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(=GM= @ Apr 23 2007, 18:32) *
Да с чего вы взяли? Я же не определяю каждый период отдельно и потом суммой получаю полный интервал,

Мы уже в курсе что захватывается начало импульса, затем считаются импульсы, затем захватывается опять начало импульса, т.о. за время T мы получаем два числа М и N
1. M число периодов искомой частоты
2. N = T * Fosc - количество тактов опорной частоты.

На основе этого мы и считаем искомую частоту. Для этого способо погрешность будет такой как я описал постом выше.

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

Цитата
Да с чего вы взяли? Я же не определяю каждый период отдельно и потом суммой получаю полный интервал,

T - это полный интервал.
Вы его назвали - 10ms.

Цитата
Кстати, у вас в формулах с размерностями не всё в порядке.

Там все ок. Hz/Hz / s = Hz
Go to the top of the page
 
+Quote Post
=GM=
сообщение Apr 23 2007, 22:54
Сообщение #12


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(defunct @ Apr 23 2007, 19:22) *
Для этого способа погрешность будет такой как я описал постом выше.

Слона надо есть по частям, а танцевать надо от печки, поэтому давайте по порядку. Вы опустили моё описание как считать погрешность определения интервала. Значит ли это, что вы согласны или вы по-прежнему считаете, что, цитирую, "погрешность одного захвата в секундах = +-1/Fosc. Захватов по вашей методе 2 - вначала и в конце, отсюда погрешность захватов - +-2/Fosc". Я утверждаю, что погрешность равна ±1 такт, вы же упираетесь на ±2 такта.
Цитата(defunct @ Apr 23 2007, 19:22) *
Если вы опять говорите о каком-то другом способе, то сперва изложите его так чтобы было понятно всем, а не только вам. T - это полный интервал. Вы его назвали - 10ms.

Способ тот же самый и интервал я назвал, ну и что из этого? Мы же говорим о расчёте погрешности, а вы виляете, как маркитанская лодка. Сначала говорите, вот покажете как, я свои слова назад возьму, а потом говорите, к методу претензий нет, но очень большие сложности в реализации, ну о-очень большие...Ладно, отвлёкся.
Цитата(defunct @ Apr 23 2007, 19:22) *
Там все ок. Hz/Hz / s = Hz

Ну если ОК, то подскажите, в каких единицах выражается Р2, если Р1 в герцах, а Т в секундах? Заодно просветите, что там у вас за переменная Р, чтобы было понятно всем, а не только вам.


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
defunct
сообщение Apr 24 2007, 00:23
Сообщение #13


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(=GM= @ Apr 23 2007, 21:54) *
Я утверждаю, что погрешность равна ±1 такт, вы же упираетесь на ±2 такта.

1 или 2 такта это не важно, важно что не будет там +-0.02Гц за 10ms.

Цитата
Ну если ОК, то подскажите, в каких единицах выражается Р2, если Р1 в герцах, а Т в секундах? Заодно просветите, что там у вас за переменная Р, чтобы было понятно всем, а не только вам.

P1 - погрешность захватов (в секундах)
P2 - весовой коэфициент погрешности для интервала T (если домножить на 100% получите в процентах)
P3 - погрешность измерения частоты Fизм на интервале T - в герцах.

P - опечатка, там должно было быть P1 (P2 = P1 / T).
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- олесь   Измерение частоты ATmega168   Apr 22 2007, 14:17
- - Валентиныч   Вопрос поставлен не корректно. За 100 секунд можно...   Apr 22 2007, 14:31
- - =AVR=   В лоб (используя таймер в режиме счетчика) - теоре...   Apr 22 2007, 15:41
- - zorromen   А если логику приделать ... счетчик например ... т...   Apr 22 2007, 15:42
- - CD_Eater   Если подсчитывать количество периодов измеряемого ...   Apr 22 2007, 15:51
|- - WHALE   Цитата(CD_Eater @ Apr 22 2007, 16:51) Есл...   Apr 22 2007, 17:47
- - CD_Eater   ЦитатаА меандром-то зачемВ ДШ озвучено требование ...   Apr 22 2007, 21:29
- - Dopler   http://electronix.ru/forum/lofiversion/index.php/t...   Apr 22 2007, 23:00
||- - =GM=   Цитата(demaven @ Apr 23 2007, 03:53) Уваж...   Apr 23 2007, 12:50
||- - mse   Цитата(defunct @ Apr 23 2007, 15:04) Тут ...   Apr 23 2007, 14:30
||- - =GM=   Цитата(defunct @ Apr 23 2007, 21:23) 1 ил...   Apr 24 2007, 01:29
||- - defunct   ЦитатаКак это не важно? Это очень важно, ошибка ум...   Apr 24 2007, 14:18
||- - mse   Цитата(defunct @ Apr 24 2007, 15:18) Умен...   Apr 24 2007, 14:49
|||- - defunct   Ок, приношу всем кого задел свои извинения. Я здес...   Apr 24 2007, 15:40
||- - =GM=   Да, интересное кино. Я смотрю, вы отвечаете только...   Apr 24 2007, 15:23
|- - =AVR=   Цитата(=GM= @ Apr 23 2007, 01:51) Метод з...   Apr 23 2007, 15:41
|- - =GM=   Цитата(=AVR= @ Apr 23 2007, 11:41) Captur...   Apr 23 2007, 16:19
- - =AVR=   ЦитатаНадо-то всего два прерывания на одно измерен...   Apr 23 2007, 16:56
- - Валентиныч   Уважаемые, вспомним первоначальную постановку вопр...   Apr 24 2007, 16:06
|- - =GM=   Цитата(Валентиныч @ Apr 24 2007, 12:06) У...   Apr 24 2007, 19:06
|- - Валентиныч   Цитата(=GM= @ Apr 24 2007, 22:06) Попробу...   Apr 25 2007, 09:31
|- - =GM=   Цитата(Валентиныч @ Apr 25 2007, 05:31) З...   Apr 25 2007, 13:09
|- - Валентиныч   Цитата(=GM= @ Apr 25 2007, 16:09) Не знаю...   Apr 25 2007, 13:59
|- - =GM=   Цитата(Валентиныч @ Apr 25 2007, 09:59) О...   Apr 25 2007, 14:30
- - =AVR=   Какие "4 мгц на пределе"?? При наличии а...   Apr 24 2007, 16:13
- - add   ЦитатаЕсли бы у нас был в наличии таймер длиной 32...   Apr 25 2007, 10:14
|- - Валентиныч   Цитата(add @ Apr 25 2007, 13:14) Таймер т...   Apr 25 2007, 10:27
- - add   ЦитатаПардон, что он продолжает считать? Цитатамс ...   Apr 25 2007, 10:35
- - Валентиныч   Повторю вопрос - что считаем? Если внутренний клок...   Apr 25 2007, 10:59
- - add   ЦитатаЕсли внутренний клок, то без проблем. А как ...   Apr 25 2007, 11:11
- - олесь   спасибо всем участникам информация очень помогла   May 5 2007, 13:52


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

 


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


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