Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как правильно затактировать весь проект при иголке на входном клоке?
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
_4afc_
Есть проект где входной клок тактирует все триггеры Spartan6.

Боюсь, что при иголке от генератора - одни триггеры защёлкнуться, а другие - нет.

Существует какой-то способ почистить входной клок? Может его через DCM пропустить?

Можно ли при сбое клока - сбросить весь проект?
MegaVolt
Цитата(_4afc_ @ Jul 11 2018, 15:49) *
Есть проект где входной клок тактирует все триггеры Spartan6.

Боюсь, что при иголке от генератора - одни триггеры защёлкнуться, а другие - нет.

Существует какой-то способ почистить входной клок? Может его через DCM пропустить?

Можно ли при сбое клока - сбросить весь проект?
Большой вопрос что это за генератор такой с иголками.

Но если хочется защититься то тогда обычный делитель на 2. С выхода которого и брать клок.

Если понижать частоту нельзя то да pll-ка должна спасти. Плюс у неё есть выход годности частоты. И если частота не годная то этим же сигналом можно всё и сбросить.
iosifk
Цитата(_4afc_ @ Jul 11 2018, 15:49) *
Может его через DCM пропустить?
Можно ли при сбое клока - сбросить весь проект?

У DCM есть выходной сигнал LOCK. Он станет 1, когда происходит захват частоты. Его берут по "ИЛИ" (с учетом активных уровней в проекте) со сбросом и далее разводят по проекту.
Да, об этом уже написали, но все же...
Bad0512
Цитата(MegaVolt @ Jul 11 2018, 19:52) *
Но если хочется защититься то тогда обычный делитель на 2. С выхода которого и брать клок.

Совет - говно. Это гарантируемый gated clock и весь геморрой, что с этим связано.

Dmitriyspb
Цитата(_4afc_ @ Jul 11 2018, 15:49) *
Есть проект где входной клок тактирует все триггеры Spartan6.

Боюсь, что при иголке от генератора - одни триггеры защёлкнуться, а другие - нет.

Существует какой-то способ почистить входной клок? Может его через DCM пропустить?

Можно ли при сбое клока - сбросить весь проект?


На входе !!обязательно!! нужно поставить DCM. Не из-за опасений по поводу "иголок", а для получения гарантированных тактов и сигнала сброса (как его заводить см. пост iosifk).
Следует так же помнить, что полученные сигналы тактов и сброс следует использовать во всех блоках проекта.
В таком случае если на тактовом входе ПЛИС появляются разного рода помехи, тогда DCM перестает захват частоты и падает LOCK и вся логика ПЛИС сбросится. Следовательно, если у Вас проект описан с глобальными тактовыми цепями и везде учитывается сигнал сброса, то в таком случае если сброса нет, тогда все работает так как вы описали и не придётся задумываться об иголках и т.п.
RobFPGA
Приветствую!

DCM это не волшебная пилюля от все болячек клока! Он не спасает от иголок, одиночных сбоев и при изменении частоты на входе. Это не PLL!. К тому же вывод lock может и не падать если на входе прошла иголка по клоку или период поплыл, особенно в DCM старых семейств Xilinx.
Поэтому желательно добивается чистоты клока на входе - ставить внешний clok cleaner на базе PLL. Или использовать внутренную PLL - если качества входного клока будет достаточно для ее надежной работы.
Ну и пытается контролировать качество входного клока самому - делая измеритель периода входного клока. Но для этого нужен стабильный независимый клок. Круг замкнулся sm.gif

Удачи! Rob.
Tpeck
Цитата(_4afc_ @ Jul 11 2018, 15:49) *
Боюсь, что при иголке от генератора - одни триггеры защёлкнуться, а другие - нет.

Что значит иголки?
MegaVolt
Цитата(Bad0512 @ Jul 13 2018, 08:17) *
Совет - говно. Это гарантируемый gated clock и весь геморрой, что с этим связано.

С какого это перепугу gated clock? Кто мешает завести клок после триггера на BUGF? Работать будет как часики.

