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

Один клок на несколько ПЛИС

Разрабатываю проект с одной FPGA на центральной плате и еще парой FPGA на дочерних платах. На центральной плате есть общий клок - синусоида 10MHz, которая по идее пойдет на центральную плисину. Хотелось бы этот синус подать и на дочерние платы в качестве клока. Посему есть два вопроса:

1. Как Xilinx Spartan относиться к чистому синусу в качестве клока?

2. Можно ли клок развести по разным платам с плисами без применения каких либа доп. компонентов (буферов и т.д.)? Просто физически разделить проводник на плате на несколько веток и развести эти ветки к разным плисам.

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


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

Если ПЛИС будут обмениваться данными друг с другом, то надо выровнять длины клоков. А вообще-то буфер-разветвитель не помешал бы.

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


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

Синус в качестве клока не годится !

 

Возможность просто разветвить тактовый сигнал будет зависеть от нагрузочной способности генератора. Все-таки лучше использовать специализированныйц клоковый буфер-развктвитель, особенно если нужно заводить клок на разные платы. Такие буфера есть у IDT и Cypress.

 

В принципе, по плисовым меркам частота 10 МГц невысока, но в общем случае, особенно если плата сильно развесистая, может понадобиться еще выравнивание набега фазы на тактовых входах все ПЛИСов. Буфера с такой возможносью есть у Cypress.

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


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

1. Вообще к синусу в качестве клока микрухи относятся нормально (многие тактовые генераторы генерят синус).

2. 10МГц выравнивать по длинам необязательно - слишком маленькая частота для этого. А буфер ОЧЕНЬ желательно ставить. После генератора ставишь резюк (как можно ближе к генератору). Потом клок подать на буфер (что-то типа 74LVT125). После буфера каждый клок опять пропустить через резюк (как можно ближе к буферу). А потом уже подавать эти клоки куда необходимо.

