|
Измерение частоты, алгоритм |
|
|
|
Mar 1 2006, 18:48
|
Группа: Новичок
Сообщений: 13
Регистрация: 2-07-05
Из: Киев
Пользователь №: 6 471

|
Подскажите пожалуйста алгоритм измерения частоты микроконтроллером(AT90S2313). А именно как принять частоту до нескольких МГц, с точностью до 1Гц ??
|
|
|
|
|
Mar 2 2006, 00:29
|
Группа: Новичок
Сообщений: 13
Регистрация: 2-07-05
Из: Киев
Пользователь №: 6 471

|
T1-двухбайтный, т.е. max счёт будет 65535Гц за 1с.
|
|
|
|
|
Mar 2 2006, 05:18
|

Частый гость
 
Группа: Новичок
Сообщений: 91
Регистрация: 24-12-05
Из: г. Благовещенск
Пользователь №: 12 614

|
только вчера тахометр писал  -- запускаю прерывание по переполнению дабы получить управление каждые 100 Гц. -- запускаю pragma на внешнее прерывание int0, в котором просто тупо i++ -- когда приходит прерывание от таймера, просто вывожу i на дисплей после этого i=0 -- всё по кругу  главное! прескалер и коефициент (слово-то какое) для кварца посчитать и настроить таймер -- см аттач (протеус, иар)
Прикрепленные файлы
taho.rar ( 47.42 килобайт )
Кол-во скачиваний: 306
--------------------
нет ничего невозможного, есть трудные пути... других не ищем
|
|
|
|
|
Mar 2 2006, 13:05
|
Участник

Группа: Участник
Сообщений: 29
Регистрация: 28-04-05
Пользователь №: 4 598

|
Прошу прощения. Хочу задать этот же вопрос в несколько другом ракурсе. Задача таже - измерение частоты. Контроллер тот же - ат90s2313. Пожелания те же: 1. Точность измерений. 2.F верх. еденицы МГц. А теперь вопросы: 1.Зависит ли от F кварца F верх (для прямого метода отсчета).? 2.Возможно ли для решения данной задачи использовать прямой метод отсчета частоты и какие при этом могут быть ограничения? 3.С точки зрения точности что предпочтительней прямой или косвенный отсчет?
|
|
|
|
|
Mar 2 2006, 15:21
|
Группа: Новичок
Сообщений: 13
Регистрация: 2-07-05
Из: Киев
Пользователь №: 6 471

|
[/quote] считайте еще количество прерываний по переполнению. [/quote] Наверное так и сделаю
|
|
|
|
|
Mar 2 2006, 20:01
|
Группа: Новичок
Сообщений: 13
Регистрация: 2-07-05
Из: Киев
Пользователь №: 6 471

|
Цитата(WHALE @ Mar 2 2006, 23:54)  а почему at90?их вроде и не выпускают.Делай на tiny2313,она до 20мгц. До 20Мгц меряет? Разберусь с at90, и думаю перейти на ATMega.
|
|
|
|
|
Mar 3 2006, 03:42
|

Профессионал
    
Группа: Свой
Сообщений: 1 175
Регистрация: 5-01-05
Пользователь №: 1 807

|
Цитата(defunct @ Mar 3 2006, 06:12)  Поставьте внешний делитель "на много", захватывайте импульсы аналоговым компаратором по Timer Capture и меряйте их длительность, будет вам 1Ghz с точностью до 0.01 Гц  если найдете такие быстродействующие элементы.. К примеру у серии К1533 кажется быстродействие до 100Mhz, можно сделать делитель на ней будет у вас частотомер до ~70Mhz. AVR имеют синхронные счетчики, измерять можно максимально Fmax = Fbq/2.5. Ставить внешний делитель "на много" - решение корявое, т. к. на выходе такого делителя будет уже сигнал с утраченной точностью. Например, для делителя на 250, погрешность будет такая же. Не для всех применений это приемлемо. Лучше использовать метод досчета. Суть метода в неоходимости уметь точно прочитать содержимое счетчика-предделителя в данный момент, чтобы корректно вычислить измеряемую частоту.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|