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

 
 
> Нужно скорректировать частоту таймера, очень аккуратно
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



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

 


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


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