1 、导言
数字锁相环频率组成器现已广泛的运用在军事和民用无线通信范畴,而用CPU操控的可编程大规划数字锁相环频率组成器则是其间的关键技术。当时,可编程逻辑电路在数字体系规划中飞速发展,许多中规划,乃至大规划的数字体系现已能够经过可编程逻辑电路来完结单片集成,即用一个芯片完结整个数字体系的规划。因而将CPU操控的数字锁相环频率组成体系集成在一块可编程逻辑芯片中完结现已成为可能。本体系由多个可编程的数字分频器、数字鉴频-鉴相器以及和谐操控作业的CPU组成。
2 、体系结构
数字锁相环频率组成体系的作业原理是:锁相环对高安稳度的基准频率(一般由晶体振荡器直接或经分频后供给)进行准确确定,环内串接可编程的分频器,经过编程改动分频器的分频比,使环路总的分频比为N(可经过编程改动),然后环路安稳的输出 N倍的基准频率,而整个程序和体系的操控是要由CPU来完结的。
图1为CPU操控的数字锁相环频率组成体系的 FPGA完结计划。
图1中虚线部分为CPU模块,CPU经过读取 ROM和对相应的寄存器置数来完结体系的操控;EEPROM为外接ROM,保存体系设置和预置频点的数据;参阅分频模块对输入的参阅频率进行预分频,构成鉴频和鉴相的基准频率;鉴频-鉴相模块完结环路的鉴频和鉴相功用;可编程分频模块和双模前置分频模块一起组成环路内串接的可改动分频比的分频器;Pdhout和Pdlout是鉴频和鉴相输出的差错信号。差错信号再经过环路滤波器发生差错电压操控VCO,VCO的输出反应至体系,经过分频和锁相进程,直到环路到达确定状况,此刻 VCO的输出即为所要求的安稳频率。
3、 参阅分频模块
参阅分频模块首要完结对参阅频率(一般由外接晶体振荡器输入)进行预分频,然后输出鉴频和鉴相的基准频率。
为了扩展基准频率的规模,在模块内选用4位的参阅分频寄存器(RCR),参阅频率的分频比可在2~15之间自由选择。完结进程便是选用4位的加法计数器对参阅频率进行记数,记数器的预置值为RCR中设置的参阅分频值,经过分频后,模块输出的频率送入鉴频-鉴相模块中作为鉴频-鉴相的基准频率。
图2是参阅分频模块的仿真波形。图中reset为复位信号,低电平有用;ref_f为输入模块的参阅频率;benchm_f为经过分频今后模块输出的基准频率;RCR中预置的值为HA,即10分频。
4、 双模前置分频模块
双模前置分频模块首要完结对VCO输出反应到体系的频率进行前置分频,前置分频后的频率再输入可编程分频器再分频。
为了扩展频率组成器的输出频率规模,在结构较为简略的频率组成体系中,VCO输出反应到体系的频率是经过一个单模的前置分频器,分频后送入可编程分频器再分频,这样尽管结构较为简略,可是却降低了频率组成器的功用。假如要求进步频率组成器的输出频率,则要加大前置分频比,然后降低了输出频率的分辨率。为了保持安稳的输出频率分辨率,一起进步频率组成器的输出频率,体系选用了双模前置分频。双模前置分频具有两种分频形式,别离对应两种分频比,形式由双模操控逻辑(DMC)进行操控。当DMC为1时,前置分频作业在M分频形式,其间M为4位的前置分频寄存器(PSR)中预置的前置分频值。当DMC为0 时,前置分频作业在M+1分频形式。M的规模是 2~15。其分频功用的完结也选用4位加法计数器的办法。
图3是双模前置分频模块的仿真波形。图中 reset为复位信号;dmc为双模操控逻辑;vco_f为VCO输出反应到体系的频率;prescaler_f为双模前置分频后输出的频率;PSR中预置的值为H8,即选用8/9双模分频。
5 、可编程分频模块
可编程分频模块首要完结对前置分频模块输出的频率进行再次分频,而且经过DMC的操控和双模前置分频模块合作完结所要求的分频功用。
可编程分频模块由两个可编程分频器和双模操控逻辑DMC组成。两个可编程分频器的分频比别离由可编程分频寄存器A(PAR)和可编程分频寄存器B(PBR)中的分频值决议。DMC的作业原理为:分频器A和分频器B别离由两个4位的加法计数器A、B组成,预置的值别离为PAR和PBR中的分频值,加法记数开端后,在两个记数器都未记数到预置值时,DMC输出0,此刻双模前置分频模块作业在M+1分频形式;当计数器B记数到预置值时,DMC输出1,此刻双模前置分频模块作业在M分频形式,一起计数器B停止作业,计数器A持续作业,一向记数到预置值,然后计数器 A、B又一起开端新的记数作业。假定PAR=A,PBR=B,则当计数器B记数到预置值时,包含前置分频的记数,共记数(M+1)×B,尔后计数器B停止作业,计数器A持续完结剩下的(A-B )次记数,此阶段包含前置分频记数共记数M×( A-B),所以当两个计数器都完结顺次记数时,包含前置分频记数总的记数为:
N=(M+1)×B+ M×(A-B)=MA+B ,即环路进行了N分频。
由以上剖析能够看出来,PAR中的值必需要大于PBR中的值,不然模块将运转不正常。
图4是可编程分频模块的仿真波形。图中re set 为复位信号;prescaler_f为双模前置分频后输出的频率;prog_f为经过两个可编程分频器分频后模块输出的频率;PAR预置的值为HC,即A=12分频;PBR预置的值为H4,即 B=4分频;dmc为双模操控逻辑。
6、 鉴频-鉴相模块
鉴频-鉴相模块首要完结对经过分频后输入模块的频率和基准频率进行鉴频-鉴相,而且输出差错成果。
此模块选用超前与滞后双输出办法:假如输入频率高于基准频率或相位超前,则Pdhout输出负脉冲,而Pdlout输出高电平;假如输入频率低于基准频率或相位滞后,则Pdhout输出高电平,而Pdlout输出负脉冲;当输入频率和基准频率同相后,Pdlout和Pdhout都输出高电平。
鉴频-鉴相模块的作业原理为:当输入频率和基准频率不同频时,模块作业在鉴频办法;当输入频率和基准频率同频但不同相时,模块作业在鉴相办法,然后扩展环路的快捕带,使环路较快的进行相位确定,从而到达闭环确定状况。数字鉴频—鉴相模块选用自底向上的规划办法,其输出办法与功用契合图5所示的状况搬运图。
图中Negedge Benchm_f为基准频率波形的下降沿;Negedge Prog_f为输入频率波形的下降沿;S0状况,模块输出Pdhout=1,Pdlout=1,此刻处于同频同相;S1状况,模块输出Pdhout=0,Pdlout=1,此刻输入频率高于基准频率或许输入频率比基准频率相位超前;S2状况,模块输出Pdhout=1,Pdlout=0,此刻输入频率低于基准频率或许输入频率比基准频率相位滞后。
图6、7、8、9是不同输入频率时的仿真图。
图中reset为复位信号;benchm_f为基准频率;prog_f为输入频率;pdhout和pdlout为鉴频-鉴相模块的输出。
7 、CPU模块
CPU模块首要完结对整个体系的操控。CPU包含一个8位的读数据寄存器(RDR);一个10位的外部EEPROM地址寄存器(EAR),寻址空间为1024×8bit,支撑1023个频点的频率组成;4个4位的分频寄存器,包含参阅分频寄存器(RCR),前置分频寄存器(PSR),可编程分频寄存器A(PAR)和可编程分频寄存器B (PBR)。
CPU内的操控包含:读外部程序存储器(EEPROM)操控、程序履行操控、可编程分频器置数操控等。其作业进程如下:CPU的程序计数器选用次序递加记数办法,从000H地址开端次序履行,外部ROM中的指令也从000H地址次序寄存,而指令也不需要译码,是依照指令与存储地址相对应的办法:地址000H,履行RCR=(000H)h,PSR=(000H)l;地址001H到400H,寄存预设的频点值表,履行PAR=(abcH)h,PBR=(abcH)l,其间(xxxH)h和(xxxH)l别离表明xxxH中存储数据的高4位和低4位,abcH表明当时履行的001H到3FFH中的某个地址。程序次序履行到3FFH后,主动返回到001H地址循环履行。假如没有1023个频点,在最终一个频点今后的地址全存入FFH即可,当程序运转到内容为FFH的地址时就不进行任何操作而当即返回到001H地址持续循环履行。
读外部程序存储器操控部分选用一个10位的加法计数器,构成次序递加的10位地址。一起还应有读使能read,并即时处理程序运转操控信号即确定信号stop,当stop信号有用(低电平)时,频率组成器的输出确定在当时的频点。模块还包含 10根地址总线,8根数据总线。程序履行操控部分经过当时地址给相应的寄存器赋值,发生不同的分频值。
仿真时选用Verilog HDL编写了一个预存数据的外部ROM仿真模块,用来对CPU进行仿真,程序如下:
module rom(_read,address,data);
input _read;
input [9:0] address;
output [7:0] data;
reg [7:0] data;
always @ (_read or address)
if(_read)
data《=8‘bzzzzzzzz;
else
case(address)
10’h000:data《=8‘ha8;
10’h001:data《=8‘h91;
…………………
10’h3fe:data《=8‘h87;
10’h3ff:data《=8‘h65;
endcase
endmodule
图10、11是其仿真波形。图中reset为复位信号;stop为确定信号;clk为CPU的外部时钟;clk1是clk的2分频信号为CPU读取数据,发生地址等供给时钟;read也是clk的2分频信号(相位和clk1相差π/2),为外部ROM供给读使能,一起为CPU供给寄存器操控的时钟;address为外部ROM地址总线;rom.data[7..0]为外部ROM送出的数据。
责任编辑:gt