Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Умножение частоты
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
Skif
Люди добрые подскажите пожалуйста как умножить частоту в Spartan 2E (XC2S100E PQ208). Что нужно для этого сделать? К какой ноге должна быть подключена данная частота и так далее? Никогда ранее этого не делал. Просьба ответить как можно понятнее? Да и как делить частоту с помощью на 2.5?
chds
В соответствии с документацией
http://www.xilinx.com/support/documentatio...heets/ds077.pdf
Эта чудо микросхема содержит так называемые DLL (Delay-Locked
Loops) блоки, которые позволяют выполнять определенные действия над тактирующими сигналами, а именно, умножать и делить частоту таковых сигналов. На одном DLL частоту можно умножить на 2 и разделить 1.5, 2, 2.5, 3, 4, 5, 8, или 16 раз. Есть правда ограничение минимальная частота для умножения 25 МГц максимальная 135/160 МГц в зависимости от кристалла. А если использовать не CLKDLL, а CLKDLLHF элемент то частоты могут быть еще выше минимальная 60 МГц максимальная 275/320 МГц.
Лучше всего заводить через специательные входы GCK0, GCK1, GCK2, GCK3. Но покатит любой I/O, правда в этом случае придется потратить один лишний GBUF, которых тоже очень ограниченное количество.
Соответственно зная какая частота входная и какая должна быть выходная группируем DLL, для этого смотрим http://www.xilinx.com/support/documentatio...tes/xapp174.pdf

Если частоты ниже 25 МГц то смотрим: http://www.xilinx.com/support/documentatio...tes/xapp225.pdf
Skif
Цитата(chds @ Apr 22 2008, 17:29) *
В соответствии с документацией
http://www.xilinx.com/support/documentatio...heets/ds077.pdf
Эта чудо микросхема содержит так называемые DLL (Delay-Locked
Loops) блоки, которые позволяют выполнять определенные действия над тактирующими сигналами, а именно, умножать и делить частоту таковых сигналов. На одном DLL частоту можно умножить на 2 и разделить 1.5, 2, 2.5, 3, 4, 5, 8, или 16 раз. Есть правда ограничение минимальная частота для умножения 25 МГц максимальная 135/160 МГц в зависимости от кристалла. А если использовать не CLKDLL, а CLKDLLHF элемент то частоты могут быть еще выше минимальная 60 МГц максимальная 275/320 МГц.
Лучше всего заводить через специательные входы GCK0, GCK1, GCK2, GCK3. Но покатит любой I/O, правда в этом случае придется потратить один лишний GBUF, которых тоже очень ограниченное количество.
Соответственно зная какая частота входная и какая должна быть выходная группируем DLL, для этого смотрим http://www.xilinx.com/support/documentatio...tes/xapp174.pdf

Если частоты ниже 25 МГц то смотрим: http://www.xilinx.com/support/documentatio...tes/xapp225.pdf

Спосибо за ответ но мне необходимо умножить частоту менее 25 Мгц жаль надежда не оправдалась

Да разбираться и разбираться ничего пока не понятно. Если можно разложите по полочкам. Частота будет подаваться менее 25 мгц.
chds
а третья ссылка не прояснила вопрос?
Boris_TS
Цитата(Skif @ Apr 22 2008, 16:46) *
Спосибо за ответ но мне необходимо умножить частоту менее 25 Мгц жаль надежда не оправдалась

Да разбираться и разбираться ничего пока не понятно. Если можно разложите по полочкам. Частота будет подаваться менее 25 мгц.

А какую частоту Вам надо умножить, по конкретней пожалуйста ? Если более 12.5 МГц, то можно заняться изврашением: сделать корявый умножитель на 2, подняв частоту до 25 МГц, а далее на CLKDLL (с включенной опцией корекции скважности) - может и заработает.

А CLKDLLHF для целей умножения частоты никак не подходит - у него просто нет выхода с удвоенной частотой, зато и входная частота у него в два раза больше, чем у CLKDLL.

Spartan-2(E) CLKDLL можно включить последоватьно, и таким образом добиться умножения частоты на 4 (с ухудшением блужданий и дрожаний конечно), но что-то мне не попадались упоминания от Xilinx про умножения на 8 (3 каскадно сцепленных DLL) - возможно в таком варианте дрожания фронтов (jitter) становяться непиемлемими. Но может лучше поставить внешний аналоговый PLL. Ведь даже, если бы у Вас была частота 25 и более МГц, то Spartan-2(E) DLL имеет просто отвратительный jitter - и уже по этому параметру может не подойти. Например, поглядите на аналогавый умножитель частоты: ICS511/ICS512 (Integrated Circuit Systems) - сам пользовался этим и остался доволен - может от Вам как раз и подойдет ?
chds
Каскадированием 3-х DLL занимался все хорошо работает, если по уму завести clock. Основная проблема у 2 и 2Е молое количество GBUF, которые по непонятной прихоти Xilinx необходимо было тратить на FeedBack (CLKFB). А джитер важен больше для АЦПреобразования, чем для цифровой схемы. В чем проблема если время срабатывания триггера будет раньше в одном периоде и позже в другом на 100ps. Ни на один известный мне интерфейс, который разумно применять на SP2/2E это не повлияет.
Kuzmi4
2 all
Вопрос наверно не совсем по теме, но всё же..
Касательно умножения частоты вообсче - можно ли как то на LE сварганить PLL..

В принципе читал хоровица - теория на 4040 и 4046 ясна...
Счётчик то не проблема - а вот как быть с ГУНом и аналоговой цепочкой между ФД и ГУНом ??
smile3046.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.