|
Частотомер, вопросов много по МК AT91SAM7A3 |
|
|
|
Oct 14 2009, 03:37
|

Участник

Группа: Участник
Сообщений: 41
Регистрация: 12-10-09
Пользователь №: 52 882

|
что есть в наличии: отладочная плата AT91SAM7A3-EK, среда разработки IAR, такс еще есть JTAG, а остальное вроде генератора, COM-порта и проводов думаю не так существенно. Объясняю ситуацию  Необходимо разработать алгоритм по измерению частоты (попросту частотомер). В институте дело с МК обстояло худо (одна всего дисциплина на обучении). Из прочитанного на форумах и найденного в интернете, понял что для измерения частоты необходимо применение таймеров, а также АЦП для оцифровки входного сигнала. Частота измеряется с точностью 0,1 Гц, время измерения не более 100мс, в сигнале присутствует несколько шумов временных и амплитудных. Диапазон частот до 6,5 кГц. Во-первых, хотелось бы убрать из сигнала постоянную состовляющую, насколько помню сделать можно с помощью цифровых фильтров. Вопрос в том каких, можно ли по другому убрать постоянную сост. сигнала? Во-вторых, вопрос по алгоритму: сколько таймеров потребуется для измерения частоты. В какой книжке мона найти описание цифровых алгоритмов измерения частоты? Найденное мной в сети - описание МК, пару книжек по МК вообщем. В-третьих, скажем частоту успеть померить надо за 0,1c, ну понятно будет есть частота равна 5кГц - будет несколько периодов, но в голове моей не помещается как можно за тоже время измерить скажем частоту 1Гц - не успеет же МК. Объясните, пожалуйста, как!
--------------------
coding, кодинг, koDinГ, copyriting, printing ....
|
|
|
|
|
 |
Ответов
|
Oct 21 2009, 18:39
|

Участник

Группа: Участник
Сообщений: 41
Регистрация: 12-10-09
Пользователь №: 52 882

|
Видимо не померить мне этими методами сигнал, который прикрепленн к #8 моему посту. Ведь сигнал не логический, а сложной формы. Цитата(aaarrr @ Oct 21 2009, 16:23)  Будут запрещены LDRAS: RA Loading и CPBS: RB Compare.
P.S. Старайтесь пользоваться именоваными идентификаторами для битов, запись типа Reg = 0xabcd - потенциальный источник грабель. А по совпадению с RC?
--------------------
coding, кодинг, koDinГ, copyriting, printing ....
|
|
|
|
|
Oct 21 2009, 18:49
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(Sneg_87 @ Oct 21 2009, 22:39)  Видимо не померить мне этими методами сигнал, который прикрепленн к #8 моему посту. Ведь сигнал не логический, а сложной формы. Смотря что нужно измерять. Но сигнал, естественно, так или иначе придется сначала облечь в цифровую форму. Цитата(Sneg_87 @ Oct 21 2009, 22:39)  А по совпадению с RC? По совпадению RC не будут.
|
|
|
|
|
Oct 22 2009, 03:41
|

Участник

Группа: Участник
Сообщений: 41
Регистрация: 12-10-09
Пользователь №: 52 882

|
Цитата(aaarrr @ Oct 22 2009, 00:49)  Смотря что нужно измерять. Но сигнал, естественно, так или иначе придется сначала облечь в цифровую форму. Частоту сигнала необходимо померить, данные - оцифрованное напряжение на ацп, а не меандры. Как применить таймеры для измерения сложного сигнала у меня пока в голове не укладывается ввиду малого опыта. Алгоритм предложенный =GM= читал не один раз
--------------------
coding, кодинг, koDinГ, copyriting, printing ....
|
|
|
|
|
Nov 3 2009, 08:50
|
Местный
  
Группа: Свой
Сообщений: 476
Регистрация: 3-07-07
Из: Санкт-Петербург
Пользователь №: 28 866

|
Цитата(Sneg_87 @ Oct 22 2009, 06:41)  Частоту сигнала необходимо померить, данные - оцифрованное напряжение на ацп, а не меандры. Как применить таймеры для измерения сложного сигнала у меня пока в голове не укладывается ввиду малого опыта. Алгоритм предложенный =GM= читал не один раз Ну можно даже и без таймеров померить частоту, только с помощью АЦП. Реализовать программно компаратор ничего сложного - сравнивать текущее и прошлые результаты измерения, ловля "смену знака". Определение производной, экстремумов помните? Ну вот, определив по смене знака максимумы и минимумы можно определить и частоту сигнала. Только проще все же с помощью детекторов нуля привести сигнал к тому, что словит Ваш микроконтроллер и посчитать таймерами.
--------------------
Ковырял чукча отверткой в ухе, звук в телевизоре и пропал.
|
|
|
|
|
Nov 11 2009, 10:42
|

Участник

Группа: Участник
Сообщений: 41
Регистрация: 12-10-09
Пользователь №: 52 882

|
Цитата(Lotor @ Nov 3 2009, 13:50)  Ну можно даже и без таймеров померить частоту, только с помощью АЦП. Ну вот, определив по смене знака максимумы и минимумы можно определить и частоту сигнала. В целом так и получается, правда смотрю не максимум и минимум у сигнала, а начинаю отсчет периода с точки пересечения среднего значения сигнала. Для статических данных проводил и медианную фильтрацию и поиск экстремумов-работает просто на "УРА". Как перехожу к системе реального времени, медианная фильтрация искажает сигнал более существенно чем имп. помехи. Макс и мин тож не всегда получается словить  Частоту с усреднением за 10 периодов я начал мерить, но сейчас у меня "нога застряла" на другой ступени лестницы. Сигнал у меня идет от низкочастотного генератора на ножку порта ввода-вывода, после идет оцифровка (на АЦП) и вычисление частоты. Так вот, как сделать, чтобы при выключении генератора можно было определить, что сигнал синусоиды не поступает на PIO? ЗЫ может в регистрах ПВВ, может в AIC, и др. вообщем много пересмотрел и не нашел
--------------------
coding, кодинг, koDinГ, copyriting, printing ....
|
|
|
|
Сообщений в этой теме
Sneg_87 Частотомер Oct 14 2009, 03:37 akl Здравствуйте. Посмотрите эту веточку
http://electr... Oct 14 2009, 05:15 Sneg_87 для измерения частоты необходимо два счетчика, реж... Oct 16 2009, 04:29 akl В принципе, достаточно 1 таймера, имеющего прерыва... Oct 16 2009, 06:26 Sneg_87 Подскажите, пожалуйста, последовательность действи... Oct 19 2009, 04:24 Sneg_87 как проверить что прерывание по захвату произошло,... Oct 19 2009, 09:49 aaarrr Цитата(Sneg_87 @ Oct 19 2009, 13:49) как ... Oct 19 2009, 09:54 Sneg_87 2 aaarrr Спасибо за ответ
Подскажите с помощью чег... Oct 20 2009, 02:51 Sneg_87 у таймера есть регистр (IDR) запрещения прерываний... Oct 21 2009, 09:48 aaarrr Цитата(Sneg_87 @ Oct 21 2009, 13:48) буду... Oct 21 2009, 10:23
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|