|
Отследить наличие клока, Приемы определения налачия клока |
|
|
3 страниц
1 2 3 >
|
 |
Ответов
(1 - 44)
|
Jun 22 2011, 14:59
|
Местный
  
Группа: Свой
Сообщений: 322
Регистрация: 2-07-04
Из: Minsk
Пользователь №: 240

|
QUOTE (des00 @ Jun 22 2011, 17:56)  в логике, без эталонного генератора, никак ну почему это? используем DCM, а там есть сигнал locked )))) второй вариант - создать дополнительный генератор на линиях задержки ))) но всё это, конечно, костыли из говна и палок. )))
|
|
|
|
|
Jun 22 2011, 18:47
|
Знающий
   
Группа: Свой
Сообщений: 845
Регистрация: 18-10-04
Из: Pereslavl-Zalessky, Russian Federation
Пользователь №: 905

|
Я бы сначала задал себе вопросы: - что считать наличием и отсутствием клока - как быстро нужно реагировать - синхронным ли должен быть флаг наличия клока и если да, то с каким клоком
Потом взял бы клок с "другого генератора", умножил бы его в DCM, например, на 4. Полученным клоком тактировал бы схему защиты от метастабильности и автомат, который оценивает состояние входного клока.
Да, для анализа лучше использовать не сам сигнал клока, а выходы двух регистров, каждый из которых тактируется анализируемым клоком, но на разных фронтах и инвертируют свой вход. Если вычислить XOR по ним, то получится почти исходный клок, но не будет проблемы с разводкой.
PS: в default chip SPARTAN 3E сигнал lock падает при продолжительном пропадании опорного входного клока, но заново без ресета не поднимается даже при его восстановлении.
|
|
|
|
|
Jun 22 2011, 19:09
|
Местный
  
Группа: Свой
Сообщений: 371
Регистрация: 24-07-05
Из: Москва
Пользователь №: 7 056

|
Делал подобную вещь: Код reg in_clk_det; reg [19:0] out_clk_det; reg clk_sync_det;
always @(posedge clk_sync or posedge out_clk_det[1]) begin if (out_clk_det[1]) in_clk_det <= 1'b0; else if (~in_clk_det) in_clk_det <= 1'b1; end
always @(posedge clk_0) begin out_clk_det[0] <= in_clk_det; out_clk_det[19:1] <= out_clk_det[18:0]; clk_sync_det <= |out_clk_det[19:2]; end эталонный клок - clk_0
|
|
|
|
|
Jun 23 2011, 05:38
|
Частый гость
 
Группа: Участник
Сообщений: 135
Регистрация: 1-01-10
Из: Минск, Беларусь
Пользователь №: 54 588

|
Цитата(vadimuzzz @ Jun 23 2011, 02:06)  в циклоновских PLL, например, есть фича переключения с одного входного клока на другой при пропадании первого. или сигнал locked использовать Могу использовать только Xilinx. Важно не переключиться на другой клок, а определить наличие как таковое.
|
|
|
|
|
Jun 23 2011, 08:12
|
Частый гость
 
Группа: Участник
Сообщений: 135
Регистрация: 1-01-10
Из: Минск, Беларусь
Пользователь №: 54 588

|
Цитата(eugen_pcad_ru @ Jun 23 2011, 08:41)  может попроще? имхо определить наличие сигнала (без подсчета параметров) можно простым триггером. А сброс этого триггера делать скажем раз в секунду. И никаких dcm, pll не надо... Конечно для определения параметров сигнала (частота, скважность и т.п.) это не подходит. Не устроит? Да, это вполне устроит. Сейчас пробую разные варианты.
|
|
|
|
|
Jun 23 2011, 08:26
|

Универсальный солдатик
     
Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362

|
Лучше поставить сдвиговый регистр из двух триггеров, и тактом интересующей частоты задвигать единичку. Сделать таймер на счетчике на время, равное двум периодам интересующей частоты. По переполнению таймера читать выход сдвигового регистра, и очищать его. Если была единица, значит, два фронта частоты пришли. Значит, имеется сигнал с частотой, не менее, чем нужная. Если делать на одном триггере, то при частоте, ниже требуемой, будет то 0, то 1.
|
|
|
|
|
Jun 23 2011, 08:56
|
Частый гость
 
