CPU控制数字锁相环频率合成系统FPGA实现
时间:06-30
来源:互联网
点击:
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为双模控制逻辑。
数字锁相环频率合成器已经广泛的运用在军事和民用无线通信领域,而用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为双模控制逻辑。
电路 振荡器 FPGA 滤波器 电压 仿真 总线 Verilog 相关文章:
- 基于Virtex-5 FPGA设计Gbps无线通信基站(05-12)
- 基于FPGA的DVI/HDMI接口实现(05-13)
- 基于ARM的嵌入式系统中从串配置FPGA的实现(06-09)
- 基于PLB总线的H.264整数变换量化软核的设计(03-20)
- FPGA按键模式的研究与设计(03-24)
- 周立功:如何兼顾学习ARM与FPGA(05-23)