Полная версия этой страницы:
Один клок на несколько ПЛИС
Разрабатываю проект с одной FPGA на центральной плате и еще парой FPGA на дочерних платах. На центральной плате есть общий клок - синусоида 10MHz, которая по идее пойдет на центральную плисину. Хотелось бы этот синус подать и на дочерние платы в качестве клока. Посему есть два вопроса:
1. Как Xilinx Spartan относиться к чистому синусу в качестве клока?
2. Можно ли клок развести по разным платам с плисами без применения каких либа доп. компонентов (буферов и т.д.)? Просто физически разделить проводник на плате на несколько веток и развести эти ветки к разным плисам.
Alexandr
Sep 30 2005, 06:10
Если ПЛИС будут обмениваться данными друг с другом, то надо выровнять длины клоков. А вообще-то буфер-разветвитель не помешал бы.
Stewart Little
Sep 30 2005, 06:17
Синус в качестве клока не годится !
Возможность просто разветвить тактовый сигнал будет зависеть от нагрузочной способности генератора. Все-таки лучше использовать специализированныйц клоковый буфер-развктвитель, особенно если нужно заводить клок на разные платы. Такие буфера есть у IDT и Cypress.
В принципе, по плисовым меркам частота 10 МГц невысока, но в общем случае, особенно если плата сильно развесистая, может понадобиться еще выравнивание набега фазы на тактовых входах все ПЛИСов. Буфера с такой возможносью есть у Cypress.
1. Вообще к синусу в качестве клока микрухи относятся нормально (многие тактовые генераторы генерят синус).
2. 10МГц выравнивать по длинам необязательно - слишком маленькая частота для этого. А буфер ОЧЕНЬ желательно ставить. После генератора ставишь резюк (как можно ближе к генератору). Потом клок подать на буфер (что-то типа 74LVT125). После буфера каждый клок опять пропустить через резюк (как можно ближе к буферу). А потом уже подавать эти клоки куда необходимо.
Сам с подобным сталкивался
согласен с maxus и было проверено на 24Mhz, 15Mhz, r=0.2-5k по выходу буфера, но изредка "блохи" всё равно есть(с платы на плату). И лучше свой генератор, а этот вывод как сигнал разрешения. С коррекцией ошибок конечно.
Если хотите нормальной работы, синус подавть нельзя. Есть море аналогово цифровых компараторов. AD8561, MAX913. Уверенно работают до 40 мГц.
Если хотите нормальной работы, синус подавть нельзя. Есть море аналогово цифровых компараторов. AD8561, MAX913. Уверенно работают до 40 мГц.
Black Pahan
Sep 30 2005, 07:45
На мой взгляд лучше поставить не 74LVT125 а 74LVT14 с триггером Шмитта, чтоб шумы на синусе в короткими импульсами не прикинулись. Тем паче, что клок собираются с платы на плату таскать.
100% синус подходит - проверено на практике на разных микрухах разных производителей. Может незначительно дрожать скважность из-за разных уровней срабатывания (определения фронта), но на 10МГц это нестрашно.
100% синус подходит - проверено на практике на разных микрухах разных производителей. Может незначительно дрожать скважность из-за разных уровней срабатывания (определения фронта), но на 10МГц это нестрашно.
Цитата(Olxx @ Sep 30 2005, 08:30)
Разрабатываю проект с одной FPGA на центральной плате и еще парой FPGA на дочерних платах. На центральной плате есть общий клок - синусоида 10MHz, которая по идее пойдет на центральную плисину. Хотелось бы этот синус подать и на дочерние платы в качестве клока. Посему есть два вопроса:
1. Как Xilinx Spartan относиться к чистому синусу в качестве клока?
2. Можно ли клок развести по разным платам с плисами без применения каких либа доп. компонентов (буферов и т.д.)? Просто физически разделить проводник на плате на несколько веток и развести эти ветки к разным плисам.
Рекомендовал бы этот синусовый clk подать только на Spartan на центральной плате,сильно не нагружая и не искажая его длинными связями. А уж с этого главного Spartana раздавать остальным по диференциальному выходу например LVDS, (SPARTAN3 под него прямо заточен). В итоге получим хорошую помехозащищенность и никаких иголок. А подробности схемотехники LVDS у Xilinx описаны достаточно хорошо.
Black Pahan
Sep 30 2005, 08:42
Цитата(maxus @ Sep 30 2005, 14:53)
100% синус подходит - проверено на практике на разных микрухах разных производителей. Может незначительно дрожать скважность из-за разных уровней срабатывания (определения фронта), но на 10МГц это нестрашно.
"проверено на практике" и "допускается производителем" - это две большие разницы.
Изначально вопрос ставился так - можно ли подать синус 10 МГц в качестве клока на Зайлинкс Спартан.
Синус конечно можно рассматривать как клоковый сигнал, но с оооочень пологими фронтами. Допускается ли подобное самим производителем - вопрос. Оно конечно может и работает - но не в режиме.
так что, ести не хотите мучится с непонятными глюгами, тем более если таскаете клок по разным платам, почитайте даташит и поставте или генератор прямоугольный импульсов с параметрами допускаемыми фирмой-производителем тактируемой микрухи или из имеющегося синуса - делайте прямоугольник как описанно мною выше.
Иначе потом можно огрести кучу проблем с чудесно-непонятным поведением дивайса.
Цитата(Olxx @ Sep 30 2005, 07:30)
Разрабатываю проект с одной FPGA на центральной плате и еще парой FPGA на дочерних платах. На центральной плате есть общий клок - синусоида 10MHz, которая по идее пойдет на центральную плисину. Хотелось бы этот синус подать и на дочерние платы в качестве клока. Посему есть два вопроса:
1. Как Xilinx Spartan относиться к чистому синусу в качестве клока?
2. Можно ли клок развести по разным платам с плисами без применения каких либа доп. компонентов (буферов и т.д.)? Просто физически разделить проводник на плате на несколько веток и развести эти ветки к разным плисам.
Синус, синусу рознь. Можно подавать и синус, тоько надо что-бы длительность фронта не превышала максимально допустимую для данного вида микросхем у Altera MAX300 например это 40нс, у Xilinx надо смотреть даташит (не помню :-( ). Что касаемо разветвлений, после многих грабель пришел к выводу 1-н источник -> 1-н приемник самое простое и надежное сочетание с точки зрения помехоустойчивости и согласования, посему сам предпочитаю разделять сигналы буфферными элементами.
iosifk
Sep 30 2005, 11:21
Цитата(Stewart Little @ Sep 30 2005, 09:17)
Синус в качестве клока не годится !
Возможность просто разветвить тактовый сигнал будет зависеть от нагрузочной способности генератора. Все-таки лучше использовать специализированныйц клоковый буфер-развктвитель, особенно если нужно заводить клок на разные платы. Такие буфера есть у IDT и Cypress.
В принципе, по плисовым меркам частота 10 МГц невысока, но в общем случае, особенно если плата сильно развесистая, может понадобиться еще выравнивание набега фазы на тактовых входах все ПЛИСов. Буфера с такой возможносью есть у Cypress.
Пару слов хочу добавить.
То, что напрямую нельзя гнать стробтрующий импульс - так это точно. Входное сопротивление по 0 и по 1 - разное, а это значит, что на входном сигнале будут всплески при переключении. Развязка хотя бы резисторами - необходима.
Выровнять задержки можно по входу на DCM у Xilinx'а.
А вот хочу добавить про Micrel.
SY8**** и тд - микросхемы для передачи импульсов и данных.
А с платы на плату точно лучше по LVDS.
А можно поставить Ethernet трансивер и даже без трансформаторов. Там и синхрочастота и данные. И гоните с платы на плату.
Удачи.
iosifk
Sep 30 2005, 11:21
Цитата(Stewart Little @ Sep 30 2005, 09:17)
Синус в качестве клока не годится !
Возможность просто разветвить тактовый сигнал будет зависеть от нагрузочной способности генератора. Все-таки лучше использовать специализированныйц клоковый буфер-развктвитель, особенно если нужно заводить клок на разные платы. Такие буфера есть у IDT и Cypress.
В принципе, по плисовым меркам частота 10 МГц невысока, но в общем случае, особенно если плата сильно развесистая, может понадобиться еще выравнивание набега фазы на тактовых входах все ПЛИСов. Буфера с такой возможносью есть у Cypress.
Пару слов хочу добавить.
То, что напрямую нельзя гнать стробтрующий импульс - так это точно. Входное сопротивление по 0 и по 1 - разное, а это значит, что на входном сигнале будут всплески при переключении. Развязка хотя бы резисторами - необходима.
Выровнять задержки можно по входу на DCM у Xilinx'а.
А вот хочу добавить про Micrel.
SY8**** и тд - микросхемы для передачи импульсов и данных.
А с платы на плату точно лучше по LVDS.
А можно поставить Ethernet трансивер и даже без трансформаторов. Там и синхрочастота и данные. И гоните с платы на плату.
Удачи.
tegumay
Oct 8 2005, 22:15
Если синус то его через DCM точно надо прогнать, а LVDS неплохо идет в multidrop конфигурации, только линию надо вести правильно, а то !"№;;;; хреново будет
умники на западе пробуют еготоли на 40 точках проверять хз, но если плохо провести после 4-5 приемников сдохнет проверено.
tegumay
Oct 8 2005, 22:17
Кстати DCM неплохо формирует из кривого синхросигнала нормальный
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.