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

 
 
 
Reply to this topicStart new topic
> Формирование тактовых сигналов, помогите разобраться
demi
сообщение Jul 2 2007, 06:54
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 23
Регистрация: 2-11-06
Пользователь №: 21 897



Добрый день.
Помогите разобраться в следующей проблеме.
Необходимо сформировать 2 тактовых сигнала для внешних устройств (АЦП и ДСП), с частотами 6.2 МГц и 50 МГц соответственно. Я делал следующим образом, тактировал плис (спартан3 на 200тв) 50 МГц и счетчиком делил входную частоту до 6.2 МГц. И выводил полученные частоты на пины. Но мне думается, что это не лучший вариант....
Решил использовать блок тактовой синхронизации. Формирую три тактовые частоты - 50, 6.25 и 100 МГц. последняя - рабочая частота для плиса. Подаю на выходные пины 50 и 6.2 МГц и на одном из пинов нет сигнала... sad.gif Посмотрел RTL-схему - выходные буфферы подключены, сигнала заведены на BUFG. Сигналы DCM блока получал из генератора core.
Может кто подскажет в чем проблема? Или мой подход к решению вопроса тактирования изначально не правильный?
Go to the top of the page
 
+Quote Post
AlexB
сообщение Jul 2 2007, 07:07
Сообщение #2


Участник
*

Группа: Свой
Сообщений: 37
Регистрация: 9-08-05
Из: The Netherlands
Пользователь №: 7 477



Цитата(demi @ Jul 2 2007, 10:54) *
... блок тактовой синхронизации ... 6.25 МГц ... нет сигнала...


Вы для генерации 6.25Мгц используете встроенный в DCM синтезатор частоты. Нижняя граница для него 18МГц.

Внимательно изучите XAPP462
Go to the top of the page
 
+Quote Post
demi
сообщение Jul 2 2007, 10:39
Сообщение #3


Участник
*

Группа: Новичок
Сообщений: 23
Регистрация: 2-11-06
Пользователь №: 21 897



Цитата(AlexB @ Jul 2 2007, 11:07) *
Вы для генерации 6.25Мгц используете встроенный в DCM синтезатор частоты. Нижняя граница для него 18МГц.

Внимательно изучите XAPP462


Может я не прав, но я использую делитель входной тактовой частоты на 8, для 6.25 и умножаю входную на 2 для 100 МГц. Я не использую DFS. И плис мне выдаетт 6.2МГц. Но на втором пине нет сигнала. Если я переключаю тактовые частоты на пинах, то получаю 50МГц на первой пине, а на втором - нет сигнала.
И еще вопрос - можно использовать ресурсы одного банка с разными тактовыми частотами?

Цитата(AlexB @ Jul 2 2007, 11:07) *
Вы для генерации 6.25Мгц используете встроенный в DCM синтезатор частоты. Нижняя граница для него 18МГц.

Внимательно изучите XAPP462

Прочитал..... да 18МГц. Но тогда я не понимаю почему плис выдавал мне 6.2МГц.......
Go to the top of the page
 
+Quote Post
demi
сообщение Jul 2 2007, 13:06
Сообщение #4


Участник
*

Группа: Новичок
Сообщений: 23
Регистрация: 2-11-06
Пользователь №: 21 897



Объясните мне, плиз, что я делаю не так.
Генерю корку для DCM блока с сигналами clk0, clkx2, clk90 (входная тактовая 50 МГц). Обратная связь через clk0. Использую clk0 и clk90 для получения частоты 6.2 МГц. Из clkx2 получаю 50МГц.
Вывожу на пины две частоты по 6.2МГц вижу, 50 не вижу. Вывожу вместо 50МГц 6.2 - на выходном пине есть сигнал. Почему?
Go to the top of the page
 
+Quote Post
SunnyAngel
сообщение Jul 2 2007, 19:47
Сообщение #5


Участник
*

Группа: Свой
Сообщений: 64
Регистрация: 7-04-07
Из: Днепропетровск
Пользователь №: 26 849



