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

Формирование тактовых сигналов

Добрый день.

Помогите разобраться в следующей проблеме.

Необходимо сформировать 2 тактовых сигнала для внешних устройств (АЦП и ДСП), с частотами 6.2 МГц и 50 МГц соответственно. Я делал следующим образом, тактировал плис (спартан3 на 200тв) 50 МГц и счетчиком делил входную частоту до 6.2 МГц. И выводил полученные частоты на пины. Но мне думается, что это не лучший вариант....

Решил использовать блок тактовой синхронизации. Формирую три тактовые частоты - 50, 6.25 и 100 МГц. последняя - рабочая частота для плиса. Подаю на выходные пины 50 и 6.2 МГц и на одном из пинов нет сигнала... :( Посмотрел RTL-схему - выходные буфферы подключены, сигнала заведены на BUFG. Сигналы DCM блока получал из генератора core.

Может кто подскажет в чем проблема? Или мой подход к решению вопроса тактирования изначально не правильный?

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


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

... блок тактовой синхронизации ... 6.25 МГц ... нет сигнала...

 

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

 

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

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


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

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

 

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

 

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

И еще вопрос - можно использовать ресурсы одного банка с разными тактовыми частотами?

 

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

 

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

Прочитал..... да 18МГц. Но тогда я не понимаю почему плис выдавал мне 6.2МГц.......

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


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

Объясните мне, плиз, что я делаю не так.

Генерю корку для DCM блока с сигналами clk0, clkx2, clk90 (входная тактовая 50 МГц). Обратная связь через clk0. Использую clk0 и clk90 для получения частоты 6.2 МГц. Из clkx2 получаю 50МГц.

Вывожу на пины две частоты по 6.2МГц вижу, 50 не вижу. Вывожу вместо 50МГц 6.2 - на выходном пине есть сигнал. Почему?

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


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

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:

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


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

Вы для генерации 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 это выполняет.

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


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

50 не видете ? может у вас осцил с дикой входной емкостью :))))

для просто диагностики наличия клока выведите блинкеры <25Гц + сигнал захвата PLL.

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


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

50 не видете ? может у вас осцил с дикой входной емкостью :))))

для просто диагностики наличия клока выведите блинкеры <25Гц + сигнал захвата PLL.

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

 

Ставил "блинкеры" работают, а выводить на внешний пин ни в какую ;(((

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


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

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

 

У вас не получается вывести клок на конкретный пин ? Пробовали вывести на другой пин ?

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


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

Уф.......

Все сделал......

В чем была проблема - не знаю, но создал новый проект вставил код, предложенный SunnyAngel'ом заработало, затем попробовал свой код - заработало. Вставил код SunnyAngel'а в старый проект - не работает.......

Н-да..... ISE 9.1.3. Может стоит перейти на более раннию версию? Часто при компиляции проекта ise теряет некоторые файлы. Или в проекте сделал изменения, которые найти не могу :((

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


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

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

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

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

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

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

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

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

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

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