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

 
 
3 страниц V   1 2 3 >  
Reply to this topicStart new topic
> Измерение частоты 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
Валентиныч
сообщение Apr 22 2007, 14:31
Сообщение #2


Профессионал
****

Группа: Свой
Сообщений: 553
Регистрация: 17-02-05
Из: Свердловская обл.
Пользователь №: 2 712



Вопрос поставлен не корректно.
За 100 секунд можно посчитать среднюю частоту сигнала за этот отрезок времени. Ес-сно, если сигнал достаточно высокочастотный.
Такие интервалы (100 секунд) обычно применяются для измерения инфранизких частот.
Если же сигнал действительно высокочастотный (единицы МГц), нужно организовать 64-разрядный накопительный регистр, и инкрементировать его по каждому импульсу входного сигнала. Максимальная частота, которую удастся измерить таким способом - порядка 4 МГц.
5 тактов клока пожалуй хватит для обработки каждого входного импульса и контроля измерительного интервала. Но на пределе.


--------------------
Закономерность: Чем больше узнаю, тем меньше знаю...
Любые мнения, даже ошибочные, имеют право на существование.
Чем лучше узнаю людей, тем больше нравятся собаки...
Go to the top of the page
 
+Quote Post
Guest_=AVR=_*
сообщение Apr 22 2007, 15:41
Сообщение #3





Guests






В лоб (используя таймер в режиме счетчика) - теоретически до 10 МГЦ (Fclk/2), практически (с гарантией отсутствия пропусков) - мегагерц до 8..9 (Fclk/2.5). Частоту считать 16-битным таймером с 16-битным программным расширителем, инкрементируемым по прерыванию таймера, либо 8-битным таймером с 24-битным расширителем. Чисто программный счет невыгоден - займет 100% вычислительных ресурсов МК, будет минимум вдвое медленнее таймерного и т.д.
Go to the top of the page
 
+Quote Post
zorromen
сообщение Apr 22 2007, 15:42
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 322
Регистрация: 13-12-05
Пользователь №: 12 147



А если логику приделать ... счетчик например ... то можно ...
Go to the top of the page
 
+Quote Post
CD_Eater
сообщение Apr 22 2007, 15:51
Сообщение #5


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

Группа: Новичок
Сообщений: 173
Регистрация: 3-09-04
Из: Moscow
Пользователь №: 595



Если подсчитывать количество периодов измеряемого сигнала с помощью внешнего тактирования таймера 0 или 1 (pins T0, T1), то внешняя частота может быть до 8 МГц (= F/2.5, где F=20 MHz)
При этом требуется, чтобы измеряемый сигнал был меандром.
Go to the top of the page
 
+Quote Post
WHALE
сообщение Apr 22 2007, 17:47
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 902
Регистрация: 2-01-06
Из: Краснодар
Пользователь №: 12 768



Цитата(CD_Eater @ Apr 22 2007, 16:51) *
Если подсчитывать количество периодов измеряемого сигнала с помощью внешнего тактирования таймера 0 или 1 (pins T0, T1), то внешняя частота может быть до 8 МГц (= F/2.5, где F=20 MHz)
При этом требуется, чтобы измеряемый сигнал был меандром.

А меандром-то зачем.Оно-же вроде по фронту считает?


--------------------
"Hello, word!" - 17 errors 56 warnings
Go to the top of the page
 
+Quote Post
CD_Eater
сообщение Apr 22 2007, 21:29
Сообщение #7


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

Группа: Новичок
Сообщений: 173
Регистрация: 3-09-04
Из: Moscow
Пользователь №: 595



Цитата
А меандром-то зачем
В ДШ озвучено требование на длительность уровня: и высокий, и низкий уровни должны быть длиннее, чем один такт, чтобы МК успел их "зафиксировать". Если скважность другая, то максимальная частота будет ниже.
Go to the top of the page
 
+Quote Post
Dopler
сообщение Apr 22 2007, 23:00
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 437
Регистрация: 23-04-05
Из: Таганрог
Пользователь №: 4 425



http://electronix.ru/forum/lofiversion/index.php/t29796.html
В этой теме данный вопрос до таких косточек обмыли, что уже и обсуждать особо нечего.
Go to the top of the page
 
+Quote Post
Guest_=AVR=_*
сообщение Apr 22 2007, 23:14
Сообщение #9





Guests






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


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
Сообщение #11


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

Группа: Свой
Сообщений: 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
=GM=
сообщение Apr 23 2007, 12:50
Сообщение #12


Ambidexter
*****

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



Цитата(demaven @ Apr 23 2007, 03:53) *
Уважаемый, откуда взялась столь умопомрачительная цифра (±0.02 Гц)? За 100 секунд будет насчитано где-то около 20 000 000 *100 импульсов и только. Так что ни о каких ±0.02 Гц и речи быть не может. Мы 100 секунд измеряем с точностью опоры и почему считаем их абсолютно достоверными? А они брехливы.

Читайте вышецитированный пост, уважаемый, особенно ответы #23 и #43, там всё написано. И приведите ваши цифры, о которых может идти речь, без них это только ваши слова. А эту "умопомрачительную цифру", как вы говорите, я могу улучшить еще раз в 20 за то же время.

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

Чтобы получить суммарную погрешность надо сложить данную относительную погрешность 0.02/1Е-7 и относительную погрешность опоры 1Е-9 (возможно 1Е-10 и выше, это кратковременная нестабильность опорного генератора на интервале 100 с). Как видите вклад погрешности опоры на порядок ниже вклада погрешности измерения.

Отвлекусь. Году так в 1998, у меня был частотомер, который мерял частоту опорного генератора пейджингового передатчика, там было три диапазона: 1с, 10с и 100с. На последнем диапазоне частотомер выдавал 10 значащих цифр! Секундные метки брались с GPS, входящего в состав прибора. Принцип работы был простой - открывались ворота и считалось количество пришедших импульсов. Вот такая была опора.


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


кекс
******

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


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
Сообщение #15


кекс
******

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

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

 


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


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