ykmot26y
|
|
1 | |
Управление PLL11.12.2013, 14:51. Показов 5152. Ответов 5
Метки нет Все метки)
(
Здравствуйте!
У меня есть pll HMC833LP6GE, но я никак не могу заставить её генерировать сигналы нужной мне частоты (pll никак не реагирует на изменение значения делителя в цепи обратной связи с фазовым детектором). Причем частота на выходе pll не изменяется даже при варировании делителя опорной частоты (к слову, частота опорного 10Мгц). По идее, делаю всё согласно даташиту, по минимуму изменяя дефолтные настройки, настраивая режимы и .. ничего .. Может кто имел удачный опыт управления подобными штуками ? Если да, то поделитесь пожалуйста своим бесценным опытом и парой тонкостей, буду очень благодарен. Спасибо! |
|
11.12.2013, 14:51 | |
Ответы с готовыми решениями:
5
Синтезатор PLL на MCU STM32F4Discovery PLL Тактирование от PLL по HSI Глюк PLL STM32F091?
|
0 / 0 / 0
Регистрация: 15.06.2012
Сообщений: 3,097
|
|
11.12.2013, 16:16 | 2 |
У этого чипа довольно замороченный SPI доступ. Вы проверили, что ваш код правильно пишет/читает регистры чипа? Можно его, в смысле код, посмотреть?
0
|
ykmot26y
|
|
16.12.2013, 15:50 | 3 |
Извините, не имел возможности ответить из-за выходных. Пишет/читает всё без проблем, состояние регистров меняет на ура. Вот только ничего не происходит .. Единственное что можно уловить, так это при изменении выходного делителя всё корректно меняет, а вот при изменении значения делителя в цепи ФАПЧ не только ничего не происходит, но и может выходной сигнал свалиться на неведуемую мне частоту (79.7MГц при выходном делителе 60).
Так что с SPI проблем нет, тут наверное в настройке дело Вот кусок кода инициализации устройства, функция hmc833lp6g_tx( ) всё честно отрабатывает и записывает в регистры pll корректные значения Код
data = hmc833lp6g_rx(ID_REG); hmc833lp6g_tx(VCO_SPI_REG,0x188); hmc833lp6g_tx(VCO_SPI_REG,0x2A98); hmc833lp6g_tx(VCO_SPI_REG,0); hmc833lp6g_tx(VCO_SPI_REG,0x2898); hmc833lp6g_tx(VCO_SPI_REG,0); hmc833lp6g_tx(SD_CFG_REG,0x2003CA); // Integer mode enable hmc833lp6g_tx(CP_REG,0x3264); hmc833lp6g_tx(FI_REG,250); // N = 200 hmc833lp6g_tx(VCO_SPI_REG,0x7E10); // R = 60 |
ykmot26y
|
|
16.12.2013, 16:03 | 4 |
Если на словах, то я делаю следующее:
1) Читаю ID устройства 2) Включаем ГУН и буфер pll 3) Конфигурируем ГУН (в принципе те же дефолтные значения переписали) 4) Настроили работу pll в integer mode (целочисленное деление в петле обратной связи) 5) Запись значения делителя N петле ФАПЧ 6) Запись выходного делителя Вот как то так, вроде всё по даташиту, но зараза работать не хочет |
0 / 0 / 0
Регистрация: 15.06.2012
Сообщений: 3,097
|
|
22.12.2013, 15:48 | 5 |
У чипа с автокалибровкой есть заморочка, она пишет по последнему адресу в который осуществлялась запись через регистр VCO_SPI и наверняка затирает вам делитель ФАПЧ.
Попробуйте как нибудь так: Код
hmc833lp6g_tx(VCO_SPI_REG,0x7E10); // R = 60 hmc833lp6g_tx(VCO_SPI_REG,0); hmc833lp6g_tx(FI_REG,250); // N = 200
0
|
ykmot26y
|
|
23.12.2013, 18:50 | 6 |
Спасибо огромное! Действительно помогло. После каждого обращения к VCO_REG следует отсылать туда нули.
В процессе работы выяснился ещё один маленький нюанс: VCO работает только с частотами в интервале (2500; 3100) МГц, хотя согласно даташиту 1500-3000МГц, так что мой изначальный выбор делителя N=200 был не верным. А теперь, может кому понадобится, приведу пример инициализации этого чипа Код
data = hmc833lp6g_rx(ID_REG); hmc833lp6g_tx(VCO_SPI_REG,0x188); // Output Mute Function hmc833lp6g_tx(VCO_SPI_REG,0); hmc833lp6g_tx(VCO_SPI_REG,0x2A98); hmc833lp6g_tx(VCO_SPI_REG,0); hmc833lp6g_tx(SD_CFG_REG,0x2003CA); // Integer mode enable hmc833lp6g_tx(CP_REG,0x3264); hmc833lp6g_tx(VCO_SPI_REG,0x7E10); // R = 60 hmc833lp6g_tx(VCO_SPI_REG,0); hmc833lp6g_tx(FI_REG,300); // N = 300 hmc833lp6g_tx(VCO_SPI_REG,0x2898); // Enable PLL after muting hmc833lp6g_tx(VCO_SPI_REG,0); // Fundamental mode |
23.12.2013, 18:50 | |
23.12.2013, 18:50 | |
Помогаю со студенческими работами здесь
6
Сбой stm32f407, тактируемого от pll.
Настройка PLL множителей на stm32f407vet6 Тактирование от HSE через PLL. Выходная мощность PLL у Cyclone IV
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |