|
|
  |
Формирование тактовых сигналов, помогите разобраться |
|
|
|
Jul 2 2007, 06:54
|
Участник

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

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

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

|
Цитата(demi @ Jul 2 2007, 10:54)  ... блок тактовой синхронизации ... 6.25 МГц ... нет сигнала... Вы для генерации 6.25Мгц используете встроенный в DCM синтезатор частоты. Нижняя граница для него 18МГц. Внимательно изучите XAPP462
|
|
|
|
|
Jul 2 2007, 10:39
|
Участник

Группа: Новичок
Сообщений: 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МГц.......
|
|
|
|
|
Jul 2 2007, 13:06
|
Участник

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

|
Объясните мне, плиз, что я делаю не так. Генерю корку для DCM блока с сигналами clk0, clkx2, clk90 (входная тактовая 50 МГц). Обратная связь через clk0. Использую clk0 и clk90 для получения частоты 6.2 МГц. Из clkx2 получаю 50МГц. Вывожу на пины две частоты по 6.2МГц вижу, 50 не вижу. Вывожу вместо 50МГц 6.2 - на выходном пине есть сигнал. Почему?
|
|
|
|
|
Jul 2 2007, 19:47
|

Участник

Группа: Свой
Сообщений: 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. Если я чего-то не так поняла, укажите, пожалуйста, страницу, где почитать и чтоб знать...
|
|
|
|
|
Jul 2 2007, 20:13
|
Местный
  
Группа: Свой
Сообщений: 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.
|
|
|
|
|
Jul 3 2007, 05:28
|
Участник

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

|
Цитата(des00 @ Jul 3 2007, 06:36)  50 не видете ? может у вас осцил с дикой входной емкостью  ))) для просто диагностики наличия клока выведите блинкеры <25Гц + сигнал захвата PLL. Не, с ним все нормально - 50МГц видно и больше можно. Ставил "блинкеры" работают, а выводить на внешний пин ни в какую ;(((
|
|
|
|
|
Jul 3 2007, 07:50
|
Участник

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

|
Уф....... Все сделал...... В чем была проблема - не знаю, но создал новый проект вставил код, предложенный SunnyAngel'ом заработало, затем попробовал свой код - заработало. Вставил код SunnyAngel'а в старый проект - не работает....... Н-да..... ISE 9.1.3. Может стоит перейти на более раннию версию? Часто при компиляции проекта ise теряет некоторые файлы. Или в проекте сделал изменения, которые найти не могу  (
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|