2 demi ->
Код
DCM_unit1 : DCM
   generic map (
      CLKDV_DIVIDE =>8.0, --  Divide by: 1.5,2.0,2.5,3.0,3.5,4.0,4.5,5.0,5.5,6.0,6.5
                           --     7.0,7.5,8.0,9.0,10.0,11.0,12.0,13.0,14.0,15.0 or 16.0
      CLKFX_DIVIDE => 2,   --  Can be any interger from 1 to 32 --!
      CLKFX_MULTIPLY => 2, --  Can be any integer from 2 to 32  --!
      CLKIN_DIVIDE_BY_2 => FALSE, --  TRUE/FALSE to enable CLKIN divide by two feature
      CLKIN_PERIOD => 20.0,          --  Specify period of input clock
      CLKOUT_PHASE_SHIFT => "NONE", --  Specify phase shift of NONE, FIXED or VARIABLE
      CLK_FEEDBACK => "1X",       --  Specify clock feedback of NONE, 1X or 2X
      DESKEW_ADJUST => "SYSTEM_SYNCHRONOUS",
      DFS_FREQUENCY_MODE => "LOW",     --  HIGH or LOW frequency mode for frequency synthesis
      DLL_FREQUENCY_MODE => "LOW",     --  HIGH or LOW frequency mode for DLL
      DUTY_CYCLE_CORRECTION => TRUE, --  Duty cycle correction, TRUE or FALSE
      FACTORY_JF => X"C080",          --  FACTORY JF Values
      STARTUP_WAIT => FALSE) --  Delay configuration DONE until DCM LOCK, TRUE/FALSE
   port map (
      CLK0 => CLK0,     -- 0 degree DCM CLK ouptput
      CLKDV => CLKDV,   -- Divided DCM CLK out (CLKDV_DIVIDE)
      CLKFX => CLKFX,   -- DCM CLK synthesis out (M/D)
      CLKFB => CLK0,   -- DCM clock feedback
      CLKIN => clk   -- Clock input (from IBUFG, BUFG or DCM)
   );

Этот код должен выдать Вам необходимые частоты, попробуйте. clkdv - 6,25 MHz, clkfx-50 MHz.

2 AlexB ->
Цитата
Вы для генерации 6.25Мгц используете встроенный в DCM синтезатор частоты. Нижняя граница для него 18МГц.

xapp462.pdf, страница 52 и 55. Если я чего-то не так поняла, укажите, пожалуйста, страницу, где почитать и чтоб знать... 07.gif
Go to the top of the page
 
+Quote Post
CodeWarrior1241
сообщение Jul 2 2007, 20:13
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 496
Регистрация: 14-03-07
Из: In The District
Пользователь №: 26 165



Цитата(AlexB @ Jul 2 2007, 03:07) *
Вы для генерации 6.25Мгц используете встроенный в DCM синтезатор частоты. Нижняя граница для него 18МГц.

На стр. 52 Xapp462 нижния граница 18MHz подразумевает входной сигнал через CLKIN, a 6.25MHz ведь для demi должен выходить через CLKDV - с этим CLKOUT_FREQ_DV_LF_MIN может быть 1.125MHz или выше. Так что 6.25MHz работать должно. Надо незабыть поставить constraint на DLL_FREQUENCY_MODE что-бы был в low condition, и соответственно использовать входящий CLKIN от 18MHz - 160MHz. Вроде код от SunnyAngel это выполняет.


--------------------
In Mozilla, you keep tabs on your browser. In the USSR, your browser keeps tabs on you.
Go to the top of the page
 
+Quote Post
des00
сообщение Jul 3 2007, 02:36
Сообщение #7


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



50 не видете ? может у вас осцил с дикой входной емкостью smile.gif)))
для просто диагностики наличия клока выведите блинкеры <25Гц + сигнал захвата PLL.


--------------------
Go to the top of the page
 
+Quote Post
demi
сообщение Jul 3 2007, 05:28
Сообщение #8


Участник
*

Группа: Новичок
Сообщений: 23
Регистрация: 2-11-06
Пользователь №: 21 897



Цитата(des00 @ Jul 3 2007, 06:36) *
50 не видете ? может у вас осцил с дикой входной емкостью smile.gif)))
для просто диагностики наличия клока выведите блинкеры <25Гц + сигнал захвата PLL.

Не, с ним все нормально - 50МГц видно и больше можно.

Ставил "блинкеры" работают, а выводить на внешний пин ни в какую ;(((
Go to the top of the page
 
+Quote Post
RKOB
сообщение Jul 3 2007, 07:26
Сообщение #9


Частый гость
**

Группа: Свой
Сообщений: 172
Регистрация: 17-03-05
Пользователь №: 3 422



> Но на втором пине нет сигнала. Если я переключаю тактовые частоты на пинах, то получаю 50МГц на первой пине, а на втором - нет сигнала.

У вас не получается вывести клок на конкретный пин ? Пробовали вывести на другой пин ?
Go to the top of the page
 
+Quote Post
demi
сообщение Jul 3 2007, 07:50
Сообщение #10


Участник
*

Группа: Новичок
Сообщений: 23
Регистрация: 2-11-06
Пользователь №: 21 897



Уф.......
Все сделал......
В чем была проблема - не знаю, но создал новый проект вставил код, предложенный SunnyAngel'ом заработало, затем попробовал свой код - заработало. Вставил код SunnyAngel'а в старый проект - не работает.......
Н-да..... ISE 9.1.3. Может стоит перейти на более раннию версию? Часто при компиляции проекта ise теряет некоторые файлы. Или в проекте сделал изменения, которые найти не могу sad.gif(
Go to the top of the page
 
+Quote Post

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

 


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


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