Сам с подобным сталкивался :(

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


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

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

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


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

Если хотите нормальной работы, синус подавть нельзя. Есть море аналогово цифровых компараторов. AD8561, MAX913. Уверенно работают до 40 мГц.

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


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

Если хотите нормальной работы, синус подавть нельзя. Есть море аналогово цифровых компараторов. AD8561, MAX913. Уверенно работают до 40 мГц.

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


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

На мой взгляд лучше поставить не 74LVT125 а 74LVT14 с триггером Шмитта, чтоб шумы на синусе в короткими импульсами не прикинулись. Тем паче, что клок собираются с платы на плату таскать.

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


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

100% синус подходит - проверено на практике на разных микрухах разных производителей. Может незначительно дрожать скважность из-за разных уровней срабатывания (определения фронта), но на 10МГц это нестрашно.

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


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

100% синус подходит - проверено на практике на разных микрухах разных производителей. Может незначительно дрожать скважность из-за разных уровней срабатывания (определения фронта), но на 10МГц это нестрашно.

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


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

Разрабатываю проект с одной FPGA на центральной плате и еще парой FPGA на дочерних платах. На центральной плате есть общий клок - синусоида 10MHz, которая по идее пойдет на центральную плисину. Хотелось бы этот синус подать и на дочерние платы в качестве клока. Посему есть два вопроса:

1. Как Xilinx Spartan относиться к чистому синусу в качестве клока?

2. Можно ли клок развести по разным платам с плисами без применения каких либа доп. компонентов (буферов и т.д.)? Просто физически разделить проводник на плате на несколько веток и развести эти ветки к разным плисам.

Рекомендовал бы этот синусовый clk подать только на Spartan на центральной плате,сильно не нагружая и не искажая его длинными связями. А уж с этого главного Spartana раздавать остальным по диференциальному выходу например LVDS, (SPARTAN3 под него прямо заточен). В итоге получим хорошую помехозащищенность и никаких иголок. А подробности схемотехники LVDS у Xilinx описаны достаточно хорошо.

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


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

100% синус подходит - проверено на практике на разных микрухах разных производителей. Может незначительно дрожать скважность из-за разных уровней срабатывания (определения фронта), но на 10МГц это нестрашно.

 

"проверено на практике" и "допускается производителем" - это две большие разницы.

Изначально вопрос ставился так - можно ли подать синус 10 МГц в качестве клока на Зайлинкс Спартан.

Синус конечно можно рассматривать как клоковый сигнал, но с оооочень пологими фронтами. Допускается ли подобное самим производителем - вопрос. Оно конечно может и работает - но не в режиме.

 

так что, ести не хотите мучится с непонятными глюгами, тем более если таскаете клок по разным платам, почитайте даташит и поставте или генератор прямоугольный импульсов с параметрами допускаемыми фирмой-производителем тактируемой микрухи или из имеющегося синуса - делайте прямоугольник как описанно мною выше.

 

Иначе потом можно огрести кучу проблем с чудесно-непонятным поведением дивайса.

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


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

Разрабатываю проект с одной FPGA на центральной плате и еще парой FPGA на дочерних платах. На центральной плате есть общий клок - синусоида 10MHz, которая по идее пойдет на центральную плисину. Хотелось бы этот синус подать и на дочерние платы в качестве клока. Посему есть два вопроса:

1. Как Xilinx Spartan относиться к чистому синусу в качестве клока?

2. Можно ли клок развести по разным платам с плисами без применения каких либа доп. компонентов (буферов и т.д.)? Просто физически разделить проводник на плате на несколько веток и развести эти ветки к разным плисам.

Синус, синусу рознь. Можно подавать и синус, тоько надо что-бы длительность фронта не превышала максимально допустимую для данного вида микросхем у Altera MAX300 например это 40нс, у Xilinx надо смотреть даташит (не помню :-( ). Что касаемо разветвлений, после многих грабель пришел к выводу 1-н источник -> 1-н приемник самое простое и надежное сочетание с точки зрения помехоустойчивости и согласования, посему сам предпочитаю разделять сигналы буфферными элементами.

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


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

Синус в качестве клока не годится !

 

Возможность просто разветвить тактовый сигнал будет зависеть от нагрузочной способности генератора. Все-таки лучше использовать специализированныйц клоковый буфер-развктвитель, особенно если нужно заводить клок на разные платы. Такие буфера есть у IDT и Cypress.

 

В принципе, по плисовым меркам частота 10 МГц невысока, но в общем случае, особенно если плата сильно развесистая, может понадобиться еще  выравнивание набега фазы на тактовых входах все ПЛИСов. Буфера с такой возможносью есть у Cypress.

 

Пару слов хочу добавить.

То, что напрямую нельзя гнать стробтрующий импульс - так это точно. Входное сопротивление по 0 и по 1 - разное, а это значит, что на входном сигнале будут всплески при переключении. Развязка хотя бы резисторами - необходима.

Выровнять задержки можно по входу на DCM у Xilinx'а.

А вот хочу добавить про Micrel.

SY8**** и тд - микросхемы для передачи импульсов и данных.

А с платы на плату точно лучше по LVDS.

А можно поставить Ethernet трансивер и даже без трансформаторов. Там и синхрочастота и данные. И гоните с платы на плату.

Удачи.

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


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

Синус в качестве клока не годится !

 

Возможность просто разветвить тактовый сигнал будет зависеть от нагрузочной способности генератора. Все-таки лучше использовать специализированныйц клоковый буфер-развктвитель, особенно если нужно заводить клок на разные платы. Такие буфера есть у IDT и Cypress.

 

В принципе, по плисовым меркам частота 10 МГц невысока, но в общем случае, особенно если плата сильно развесистая, может понадобиться еще  выравнивание набега фазы на тактовых входах все ПЛИСов. Буфера с такой возможносью есть у Cypress.

 

Пару слов хочу добавить.

То, что напрямую нельзя гнать стробтрующий импульс - так это точно. Входное сопротивление по 0 и по 1 - разное, а это значит, что на входном сигнале будут всплески при переключении. Развязка хотя бы резисторами - необходима.

Выровнять задержки можно по входу на DCM у Xilinx'а.

А вот хочу добавить про Micrel.

SY8**** и тд - микросхемы для передачи импульсов и данных.

А с платы на плату точно лучше по LVDS.

А можно поставить Ethernet трансивер и даже без трансформаторов. Там и синхрочастота и данные. И гоните с платы на плату.

Удачи.

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


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

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

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

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

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

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

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

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

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

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