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

 
 
> Нужно скорректировать частоту таймера, очень аккуратно
Alexashka
сообщение Feb 20 2013, 04:58
Сообщение #1


Практикующий маг
******

Группа: Свой
Сообщений: 3 634
Регистрация: 28-04-05
Из: Дубна, Моск.обл
Пользователь №: 4 576



Добрый день.
Задача такая: есть у меня платка оцифровщика, основные узлы -процессор ARM9 (at91sam9g45) и внешний АЦП. Процессор с помощью своего таймера генерирует тактовый сигнал, которым запускаются преобразования в АЦП. Частота импульсов таймера = 100,1кГц получается делением половинной частоты системного клока (133,333МГц/2) на 666 rolleyes.gif
Однако заказчику хотелось бы иметь частоту дискретизации ровно 100кГц.
Алгоритм работы с АЦП такой, таймер молотит положительные импульсы на выходной пин, который запускает АЦП, одновременно с этим генерируется прерывание, по которому я вычитываю АЦП. Что тут можно придумать, чтобы уменьшить частоту на 0,1%?
Пробовал добавить в прерывании задержку - переключал тактирование таймера на источник (133,333МГц/8), затем пару nop'ов и обратно на (133,333МГц/2) -в результате получил 100,00кГц частоту, по частотомеру - вполне устойчивую. Но потом при рассмотрении спектра синуса, записанного с АЦП увидел жуткий подъем вблизи палки синуса и отношение сигнал/(шум+гармоники) был около 40дб. Для сравнения - в спектре этого же синуса, записанного с частотой АЦП 100,1 (без коррекции частоты таймера) палка синуса четкая на фоне шума, без подъема, и отношение сигнал/(шум+гармоники) около 80дБ.
Выходит, что задержка, которую я реализовал вносит значительный джиттер?
У кого какие соображения? Как можно скорректировать частоту не добавляя джиттер в тактовый сигнал?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Tanya
сообщение Feb 20 2013, 07:17
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883



Цитата(Alexashka @ Feb 20 2013, 07:58) *
Частота импульсов таймера = 100,1кГц получается делением половинной частоты системного клока (133,333МГц/2) на 666 rolleyes.gif

У кого какие соображения? Как можно скорректировать частоту не добавляя джиттер в тактовый сигнал?

Поделить на 667 - будет лучше. А что такое "ровно" 100МГц?
Go to the top of the page
 
+Quote Post
Alexashka
сообщение Feb 20 2013, 10:15
Сообщение #3


Практикующий маг
******

Группа: Свой
Сообщений: 3 634
Регистрация: 28-04-05
Из: Дубна, Моск.обл
Пользователь №: 4 576



Цитата(Tanya @ Feb 20 2013, 11:17) *
Поделить на 667 - будет лучше. А что такое "ровно" 100МГц?

Вообще-то кГц (килогерц).
Но помоему, Вы все прекрасно поняли sm.gif На 667 действительно лучше, в 2 раза. Но отличие в 50Гц это 5*10Е-4 - тоже много. С имеющимся кварцем я могу иметь точность 2*10Е-5

Цитата(VCO @ Feb 20 2013, 10:12) *
Или внешней логикой...

К сожалению, устройство уже собрано, поэтому думал скорректировать программно. В крайнем случае подпаять пару проводков.
Go to the top of the page
 
+Quote Post



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

 


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


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