реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Формирование частот
Loser
сообщение Mar 22 2008, 12:14
Сообщение #1





Группа: Новичок
Сообщений: 7
Регистрация: 11-03-08
Пользователь №: 35 817



Такой вопрос, товарищи! Необходимо создать 2 синхронные частоты на Virtex 4. Причём, одна порядка 100МГц, а вторая - десятки-сотни килогерц. Обычный DCM не выдает частоты ниже 1МГц, а потому пришлось вручную делить до необходимых килогерцовых. Но при этом, соответственно частоты оказываются не синхронными и система начинает работать некорректно. Подскажите, пожалуйста, есть ли способ сделать их синхронными
Go to the top of the page
 
+Quote Post
Mc_off
сообщение Mar 22 2008, 17:39
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 263
Регистрация: 2-01-07
Из: Ростовская область
Пользователь №: 24 044



Как это у вас получилось, что частота полученная делением из другой частоты - несинхронна первой ?
Go to the top of the page
 
+Quote Post
Loser
сообщение Mar 22 2008, 18:03
Сообщение #3





Группа: Новичок
Сообщений: 7
Регистрация: 11-03-08
Пользователь №: 35 817



Так деление то производилось вручную, т.е. на основе счетчика и т.д. Это привело к тому, что деленая частота получила задержку на распространение в этом элементе цепи. И при больших коэффициентах деления она получается довольно существенной.
Go to the top of the page
 
+Quote Post
Mc_off
сообщение Mar 22 2008, 18:28
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 263
Регистрация: 2-01-07
Из: Ростовская область
Пользователь №: 24 044



Т.е. частоты синхронные, но между фронтами существует неприемлемо большая задержка ?

Если так, то простробируй низкую частоту высокой.

Можно простробировать обе частоты... более высокой

Однако, в любом случае абсолютно точно фронты совпадать не будут.

Необходимо применять такие схемы, в которых несовпадение фронтов не критично.
Go to the top of the page
 
+Quote Post
Bad0512
сообщение Mar 24 2008, 06:17
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 802
Регистрация: 11-05-07
Из: Томск
Пользователь №: 27 650



Цитата(Loser @ Mar 22 2008, 18:14) *
Такой вопрос, товарищи! Необходимо создать 2 синхронные частоты на Virtex 4. Причём, одна порядка 100МГц, а вторая - десятки-сотни килогерц. Обычный DCM не выдает частоты ниже 1МГц, а потому пришлось вручную делить до необходимых килогерцовых. Но при этом, соответственно частоты оказываются не синхронными и система начинает работать некорректно. Подскажите, пожалуйста, есть ли способ сделать их синхронными


Вижу два варианта решения проблемы :
1. Входную частоту (100 МГц) делите делителем DCM до минимально возможной (допустим получилось поделить до 1МГц). При этом эта частота при правильных настройках DCM будет по фронтам синхронна со входной. Потом эту промежуточную частоту маленьким счётчиком делите до необходимой. За счёт того, что счётчик получается маленьким - задержки выхода будут минимальны. Не забывайте прпо использование constraints - это позволяет существенно уменьшить задержки в нужных местах.
2. Используем DCM в режиме классического phase locked loop (PLL). Для этого входные 100 Мгц заводим на вход CLK_IN, на вход CLK_FB заводим низкочастотные клоки. Выходные CLK_OUT при правильном включении атрибутов DCM должны быть синхронными с низкочастотными клоками. Их и используем далее в своей логике.
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Mar 24 2008, 06:28
Сообщение #6


Профессионал
*****

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



Поставьте на высокую частоту еще одну DCM и с ее помощью задержите высокую частоту настолько, чтобы ее фронты совпали с низкой. Но вообще правильно вам сказали - надо делать так, чтобы соотношение фаз частот не играло роли, так как они будут плыть он напряжения и температуры как ни крути, и работать станет нестабильно.
Go to the top of the page
 
+Quote Post
dvladim
сообщение Mar 24 2008, 08:00
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 654
Регистрация: 24-01-07
Из: Воронеж
Пользователь №: 24 737



Цитата(Loser @ Mar 22 2008, 21:03) *
Так деление то производилось вручную, т.е. на основе счетчика и т.д. Это привело к тому, что деленая частота получила задержку на распространение в этом элементе цепи. И при больших коэффициентах деления она получается довольно существенной.

На синхронном делителе задержка не будет зависеть от разрядности.

Цитата(Mc_off @ Mar 22 2008, 21:28) *
Т.е. частоты синхронные, но между фронтами существует неприемлемо большая задержка ?

Если так, то простробируй низкую частоту высокой.

Равноценно использованию синхронного делителя. (Задержка = задержке триггера)

Цитата(Mc_off @ Mar 22 2008, 21:28) *
Можно простробировать обе частоты... более высокой

Однако, в любом случае абсолютно точно фронты совпадать не будут.

Присоединяюсь.

Каков допустимый skew между клоками?
Go to the top of the page
 
+Quote Post
Loser
сообщение Mar 24 2008, 10:16
Сообщение #8





Группа: Новичок
Сообщений: 7
Регистрация: 11-03-08
Пользователь №: 35 817



Со стробированием то и так понятно! Система так и работала в моем случае потом. Просто были надежды, что это всё можно сделать как-то более просто - потому и решил спросить. А-ля какие нить встроеные блоки или IP. Всем пасибо smile.gif
Go to the top of the page
 
+Quote Post
bms
сообщение Mar 29 2008, 21:05
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 203
Регистрация: 11-08-05
Пользователь №: 7 545



Цитата(Loser @ Mar 22 2008, 15:14) *
Такой вопрос, товарищи! Необходимо создать 2 синхронные частоты на Virtex 4. Причём, одна порядка 100МГц, а вторая - десятки-сотни килогерц. Обычный DCM не выдает частоты ниже 1МГц, а потому пришлось вручную делить до необходимых килогерцовых. Но при этом, соответственно частоты оказываются не синхронными и система начинает работать некорректно. Подскажите, пожалуйста, есть ли способ сделать их синхронными


Проблема выеденого яйца не стоит, особенно для Virtex-4, у которого есть встроенные 48-битные DSP-блоки, на которых без труда собирается синтезатор частоты (DDS). Там и корка такая должна быть... Хотя тут и без корки все ясно - почему-то никто не вспомнил про старый добрый NCO (по сути своей - накапливающий сумматор). На них обычно делаются такие вещи, посмотрите хотя бы даташит на микросхемку AD9952...

И главное - судя по всему эту килогерцовую частоту Вы пытаетесь использовать как клок для части своих схем. Это не правильный поход и проблему синхронности таким способом не решить. Кроме того под это дело съедается дополнительная глобальная лиия (что Вас видимо не очень беспокоит). Об этом пишут в соответствующих документах. Правильнее использовать эту низкую частоту не как клок, а как "clock enable", при этом клок остается тем же - Ваши 100МГц, просто он сопровождается синтезированным "clock enable" нужной частоты. Что позволяет забыть о проблемах синхронности, да и лишняя глобальная линия не тратится, а она на дороге не всегда валяется.

Успехов!
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 13:54
Рейтинг@Mail.ru


Страница сгенерированна за 0.01428 секунд с 7
ELECTRONIX ©2004-2016