Группа: Участник
Сообщений: 135
Регистрация: 1-01-10
Из: Минск, Беларусь
Пользователь №: 54 588

|
Цитата(des00 @ Jun 23 2011, 11:47)  а я бы обратил внимание на то, что все предлагаемые здесь схемы требуют наличия эталонной (опорной) частоты. А предложите схему без не  Я так понимаю это возможно только с предварительной установкой значения регистра в, например, "1" в секции initial. А потом по клоку его сбрасывать. Т.е. если клок есть, регистр сбросится, а если нет - то так и будет в "1". Только вот если клок пропадет уже в процессе работы устройства?
|
|
|
|
|
Jun 23 2011, 11:03
|
не указал(а) ничего о себе.
     
Группа: Свой
Сообщений: 3 325
Регистрация: 6-04-06
Пользователь №: 15 887

|
Цитата(ViKo @ Jun 23 2011, 13:13)  Задержать на логике, объединить по xor, получим импульс на каждое изменение сигнала... Его можно и в триггер защелкнуть, собой же, задержанным. Только триггер тот кто-то сбрасывать должен.  Хм, похоже, это действительно популярный вопрос. Вот тут пообсуждали похожие вещи уже немного. Получается, что основной элемент такой схемы - это таки задержка, реализованная на логике. Интересно, а что это такой интерес к подобным вещам появился? Типа триггеры уже не в моде? Экономия электроэнергии? Дефицит кварцев? В чем причина-то?
|
|
|
|
|
Jun 24 2011, 04:43
|
Частый гость
 
Группа: Свой
Сообщений: 154
Регистрация: 5-01-05
Из: г. Зеленоград
Пользователь №: 1 817

|
Цитата(des00 @ Jun 24 2011, 06:22)  читаем внимательно пост 19 и 22 Читал. Все-таки я Ваш пост не продублировал, как мне кажется. А первое предложение в моем посте относится непосредственно к теме.
|
|
|
|
|
Jun 24 2011, 09:21
|
Частый гость
 
Группа: Участник
Сообщений: 135
Регистрация: 1-01-10
Из: Минск, Беларусь
Пользователь №: 54 588

|
Цитата(Мур @ Jun 24 2011, 10:29)  Вешаете внешний ватч-дог из 3-х ног и всё... Нет, уж увольте. Сделал с помощью счетчика.
|
|
|
|
|
Jun 24 2011, 10:10
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(Grumbler_2002 @ Jun 23 2011, 22:43)  Читал. Все-таки я Ваш пост не продублировал, как мне кажется. А первое предложение в моем посте относится непосредственно к теме. я немного другое имел в виду, ну да ладно %) Цитата(vitan @ Jun 24 2011, 00:07)  Гм... Вы скажите, зачем придумывать такое решение, когда в реальной жизни клок есть в 99% случаев? Вы решение без клока знаете? Если да, то говорите уж, не томите. А то я уже начинаю думать, что это Ваша идея - такие вопросы на собеседованиях задавать.  как зачем ? когда еще предоставится случай, заставить толпу плисоводов задуматься о чем то нестандартном ? Решение будет интересно узнать, т.к. я его тоже не знаю ЗЫ. а про вопрос заданный вам на собеседовании вы погорячились с соотнесением его с этой темой, там несколько о другом шла речь %)
--------------------
|
|
|
|
|
Jun 24 2011, 10:56
|
не указал(а) ничего о себе.
     
Группа: Свой
Сообщений: 3 325
Регистрация: 6-04-06
Пользователь №: 15 887

|
Цитата(des00 @ Jun 24 2011, 14:10)  как зачем ? когда еще предоставится случай, заставить толпу плисоводов задуматься о чем то нестандартном ? Решение будет интересно узнать, т.к. я его тоже не знаю  Ох уж эти головолмки! Ну это разве что лежа на пляже можно задуматься, имхо практического смысла в таких напрягах нету. Или есть?  Цитата(des00 @ Jun 24 2011, 14:10)  ЗЫ. а про вопрос заданный вам на собеседовании вы погорячились с соотнесением его с этой темой, там несколько о другом шла речь %) Ну почему? Принцип-то один и тот же просматривается (мною). Уверен, что тот, кто решит одну задачу, сможет и вторую решить. Я - пас.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|