AlphaMil 0 22 июня, 2011 Опубликовано 22 июня, 2011 · Жалоба Уважаемые, подскажите как определить наличие клока от внешнего генератора? Клок ~27МГц. Т.е. есть клок - выдаю на определенный пин "1", нет - "0". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 22 июня, 2011 Опубликовано 22 июня, 2011 · Жалоба в логике, без эталонного генератора, никак Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Mahagam 0 22 июня, 2011 Опубликовано 22 июня, 2011 · Жалоба в логике, без эталонного генератора, никак ну почему это? используем DCM, а там есть сигнал locked )))) второй вариант - создать дополнительный генератор на линиях задержки ))) но всё это, конечно, костыли из говна и палок. ))) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 22 июня, 2011 Опубликовано 22 июня, 2011 · Жалоба ну почему это? используем DCM, а там есть сигнал locked )))) а гун внутри DCM это не эталонный генератор ? :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Lmx2315 5 22 июня, 2011 Опубликовано 22 июня, 2011 · Жалоба использовать счётчик и схему сравнения с эталоном . Досчитал счётчик до 4-х например - значит клок идёт . Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dmitry-tomsk 0 22 июня, 2011 Опубликовано 22 июня, 2011 · Жалоба ну почему это? используем DCM, а там есть сигнал locked )))) второй вариант - создать дополнительный генератор на линиях задержки ))) но всё это, конечно, костыли из говна и палок. ))) locked без сброса не упадёт, если тактовая пропала. Счётчик обычный покажет частоту, можно через грей код с эталоном сравнить, если есть другая тактовая конечно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlphaMil 0 22 июня, 2011 Опубликовано 22 июня, 2011 · Жалоба Вся прелесть, что есть другой генератор, несинхронный с тестируемым клоком, а их периоды отличаются где-то в 1.3 раза.... Т. Е. счетчик может даже один раз не посчитать... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Lmx2315 5 22 июня, 2011 Опубликовано 22 июня, 2011 · Жалоба Вся прелесть, что есть другой генератор, несинхронный с тестируемым клоком, а их периоды отличаются где-то в 1.3 раза.... Т. Е. счетчик может даже один раз не посчитать... ..не понимаю , почему бы не завести контролируемую частоту на вход счётчика , и по второй частоте (делённой на 10 например) время от времени не проверять насчитал счётчик что-нить или нет ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Shtirlits 0 22 июня, 2011 Опубликовано 22 июня, 2011 · Жалоба Я бы сначала задал себе вопросы: - что считать наличием и отсутствием клока - как быстро нужно реагировать - синхронным ли должен быть флаг наличия клока и если да, то с каким клоком Потом взял бы клок с "другого генератора", умножил бы его в DCM, например, на 4. Полученным клоком тактировал бы схему защиты от метастабильности и автомат, который оценивает состояние входного клока. Да, для анализа лучше использовать не сам сигнал клока, а выходы двух регистров, каждый из которых тактируется анализируемым клоком, но на разных фронтах и инвертируют свой вход. Если вычислить XOR по ним, то получится почти исходный клок, но не будет проблемы с разводкой. PS: в default chip SPARTAN 3E сигнал lock падает при продолжительном пропадании опорного входного клока, но заново без ресета не поднимается даже при его восстановлении. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
BSACPLD 15 22 июня, 2011 Опубликовано 22 июня, 2011 · Жалоба Делал подобную вещь: 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 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlphaMil 0 22 июня, 2011 Опубликовано 22 июня, 2011 · Жалоба По поводу определения что считать отсутствием клока - очень важны вопрос. Пока не стоит задача определения периода и скважности. Только наличие единицы, а не постоянный ноль. Сча тоже подумал сделать на сдвиговом регистре. Попробую. Еще появилась идея ввести счетчик для опорной частоты и флаг наличия единицы в тестируемом клоке. Если за время счета была хоть одна единица, то клок присутствует, иначе нет. Как такой подход? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
LV26 0 22 июня, 2011 Опубликовано 22 июня, 2011 · Жалоба По поводу определения что считать отсутствием клока - очень важны вопрос. Пока не стоит задача определения периода и скважности. Только наличие единицы, а не постоянный ноль. Сча тоже подумал сделать на сдвиговом регистре. Попробую. Еще появилась идея ввести счетчик для опорной частоты и флаг наличия единицы в тестируемом клоке. Если за время счета была хоть одна единица, то клок присутствует, иначе нет. Как такой подход? Фронты надо выделить, если интересует переход 0->1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vadimuzzz 0 22 июня, 2011 Опубликовано 22 июня, 2011 · Жалоба в циклоновских PLL, например, есть фича переключения с одного входного клока на другой при пропадании первого. или сигнал locked использовать Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlphaMil 0 23 июня, 2011 Опубликовано 23 июня, 2011 · Жалоба в циклоновских PLL, например, есть фича переключения с одного входного клока на другой при пропадании первого. или сигнал locked использовать Могу использовать только Xilinx. Важно не переключиться на другой клок, а определить наличие как таковое. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
eugen_pcad_ru 0 23 июня, 2011 Опубликовано 23 июня, 2011 · Жалоба может попроще? имхо определить наличие сигнала (без подсчета параметров) можно простым триггером. А сброс этого триггера делать скажем раз в секунду. И никаких dcm, pll не надо... Конечно для определения параметров сигнала (частота, скважность и т.п.) это не подходит. Не устроит? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться