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

Умножение частоты

Люди добрые подскажите пожалуйста как умножить частоту в Spartan 2E (XC2S100E PQ208). Что нужно для этого сделать? К какой ноге должна быть подключена данная частота и так далее? Никогда ранее этого не делал. Просьба ответить как можно понятнее? Да и как делить частоту с помощью на 2.5?

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

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


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

В соответствии с документацией

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

Изменено пользователем 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

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

 

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

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


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

Спосибо за ответ но мне необходимо умножить частоту менее 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) - сам пользовался этим и остался доволен - может от Вам как раз и подойдет ?

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


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

Каскадированием 3-х DLL занимался все хорошо работает, если по уму завести clock. Основная проблема у 2 и 2Е молое количество GBUF, которые по непонятной прихоти Xilinx необходимо было тратить на FeedBack (CLKFB). А джитер важен больше для АЦПреобразования, чем для цифровой схемы. В чем проблема если время срабатывания триггера будет раньше в одном периоде и позже в другом на 100ps. Ни на один известный мне интерфейс, который разумно применять на SP2/2E это не повлияет.

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


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

2 all

Вопрос наверно не совсем по теме, но всё же..

Касательно умножения частоты вообсче - можно ли как то на LE сварганить PLL..

 

В принципе читал хоровица - теория на 4040 и 4046 ясна...

Счётчик то не проблема - а вот как быть с ГУНом и аналоговой цепочкой между ФД и ГУНом ??

:smile3046:

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


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

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

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

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

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

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

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

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

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

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