Польский чпстотометр

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Некий поляк, говорит, что сделал на ATtiny2313 частотометр, способный измерять частоты до 47% от тактовой частоты контроллера. Например, говорит, что если поставить кварц на 22.1184MHz, то до 10МГц можно измерять, а с кварцен на 16 - до 8.

Посмотрел код краем глаза и пока не понял, за счёт чего ему удалось достичь такого результата. Надо бы подробнее посмотреть.

Если кому-то интересно - http://mdiy.pl/miernik-czestotliwosci-na-avr-od-1hz-do-10mhz/?lang=en

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

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

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Да, эту-то идею Вы мне как-то уже писали и я её понял. До меня просто не доходило, что на этот таймер ещё можно делитель частоты ставить. Получалось, что он говорит о частотах в половину тактовой, а при этом кусок кода отвечающий за подсчёт тиков достаточно развесистый  и без делителя просто не должен успевать - ну не может он выполниться за два такта процессора. Мне то это надо не для конкретной задачи, просто идеи изучаю.

VladG_NN
Offline
Зарегистрирован: 28.03.2016

А кто сказал, что там два такта процессора?

Вообще, когда считают частоту встроенным счетчиком все равно сколько времени будет обрабатываться результат - главное, чтоб эталонный интервал (1 сек/0,1 сек/ ...) был выдержан как можно точнее. Максимальная частота счета будет определяться быстродействием таймера и предделителем таймера. Для PICов эта частота может достигать 35 МГц, но правда и колеблется от экземпляра к экземпляру. Сколько для Атмелов не знаю, но определить эксперементально не очень сложно.

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

ЕвгенийП, о каких делителях речь то? Я шибко в его код не вникал, ибо на ассемблере не вразумею, но судя по всему единственные делители -это на 8 битном таймере, что-б секунду точно отмерять.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Парни, я не знаю, что Вам отвечать, я ж там написал, что подробно в коде не разбирался. Надеюсь, дойдут руки в выходной, если будет что-то заслуживающее разговора, отпишусь.

axill
Offline
Зарегистрирован: 05.09.2011

вопрос то в чем?)

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

У меня? Нет вопросов.

Просто решил дать ссылку на проект тем, кому интересно. Мы так привыкли, что любой пост - это вопрос, что удивляемся, когда что-то публикуется просто с целью обмена информацией :)))

axill
Offline
Зарегистрирован: 05.09.2011

хорошо

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