Добрый день! Первый пост на форуме и сразу просьба: нужна помощь в том, что бы разобраться, как реализовать делитель.
Исходные условия такие:
Входной сигнал - последовательность импульсов с квадратурной схемы энкодера, частота Fin которых меняется от 0 до 1 МГц. Причем меняется она обычно довольно плавно, но с 0 может стартануть резко (крутнули энкодер), и так же резко остановиться.
Коэффициент деления K лежит в диапазоне от 1 до 1000. К сожалению, без дроби не получается, поэтому K = N/M, где N=[1,1000], M=[1,100]. K всегда >=1, может оперативно меняться юзером, при этои все счетчики конечно сбрасываются.
Ни один входной импульс "потерять" нелья, т.к. это не генератор частоты, а счетчик импульсов для управления движением (конвертация импульсов энкодера в шаги двигателя). Поэтому схема на PLL, как мне кажется, не стработает - не будет "схватывать" на переходных стадиях поступления импульсов, да и частота маловата.
Требования к фазе импусльсов не жесткие - "дрожание" вполне допускается, лишь бы не более половины периода выходной частоты Fout.
(Разработку ПЛИС делал когда-то на AHDL, поэтому проще понять структуру делителя на уровне базовой логики. Но писать буду на Verilog'e для Altera Cyclone IV)
Спасибо.