Цифровыми методами могут быть синтезированы только частоты f1 и f2, отношение которых f1/f2 представляет собой рациональное число М1/М2, где М1 и М2 – целые числа. Если М2 = 1, то частота f2 формируется из частоты f1 делителем частоты с коэффициентом деления М1. Если же М2 не равно 1 и М1 не равно 1, то следует использовать более сложные схемы, называемые синтезаторами частот. В [1] рассмотрены различные схемы синтезато-ров частот и показано, что при выполнении синтезаторов частот на цифровых фазовраща-телях, фазовые скачки равны периоду сигнала кварцевого генератора То = 1/fo, а расширитьвозможности синтеза частот можно последовательным включением нескольких фазо-вращателей. При использовании k фазовращателей следует найти целочисленные решенияМk, Mk-1, Mk-2,., M1 уравнения 1 +/- 1/M2 + /- 1/M3 +-. 1/Mk = M1fout/fo. Показано также, что, в случае положительных коэффициентов Mk, фазовращатели можно заменить сумматором по модулю два, при условии ортогональности сигналов с Mk. Таким образом, для случая fout = fo, задача синтеза частот сводится к получению ряда ортогональных сигналов с Mk и суммированию их по модулю два.

Получение ряда ортогональных сигналов с Mk. Накапливающий сумматор при поступлении тактового сигнала dH=1 выполняет функцию S = S +1, где S – число, хранящееся в аккумуляторе. Для k-го члена ряда частотаfk будет определяться fk = fo/2k. Величина k определяется необходимой минимальной частотной составляющей ряда Mk. Ортогонализация сигналов Mk достигается выделением передних фронтов сигналов fk инормализацией их длительности. Преобразователь код-частота. Для синтезаторов частот на основе фазовой автоподстройки частоты основным элемен-том является генератор, управляемый напряжением. Вышеописанный метод синтеза частотможно применить для построения генератора, управляемого кодом. Для этого лишь необходимо произвести оценку (оценки – для случая одновременного формирования нескольких частот) необходимых текущих членов ряда Mk, которая соответству-ет k битам управляющего(их) кода(ов): при наличии k бита в управляющем коде – использовать длясинтеза сигнал fk, в противном случае – нет.

VHDL исходный код двух частотного преобразователя код-частота. Architecture Behavioral of sintez isprocess(S, clk, o_sintq0, o_sintq100, codfreeq1)begin if(clk'event and clk='1') then case S(23) is when '1' = o_sintq0 ='1'; when '0' = o_sintq0 ='0'; when others = NULL; end case; end if; if(clk'event and clk='0') then case o_sintq0 is when '1' = o_sintq100 ='0'; when '0' = o_sintq100 ='1'; when others = NULL; end case; end if; if codfreeq1(0)='1' then ort100 = o_sintq0 and o_sintq100; else ort100 = '0'; end if; if codfreeq2(0)='1' then ort200 = o_sintq0 and o_sintq100; else ort200 = '0'; end if; end process;

process(S, clk, o_sintq23, o_sintq123, codfreeq1)begin if(clk'event and clk='1') then case S(0) is when '1' = o_sintq23 ='1'; when '0' = o_sintq23 ='0'; when others = NULL; end case; end if; if(clk'event and clk='0') then case o_sintq23 is when '1' = o_sintq123 ='0'; when '0' = o_sintq123 ='1'; when others = NULL; end case; end if; if codfreeq1(23)='1' then ort123 = o_sintq23 and o_sintq123; else ort123 = '0'; end if; if codfreeq2(23)='1' then ort223 = o_sintq23 and o_sintq123; else ort223 = '0'; end if; end process;

process(ort100, ort101, ort102, ort103, ort104, ort105, ort106, ort107, ort108, ort109, ort110, ort111, ort112, ort113, ort114, ort115, ort116, ort117, ort118, ort119, ort120, ort121, ort122, ort123)begin fsint1 = ort100 xor ort101 xor ort102 xor ort103 xor ort104

xor ort105 xor ort106 xor ort107 xor ort108 xor ort109 xor ort110 xor ort111 xor ort112 xor ort113 xor ort114 xor ort115 xor ort116 xor ort117 xor ort118 xor ort119 xor ort120 xor ort121 xor ort122 xor ort123; end process; end Behavioral; process(ort200, ort201, ort202, ort203, ort204, ort205, ort206, ort207, ort208, ort209, ort210, ort211, ort212, ort213, ort214, ort215, ort216, ort217, ort218, ort219, ort220, ort221, ort222, ort223)begin fsint2 = ort200 xor ort201 xor ort202 xor ort203 xor ort204 xor ort205 xor ort206 xor ort207 xor ort208 xor ort209 xor ort210 xor ort211 xor ort212 xor ort213 xor ort214 xor ort215 xor ort216 xor ort217 xor ort218 xor ort219 xor ort220 xor ort221 xor ort222 xor ort223; end process; end Behavioral;

Литература. 1. Пухальский Г. И., Новосельцева Т. Я. Проектирование дискретных устройств на интегральных схемах; Справочник, - М,; Радио и связь, 1990, - 304 с,; ил.

Автор Карпухин Б. В.

Первоисточник: VHDL синтезатор частоты наПЛИС