|
|
  |
Cдвиг частоты на 500 ps, Spartan6, как получить? |
|
|
|
Feb 28 2014, 08:41
|
Знающий
   
Группа: Участник
Сообщений: 835
Регистрация: 9-08-08
Из: Санкт-Петербург
Пользователь №: 39 515

|
Цитата(SM @ Feb 28 2014, 12:28)  В MachXO2 Tdly = 250 ps, не пойдет. У LattidceXP2 там 16 шагов по 22.5 градусов фазы, тоже маловато будет. Хотя пишут, что для клока в 420 МГц удается получить 32 шага по 70 ps (с использованием WRDEL), но, как бы, тоже маловато будет. Насколько я понял, ТС не надо абсолютно точно выдерживать именно 500ps, да это и не получится ни на каких FPGA, из-за джиттера хотя бы, и плавающих задержек в IOB, которые, правда, можно компенсировать внешним фидбэком, но не полностью ведь.
|
|
|
|
|
Feb 28 2014, 08:52
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Я немного не про то... ТС писал, что надо (всего 40 сдвигов на период 20 нс) - а PLL латиса может дать только 16 сдвигов фаз. Хотя, может быть, если подумать хорошо, и сделать, например, один клок с периодом 4 нс, и рулить в нем фазовым сдвигом, разделив период на 8 частей (по 500 пс), и как-то эту задержку использовать уже для задерживания главного клока, где надо 5*8=40 сдвигов по 500 пс.... В любом случае, это MachXO2 не сможет, только XP2 или ECP3. А 500 пс будут относительно точные, так как это не задержка на аналоговой линии, а управление фазой (хотя я, честно, недопонимаю как она сделана, если fVCO 435...870 MHz, а для 16 сдвигов фазы надо иметь fVCO хотя бы в 8 раз выше, чем вых. клок, или может там замаскировалась DLL)
|
|
|
|
|
Feb 28 2014, 15:01
|
Группа: Участник
Сообщений: 11
Регистрация: 25-02-14
Пользователь №: 80 677

|
Цитата(jks @ Feb 27 2014, 13:36)  Как вариант.
Можно попробовать сформировать два тактовых сигнала CLK1 и CLK2 с периодом T1=20нс и T2=20,5нс. Период когерентности двух сигналов T0 = 41*T1 = 40*T2 = 820нс. Т.е. два сигнала будут в одинаковой фазе каждый 41-й период CLK1 или каждый 40-й период CLK2. В каждом периоде между двумя сигналами будет фазовый сдвиг равный N*500ps, где N - номер такта. Первым тактовым сигналом CLK1 формировать сигнал сбора данных и сигнал разрешения импульса в нужный такт. Вторым тактовым сигналом CLK2 в этот же такт по сигналу разрешения формировать импульс. Между сигналом сбора данных (сигнал разрешения импульса) и фронтом импульса по идее должен быть нужный фазовый сдвиг (+/- джиттер + некоторая фиксированная задержка). Уважаемый jks, да, спасибо за интересное решение, и схема не очень сложная, я до такого не додумался... Попробывал сформировать два клока на DCM (20 нс и 20,5 нс), с входного 100 МГц - 20,5 не может. Самое близкое что получается это: 48МГц (20,833) и 52Мгц (19,230). Но! Можно сформировать 2 клока 21 нс с фазами 0 и 180. Цитата(boul @ Feb 28 2014, 16:51)  Уважаемый jks,
да, спасибо за интересное решение, и схема не очень сложная, я до такого не додумался... Попробывал сформировать два клока на DCM (20 нс и 20,5 нс), с входного 100 МГц - 20,5 не может. Самое близкое что получается это: 48МГц (20,833) и 52Мгц (19,230). Но! Можно сформировать 2 клока 21 нс с фазами 0 и 180. Но! Можно сформировать 2 клока 21 нс с фазами 0 и 180. Хотя нет, это ничего не даст, погорячился.
|
|
|
|
|
Mar 2 2014, 11:11
|
Знающий
   
Группа: Участник
Сообщений: 835
Регистрация: 9-08-08
Из: Санкт-Петербург
Пользователь №: 39 515

