Полная версия этой страницы:
XC3S500E и DCM
Lmx2315
Dec 23 2009, 10:16
такой вопрос , уважаемый Алл !
..у меня в проекте есть XC3S500E - внутри неё 4 DCM , из вне поступает клок - 27 мгц . Используя встроенный DCM хотелось получить 27х6 = 162 Мгц . Но закрались смутные подозрения что DCM этого спартана вообще не способен толково умножать частоту . И лучше было бы использовать внешний PLL .
Частота берётся с генератора SG-8002 JF 27M-PCM, ф. Epson
Посоветуйте что-нибудь или покритикуйте .
Цитата(Lmx2315 @ Dec 23 2009, 04:16)

Но закрались смутные подозрения что DCM этого спартана вообще не способен толково умножать частоту . И лучше было бы использовать внешний PLL .
1. ваше понимание термина "толково"?
2. даташит не дает ответ на ваш вопрос ?
Lmx2315
Dec 23 2009, 10:32
Цитата(des00 @ Dec 23 2009, 13:19)

1. ваше понимание термина "толково"?
2. даташит не дает ответ на ваш вопрос ?
..просто я в смущении . Со мной поделились хм. слухом что на спартане плохо работает PLL / не работает вовсе и что будет лучше использовать внешний .
Так что под толковым умножением я имел ввиду - стабильную работу PLL по умножению моих 27 Мгц до162 Мгц .
Цитата(Lmx2315 @ Dec 23 2009, 04:32)

..просто я в смущении . Со мной поделились хм. слухом что на спартане плохо работает PLL / не работает вовсе и что будет лучше использовать внешний .
хмм, это было бы крайне странно %) хоть последнее время я сижу на альтере, но не вижу почему DCM будет плохо работать, если
все рекомендации производителя выполнены. Кстати у третьих спартанов не PLL, а DCM, в некоторых проектах это критично.
DmitryR
Dec 23 2009, 10:41
Она будет работать абсолютно стабильно, но джиттер будет 720ps p-p.
Lmx2315
Dec 23 2009, 11:12
спасибо

.
серия SG-8002 - это программируемый (у продавцов) генератор с PLL, с большим джиттером, как уже написали выше.. Если еще дальше в спартане умножать эту частоту с джиттером - джиттер ещё больше увеличиться.. Лучше использовать честные генераторы без PLL (Golledge, Jauch, Conwin и т.д.) или с PLL, но малым джиттером, сейчас такие появились (например SiTime).
at89c51ed2
Dec 28 2009, 14:46
Здравствуйте уважаемые форумчане!
Увидел знакомые слова, потому решил здесь спросить. Дали мне "кит" на XC3S500E и сказали: "делай на этом, люди до тебя делали, всё работало". задача такая: надо прочитать некий девайс (собственно, почему некий - DDC118). Только прежде чем читать, надо сформировать ему меандр для циклов интегрирования и CLK (порядка 10 МГц) для внутреннего ЦФ. Одна беда в том, что фронты этих сигналов (очень разных по частоте) должны быть синхронными и фронты(срезы) меандра интегрирования должны приходиться на срезы CLK. Это может как то синхронным делением и можно придумать, ещё и триггеры использовать в IO блоках. Другая беда, что меандр интегрирования должен быть равен целым числам периодов сети. Вот такая взаимосвязь. Если отталкиваться от формирователя частоты сети (двухполупериодный выпрямитель - 100 Гц, 10 мс), то в режиме DFS (по документу ug331.pdf) мне понадобится M=2 и D от 1 до 200 (периоды интегрирования 5, 20, 40, 60 .... 1000 мс) при Fin=100Гц. А уж получить из 100Гц -> 10МГц вообще задача (чем то чувствую) не выполнимая. К тому же аглицким языком по белому написано - М={2..32}, D={1..32} и частоты входные от 200 кГц и 5 МГц (ну ни как не 100 Гц)!!! Вот сижу и туплю, как же мне эти сигналы синхронизировать, да ещё получить переменный коэффициент деления. Долго пялился в DCM_SP, что то не нашёл как туда из вне загрузить коэффициенты M и D? Получается, что они варьируются только на этапе разработки (синтеза)? Можно взять теже 50 МГц с имеющегося на борту SG-8002, поделить на 5 - -> 10 МГц для CLK, потом на сколько получится в другом DCM и доделить уже самодельным делителем (куда и грузить коэффициенты) до 5мс - 1с. Люди добрые (т.е. знающие в данном случае) ткните пальцем в нужном направлении. Получается не могу я положиться на имеющийся DCM? Тут что то писали про PLL, а он может решить мою проблему? Извините за "много букоф" и глупые вопросы, ну не имел я дело с PLL и DCM, делал 5 лет назад свёртку и БПФ на ACEX, а тут мало того что на XILINX перекинули, так ещё и уровень техники вырос быстрее меня. Буду пытаться восполнить пробелы, надеюсь в Вашей помощью. Заранее спасибо.
st232bd
Jan 18 2010, 06:46
Несколько раз сталкивался с тем, что народ забывает инициализировать параметр CLKIN_PERIOD. Оно обычно в очень широком диапазоне частот и так работает на столе. Но временами взбрыкивает. Может кто-то разговорчивый забыл заинициализировать что-нибудь, а потом рассказывает всем, что ксайлинкс не умеет ксайликсы делать.
Corvus
Jan 18 2010, 09:13
Цитата(st232bd @ Jan 18 2010, 09:46)

Может кто-то разговорчивый забыл заинициализировать что-нибудь, а потом рассказывает всем, что ксайлинкс не умеет ксайликсы делать.
Столкнулся недавно с неработающей DCM, именно на XC3S500E. Тоже никогда бы не подумал, что такое бывает. С обычным Spartan3 (без E) ничего подобного не было.
Нужно было умножить 27 МГц на 5. DCM генерил CoreGen-ом из ISE 9.2. Уменожение на 2 работало, на 3 работало, стоит поменять коэффициент умножения на 5 - на выходе по нулям. Пару дней бился с настройками CoreGen - не помогло. В итоге поставил 2 DCM каскадом (x2 потом x3) и всё заработало.
Вот такие дела.
Может ещё у кого есть опыт работы с DCM в Spartan3
E?
DmitryR
Jan 18 2010, 11:29
Возможно coregen забыл поставить high frequency mode.
st232bd
Jan 25 2010, 11:05
to Corvus. А для чистоты эксперимента заинициализировать DCM в ручную - не пробовали? Я S3E ещё не включал, врать не буду, но к корегену с некоторым недоверием отношусь. Попадалась глюкодромная версия, даже на простых элементах при определённых сочетаниях управляющих сигналов его переклиневало в полный неадекват. Хотя бог его знает, что у меня за версия софта была, может подчистили.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.