Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как отслеживать частоту сигнала 3 Мгц при тактовой частоте контроллера 16 Мгц?
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему
Graf_Inventor
Добрый день господа.
Появилась необзодимость снимать данные с датчика со встроенным конвертором. на выходе частота в среднем 2.89 Мгц. при повышении давления частота снижается. В оригинальном устройстве стоит неизвестный мне микроконтроллер или то то другое. Частота с датчика через резистор в килоом приходит на пин этого "контроллера", он же в свою очередь тактируется кварцем. Частота на кварце 16 МГц. Агрегат в котором всё это сейчас стоит называется электронный тономер.

Мне нужно обрабатывать данные микроконтроллером msp430. с тактовой частотой в 16 Мгц. Думаю использовать АЦП смысла нет обсалютно. Планирую завечти частоту с датчика через тригер шмитта на один из пинов порта контроллера. перепад уровня будет генерить прерывание в котором буду считать "тики". Таким образом планирую получить частоту. Но точность этого измерения видится мне очень низкой.

Как иначе возможно обрабатывать данные с подобного датчика?
Kuzmi4
Копайте в сторону таймеров biggrin.gif
Graf_Inventor
А поподробней можно?
jorikdima
Цитата(Graf_Inventor @ Apr 21 2010, 16:53) *
А поподробней можно?

Поподробнее в доке на Таймер MSP430. Режим Capture, видимо. Конфигурируйте таймер, чтоб он тикалс чатотой 16М, по приходу вашего фронта фиксировал натиканное и сбрасывался. И так постоянно. Количество натиканного таймером даст вам период.
TVF
Цитата(jorikdima @ Apr 21 2010, 17:01) *
Количество натиканного таймером даст вам период.


Угу, за период сигнала - 5,54 периода тактовой частоты. Точность около 20% - не думаю что автору такое надо. Поделить сначала частоту сигнала раз в 20.
Graf_Inventor
А может, тактировать таймер как раз от частоты датчика, и скажем с одинакоым интервалом времени спрашивать этот таймер, сколько там натикало?

скажем я использую тамймер А, а источником тактирования для негослужит INCLK. На который, собственно, и подан сигнал с частотой 2.98..Мгц.
Затем, скажем с помощью таймера Б, я отсчитываю интервалы, допустим в 100милисек.
и по прерывают от таймера, опрашиваю чего там насчиталось в таймере А. таким образом получаю как мне кажется большую точность. Останется только привести это всё в человеческий вид smile.gif Однако показания должны быть тру. как мне кажется.
Я прав?
syurish
Следовало бы начать решение вашей задачи с четкого понимания, какая точность (погрешность измерения) вам действительно необходима. Затем выбрать метод измерения частоты. Есть, например, метод, который позволяет измерять частоту, превышающую тактовую (образцовую). Причем метод позволяет получить постоянную относительную погрешность во всем измерительном диапазоне. А уж потом думать о реализации на MSP430.

Удачи.
Graf_Inventor
Цитата(syurish @ Apr 21 2010, 18:19) *
Следовало бы начать решение вашей задачи с четкого понимания, какая точность (погрешность измерения) вам действительно необходима. Затем выбрать метод измерения частоты. Есть, например, метод, который позволяет измерять частоту, превышающую тактовую (образцовую). Причем метод позволяет получить постоянную относительную погрешность во всем измерительном диапазоне. А уж потом думать о реализации на MSP430.

Удачи.


ок. Вопрос понят. С точностью определился. Надо отслеживать 0.0041 Мгц.
при атмосферном давлении частота с на датчике 2.894 Мгц
при 180 мм.р.с. относительно атмосферного частота на датчике 2.140 Мгц.

Мне нужно отслеживтаь разницу в 1 мм р.с. следовательно в 4.1 кГц.

Думаю предложенного мной выше метода, достаточно. Так как в данном случае точность будет зависить от того как часто (или как редко) я опрашиваю счётчик таймера. В данном случае минимальная частота опроса должна быть такая, что бы счётчик таймера не успевал переполниться. думаю 0.022 Сек (интервал пороса) будет то что надо.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.