|
Один клок на несколько ПЛИС, какие возможны проблемы |
|
|
|
Sep 30 2005, 04:30
|
Участник

Группа: Свой
Сообщений: 26
Регистрация: 28-07-04
Пользователь №: 406

|
Разрабатываю проект с одной FPGA на центральной плате и еще парой FPGA на дочерних платах. На центральной плате есть общий клок - синусоида 10MHz, которая по идее пойдет на центральную плисину. Хотелось бы этот синус подать и на дочерние платы в качестве клока. Посему есть два вопроса: 1. Как Xilinx Spartan относиться к чистому синусу в качестве клока? 2. Можно ли клок развести по разным платам с плисами без применения каких либа доп. компонентов (буферов и т.д.)? Просто физически разделить проводник на плате на несколько веток и развести эти ветки к разным плисам.
|
|
|
|
|
Sep 30 2005, 06:26
|
Частый гость
 
Группа: Свой
Сообщений: 113
Регистрация: 5-04-05
Пользователь №: 3 864

|
1. Вообще к синусу в качестве клока микрухи относятся нормально (многие тактовые генераторы генерят синус). 2. 10МГц выравнивать по длинам необязательно - слишком маленькая частота для этого. А буфер ОЧЕНЬ желательно ставить. После генератора ставишь резюк (как можно ближе к генератору). Потом клок подать на буфер (что-то типа 74LVT125). После буфера каждый клок опять пропустить через резюк (как можно ближе к буферу). А потом уже подавать эти клоки куда необходимо. Сам с подобным сталкивался
|
|
|
|
|
Sep 30 2005, 07:05
|
Участник

Группа: Новичок
Сообщений: 17
Регистрация: 27-09-05
Пользователь №: 8 995

|
согласен с maxus и было проверено на 24Mhz, 15Mhz, r=0.2-5k по выходу буфера, но изредка "блохи" всё равно есть(с платы на плату). И лучше свой генератор, а этот вывод как сигнал разрешения. С коррекцией ошибок конечно.
|
|
|
|
|
Sep 30 2005, 08:25
|
Участник

Группа: Свой
Сообщений: 31
Регистрация: 8-12-04
Из: беларусь, россия
Пользователь №: 1 410

|
Цитата(Olxx @ Sep 30 2005, 08:30) Разрабатываю проект с одной FPGA на центральной плате и еще парой FPGA на дочерних платах. На центральной плате есть общий клок - синусоида 10MHz, которая по идее пойдет на центральную плисину. Хотелось бы этот синус подать и на дочерние платы в качестве клока. Посему есть два вопроса: 1. Как Xilinx Spartan относиться к чистому синусу в качестве клока? 2. Можно ли клок развести по разным платам с плисами без применения каких либа доп. компонентов (буферов и т.д.)? Просто физически разделить проводник на плате на несколько веток и развести эти ветки к разным плисам. Рекомендовал бы этот синусовый clk подать только на Spartan на центральной плате,сильно не нагружая и не искажая его длинными связями. А уж с этого главного Spartana раздавать остальным по диференциальному выходу например LVDS, (SPARTAN3 под него прямо заточен). В итоге получим хорошую помехозащищенность и никаких иголок. А подробности схемотехники LVDS у Xilinx описаны достаточно хорошо.
|
|
|
|
|
Sep 30 2005, 08:42
|

Частый гость
 
Группа: Свой
Сообщений: 117
Регистрация: 21-07-05
Из: Новосибирск
Пользователь №: 6 978

|
Цитата(maxus @ Sep 30 2005, 14:53) 100% синус подходит - проверено на практике на разных микрухах разных производителей. Может незначительно дрожать скважность из-за разных уровней срабатывания (определения фронта), но на 10МГц это нестрашно. "проверено на практике" и "допускается производителем" - это две большие разницы. Изначально вопрос ставился так - можно ли подать синус 10 МГц в качестве клока на Зайлинкс Спартан. Синус конечно можно рассматривать как клоковый сигнал, но с оооочень пологими фронтами. Допускается ли подобное самим производителем - вопрос. Оно конечно может и работает - но не в режиме. так что, ести не хотите мучится с непонятными глюгами, тем более если таскаете клок по разным платам, почитайте даташит и поставте или генератор прямоугольный импульсов с параметрами допускаемыми фирмой-производителем тактируемой микрухи или из имеющегося синуса - делайте прямоугольник как описанно мною выше. Иначе потом можно огрести кучу проблем с чудесно-непонятным поведением дивайса.
--------------------
Из того, что дуракам закон не писан, вовсе не следует, что они не принимают участия в их написании.
|
|
|
|
|
Sep 30 2005, 10:09
|
Местный
  
