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

Работаю с микросхемой AD9528.

На вход VXCO подаётся дифференциальный сигнал с Si570 (100 МГц).

На выходе OUT0 необходимо получить 1 ГГц. Но пока хочу 20 МГц.

Запускаю следующую последовательность:

 

0x000,        0x18,        1

0x000,        0x81,        1

0x100,        0x01,        1
0x102,        0x01,        1
0x104,        0x01,        1
0x108,        0x01,        1
0x201,        0xC0,        192
0x204,        0x03,        3

 

Перед каждой отправкой пускаю 

0x00F   0x01,  

Далее, для проверки, запускаю процедуру чтения по этим регистрам - всё правильно, то что было записано, то и читается - правильно.

На выходе ничего не меняется - какой-то дребезг идёт.

Кто-нибудь работал с данной микросхемой?

 

 

 

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


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

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

Далее, для проверки, запускаю процедуру чтения по этим регистрам - всё правильно, то что было записано, то и читается - правильно.

На выходе ничего не меняется - какой-то дребезг идёт.

почитайте статусные регистры 0x505-0x509, может там будет видно чего чипу не хватает, входной не устраивает или pll не залочилась

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


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

До настройки регистров (считываю):

505  -00

506-00

507-00

508-10

509-10

 

Видно, что PLL не LOCK, VCXO-incorrect.

После записанных регистров (указанных выше), я их прочитал, всё соответсвует.

Но контрольные регистры читаются так:

505  -00

506-00

507-00

508-30  (VCXO-correct - статус изменился)

509-10

 

PLL - не LOCKED!!

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


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

2 часа назад, Art55555 сказал:

O-incorrect.

После записанных регистров (указанных выше), я их прочитал, всё соответсвует.

похоже с наскоку такой чип не окучить, там по-идее, надо соблюдать последовательность действий и не кидать "от балды", а дожидаться например смены флага готовности и подобного, типа pll нужно время чтобы выйти на готовность, делители/множители д.б. валидны для требуемых частот..

посмотрите вот тут https://wiki.analog.com/resources/tools-software/linux-drivers/iio-pll/ad9528 как это делает драйвер для линукса, может что полезного вычитаете, особенно в функции "int ad9528_setup"

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


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

21 час назад, Art55555 сказал:

Работаю с микросхемой AD9528.

На вход VXCO подаётся дифференциальный сигнал с Si570 (100 МГц).

На выходе OUT0 необходимо получить 1 ГГц. Но пока хочу 20 МГц.

Запускаю следующую последовательность:

 

0x000,        0x18,        1

0x000,        0x81,        1

0x100,        0x01,        1
0x102,        0x01,        1
0x104,        0x01,        1
0x108,        0x01,        1
0x201,        0xC0,        192
0x204,        0x03,        3

  

Перед каждой отправкой пускаю 

0x00F   0x01,  

Далее, для проверки, запускаю процедуру чтения по этим регистрам - всё правильно, то что было записано, то и читается - правильно.

На выходе ничего не меняется - какой-то дребезг идёт.

Кто-нибудь работал с данной микросхемой?

 

 

 

Чудно все как-то...

 

Если у Вас референсная (опорная) частота подается не на вход REFA/REFB, а на вход VCXO, то зачем Вы тогда настраиваете PLL1?

 

Выходной делитель Вы не программируете, оставляя коэффициент деления по умолчанию (5), т.е. можно предположить, что 20МГц на выходе OUT0 Вы хотите получить напрямую из 100МГц VCXO входа, минуя PLL2, но кто будет тогда настраивать выходной коммутатор? Он по умолчанию настроен именно на выход PLL2. Да и собственно PLL2 Вы программируете как-то очень урезанно... 

 

И потом, что означает вот эта вот странная последовательность: "0x201, 0xC0, 192"? Вы пишете в два регистра подряд, в 0x201 и 0x202? Если нет, тогда что за число 192? В любом случае, записываемые значения вызывают сомнения...

 

Еще наверно надо не "Перед каждой отправкой пускаю 0x00F  0x01", а "После каждой отправки пускаю 0x00F  0x01"?

 

Вот эта последовательность тоже отдает загадочностью: 0x000, 0x18,  1;  0x000, 0x81, 1

 

Про то, что нужно выполнять калибровку PLL1/2 пока можно наверно даже и не упоминать...

 

И да, есть же ADIsimCLK...

Изменено пользователем Самурай

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


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

Пока мне нужно получить вот такую систему, чуть позже с сисрефом разберусь.

В AD 9528Evalution Software конфигурирую то, что мне нужно.

 

813831500_2019-10-0416_56_56.thumb.png.39f0b467eb8f9705ac4268fb9bf07285.png

 

Далее, экспортирую регистры, которые по своим значениям отличаются от стандартных,   в STP-файл.

Вот они:

1183620381_2019-10-0416_57_54.thumb.png.e1114021c1bf78824dcb4e7f0bfa6ea2.png

 

Команду 0000 18 (адрес + данные) даю, чтобы видеть по SPI-ответ микросхемы.

Команду 0000 81 - софт ресет - всегда даю перед всеми настройками.

PLL по-прежнему не калибруется.

 

Если же после всех регистров проделать команды с калибровкой (203 регистр), то :

Регистр 508 выдаёт F0

Регистр 509 выдаёт 08

 

PLL2-LOCK  в нуле.

 

Да, видел не туда комутил (получилось "пробросить" 100 МГц-вый сигнал на 0-выход - здесь всё получилось)

 

 

 

 

 

 

 

Изменено пользователем Art55555

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


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