Цитата(Tpeck @ Jul 13 2018, 10:38) *
Что значит иголки?
Короткий паразитный импульс. Обычно возникает в виду разного времени рапространения сигналов до входов логики.. Например так:

Dmitriyspb
=)
Tpeck
Цитата(MegaVolt @ Jul 13 2018, 10:54) *
С какого это перепугу gated clock? Кто мешает завести клок после триггера на BUGF? Работать будет как часики.

Короткий паразитный импульс. Обычно возникает в виду разного времени рапространения сигналов до входов логики.. Например так:


Про такие я знаю sm.gif
Просто откуда они могут взяться у генератора?
MegaVolt
Цитата(Tpeck @ Jul 13 2018, 15:31) *
Про такие я знаю sm.gif
Просто откуда они могут взяться у генератора?

Это к ТС вопрос... Я не очень понимаю откуда может идти клок с иголками. Ладно с пропусками... но с иголками...

Разве что частотомер какой делать и на входе стоит логика. Вот там может быть конечно.
_4afc_
Цитата(MegaVolt @ Jul 11 2018, 16:52) *
Большой вопрос что это за генератор такой с иголками.

Дую на воду. Пытаюсь повысить надёжность проектов при разных условиях.
Может электромагнитная помеха пройти по клоку или питание на генераторе скакнёт...

Цитата(MegaVolt @ Jul 11 2018, 16:52) *
Но если хочется защититься то тогда обычный делитель на 2. С выхода которого и брать клок.

Делитель не спасёт. Т.к. он может выдать импульс короче, чем то время на которое расчитан проект.

Цитата(RobFPGA @ Jul 13 2018, 10:19) *
DCM это не волшебная пилюля от все болячек клока! Он не спасает от иголок, одиночных сбоев и при изменении частоты на входе. Это не PLL!. К тому же вывод lock может и не падать если на входе прошла иголка по клоку или период поплыл, особенно в DCM старых семейств Xilinx.
Поэтому желательно добивается чистоты клока на входе - ставить внешний clok cleaner на базе PLL. Или использовать внутренную PLL - если качества входного клока будет достаточно для ее надежной работы.

Что-то почитав доки я так и не понял в Spartan6 PLL и DCM построены на разных принципах или нет и чистит ли кто-то из них реально клок.

Также интересно ухудшит ли добавление PLL стабильность клока от кварцевого генератора, в приложениях где есть ЦАП, АЦП или модуляторы..?

Цитата(Dmitriyspb @ Jul 13 2018, 09:47) *
На входе !!обязательно!! нужно поставить DCM.

Если вы так категоричны - должна быть апликуха от Xilinx в которой это написано красными английскими буквами. Я бы такую почитал.

RobFPGA
Приветствую!

Цитата(_4afc_ @ Jul 13 2018, 17:10) *
Дую на воду. Пытаюсь повысить надёжность проектов при разных условиях.
Может электромагнитная помеха пройти по клоку или питание на генераторе скакнёт...
Если генератор стоит рядом с FPGА и такое случится то тут ресетом не отделаешся.

Цитата(_4afc_ @ Jul 13 2018, 17:10) *
Что-то почитав доки я так и не понял в Spartan6 PLL и DCM построены на разных принципах или нет и чистит ли кто-то из них реально клок.
Также интересно ухудшит ли добавление PLL стабильность клока от кварцевого генератора, в приложениях где есть ЦАП, АЦП или модуляторы..?
DCM это по сути цепочка управляемых напряжением элементов задержки. Схема управления подстраивает задержку так чтобы на длинну цепочки (обычно 256 элементов) приходился один период входной частоты. Поэтому что на вход DCM придет то от туда же и выйдет но с задержкой. PLL же имеет в своем составе VCO генератор и (или почти) реально чистит входной клок.
Тут каша какая то (что и куда добавляется?) - стабильность частоты задается только кварцевым генератором - а вот другие параметры могут быть улучшены (или хотя бы не испорченны при доставке) применением сlock сleaner на базе PLL.
Ну а использовать клок получаемый в/через FPGA для тактирования внешних АЦП,ЦАП, ... это общем то нехорошая идея.

