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

 
 
> PLL Software, подскажите
kirgizz
сообщение Feb 16 2006, 10:45
Сообщение #1





Группа: Новичок
Сообщений: 2
Регистрация: 16-02-06
Пользователь №: 14 379



Нужно синхронизировать входной TTL сигнал 20Гц..20кГц с внутренним генератором синуса в DSP и выдать синус на DAC (fs=48 Khz). Главное - ошибка синхронизации +/- 0.05Гц (некое подобие PID control для DC-моторов). Сама по себе разница в фазе не важна, важнее точность в частоте. Скорость изменения частоты входного сигнала 5Гц/сек. max. (линейно, sweep mode).

Слышал, что при подобающей мощности DSP возможен freqency lock до 80кГц. Но пока не совсем представляю, как это можно сделать моим DSP (ADSP21262). Хочу сделать полностью программно или большей частью программно.

Кое-что читал о PLL. Такие программные блоки: фазовый детектор (PFD, опережение-запаздывание) -> фильтр -> управление генератором (error signal) -> генератор (DDS) -> обратно на детектор.

Самую проблему представляет фазовый детектор. Для моего дизайна больше всего подходит PFD с серии x4046. Через ADC: одинаковые частоты дискретизации для входного и выходного сигналов -гут, но думаю, слишком медленно/для маленьких частот.

Через таймер: детектирую (INT) low-high входящего TTL и дальше???...Как я расчитаю время/момент, когда внутренний DDS проходит low-high, если фаза расчитывается раз 1/48кГц секунд. Получается, частота дискретизации входящего ТТЛ отличается от частоты дискретизации выходного синуса (идет на DAC) -как это уживется вместе?

Как лучше реализовать опережение-опаздывание? Как дискретизировать (ADC, timer) и запрограммировать? Может, кто-нибудь знает альтернативные методы?




Благодарю за внимание
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


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

 


RSS Текстовая версия Сейчас: 23rd June 2025 - 19:10
Рейтинг@Mail.ru


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