Я не увидел, что Вы настраиваете charge pump и loop filter для PLL2... Неужели устраивают значения по умолчанию? Судя по тому, что PLL2-LOCK в нуле, есть сомнения...

 

 

22 часа назад, Art55555 сказал:

Команду 0000 18 (адрес + данные) даю, чтобы видеть по SPI-ответ микросхемы.

Команду 0000 81 - софт ресет - всегда даю перед всеми настройками.

Если Вы посмотрите свое первое сообщение, то увидите, что у Вас они приведены в обратном порядке, т.е. сначала Вы включаете SDO, а потом тут же его отключаете, давая команду сброса... Это то и вызвало некоторое недоумение... 

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


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

On 10/5/2019 at 3:29 PM, Самурай said:

Я не увидел, что Вы настраиваете charge pump и loop filter для PLL2... Неужели устраивают значения по умолчанию? Судя по тому, что PLL2-LOCK в нуле, есть сомнения...

 

Дело в том, что значения для этих регистров я генерил в программе AD9528 Evolution Software.

Тем не менее, я поподавал разные значения на 201-209,  потом проводит процедуру VCO-калибрации. 

Результат пока такой же((

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


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

Больше параметров

<registers>
Register (Hex),    Value (Hex),    Value (Dec)
0x100,        0x01,        1
0x102,        0x01,        1
0x104,        0x01,        1
0x108,        0x01,        1
0x200,        0x03,        3
0x201,        0x0A,        10
0x202,        0x83,        131
0x203,        0x02,        2
0x204,        0x04,        4
0x205,        0x6C,        108
0x208,        0x09,        9
0x302,        0x00,        0
</registers>
 

после этого VCO-calibration и считывание 508-509:

508 -11110000

509 -00001000

 

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


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

Вот тут:

0x202, 0x83

лучше наверно поменять на:

0x202, 0x03,

т.к. иначе получается, что "lock detector powered down".

 

Еще пару вопросов:

1. Между выводами LF2_CAP (Pin 14) и LDO_VCO (Pin 15) стоит сейчас какая-нибудь емкость? Номинал?

2. Есть внешняя терминация по входам VCXO?

3. Какая реально частота подается на вход VCXO?

 

2 часа назад, Art55555 сказал:

Дело в том, что значения для этих регистров я генерил в программе AD9528 Evolution Software.

AD9528 Evaluation Software не рассчитывает параметры loop filter, а "генерит" только то, что сам пользователь ручками введет. Или не введет, а оставит по умолчанию. Но в любом случае, эти значение должны быть вразумительными, а не от фонаря... Вот параметры фильтра (с учетом внешнего конденсатора!) и charge pump для рекомендуемого значения loop bandwidth:

AD9528_PLL2_1.thumb.png.2860cd1c4dc335b25a1d68644e33eb72.png

 

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


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

Добрый день!

0x202, 0x03 - сейчас буду проверять.

1.1397122572_2019-10-0810_21_49.thumb.png.793d58579b5177f46246000877537a77.png

 

2.581678065_2019-10-0810_23_10.thumb.png.7524b2c464c2a45b307ec810b85d5e01.png

 

3.Да, VXCO у нас Si570, реально выдаёт хороший 100 МГц, я проверял лично.

 

Тут вот ещё что есть:

https://analogdevices.telligenthosting.net/clock_and_timing/f/q-a/109939/ad9528-pll2-unlock/325607#325607

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


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

Ура!

после изменения 202 на 03, все стало калиброваться. 
в конце всех настроек обязательно VCO-calibration. 
Самураю СПАСИБО!

 

Тема пока актуальна, дальше меня ждут упражнения с SysRef и JESD. 

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


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

Как я уже писал ранее, всё работает. 

Необходимо создать такт на выходе 1200 МГц на OUT 0 и на OUT 13.  Судя по описанию, такую частоту эти выходы полностью поддерживаются.

А вот софт от Аналога подсвечивает красным по поводу 0-го выхода, типа out of range, с 13-м всё ок. Физически не могу проверить - есть ли там частота или нет.

Встречался кто с такой проблемой? 

 

2019-11-01_11-02-39.thumb.png.9bc775ff0f9085cbfbeb7960d193c221.png

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


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

1. Можно, чтобы проверить мах вых частоту в данном режиме OUT0, понизить до 1 Ghz или около.

2. По даташиту также сказано, что самые высокие частоты (>1200 Ghz) поддерживают только выходы OUT1,OUT2,

    см tabl.2, p.5     tabl.11, p.9,  tabl. 12, p.10  Те, наблюдается противоречие, тк в других местах даташита OUT0 высокочастотный

3. Красным цветом Tools отмечает проблемные места- в программировании PLL1. 

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


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

В 02.11.2019 в 12:38, Алга сказал:

2. По даташиту также сказано, что самые высокие частоты (>1200 Ghz) поддерживают только выходы OUT1,OUT2,

    см tabl.2, p.5     tabl.11, p.9,  tabl. 12, p.10  Те, наблюдается противоречие, тк в других местах даташита OUT0 высокочастотный 

Для выходных сигналов основные параметры следует брать исключительно из таб.8, а там относительно 1250 МГц все четко и однозначно - OUT0 to OUT3, OUT12, OUT13 outputs only. И это хорошо совпадает с кратким описанием на первой же страницы даташита и с тем, что говорит AD у себя на сайте. Все остальное ленивые/криворукие индусы/китайцы просто забыли/забили исправить при переходе с ревизии "C" на ревизию "D". А вот коснулись ли эти изменения только даташита или еще и самих чипов, лучше спросить непосредственно у AD.

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


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

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

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

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

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

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

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

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

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

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