Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Разрешение выхода клока
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
alexPec
Добрый день Всем!
Есть такая схема (рис.) Клок на вход компонента идет 100МГц, на вход разрешения - 5,1254 МГц, т.е. клоки не кратные, а посему все равно возникает ситуация, когда между фронтами SLACK отрицательный, что не есть гуд. Клок 5, 1254М менять нельзя, нужен именно такой, а клок 100М - можно. Нужно примерно в 20-30 раз больше, чем 5,1254. На мои попытки поставить клок, кратный 5,1254М в этом диапазоне altpll говорит "Can not implement...".

Задача - получать на выходе пачки по 16 импульсов с периодом 5,1254М - для АЦП. Подобрал длительность разрешающего импульса такую, что на выходе в симуляторе квартуса 16 импульсов, т.е. вроде цель достигнута, но ведь глюканет наверно где-то? В железе не проверял.

Че делать - то, бороть или забить - будет работать??? Подскажите плз!

Спасибо
Shtirlits
Расскажите подробнее, какой период нельзя трогать? Я не понял про пачки по 16 импульсов. Указанный период между импульсами в пачке или между пачками? Когда нужно посылать очередную пачку?
Andrew Su
добрый день.
как вариант: можно частотой 100М ловить нужный уровень 5,..., взводить триггер, а уже этим триггером разрешать пропускание на выход 100М.
триггер сбрасывать , подсчитав на счетчике 16 импульсов 100М
DmitryR
А что вам мешает 5,1254M умножить с помощью PLL на 20-30 и работать от него?
alexPec
Всем спасибо за ответы!

Цитата(DmitryR @ Dec 15 2010, 16:51) *
А что вам мешает 5,1254M умножить с помощью PLL на 20-30 и работать от него?


PLL-ов свободных больше нет, а на этом же плл - не может получить кратный клок.

Цитата
как вариант: можно частотой 100М ловить нужный уровень 5,..., взводить триггер, а уже этим триггером разрешать пропускание на выход 100М.


Так вот получается что когда мы ловим частотой 100М уровень некратного клока обязательно рано или поздно slak отрицательный будет. (если я правильно понял - на d-вход тригера подаем 5,1254М, на С-вход - 100М)

Цитата
Расскажите подробнее, какой период нельзя трогать? Я не понял про пачки по 16 импульсов. Указанный период между импульсами в пачке или между пачками? Когда нужно посылать очередную пачку?


Пачки по 16 импульсов. Частота импульсов в пачке может варьироваться 75-120МГц (примерно). Сами пачки идут с частотой 5,1254М (период 195,107... нс). Эта цифра фиксирована, ее трогать нельзя. Т.е. от начала первой пачки из 16 импульсов по 8..12 нс до начала второй пачки по 16 импульсов время проходит 195,107... нс.
barabek
Цитата(alexPec @ Dec 16 2010, 03:28) *
Так вот получается что когда мы ловим частотой 100М уровень некратного клока обязательно рано или поздно slak отрицательный будет. (если я правильно понял - на d-вход тригера подаем 5,1254М, на С-вход - 100М)


По-хорошему, нужно запускающий  импульс провести через синхронизирующую цепь. Например, стандартный:


Код
module ClockDomenCross(
      input clkin,clkout,resetin,resetout,
      input in,
      output logic out);
          logic inreg;
          logic [2:0]outreg;
          //*********
       always_ff@(posedge clkin or negedge resetin)begin
              if(!resetin)inreg<=1'b0;
              else if(in)inreg<=!inreg;
      end
      //*********
      always_ff@(posedge clkout or negedge resetout)begin
              if(!resetout)outreg<=3'd0;
              else outreg<={outreg[1:0],inreg};
      end
      always_comb out=outreg[2]^outreg[1];
endmodule



Тогда выставить falthpath между клоками.

Правда все равно джитер начала пачек максимальный получается равный периоду 100МГц. Это неизбежно.
DmitryR
Цитата(alexPec @ Dec 15 2010, 20:28) *
PLL-ов свободных больше нет
Вы пытаетесь из частоты 100 сделать похожую на нужную частоту с помощью PLL ведь? Так вот на эту самую PLL заведите 5,1254 вместо 100.
EvgenyNik
Нужна схема ждущего мультивибратора со стробированием запускающего сигнала и всё.
Как я понял, важно - стартовать АЦП всегда синхронно (это делается от тактовой 5.1254МГц), а последующие 16 импульсов (от 100МГц) это просто сбор данных и их положение относительно стартового импульса не столь важно, главное не раньше и закончить до прихода следующего, так?
Попробуйте так:
Нажмите для просмотра прикрепленного файла
P.S. в этой схемке подразумевается, что к моменту, когда пройдут 16 импульсов значение сигнала таковой 5.1254МГц будет равно 0, т.е. во второй половине периода меандра.
alexPec
Всем, добрые люди, спасибо за советы!!!

Цитата
Вы пытаетесь из частоты 100 сделать похожую на нужную частоту с помощью PLL ведь? Так вот на эту самую PLL заведите 5,1254 вместо 100.

Тоже нельзя, там уже подобран опорник, из которого как раз можно еще кучу дробных клоков получить, которые нужны. Из такой опорной их не получишь...sad.gif

Цитата(Евгений Николаев @ Dec 16 2010, 15:11) *
Нужна схема ждущего мультивибратора со стробированием запускающего сигнала и всё.
Как я понял, важно - стартовать АЦП всегда синхронно (это делается от тактовой 5.1254МГц), а последующие 16 импульсов (от 100МГц) это просто сбор данных и их положение относительно стартового импульса не столь важно, главное не раньше и закончить до прихода следующего, так?
Попробуйте так:
Нажмите для просмотра прикрепленного файла
P.S. в этой схемке подразумевается, что к моменту, когда пройдут 16 импульсов значение сигнала таковой 5.1254МГц будет равно 0, т.е. во второй половине периода меандра.


Но ведь тут тоже у тригера слэк будет. Конечно, количество импульсов считается, НО:
основное, из-за чего слэков боюсь это то, что при так скажем нехорошом слэке, может возникнуть ситуация, когда на выходе триггера появиться какой-нибудь импульс-шум длительностью в десятки- сотни пикосекунд. И на этот шум по разному отреагируют разные части схемы, например: на выход через клок-энейбл пройдет короткий импульс, а счетчик его не сосчитает, или вообще сбойнет.

Уважаемы гуру, поясните, может ли такое быть или это моя больная фантазия и опасения излишни???
Shtirlits
Что за "опорник" подобран, если не секрет?

Никогда еще не видел, чтобы так нежно упоминали метастабильность, "импульс-шум"... Абалдеть!

Такое может быть и практически в любой несинхронной схеме. Но с разной вероятностью.
Вас какая устроит? Раз в миллиард лет годится?
alexPec
Цитата(Shtirlits @ Dec 18 2010, 02:28) *
Никогда еще не видел, чтобы так нежно упоминали метастабильность, "импульс-шум"... Абалдеть!

Такое может быть и практически в любой несинхронной схеме. Но с разной вероятностью.
Вас какая устроит? Раз в миллиард лет годится?


Годится!!! Теперь я спокоен! lol.gif
А насчет терминологии - извините, как сам понимал, так объяснил, хорошо что меня поняли...

Цитата
Что за "опорник" подобран, если не секрет?


Опорник - частота дискретизации ацп, подобран такой исходя из длины фурье и расстояния между несущими в OFDM, поэтому и изменять его нельзя.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.