Группа: Свой
Сообщений: 313
Регистрация: 8-09-04
Из: Таганрог
Пользователь №: 617

|
Цитата(Olxx @ Sep 30 2005, 07:30) Разрабатываю проект с одной FPGA на центральной плате и еще парой FPGA на дочерних платах. На центральной плате есть общий клок - синусоида 10MHz, которая по идее пойдет на центральную плисину. Хотелось бы этот синус подать и на дочерние платы в качестве клока. Посему есть два вопроса: 1. Как Xilinx Spartan относиться к чистому синусу в качестве клока? 2. Можно ли клок развести по разным платам с плисами без применения каких либа доп. компонентов (буферов и т.д.)? Просто физически разделить проводник на плате на несколько веток и развести эти ветки к разным плисам. Синус, синусу рознь. Можно подавать и синус, тоько надо что-бы длительность фронта не превышала максимально допустимую для данного вида микросхем у Altera MAX300 например это 40нс, у Xilinx надо смотреть даташит (не помню :-( ). Что касаемо разветвлений, после многих грабель пришел к выводу 1-н источник -> 1-н приемник самое простое и надежное сочетание с точки зрения помехоустойчивости и согласования, посему сам предпочитаю разделять сигналы буфферными элементами.
|
|
|
|
|
Sep 30 2005, 11:21
|
Гуру
     
Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369

|
Цитата(Stewart Little @ Sep 30 2005, 09:17) Синус в качестве клока не годится ! Возможность просто разветвить тактовый сигнал будет зависеть от нагрузочной способности генератора. Все-таки лучше использовать специализированныйц клоковый буфер-развктвитель, особенно если нужно заводить клок на разные платы. Такие буфера есть у IDT и Cypress. В принципе, по плисовым меркам частота 10 МГц невысока, но в общем случае, особенно если плата сильно развесистая, может понадобиться еще выравнивание набега фазы на тактовых входах все ПЛИСов. Буфера с такой возможносью есть у Cypress. Пару слов хочу добавить. То, что напрямую нельзя гнать стробтрующий импульс - так это точно. Входное сопротивление по 0 и по 1 - разное, а это значит, что на входном сигнале будут всплески при переключении. Развязка хотя бы резисторами - необходима. Выровнять задержки можно по входу на DCM у Xilinx'а. А вот хочу добавить про Micrel. SY8**** и тд - микросхемы для передачи импульсов и данных. А с платы на плату точно лучше по LVDS. А можно поставить Ethernet трансивер и даже без трансформаторов. Там и синхрочастота и данные. И гоните с платы на плату. Удачи.
--------------------
www.iosifk.narod.ru
|
|
|
|
|
Sep 30 2005, 11:21
|
Гуру
     
Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369

|
Цитата(Stewart Little @ Sep 30 2005, 09:17) Синус в качестве клока не годится ! Возможность просто разветвить тактовый сигнал будет зависеть от нагрузочной способности генератора. Все-таки лучше использовать специализированныйц клоковый буфер-развктвитель, особенно если нужно заводить клок на разные платы. Такие буфера есть у IDT и Cypress. В принципе, по плисовым меркам частота 10 МГц невысока, но в общем случае, особенно если плата сильно развесистая, может понадобиться еще выравнивание набега фазы на тактовых входах все ПЛИСов. Буфера с такой возможносью есть у Cypress. Пару слов хочу добавить. То, что напрямую нельзя гнать стробтрующий импульс - так это точно. Входное сопротивление по 0 и по 1 - разное, а это значит, что на входном сигнале будут всплески при переключении. Развязка хотя бы резисторами - необходима. Выровнять задержки можно по входу на DCM у Xilinx'а. А вот хочу добавить про Micrel. SY8**** и тд - микросхемы для передачи импульсов и данных. А с платы на плату точно лучше по LVDS. А можно поставить Ethernet трансивер и даже без трансформаторов. Там и синхрочастота и данные. И гоните с платы на плату. Удачи.
--------------------
www.iosifk.narod.ru
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|