Jump to content

    
Sign in to follow this  
_4afc_

Как правильно затактировать весь проект при иголке на входном клоке?

Recommended Posts

Есть проект где входной клок тактирует все триггеры Spartan6.

 

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

 

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

 

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

Share this post


Link to post
Share on other sites
Есть проект где входной клок тактирует все триггеры Spartan6.

 

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

 

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

 

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

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

 

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

 

Если понижать частоту нельзя то да pll-ка должна спасти. Плюс у неё есть выход годности частоты. И если частота не годная то этим же сигналом можно всё и сбросить.

 

Share this post


Link to post
Share on other sites
Может его через DCM пропустить?

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

У DCM есть выходной сигнал LOCK. Он станет 1, когда происходит захват частоты. Его берут по "ИЛИ" (с учетом активных уровней в проекте) со сбросом и далее разводят по проекту.

Да, об этом уже написали, но все же...

Share this post


Link to post
Share on other sites
Но если хочется защититься то тогда обычный делитель на 2. С выхода которого и брать клок.

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

 

 

Share this post


Link to post
Share on other sites
Есть проект где входной клок тактирует все триггеры Spartan6.

 

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

 

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

 

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

 

На входе !!обязательно!! нужно поставить DCM. Не из-за опасений по поводу "иголок", а для получения гарантированных тактов и сигнала сброса (как его заводить см. пост iosifk).

Следует так же помнить, что полученные сигналы тактов и сброс следует использовать во всех блоках проекта.

В таком случае если на тактовом входе ПЛИС появляются разного рода помехи, тогда DCM перестает захват частоты и падает LOCK и вся логика ПЛИС сбросится. Следовательно, если у Вас проект описан с глобальными тактовыми цепями и везде учитывается сигнал сброса, то в таком случае если сброса нет, тогда все работает так как вы описали и не придётся задумываться об иголках и т.п.

Share this post


Link to post
Share on other sites

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

 

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

Поэтому желательно добивается чистоты клока на входе - ставить внешний clok cleaner на базе PLL. Или использовать внутренную PLL - если качества входного клока будет достаточно для ее надежной работы.

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

 

Удачи! Rob.

Share this post


Link to post
Share on other sites
Совет - говно. Это гарантируемый gated clock и весь геморрой, что с этим связано.

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

 

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

 

marczynski_figure4.gif

Share this post


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

 

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

 

Про такие я знаю :)

Просто откуда они могут взяться у генератора?

Share this post


Link to post
Share on other sites
Про такие я знаю :)

Просто откуда они могут взяться у генератора?

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

 

Разве что частотомер какой делать и на входе стоит логика. Вот там может быть конечно.

Share this post


Link to post
Share on other sites
Большой вопрос что это за генератор такой с иголками.

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

Может электромагнитная помеха пройти по клоку или питание на генераторе скакнёт...

 

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

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

 

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

Поэтому желательно добивается чистоты клока на входе - ставить внешний clok cleaner на базе PLL. Или использовать внутренную PLL - если качества входного клока будет достаточно для ее надежной работы.

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

 

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

 

На входе !!обязательно!! нужно поставить DCM.

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

 

 

Share this post


Link to post
Share on other sites

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

 

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

Может электромагнитная помеха пройти по клоку или питание на генераторе скакнёт...

Если генератор стоит рядом с FPGА и такое случится то тут ресетом не отделаешся.

 

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

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

DCM это по сути цепочка управляемых напряжением элементов задержки. Схема управления подстраивает задержку так чтобы на длинну цепочки (обычно 256 элементов) приходился один период входной частоты. Поэтому что на вход DCM придет то от туда же и выйдет но с задержкой. PLL же имеет в своем составе VCO генератор и (или почти) реально чистит входной клок.

Тут каша какая то (что и куда добавляется?) - стабильность частоты задается только кварцевым генератором - а вот другие параметры могут быть улучшены (или хотя бы не испорченны при доставке) применением сlock сleaner на базе PLL.

Ну а использовать клок получаемый в/через FPGA для тактирования внешних АЦП,ЦАП, ... это общем то нехорошая идея.

 

Удачи! Rob.

Share this post


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

 

Делайте как Вы хотите.

Share this post


Link to post
Share on other sites
Ну а использовать клок получаемый в/через FPGA для тактирования внешних АЦП,ЦАП, ... это общем то нехорошая идея.

 

Почему?

Edited by Caruso

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this