Перейти к содержанию
    

Работа с Altera PLL Reconfig IP cores

Коллеги, в новом проекте понадобилось оперативно изменять фазу клока из PLL.

Написал простенький автомат, стартует автомат по запускающему сигналу start с периодом следования 1 сек.

При чётных секундах в регистр Dynamic_Phase_Shift пишется код 0х20, up_dn = '1', что равносильно фазовому сдвигу +90 градусов.

При нечётных секундах в регистр Dynamic_Phase_Shift пишется код 0х20, up_dn = '0', что равносильно фазовому сдвигу -90 градусов.

Опорная частота для PLL - 40 МГц, выходная частота - тоже 40 МГц.

Двухлучевым осциллографом контролирую сдвиг фаз, фаза выходного сигнала не совпадает с ожидаемым значением.

Чтобы получить ожидаемые значения сдвига фаз мне нужно в Dynamic_Phase_Shift записывать код 0х08.

Получается код нужно уменьшить в 4 раза. Слишком большая ошибка. Может я чего не учёл?

Кто-то работал с этим IP?

Вычисления в пристёжке.

 

Calc_phase_pll_AR.xlsx

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 2/1/2022 at 3:20 PM, _sda said:

Коллеги, в новом проекте понадобилось оперативно изменять фазу клока из PLL.

Написал простенький автомат, стартует автомат по запускающему сигналу start с периодом следования 1 сек.

При чётных секундах в регистр Dynamic_Phase_Shift пишется код 0х20, up_dn = '1', что равносильно фазовому сдвигу +90 градусов.

При нечётных секундах в регистр Dynamic_Phase_Shift пишется код 0х20, up_dn = '0', что равносильно фазовому сдвигу -90 градусов.

Опорная частота для PLL - 40 МГц, выходная частота - тоже 40 МГц.

Двухлучевым осциллографом контролирую сдвиг фаз, фаза выходного сигнала не совпадает с ожидаемым значением.

Чтобы получить ожидаемые значения сдвига фаз мне нужно в Dynamic_Phase_Shift записывать код 0х08.

Получается код нужно уменьшить в 4 раза. Слишком большая ошибка. Может я чего не учёл?

Кто-то работал с этим IP?

Вычисления в пристёжке.

 

Calc_phase_pll_AR.xlsx 11.44 kB · 4 downloads

 

 

А фаза точно складывается в VCO ?

Или на выходе ?

https://www.intel.cn/content/dam/altera-www/global/en_US/images/support/devices/pll_clock/images/fig_07_00_pll_block.gif

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А какая разница где она складывается? Известно что одна единица кода соответствует задержке выходного клока по времени 1/8 периода VCO, остальное внутренние дела.

image.png.ba14ce42dffb6f387f56abe7442981d0.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

я бы руками в генераторе выставил нужные вам режимы и посмотрел на частоту гуна. Точно ли там все те параметры PLL которые вы задали. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

32 минуты назад, des00 сказал:

я бы руками в генераторе выставил нужные вам режимы и посмотрел на частоту гуна. Точно ли там все те параметры PLL которые вы задали. 

Это первое что я проверил.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 hours ago, _sda said:

Это первое что я проверил.

Все цифры, в том числе значения сдвига фазы совпадают? Если цифры один в один, а работает по разному, то может быть у вас где то сдвиг на 2 бита возникает?  

UPD. Я говорю не про параметры в корегенераторе, ЕМНП там можно включить расширенный вывод формы и там будет карта регистров PLL со значениями. Вот их сравнить. Если все совпадает, то может быть проблема в вашем измерительном стенде? Может быть сделать два выходных сигнала, без сдвига и со сдвигом, вместо того что бы измерять входной и выходной?  

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

56 минут назад, des00 сказал:

ЕМНП там можно включить расширенный вывод формы и там будет карта регистров PLL со значениями. Вот их сравнить. Если все совпадает, то может быть проблема в вашем измерительном стенде? Может быть сделать два выходных сигнала, без сдвига и со сдвигом, вместо того что бы измерять входной и выходной?  

Да, на карте тоже всё совпадает. Мне была нужна разность фаз между входным клоком и выходным, поэтому эту разность и измеряю.

К сожалению время поджимает, глубоко копать некогда. Я нашёл другое решение своей задачи.

Всем ответившим спасибо за неравнодушие!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...