Удачи! Rob.
Dmitriyspb
Цитата(_4afc_ @ Jul 13 2018, 17:10) *
Если вы так категоричны - должна быть апликуха от Xilinx в которой это написано красными английскими буквами. Я бы такую почитал.


Делайте как Вы хотите.
Caruso
Цитата(RobFPGA @ Jul 13 2018, 17:43) *
Ну а использовать клок получаемый в/через FPGA для тактирования внешних АЦП,ЦАП, ... это общем то нехорошая идея.


Почему?
MegaVolt
Цитата(Caruso @ Jul 16 2018, 13:06) *
Почему?

Джиттер большой sad.gif
TRILLER
Цитата(RobFPGA @ Jul 13 2018, 17:43) *
PLL же имеет в своем составе VCO генератор и (или почти) реально чистит входной клок.

Уже много раз слышал подобные высказывания. Возможно, когда-то давно так и было, что ПЛЛ в плис чистил входной клок. Или он как-то исправляет ситуацию при грубых ошибках в разводке. Однако я ни разу не видел, чтобы клок после плл в плис был лучше, чем входной при правильной схемотехнике. Проверял не один раз! Поэтому, если плата сделана проверенным квалифицированным железячником, то я категорически против применения встроенных плл без прямой на то необходимости.
К тому же, как уже говорилось, на лок ПЛЛ нельзя всерьёз полагаться, особенно в старых семействах. Лично наблюдал, как лок держался и клок генерировался(при этом плыл) из PLL даже после снятия референса, цепляясь непонятно за что. На мой взгляд, самый лучший вариант, это 2 независимых опорных клока, на которых живёт логика типа вотчдога, иоделэев, глобальных сбросов и т.д. В то же время они обеспечивают перекрёстный(количественный) контроль друг друга и смотрят локи ПЛЛлек, которые от них питаются.
С генерированием клока для ЦАП/АЦП/приёмо-передатчиков та же история.
Из-за ошибки в схеме пришлось как-то с плис подавать референс на вход рокетов, соединяя десятки плат одновременно. Выходило так, что когда соединяешь 2 и на столе - вроде бы работает, однако в стойке при штатном включении множества плат добиться стабильной работы так и не удалось. В общем, это не тот путь sm.gif
_4afc_
Цитата(MegaVolt @ Jul 16 2018, 13:33) *
Джиттер большой sad.gif


Я как-то подключал АЦП от кварца и через ФАПЧ микроконтроллера.

Во втором случае - собственные шумы были меньше. Не было паразитных палок в спектре.

Возможно, если в ПЛИС ФАПЧ цифровой - то от него будет только хуже.

Но я смотрю мнения расходятся...
MegaVolt
Цитата(_4afc_ @ Jul 17 2018, 23:32) *
Я как-то подключал АЦП от кварца и через ФАПЧ микроконтроллера.

Во втором случае - собственные шумы были меньше. Не было паразитных палок в спектре.

Возможно, если в ПЛИС ФАПЧ цифровой - то от него будет только хуже.

Но я смотрю мнения расходятся...
Видимо мы про разные генераторы говорим и разное их качество. Т.е. точно есть генераторы которые можно почистить ПЛИСиной. И есть генераторы которые можно испортить ей же.
И по хорошему нужно смотреть что за параметры клока нам нужны и смотреть как их испортит ПЛИС по паспорту. И решать нужна ли внешняя клоковая сеть или хватит внутренней от ПЛИС.

Просто обычно ПЛИС ставят к АЦП которые не тянут микрокнтроллеры. Т.е. частоты от 100МГц и выше. И по табличкам от AD выходит что джиттер там должен быть единицы ps, сотни fs. И выясняется что ПЛИС такую круть выдать не может sad.gif По этому именно по умолчанию и говорят что для связки АЦП - ПЛИС нужно внешнее клоковое дерево.

Но это не значит что нет условий когда на это можно забить и лепить как есть. Вон Rigol свои первые осциллографы ваял именно по схеме ПЛИС- АЦП не заморачиваясь нормальной тактовой. Правда и спектры он не показывал sm.gif))) А на глаз увидеть те искажения не так просто. По этому проходило sm.gif

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