[an error occurred while processing this directive]
|
Все процессы в ПЛИСе засинхронизированы некой тактовой частотой...
Есть некий ассинхронный сигнал - конкретно : сигнал типа поля (ODD/EVEN) с мс LM1881. Требуется выделить первое поле в виде импульса, длительностью один такт частоты синхронизации ПЛИСа.
У меня получается так:
-- асинхронный сигнал FIELD выравниваем по фронту частоты синхронизации
DFIELD_DFF.CLRN = VCC;
DFIELD_DFF.PRN = VCC;
DFIELD_DFF.CLK = F;
DFIELD_DFF.D = FIELD;
-- первый триггер реагирует на задний фронт получившегося сигнала полей и сбрасывается вторым триггером
CADR_DFF1.CLRN = !CADR_DFF2.Q;
CADR_DFF1.PRN = VCC;
CADR_DFF1.D = VCC;
CADR_DFF1.CLK = !DFIELD_DFF.Q;
-- второй триггер устанавливается через полтакта после установки первого и сбрасывает первый
-- после сброса первого через полтакта сбрасывается и второй, разрешая анализ сигнала
CADR_DFF2.CLRN = VCC;
CADR_DFF2.PRN = VCC;
CADR_DFF2.D = CADR_DFF1.Q;
CADR_DFF2.CLK = !F;
CADR = CADR_DFF1.Q;
Может как попроще можно?
Спасибо!
E-mail: info@telesys.ru