|
Цитата(SM @ Feb 28 2014, 12:52)  Я немного не про то... ТС писал, что надо (всего 40 сдвигов на период 20 нс) - а PLL латиса может дать только 16 сдвигов фаз. Хотя, может быть, если подумать хорошо, и сделать, например, один клок с периодом 4 нс, и рулить в нем фазовым сдвигом, разделив период на 8 частей (по 500 пс), и как-то эту задержку использовать уже для задерживания главного клока, где надо 5*8=40 сдвигов по 500 пс.... В любом случае, это MachXO2 не сможет, только XP2 или ECP3. А 500 пс будут относительно точные, так как это не задержка на аналоговой линии, а управление фазой (хотя я, честно, недопонимаю как она сделана, если fVCO 435...870 MHz, а для 16 сдвигов фазы надо иметь fVCO хотя бы в 8 раз выше, чем вых. клок, или может там замаскировалась DLL) Если в MachXO2 настроить f_VCO = 500МГц, output dividers=10, то получим output frequency=50МГц, phase shift step=45град/10 = 4.5град. То есть период 20нс поделится на 80 равных частей по 250пс, что и требовалось и даже лучше  . Я тоже думаю, что для сдвига фазы маленькими кусочками там используется скрытая DLL, работающая на частоте VCO.
|
|
|
|
|
Mar 2 2014, 16:53
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Так вроде в MachXO2 нету нормального phase shift, он есть только в XP2/ECP3. А в XO2 только есть fine delay, измеряемая в неких попугаях 250ps/шаг +-полкилометра ухода с PVT. В XP2 нету fine delay, но есть phase shift. А в ECP3 есть и то, и это сразу.
PS Может и не прав, я довольно поверхностно смотрел на XO2, но не нашел честного phase shift (динамического, управляемого входами), только неточный fine delay, который имеет полукилометровый разброс.
|
|
|
|
|
Mar 3 2014, 07:29
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(Timmy @ Mar 3 2014, 11:17)  См. TN1199, MachXO2 sysCLOCK PLL Design and Usage Guide, page 13-18. Там PLL похож на альтеровские - 4 выхода с независимыми делителями Только эти фазовращатели не имеют динамического управления, а только параметрами (см. хэндбук, MachXO sysCLOCK PLL Design and Usage Guide, Figure 10-2, порт DDAIDEL[2:0] - рулить из схемы можно только входной задержкой, которая не точная. В отличие от этого у XP2 для руления фазы порт заведен совсем не туда - порт DPHASE, Figure 9-4, хэндбук по XP2. Разницу понимаете? В первом можно поиграть через порт только задержкой в петле до фазового детектора уже деленного сигнала обратной связи, а во втором - честно фазой выходного сигнала. У ECP3 - есть оба механизма сразу, порт DPHASE управляет фазой выхода, а FINEDELA/FINEDELB - задержкой входа. Управление задержкой в задаче не годится, так как там разброс +-полкилометра. А вот управление фазой, которого нет в MACHXO2, возможно, подойдет.
|
|
|
|
|
Mar 3 2014, 10:52
|
Группа: Участник
Сообщений: 11
Регистрация: 25-02-14
Пользователь №: 80 677

|
Цитата(Golikov A. @ Mar 2 2014, 20:09)  а что если повторить опыт с 20 и 20.5 нСек частоты, но с одним или двумя внешними генераторами частоты? Поясните, что вы имеете ввиду. Как я понимаю, эти две частоту должны быть синхронизированные (например сгенерированные на DCM), если они будут независимые то никогда не получим повторения фазы через кратный промежуток времени. По поводу "можно более сложную сетку, можно чтобы между клоками было не 0.5 нС, а допустим N*0.5 нС, при некоторых периодах клока, и нечетных N, можно будет получать разные задержки кратные 0.5 нС" подходит N = 3 (21,5 нс), тогда за время 3*21,5*20 можно перебрать все варианты сдвигов. Но, опять же, DCM не дает такие частоты. Для 21,5 нс дает самое близкое 21,43 нс (+70 ps), что за 40 сдвигов даст уход в 2,8 нс. Для 18,5 нс дает - 18,52 (-20 ps). Уже близко, но за 40 сдвигов уход в 0,8 нс. Или может подобрать так входной генератор клока, чтобы DCM смог сформировать 2 частоты 20 нс и 20,5 нс, то есть подобрать какую-то кратную этим периодам частоту? Спор про Латтис конечно интересен, но у меня плата на Спартане 6, про замену FPGA речи не идет.
|
|
|
|
|
Mar 3 2014, 11:06
|
Профессионал
    
Группа: Свой
Сообщений: 1 214
Регистрация: 23-12-04
Пользователь №: 1 643

|
Приветствую! Цитата(boul @ Mar 3 2014, 12:52)  Спор про Латтис конечно интересен, но у меня плата на Спартане 6, про замену FPGA речи не идет. А какой именно Спартан 6 ? Успехов! Rob.
|
|
|
|
|
Mar 3 2014, 11:11
|
Группа: Участник
Сообщений: 11
Регистрация: 25-02-14
Пользователь №: 80 677

|
Цитата(RobFPGA @ Mar 3 2014, 13:06)  Приветствую!
А какой именно Спартан 6 ?
Успехов! Rob. XC6SLX16-CSG225
|
|
|
|
|
Mar 3 2014, 11:57
|
Профессионал
    
Группа: Свой
Сообщений: 1 214
Регистрация: 23-12-04
Пользователь №: 1 643

|
Приветствую! Цитата(boul @ Mar 3 2014, 13:11)  XC6SLX16-CSG225 Ой какая маленькая Вариант с GTP тут конечно отпадает ввиду отсутствия оного, ах вот хотя бы 25T. Остается только пытается сделать динамическую калибровку для подстройки варианта со сдвигом фазы DCM. Ну или все же внешнюю задержку лепить. Успехов! Rob.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|