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

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

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

 

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

 

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

 

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

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


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

 

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

 

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

 

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

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

 

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

 

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

 

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


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

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

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

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

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


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

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

 

 

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


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

 

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

 

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

 

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

 

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

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

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

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


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

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

 

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

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

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

 

Удачи! Rob.

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


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

Что значит иголки?

 

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


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

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

 

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

 

marczynski_figure4.gif

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


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

 

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

 

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

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

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


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

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

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

 

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

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


Ссылка на сообщение
Поделиться на другие сайты
Большой вопрос что это за генератор такой с иголками.

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

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

 

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

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

 

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

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

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

 

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

 

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

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

 

 

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


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

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

 

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

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

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

 

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

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

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

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

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

 

Удачи! Rob.

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


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

 

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

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


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

 

Почему?

Изменено пользователем Caruso

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


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти